[[太田研 公開用Wiki]] *小惑星画像からの形状復元手法に適した特徴点検出手法 [#kaafb232] #contents *はじめに [#q7b9db1e] 小惑星探査において、小惑星探査機がサンプルを回収のために小惑星にタッチダウンしなければならないが、その際に小惑星の形状情報が必要となる。形状情報を取得する方法としては搭載のレーザーセンサによって取得する方法があるが、画像からも取得可能である。画像から形状を復元する際に画像上の特徴点の対応付けを行うが、既存の特徴量であるSIFTなどは人間が判断のしにくい特徴点も多く検出してしまう。小惑星探査は高い精度が要求される場面もあるため人間の手による修正が必要になったとき、分かりにくい特徴点だと作業が困難になってしまう。そこで本研究では学習ベースの手法として主成分分析を用いることで小惑星に適した特徴を検出する手法を提案する。 *主成分分析を用いた特徴検出手法 [#z07e6f72] **主成分分析 [#h8c0269c] 主成分分析(Principal Component Analysis)とは多変量解析の1つで、多数のデータからそのデータにおける特性を要約し簡潔に表現する方法である。例えば、データとして説明変数$x_1,x_2,...,x_p$があったとき、これを$a_1x_1+a_2x_2+,...+a_px_p$と表現したとする。このように複数の変数の1次式として表現したものを主成分という。主成分は複数存在し、データの特性を一番表現するものを第1主成分とし、第2主成分、第3主成分といったように続いていく。こういったデータの特性を表す主成分を用いることで小惑星画像における特徴的な部分の抽出が可能であると考えられる。 **提案手法 [#c08945e0] 主成分分析を用いることによってクレーター画像の特性を求め、それを利用することで適切な特徴を検出することができると考えられる、本節では主成分分析を用いた特徴検出手法の詳細を述べる。 ***主成分分析に用いるデータセット [#j793b7ea] ここでは主成分分析を行うデータセットについて述べる。 まず今回の実験では、JAXAからいただいた小惑星模型の画像群を使用する。これは小惑星模型を周囲から5°区切りで撮影した合計72枚の画像である。 CENTER:#ref(image000.png,center,20%) CENTER:図1: 小惑星模型画像の例 主成分分析を行いたいデータというのは、その特性を抽出したいデータ、つまり小惑星画像において人間が特徴的だと判断できる部分を集めたものでなければならない。本研究では以下に示すような小惑星画像内のクレーターや岩、その他凹凸を特徴的な部分としている。 CENTER:#ref(samples.png,center,40%) CENTER:図2: データセットに用いるサンプル画像の例 サンプル画像は上で示したような20×20ピクセルのグレースケール画像としている。また、小惑星模型画像内の特徴がある程度収まる範囲として20×20ピクセルが適切であったため、今回はこの範囲での画像とした。こういった画像を72枚の様々な角度から撮影した小惑星模型画像群から400枚収集を行う。 ***主成分分析を用いた特徴検出方法 [#p1af5f31] 最初に本手法の大まかな流れを示す。その後、各手順についての詳細を述べる。 1.データセットに対し主成分分析を行い、固有値及び固有ベクトル(主成分)を求める。 2.入力画像から20×20ピクセルで切り出した画像と1で求めた各主成分との内積を計算する。 3.計算結果に対し各固有値による重みづけをして値の調整を行い、類似度を決定する。 4.手順2, 3を入力画像の左上から切り出す位置を1画素ずつ移動させながら、入力画像全体において行い、各座標での特徴に対する類似度を求める。 手順1について、データセットは400次元のベクトル400個から構成されているので、その共分散行列は400×400の行列となる。この共分散行列を用いて、固有値及び固有ベクトルを計算する。ここで求められる固有値・固有ベクトルの個数(主成分数)は400次元であるので400個である。次に実験に使用する主成分を選択する。計算された固有値の中で一番値の大きいものから第1主成分、続いて第2主成分といったように対応しているので、固有値の上位のものとそれに対応している固有ベクトルを使用すればよい。主成分数の選択は、寄与率というその主成分が全体の何%の情報を保有しているかを表す指標をもとに決定する。そのため固有値の大きい第1主成分の寄与率は高くなる。また、この割合を第1主成分から順に加算していったものを累積寄与率といい、一般的にはこれが70~80%以上になるような主成分数を採用する。詳しい説明は第3章で述べるが、今回の手法で採用した主成分は3つである。 手順1について、データセットは400次元のベクトル400個から構成されているので、その共分散行列は400×400の行列となる。この共分散行列を用いて、固有値及び固有ベクトルを計算する。ここで求められる固有値・固有ベクトルの個数(主成分数)は400次元であるので400個である。次に実験に使用する主成分を選択する。計算された固有値の中で一番値の大きいものから第1主成分、続いて第2主成分といったように対応しているので、固有値の上位のものとそれに対応している固有ベクトルを使用すればよい。主成分数の選択は、寄与率というその主成分が全体の何%の情報を保有しているかを表す指標をもとに決定する。そのため固有値の大きい第1主成分の寄与率は高くなる。また、この割合を第1主成分から順に加算していったものを累積寄与率といい、一般的にはこれが70~80%以上になるような主成分数を採用する[2]。詳しい説明は第3章で述べるが、今回の手法で採用した主成分は3つである。 続いて手順2について、入力画像(ここでいう入力画像とは前述した72枚の小惑星模型画像のうちの1枚)から20×20ピクセルの範囲で切り出した画像(以降小画像)と採用した3つの固有ベクトルを用いて類似度を計算する。切り出す位置については後述する。類似度を求めるには、小画像と固有ベクトルとの内積をとることによってそれぞれの主成分方向への反応の大きさを知ることができる。 手順3について、手順2で計算した各主成分ごとの内積の値に対して固有値を用いた重みづけを行う。第1主成分の値が最も大きく、第2主成分、第3主成分と順に重みが小さくなっていくように計算を行う。手順2での計算を含めた類似度sの算出式を以下に示す。viを各固有ベクトル、xを小画像のベクトル、λiを固有値とする。 CENTER:類似度 s = Σ[i=0→3]{λi(vi・x)^2}/||x||^2 これを行うことによって、より第1主成分の反応を強調でき、相対的に第3主成分の反応を抑制することができる。また、統計的な変動に対応することもできる。第3章にて実験の結果とともに詳細を述べる。 手順4について、手順2での小画像切り出しを入力画像の左上の座標から始める。このとき小画像の左上角の座標を基準座標とする。手順3を終えた後、切り出す画像の基準座標を1ずらし同じく手順2、3を繰り返す。これを入力画像全体に行うことでそれぞれの基準座標での類似度が求められる。 *評価実験 [#uaabfd7f] **評価方法 [#b9158cad] はじめに実験にて使用する画像について述べる。また、前章で述べた手法による特徴検出は結果として類似度を求めることができるが、類似度が大きかった位置が本当にクレーターと思われる特徴なのかというのを確かめなければならない。そこで評価の指標として正解データを作成し、それを比較の際の指標とする。 ***実験に使用する画像 [#fd03fbfc] 実験に使用した画像はできる限りいろいろなパターンを含んだ見た目の違う画像を使用した方が良いと考えたため、前述した小惑星模型画像72枚の内、30°区切りで撮影した画像の計12枚を使用する。 CENTER:#ref(image_example.png,center,50%) CENTER:図3: 実験に使用した小惑星模型画像の例 ***正解データの作成 [#t06d60e7] 本研究での特徴検出の結果を評価するためには、人間が目で見て特徴だと判断したデータが必要になる。そのため小惑星模型画像において目で見て特徴だと判断した場所に20×20ピクセルの範囲で位置を記録した正解データを作成した。このデータは画像上での座標が記録されているデータであり、座標は前章で述べた20×20ピクセルの基準座標における座標である。こういったデータを0°、30°とそれぞれの撮影角度の画像計12枚において作成した。以下にそのデータをもとに小惑星模型画像に位置を描画した画像を示す。 CENTER:#ref(correctimage000_thick3_min.png,center,50%) CENTER:図4: 正解データを描画した画像の例 ***正解データを用いた評価 [#v79c422f] 作成した正解データと求めた各座標ごとの類似度を用いて行う評価方法を述べる。あらかじめここでは、1つの撮影角度の画像に関する方法だと断っておく。また、便宜的に正解データの座標をA座標、類似度を計算した座標をS座標と記述する。 まず、類似度が最も高かったS座標から順に正解データのすべての座標と比較を行う。その過程で、二つの座標の位置がx座標について±5、y座標について±5以内であるようなデータが見つかればその座標は検出に成功した座標であると記録する。これを行うことで、すべてのS座標で検出が成功したどうかが分かる。今回の実験では正解データのデータ数を考慮して上位100種類のS座標を採用し、その中でいくつ検出が成功しているかという評価を行った。ここで100種類といったのは検出した特徴の被りをなくすためである。類似度計算において1画素ずれているだけではほぼ同じ類似度になるため、上位100個を採用してしまうと同じ特徴の部分を取ってきてしまうことがある。それを防ぐために一度検出成功と登録されたS座標の周囲5ピクセルに存在するS座標は不採用とした。 CENTER:#ref(teach_correct.png,center,50%) CENTER:図5: 正解データとの比較 **主成分分析を用いた特徴検出結果 [#ddb18c55] 本節では、まず前章の提案手法で述べた主成分数の採用理由と固有値による重みづけの効果を結果とともに述べ、その後提案手法を用いて行った特徴検出の評価を行っていく。 ***主成分数と固有値による重みづけ [#x456c001] 前章で述べた通り今回採用した主成分は3つであり、その累積寄与率は46%である。なぜ5割程度の累積寄与率かについてだが、まず固有ベクトル画像を固有値の大きいものから順に100個並べた画像を以下に示す。 CENTER:#ref(evimgs.png,center,100%) CENTER:図6: 上位100個の固有ベクトルを並べた画像 この画像は左上から右下にかけて各主成分に対応している。このデータセットから得られる主成分の累積寄与率が70%を超えるのは第8主成分までを加算したときである。図6を見ると、第4主成分と第5主成分に対応する固有ベクトル画像は中心のクレーター特徴のほかに対角線に沿ってはっきりと明暗が分かれている特徴を持っている。そこでまず以下に第1~3主成分で検出を行った場合と、第4、第5主成分を含めて行った場合の結果を示す。 CENTER:#ref(image000.png,center,30%) CENTER:図7: 撮影角度0°の小惑星模型画像 CENTER:#ref(shuseibun3and5.png,center,100%) CENTER:図8: 第1~3主成分で行った画像(左), 第1~5主成分で行った画像(右) 図8は各座標での類似度の大きさを表したもので、より白く出ている部分がクレーターなどの特徴があると考えられる位置である。図8の右の画像を見ると、左の画像に比べて明暗の差が大きい部分や小惑星模型の縁などのエッジが強い位置の類似度が大きくなっている。小惑星模型の縁の部分などは確かに特徴のある部分ではあるが、本研究の目的から考えるとあまり適切な特徴部分とは言えず、こういった特徴の検出は好ましくない。この原因は前述した第4、5主成分の固有ベクトル画像における特徴が強く作用し、類似度の計算に影響を与えたからだと考えられる。また、それぞれの上位100種の類似度を正解データと比較した結果、第1 ~3主成分の方は正解率28%で、第1~5主成分の方は正解率2%であった。そのため本実験での主成分は第1~3主成分までを採用とした。以降の実験ではこの主成分で行う。 次に固有値による重みづけについて、第2章で述べたとおりの方法で重みづけを行った結果と重みをつけていない結果を以下に示す。 CENTER:#ref(value.png,center,100%) CENTER:図9: 重みづけを行った画像(左), 重みづけを行っていない画像(右) 図9から重みづけを行った方は、行っていない方の画像に対して線状に反応している部分が抑制され、点状に出ている部分が際立つように調整されている。こちらも主成分数のときと同様に正解データと比較を行った結果、重みづけ有りの方は正解率43%、重みづけ無しの方は正解率28%であった。この結果から重みをつけることによって特徴がより強く検出できるようになった。以降の実験では重みづけを行ったもので進める。 ***特徴検出の正解率の結果 [#w7038227] 提案手法を用いて30°区切りで撮影された小惑星模型画像計12枚に対し検出を行った。以下に類似度の大きさを示した画像とそこから上位100種の特徴を描画した画像の例をいくつか示す。 CENTER:#ref(matchimage_set000.png,center,100%) CENTER:図10: 撮影角度0°における類似度の画像(左), その上位100種の位置を示した画像(右) CENTER:#ref(matchimage_set120.png,center,100%) CENTER:図11: 120°の場合 CENTER:#ref(matchimage_set240.png,center,100%) CENTER:図12: 240°の場合 次に右の画像のデータと正解データを比較し、それぞれの角度における正解率をまとめた表を以下に示す。 CENTER:表1: 撮影角度ごとの正解率 CENTER:#ref(表1.png,center,100%) この結果は上位100種の特徴の内いくつ正解データと一致していたかという数字である。表1からどの撮影角度においても40%以上の正解率であることが分かる。これがどの程度人間の目で分かりやすいものなのかという評価を次節にて行っていく。 **SIFTを用いたキーポイント検出結果との比較 [#yed9abb8] ***SIFTのパラメータ [#a15f24d5] まず、SIFTを用いるにあたってキーポイント検出に関わるパラメータ設定ついて述べる。SIFTのパラメータには出力するキーポイントの個数(スコア上位のものから)、1オクターブ当たりのピラミッドの層、コントラストによるキーポイントの閾値、エッジ上のキーポイントの閾値、ガウシアンフィルタのσといった5つのパラメータが存在する。今回の実験では一般的な手法の代表としてのSIFTを用いるため、キーポイントの個数以外はデフォルトのパラメータ(それぞれ順に1000, 3, 0.04, 10.0, 1.6)で検出を行った。キーポイントの個数については正解データと比較する際に100種類は必要になるので、位置の被りも考慮して十分な種類のキーポイントを得るため1000個とした。 ***SIFTキーポイントの評価方法 [#wb64cd65] SIFTを用いて検出したキーポイントは、本研究で扱っている20×20ピクセルという一定範囲で検出される特徴とは異なり、ただ1点として検出される。そのためSIFTキーポイントの評価方法として、検出できたSIFTキーポイントをその座標を中心とした20×20ピクセルの正方形に見立てることによって正解データとの比較を行う。こちらも主成分分析で行った方と同様に正解データに対して縦横5ピクセルの範囲に収まっていれば正解とする。 ***提案手法とSIFTを用いたキーポイント検出の結果 [#l28f63e5] 最初にSIFTによって検出されたキーポイントの結果のうちいくつかの画像を以下に示す。ただし、表示するキーポイントは100種に絞って出力している。 CENTER:#ref(sift_set1.png,center,100%) CENTER:図13: SIFTを用いた検出結果の画像(それぞれ0°,120°,240°) また、このデータを正解データと比較し、角度ごとの正解率を求めた。以下に提案手法で行った場合の表1の結果と並べた表を示す。 CENTER:表2: 撮影角度ごとの提案手法とSIFTの正解率(%) CENTER:#ref(表2.png,center,100%) この結果から、どの撮影角度の画像も提案手法で行った特徴検出の方が正解率が高くなっていることが分かる。 ここで、正解データと比較する特徴が上位100種という条件のもとでは提案手法が高い正解率であったが、これが増加したときにどうなるのかを確かめるため、正解データと比較する特徴の個数を上位100種から上位400種まで100ずつ増やし実験を行った。その正解率の結果を以下に示す。 CENTER:#ref(correctset1.png,center,100%) CENTER:図14: 特徴個数の変化の結果1 CENTER:#ref(correctset2.png,center,100%) CENTER:図15: 特徴個数の変化の結果2 この結果を見ると特徴数300種まではPCAを用いて行った特徴検出の方が比較的高い正解率をとっている。400種まで増やすとPCAとSIFTのそれぞれがほぼ同じ正解率となった。ここから提案手法における100種、200種、300種、400種の類似度の最小値をそれぞれの角度で平均して計算した結果、類似度の最大値を1として順に0.610、0.538、0.497、0.470という類似度であった。 *考察 [#w936cadd] **提案手法による実験の結果について [#wc2474d1] 主成分を用いた特徴検出の結果の項で行った実験の結果から、提案手法を用いた特徴検出の正解率は平均して約46%であった。この数字はマッチング率としてみればあまり高い数値とは言えない。もちろん正解データに登録されている特徴をすべて検出できることが理想だが、実験で使用したデータセットを作成するためのサンプルと正解データに登録した特徴が全く同じになっていないため検出のできない特徴が存在することは考えられる。また、今回採用した主成分数による影響がある。第4、5主成分を含めて行うと大量のエッジに反応してしまい正解率が著しく下がる結果となってしまっていたため、第3主成分までとしたがこれはサンプルデータの内容が関係していると考えられる。主成分に明暗差が大きく出てくるということはそういった情報を含むサンプルが多かったということである。クレーターなどの特徴に対し、光の当たる角度がつきすぎて少しの凹凸で大きく影ができてしまっているような画像が原因になりうると考えられる。 サンプル画像を登録するときに、影が大きく出ている部分を含む特徴は選ばないなどの特徴の選び方の指標をある程度決めておくことでさらに安定した検出が可能になるのではないかと考えられる。 また、実験にて行った特徴検出では一定の範囲内である程度決まった大きさのクレーター特徴に対する評価であったので、今後の課題としてさらに多様なクレーター特徴を検出するためには検出の際のスケールを考慮する必要がある。 **SIFTとの比較結果について [#r9e02e9f] 実験結果から正解データに対する正解率は全体的に提案手法の方が高い結果となった。図14,図15で特徴数を増やすことによって提案手法の正解率は減少したが、これは類似度順に採用しているので正解データに類似していないものが増加するのは自然である。一方でSIFTではどの撮影角度においても特徴数変化による正解率の変化は一定ではない。これはSIFTによるキーポイント検出が本研究におけるクレーター特徴に沿って検出されたものではないからであり、個数を増やすと正解データに類似するものとしないものが不規則に表れるからだと考えられる。 結果として類似度が0.5程度より上位のものを採用することでSIFTに比べPCAの方が分かりやすい特徴の検出が多いといえる。その中でも0.6以上のものはPCAとSIFTの差が特に大きかった。 *まとめ [#t6f3fe7b] 本論文では、小惑星画像における人間の目で判断のしやすい特徴点の検出という手法を提案した。小惑星探査において一般的によく知られるSIFTなどの特徴量では多数の特徴点を検出するが、その中には人間が判断しにくい特徴点も多く含んでしまう。その解決策として学習ベースの方法である主成分分析を用いることで人間に分かりやすい特徴検出を行う。 提案手法では、主成分分析(PCA)を用いた特徴検出を行った。小惑星のクレーターなどの特徴的な部分のデータを収集しそれらを分析することによって、小惑星に適した特徴を得ることができると考えられる。本手法では小惑星模型画像から収集したクレーターや岩、凹凸をサンプルデータとして主成分分析を行い、その主成分を用いて小惑星画像において各位置での類似度を計算することにより特徴の検出を行った。 評価実験としては、比較対象として正解データを作成し、提案手法によって類似度を計算した画像との比較を行った。また、提案手法とSIFTを用いて行ったキーポイント検出の正解率を比較し、類似度が0.5程度以上であるならばPCAの方がより人間が判断のしやすい特徴を検出できていることを確認した。 今後の課題としては、採用する主成分数に関する改善がある。今回の実験では第3主成分までを採用としたが、その累積寄与率は46%とデータセットの説明力としては不十分である。本来、採用すべき主成分は累積寄与率が7,8割を上回る主成分までである。主成分の特徴の中にエッジに強く反応してしまう特徴が含まれているということはデータセットにそういった特徴が多く存在しているということでもあるため、データセットの見直しも検討すべきである。また、今回の実験では20×20ピクセルという一定範囲内に収まるクレーター特徴のみに限定した検出を行っていたが、クレーターのサイズも考慮することでさらに多くのクレーター特徴を検出できるのではないかと考えられる。 *参考文献 [#lb34f464] [1]坂野 鋭,"パターン認識における主成分分析ー顔画像を例としてー",統計数理(2001)第49巻 第1号 23-42 [2]内田 治,"ロータス1-2-3による多変量解析入門", 日本経済新聞社 1991年 [3]OpenCV team,"OpenCV",http://opencv.org/,(access Feb,2019).