初出:日本ロボット学会誌,2017 年 35 巻 1 号 p. 22-27
本ページでは,これまでに日本ロボット学会誌に掲載された解説記事の中から注目度の高い記事をHTML形式で紹介しています.HTMLへの変換時に著者紹介,キーワードなど一部の情報は省略しています.また,レイアウトはオリジナル記事とは異なります.
PDF形式のオリジナル記事はこちらでご覧になれます.引用する際は,本Webページではなくオリジナル記事を引用してください.
解説
物体認識のための二次元・三次元特徴量
藤吉 弘亘,橋本 学
1 はじめに
RGB-Dセンサカメラの普及により, ロボットビジョンには二次元情報である画像と三次元情報であるポイントクラウドデータの両者を用いた物体認識の必要性が高まっている. 特定物体認識を対象とした場合, 二次元, 三次元のどちらの特徴量においても, その処理過程は, 1.特徴点の検出, 2.特徴点の記述, 3.対応点の獲得と共通している. 本稿では, 画像からの二次元特徴量と, ポイントクラウドからの三次元特徴量の各手法とその最新動向について解説する.
2 二次元特徴量
認識対象の物体の登録画像と入力画像が同一であるかを判定するには, 画像内の特徴的な点(キーポイント)を検出し, 画像間の同一となる点である対応点を複数求める必要がある. このとき, 画像に回転や拡大縮小があると, 画像間の同一特徴点でも濃淡パターンが変化するため, 対応点を求めることができない. スケール変化や回転に不変な特徴量を抽出する代表的な二次元特徴量は, Loweらにより提案された SIFT(Scale Invariant Feature Transform)[1]である. 二次元特徴量の処理過程は, キーポイント検出と特徴量記述の二段階からなり, 各処理過程において高速化と省メモリ化の研究が進展している.
Table 1: 主要な二次元特徴量
2.1 二次元特徴量の分類
表1に, 主要な二次元特徴量のキーポイント検出処理と特徴記述処理を示す. SIFTのキーポイント検出処理では, Difference-of-Gaussian(DoG)処理によりキーポイントのスケールと位置を検出する. 特徴量記述では, スケール内の勾配情報からオリエンテーションを求め, オリエンテーション方向に空間を回転させて特徴量を記述することで, 回転に対して不変な特徴量となる. SIFTでは, キーポイント検出処理におけるDoG画像の生成や, 特徴量記述における勾配算出の計算コストが高いという問題がある. この問題を解決する高速化の手法として, 2006年にSURF(Speeded-Up Robust Features)[2]が提案された. また, コーナーに特化することで決定木により高速かつ省メモリを実現したFAST(Features from Accelerated Segment Test)[3]が提案された.
特徴記述処理においては, SIFTやSURFと同様に勾配特徴量に基づくRIFE(Rotation Invariant Feature Transform)[4]が2010年に提案された. SIFTでは128次元のベクトル,SURFでは64次元のベクトル, RIFFでは100次元が抽出される. 高次元なベクトル特徴量は, 高い識別能力を持つ反面, メモリ消費量が多く, 類似度計算が遅くなるため, 2010年以降ではベクトルからバイナリコードに変換して特徴量を記述する手法が提案された. バイナリコードを直接生成する手法としてBRIEF(Binary Robust Independent Elementary Features)[5], BRISK(Binary Robust Invariant Scalable Keypoints)[6]が, 間接的にバイナリコードを生成する手法としてCARD(Compact And Real-time Descriptors)[7]が提案された. このように, SIFTとSURF以降では, キーポイント検出および特徴量記述において, 高速化と省メモリ化を同時に実現する手法が展開されている. 以下では, キーポイント検出処理と特徴量記述処理について各手法とその動向を述べる.
2.2 キーポイントの検出処理
SIFTでは, 画像間にスケール変化が生じると, キーポイントの検出とキーポイントのスケールを求める必要がある. そのキーポイントとスケールの検出には複数の DoG画像を用いる. DoGはLoG(Laplacian of Gaussian)を近似したものであり, スケールの異なるガウス関数 () と入力画像 ()を畳み込んだ平滑化画像 ()の差分によりDoG画像 ()を求める. は の増加率であり, スケールを少しずつ大きくして複数のDoG画像を求める. 図1のようにDoG画像の隣接する3枚において注目画素を中心とした26近傍を比較し, 注目画素が極値となる点をキーポイント候補点およびスケールとして検出する.
このように, 検出したキーポイント候補点にはエッジ上の点が含まれることがある. エッジ上の点は, 開口問題の影響を受けやすいため削除する. そして, キーポイントのサブピクセル位置推定により, キーポイントの正しい位置とスケールを求める. さらに, サブピクセル位置でのDoG出力値を再度計算する. サブピクセル位置でのDoG出力の絶対値がしきい値以下の場合(つまりコントラストが低い場合)は, ノイズに影響されやすいため削除する. このようなキーポイントの絞り込みにより, 対応点を求めやすいキーポイントを検出する. SIFTではキーポイントごとに特徴を最も含むスケール を自動的に決定し, そのスケールに基づいて特徴量を記述するため, 拡大・縮小に対して不変な特徴量となる.
Figure 1: DoGによる極地探索
Figure 2: SURFによるキーポイント検出
SIFTでは, キーポイントとスケールを検出するために, ガウス関数の異なるDoGを複数回処理する必要があった. この処理は, SIFTアルゴリズムの中で最も計算コストが大きい. そこでSURFでは, キーポイントとスケールの検出のために, Hessian-Laplace検出器をBoxフィルタで近似して求める. Boxフィルタは加重平均フィルタの一種であり, 図2 (a)に示すように, Hessian-Laplaceであるガウシアンフィルタと二次微分フィルタをかけた結果の近似を得ることができる. Boxフィルタの出力は, 積分画像を用いることで高速に求めることが可能となる. キーポイントのスケールは, 図2 (b)に示すように, SIFT同様にBoxフィルタのサイズを変化させスケールスペースを構築し, 極値探索により求める.
2.3 特徴量の記述処理
回転変化に不変な特徴量記述には, まず検出したキーポイントに対してオリエンテーションを算出する. オリエンテーションはキーポイントにおける方向を表し, 特徴量記述の際にオリエンテーションにより向きの正規化をすることで, 回転に不変な特徴量となる. オリエンテーションを求めるには図3に示すようにキーポイントを中心とする局所領域内の平滑化画像 ()から勾配強度 ()と勾配方向 ()を求める. 次に, 勾配強度と勾配方向から重み付き勾配方向ヒストグラムを作成する. 勾配方向は36方向に量子化し, 局所領域内の勾配強度をキーポイントに近いほど高い重みを付けて投票する. 勾配方向ヒストグラムの最大値から80%以上となるピークをキーポイントのオリエンテーションとする.
Figure 3: オリエンテーションの算出
Figure 4: 特徴量の記述
図4 (b)のようにオリエンテーション方向に特徴記述する矩形領域を回転し, 勾配情報に基づく特徴量を記述する. 図4 (c)のように図矩形領域の1辺を4ブロックに分割し, 各ブロックから8方向の勾配方向ヒストグラムを作成する. 4 4の各ブロックから8方向の勾配方向ヒストグラムを作成するため, 4 4 8 = 128次元の特徴量となる. このように, キーポイントが持つオリエンテーション方向に座標軸を合わせた領域で特徴量を記述するため, 回転に不変な特徴量となる. また, 128次元の各特徴ベクトルの長さをベクトルの総和で正規化することで照明変化に頑健な特徴量となる.
Figure 5: SIFTの特徴点検出例
図5にSIFTによるキーポイントの検出例を示す. 入力画像に描画された円はキーポイントのスケールの大きさを示し, その円の中の直線はキーポイントのオリエンテーションを示す. 赤色で描画されたキーポイントに着目すると, 2画像間で対応するキーポイントは同じ方向のオリエンテーションと同じ大きさのスケールが検出されており, SIFT特徴量は画像間に拡大・縮小や回転が生じても同一の特徴量を抽出できることが分かる.
SURFの特徴量記述もSIFTと同様にオリエンテーションを求め, 正規化した後に16分割した各グリッド領域について方向と方向のHaar-likeパターンを用いて輝度勾配を求める. この輝度勾配の値をそれぞれとするとき, 四次元のベクトル)をそれぞれ求める. したがって,16領域 4 = 64次元の特徴量となる.
2.4 2値特徴量
SIFT, SURFは画像間のマッチングを可能とする非常に強力なツールであるが, 特徴量を高次元のベクトルで表現しているためメモリ消費量が多く, また類似度の計算が遅いという二つのデメリットがある.
例えばSIFT特徴量の場合, 最も小さなデータ型であるunsigned charで格納したとしても, 一つのキーポイントあたり128 [byte]を消費する. これがキーポイント数分だけ必要であり, 仮に1,000点のキーポイントが検出されたとすると, 1,000 128 [byte] 125 [kbyte]のメモリを消費することになる. 扱う画像枚数が増えるほど, メモリ消費量の問題は深刻となる.
次元の二つの特徴量の類似度は, ユークリッド距離やベクトル間角度が用いられる. これらの演算で発生する四則演算の計算量は であり, 特徴量の次元数が大きいときはこの計算量を無視できない. SIFTをはじめとする多くの局所特徴量は次元数が高く, 類似度計算の負荷が高くなりやすい.
大規模な画像検索などの応用において数百万数千万個の局所特徴量をメモリ上に格納して類似度計算を行うことも珍しくない. そのため, メモリ消費量と類似度計算の速度の2点における改善が求められている. これに対し, キーポイントの特徴記述をベクトルで表現せず, 数十~数百個程度の0と1の列から成る短いバイナリコードで表現するという手法が注目されている. バイナリコード表現はベクトル表現に比べてコンパクトであり, メモリの消費量を大幅に減らせるというメリットがある. もう一つのメリットは, バイナリコード間の類似度をハミング距離で測れるという点である. ハミング距離は, 二つのバイナリコードのXORを計算し, 1が立っているビットの数を数えるだけで得られるため, 極めて高速に計算可能である. 現在, 一般に利用されているCPUでは, ビットカウント用の専用命令を実装しているものが多く, これらの専用命令セットを用いることでさらなる高速化を達成することも可能である.
バイナリコード化に基づく特徴量であるBRIEFは, 図6 (a)のようにキーポイント周辺のパッチ内においてランダムに選択された2点の輝度差の符号から2値特徴量を生成する. パッチ内からランダムに選ばれたサンプリングペアをとし, これを組用意しておく. すなわちである. それぞれの点における輝度をとする. このときの条件を満たすとき1, そうでなければ0を記述する. こうすることでビットのバイナリ型の特徴量が生成される.
ORB(Oriented fast and Rotated BRIEF)[8]では, 統計的に「良い」性質を持つサンプリングペアを教師なし学習により選択する. ORBでは, パッチ内であり得る205,590種類のペアをすべて候補として列挙し, ビットの分散が大きく, かつペア同士の相関が低くなるようなペアをGreedyアルゴリズムで選択することにより, 256組のペアに絞り込むことで, 記述能力の高いバイナリ型の特徴量を生成している. サンプリングペアの選択は以下の手順で行う.
1.すべてのペアの候補について, ビットの分散が大きいもの順にソート
2.最大の分散を持つペアを採用
3.次に大きな分散を持つペアに着目し, このペアが採用積みのどのペアとも相関が低いのであれば採用. 相関が高ければ棄却
4.3番めのステップを繰り返し, 256組のペアを採用した時点で終了
図6 (b)にORBによって選択されたペアを示す. 選択されたペアには縦方向の偏りが生じていることが確認できる. これは, キーポイントのオリエンテーションの補正が入ることでパッチ内の輝度の分布に偏りが生じるためである.
Figure 6: バイナリ特徴量のサンプリングペア
3 三次元特徴量
近年では, 様々な三次元センサが急速に普及していることから, 前章で解説した二次元特徴量と同様に, キーポイントマッチングのための三次元局所特徴量やその周辺技術についても研究が急速に進展している[9].
多くの三次元センサは, ポイントクラウドデータと呼ばれる多量の三次元座標点群を出力することから, 現実のキーポイントベース物体認識手法でも, このデータ形式を前提としたアルゴリズムが用いられている. すなわち, 図7のように, 点群として表現されたモデルや入力データの中から, なんらかのポリシーにのっとってマッチングに使用すべきキーポイントを選択し, 局所形状など, その点の性質を表現した特徴量同士の比較によってモデルと入力データとを照合する.
このことから, 物体認識における三次元特徴量の最も重要な役割は, 三次元点群から検出されたキーポイントに, 局所形状など, その点を特徴づける属性を与えることである. キーポイント同士の照合時には, この属性を用いて対応付けの正しさを指標化する. したがって, その点をできるかぎり強く特徴づける特徴量が好ましいが, これに加えて, その特徴量がモデルと入力データの双方において安定的に記述されることも重要である. この性能は再現性(Repeatability)と呼ばれ, 特徴量設計において非常に重要な性能評価ファクターとなっている.
Figure 7: 三次元キーポイントを利用した物体認識
Table 2: 主要な三次元特徴量の分類
3.1 三次元特徴量の分類
三次元特徴量については, これまで多くの手法が提案されてきたが, これらは, キーポイント周りの特徴を記述するもの(タイプA)と, 2点または3点間の位置や法線間の関係を記述するもの(タイプB)の二つのタイプに分けることができる. 表2に主要な三次元特徴量の分類を示す. なお表中の下線は, 現時点で三次元認識のためのソフトウェアパッケージであるPCL(Point Cloud Library)に関連ソフトウェアが登録されていることを示している. このように, 前者のタイプに属するもののほうがやや多いが, 性能としてはほぼ互角と考えたほうがよい. 例えば, 特徴量が持つアイデンティティの観点からは, タイプAのほうが一般的に次元数が大きく, 情報量も多いため, 比較的少数データ同士の照合ですむ一方, 1回の照合にはやや時間が掛かる傾向がある. タイプBは複数点からなる集合体を扱うので特徴量としての次元数が低いものが多いが, それだけにアイデンティティは高いとは言えず, 誤照合のリスクはタイプAより大きくなりがちである. したがって, 認識システムとしては, 多くの点を照合させたうえで, 一種の投票処理を行って, 多数決的に実用解を得る必要がある.
また, 多くの特徴量は, 例えば法線ベクトルのような三次元表面形状を表現した数値をもとにして算出されていることから, ベクトルを定義するための局所的な座標系の設定もまた, 極めて重要な設計要素となる. これは局所参照座標系(LRF: Local Reference Frame)と呼ばれ, 三次元キーポイントベースの物体認識アルゴリズムを設計するときには避けては通れない重要な要素である. LRFの最も大きな役割は, 特徴量計算の基準を与えることである. 様々な特徴量はこのLRFに基づいて数値化され, 照合に利用されるため, 本来対応すべき二つのキーポイントのLRFが揺らいでいたのでは, それから算出される特徴量の信頼性が低下し, 正しく照合できない. すなわち, LRFの安定性は特徴量の安定性に直結している. またLRFは, 対応付け後の二つのキーポイントの幾何学的関係を表現しているので, 物体の姿勢推定に用いられることもある. 現実のロボットビジョンアプリケーションの多くは, ポイントクラウドデータから, 対象物の位置と姿勢を推定することが目的であるから, LRFはこの場面でも重要な役割を果たしている.
Table 3: 主要な局所参照座標系
表3に, 主要な局所参照座標系の分類を示す. LRFも二つのタイプに分類できる. 前者は, 一括算出型, すなわち直交する三つの座標系ベクトルを同時に算出するタイプである. 後者は, 個別算出型, すなわち三つのベクトルを個々に, 順番に求めていく方法である. いずれのタイプも, 法線ベクトルを利用したものが多い点は共通している.
Figure 8: SHOT特徴量
3.2 三次元特徴量と局所参照座標系の実際例
三次元特徴量の代表例の一つは, Tombariらによって提案されたSHOT(Signature of Histograms of Orientations)特徴量[10]である. 図8に示すように, キーポイント周辺の球状の領域を32分割し, それぞれにおける法線ベクトル群とキーポイント法線との関係を内積値としてヒストグラム化し, 352次元の特徴量として算出している.
この特徴量については, 注目点周辺の領域を分割したうえで, 法線ベクトルの方向分布をヒストグラム的に表現しているという点で, SIFTやHOG等の濃度勾配方向に関する統計量を利用した二次元特徴量とのアナロジーを感じることができる. ただし, 二次元特徴量の場合は, 濃度勾配方向の基準として, 別途決定した主方向を利用しているが, 三次元特徴量の場合には物体表面に設定した三次元座標系(LRF)を利用することになる. また, SIFTにおけるスケールファクターは, SHOT特徴量においてはサポート球と呼ばれる法線分布の計算範囲に相当するが, 三次元点群の場合は実測値としての座標データを扱うことになるので, 絶対値パラメータとしてのサポート球半径を設定しておく.
SHOT特徴量以外の代表的な手法として, FPFH(Fast Point Feature Histogram)[11]や, 点群の領域内占有率に基づく手法[12]がある. 特に後者はマルチスケールサポート球を利用していることから, キーポイント周辺の微視的, 巨視的な形状を統合的に保持した特徴量となっている. また, Aldomaらが提案したOUR-CVFH(Oriented, Unique and Repeatable Clustered Viewpoint Feature Histogram)特徴量[13]は, ほかのほとんどの特徴量がキーポイント周辺を記述していたのに対し, 分割した曲面領域ごとに特徴量を記述している点で興味深い. 領域内のなめらかな連結領域(クラスタ)をもとに共分散行列によってLRFを設定し, これに基づいて当該領域から30三次元の特徴ベクトルを生成している.
次に, 局所参照座標系については, キーポイント周りの点群の三次元座標をもとに計算した共分散行列に対する固有ベクトル群を用いるMian法[14]や, これを改良したSHOT特徴量におけるLRF, あるいは照合対象の点群間の密度差の影響を吸収する工夫を施したRoPS-LRF [15]がある.
Figure 9: Dominant Projected Normal LRF [16]
また, 図9に示したDPN-LRF [16]は, 照合対象点群の密度差への対応を目的として提案されたものであり, キーポイント周辺の法線方向分布を事前に分析し, その支配的方向を算出して利用しているため, 従来より安定性が向上した方法となっている.
4 まとめ
本稿では, 物体認識のために用いられる, 画像を用いた二次元特徴量とポイントクラウドを用いた三次元特徴量について, 両者の共通点と差異に留意しつつ解説した. 二次元特徴量ではスケールとオリエンテーションにより正規化した局所座標系を用いて特徴記述を行い, 三次元特徴量ではLRFに基づいて特徴量を記述することを述べた. 局所座標系の決定は, 二次元特徴量, 三次元特徴量のどちらにおいても, その精度が特徴量の不変性に影響を与えることからも, 共通した課題であることが分かる. また, 二次元特徴量では, 濃度勾配やその方向をヒストグラム的に扱うことが多く, 三次元特徴量でもポイントクラウドデータから計算した物理的勾配すなわち法線ベクトルの方向をヒストグラムとして利用するなど, 両者の関連性は深い. 今後は, よりユニークな対応点の獲得に向けて, 三次元特徴量で用いられるLRFからの二次元画像上の異方性スケールの獲得などの両者のコンビネーションによるアプローチの進展が期待される.
References
[1] D.G. Lowe:“Distinctive Image Features from Scale-Invariant Keypoints,” Int. J. Comput., Vision, vol.60, no.2, pp.91–110, 2004.
[2] H. Bay, A. Ess, T. Tuytelaars and L.V. Gool: “Speeded-Up Robust Features (SURF),” CVIU, vol.110, no.3, pp.246–259, 2008.
[3] E. Rosten and T. Drummond: “Machine learning for high-speed corner detection,” ECCV, pp.430–443, 2006.
[4] G. Takacs, V. Chandrasekhar, S. Tsai, D. Chen, R. Grzesczuk and B. Girod: “Unified Real-Time Tracking and Recognition with Rotation-Invariant Fast Features,” CVPR, 2010.
[5] M. Calonder, V. Lepetit and P. Fua: “BRIEF:Binary Robust Independent Elementary Features,” ECCV, 2010.
[6] S. Leutenegger, M. Chli and Y.R. Siegwart: “BRISK:Binary Robust Invariant Scalable Keypoints,” ICCV, 2011.
[7] 安倍満, 吉田悠一:“CARD: Compact And Real-time Descriptors,” ICCV, 2011.
[8] E. Rublee, V. Rabaud, K. Konolige and G. Bradski: “ORB: An Efficient Alternative to SIFT or SURF,” International Conference on Computer Vision, 2011.
[9] 橋本学:“距離データハンドリングのための3次元特徴量”, 動的画像処理実利用化ワークショップ2015基調講演, pp.1–14, 2015.
[10] F. Tombari, S. Salti and L.D. Stefano: “Unique Signatures of Histograms for Local Surface Description,” Proc. of ECCV, pp.356–369, 2010.
[11] R.B. Rusu, N. Blodow and M. Beetz: “Fast Point Feature Histgrams(FPFH) for 3D Registration,” Proc. of ICRA, pp.3212–3217, 2009.
[12] 武井翔一, 秋月秀一, 橋本学:“マルチスケールシェル領域の点群占有率に基づく3次元特徴量の提案”, 電学論C,vol.136, no.8, pp.1078–1084, 2016.
[13] A. Aldoma, F. Tombari, R.B. Rusu and M. Vincze: “OUR-CVFH-Oriented, Unique and Repeatable Clustered Viewpoint Feature Histogram for Object Recognition and 6DOF Pose Estimation,” DAGM-OAGMPRS, pp.113–122, 2012.
[14] A. Mian, M. Bennamoun and R. Owens: “On the Repeatability and Quality of Keypoints for Local Feature-based 3D Object Retrieval from Cluttered Scenes,” IJCV, vol.89, issue 2–3, pp.348–361, 2010.
[15] Y. Guo, F. Sohei, M. Bennamoun, M. Lu and J. Wan: “Rotational Projection Statistics for 3D Local Surface Description and Object Recognition,” IJCV, vol.105, issue 1, pp.63–86, 2013.
[16] 秋月秀一, 橋本学:“3次元キーポイントマッチングのための点群密度変化および欠落に頑健なLocal Reference Frame”, 信学論D, vol.J99-D, no.8, pp.727–736, 2016.
藤吉弘亘(Hironobu Fujiyoshi)
1997年中部大学大学院博士後期課程修了. 1997~2000年米カーネギーメロン大学ロボット工学研究所 Postdoctoral Fellow, 2000年中部大学講師, 2004年より同大学教授, 2005〜2006年米カーネギーメロン大学ロボット工学研究所客員研究員. 計算機視覚, 動画像処理, パターン認識・理解の研究に従事. 2005年ロボカップ研究賞, 2009年情報処理学会論文誌コンピュータビジョンとイメージメディア優秀論文賞, 2009年山下記念研究賞, 2010・2013・2016年 画像センシングシンポジウム優秀学術賞, 2013年電子情報 通信学会情報・システムソサエティ論文賞, 2016年画像センシングシンポジウム最優秀学術賞.
橋本学(Manabu Hashimoto)
1987年大阪大学大学院工学研究科(溶接工学)前期課程修了. 同年三菱電機(株)入社. 生産技術研究所, 産業システム研究所, 先端技術総合研究所にてロボットビジョン, 三次元視覚, 動画像処理, パターン認識, バイオメトリクス認証, ヒューマン認識などの研究開発に従事. 2008年中京大学情報理工学部 機械情報工学科教授. 2013年より中京大学工学部機械システム工学科教授(改組). 1998年度日本ロボット学会実用化技術賞, 科学技術庁第58回注目発明表彰, 2012年度画像センシングシンポジウム優秀学術賞, 2015年度同オーディエンス賞, 2015年度MIRUインタラクティブ発表賞, 精密工学会画像応用技術専門委員会小田原賞等受賞.hashimoto