gggggraziegrazie

graizegrazieさんのやったこと、学んだことを記録する雑記帳です

画像処理における特徴点(feature)と記述子(descriptor)

画像処理において、特徴点・キーポイントという言葉と記述子という言葉が出てきます。前者は、ある観点で見た際の画像中の特徴的な部分を指します。例えばSIFTがそうです。後者は特徴点周りの領域から取り出した特徴量を指します。例えばBRIEFがそうです。つまり、双方共に画像中の特徴を表現しており、その概念の違いは表現する範囲と言えます。

参考文献

[1]原田達也. 画像認識. 講談社, 2017.

locality sensitive hashing(LSH)

LSH[0][6]とは、ハッシュ関数を使ってデータを次元圧縮をしたり、データ同士の比較を高速で行えるようにするための手法である。使用するハッシュ関数の代表例は、下記の安定分布とハミング距離、Jaccard指数がある。ハミング距離を使って、データの比較する例は[6]がわかりやすい。

安定分布

[1][2]によると、確率変数{X_i}が独立同時分布(i.i.d)Xに従う時、
{\displaystyle  S_n = \frac{1}{a_n} \sum^n_{i=1} X_i - b_n}
が元のi.i.dと同一の分布である場合、Xは安定分布であるという。なお[3]では条件式が別形式で記載されているが、
{\displaystyle aX_1 + bX_2 = cX + d \Leftrightarrow \frac{a}{c}X_1 + \frac{b}{c}x_2 = X + \frac{d}{c} \Leftrightarrow X = \frac{a}{c}X_1 + \frac{b}{c}X_2 - \frac{d}{c} }
となり、XからサンプルSを取り出した時に{X_1, X_2}の係数と{\frac{d}{c}}を変化させれば上式と同様のことが言える。

安定分布の中の代表格が、ガウス分布やコーシー分布である。

ハミング距離[4]

2つの変数a, bがある時、
f:id:graziegrazie:20190316061929p:plain
で求める。例えばa = [1, 0, 0, 1]、b = [1, 1, 0, 0]とすると、ハミング距離は(0+1+0+1)=2となる。

Jaccard指数[5]

f:id:graziegrazie:20190316062819p:plain
a={abc, def, ghi}, b={abc, efg, hij}とすると、{a \cup b = 3 + 3 - 1}(1つ重複する要素があるため)かつ{a \cup b = 1}なので、{J(a, b) = \frac{1}{5} = 0.2}となる。

さまざまな距離

Computer visionなどの世界では、対象間の距離を測る方法がいくつもあります。その中で学んだものを下記に列挙していきます。

Bhattacharyya distance

[1]によると、2つの確率分布が近いのか遠いのかを表現します。[2]の式を下記に記載します。
f:id:graziegrazie:20190315060020p:plain

[2]より、多変量正規分布にBhattacharyya distanceを当てはめると、下記の様に2つの確率分布の共分散行列{\Sigma}が同じであれば、マハラビノス距離に近い式になります。
f:id:graziegrazie:20190315060719p:plain

Bhattacharyya distanceを視覚的に理解しようとすれば、[3]にあるように確率分布の共通分布{p \cap q}であると考えられます。

Mahalanobis Distance

[4]にあるように、多次元のデータの類似度(距離)を測る指標です。注目データが、データ中の外れ値に当たるかどうかを判断するのに使われます。

距離と言えば、ユークリッド距離が最も有名と思います。各項の差分をとり、その二乗和かの平方根をとったものがそうです。ただ距離を取る対象によっては、ある軸方向は特定の値周辺に固まっている(分散が小さい)が、ある軸方向では広く散らばっている(分散が大きい)場合があります。そこでMahalanobis Distanceでは、各軸の分散を考慮しながら距離を計算します。意味合いとしては、正規化に近いと言えるのではないでしょうか。そのため、一見散らばったように見えるデータからも、その中で特に分散が大きいものだけ外れ値として検出することが出来ます。詳細は[4][5]が詳しいです。

マルコフブランケット(Markov Blanket)

下記のP.30がわかりやすい。

www.slideshare.net

グラフィカルモデルでシステムをモデル化した時、注目変数について確率を求めたい時、考慮すべきはその変数と繋がっているノード(関係する変数)のみでよい、という概念。ただし有向グラフにおいては、その関係性によって直接的に繋がっていない変数も考慮する必要がある。つまりHead-to-Headの場合、注目変数が子ノードであれば親ノードは勿論、それに加えて親を共有する子ノードも同時に考慮する必要が出てくる(相手の子ノードが注目ノードに従属するため)。

Visual Inertial Odometry(VIO)

Visual informationとInatial sensor(加速度センサやホイールエンコーダ)両方の情報を統合して求めるOdometry。[1]によると、両社のcouplingの程度によりloosely-coupledなシステムとtightly-coupledなシステムに分けられる。前者の代表はPTAMとDSO、後者の代表は[4],[5]だそうだ。後者は名前が付いていないことから、あまりメジャーではないように思える。