gggggraziegrazie

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

さまざまな距離

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]だそうだ。後者は名前が付いていないことから、あまりメジャーではないように思える。

相互相関関数

もしも2つの信号が同じ周期であれば、合成信号は2つの信号が強め合ってできたものになる。そのため相関関数をグラフ化すると、元の信号と同様の周期で極大・極小が現れる。ただし、観測方法・タイミングの問題等で、それぞれの信号が何の補正もなしにぴったり重なることは少ない。そのため、信号を正規化したり、生値ではなく偏差で表したり、時間方向に調整したりする必要がある。

{ \phi_{xy} = \frac{f_1^*(t)f_2(t+T)}{N} }
{*}複素共役を表す。信号が実装であれば無関係。Tは時間方向のオフセット値。

このオフセットを変えながら相互相関の値を求めることで、どのオフセットが最適か(どれだけの時間方向のずれがあるか)を調べることも可能。

なお、{f_1とf_2}が同じ事象(同一ではないものの、同じ対象から測定した)の場合、自己相関と呼ぶ。

Ubuntu16.04にnVidia製グラフィックカードのドライバをインストールする方法

nVidiaグラフィックカードのドライバをインストール必要があり、[1]の手法を試したのですが上手く行きませんでした。ただし、この時のインストールは新規ではありませんでした。インストールしたノートPCには一度インストールしたことがあり、なぜだか忘れたけど一度アンインストールした状態でした。そこで[2]を参考にして、nvidia-*とcuda*をremoveしたところ、上手くインストールできました。なお私がインストールしたのはnvidia-410です。

Ubuntuのバージョンには依存せずに浸かる手法と思いますので、ご参考になりましたら幸いです。

私の環境

*これは[3]を元にグラフィックカードのIDを調べ、[4]でIDから型番を引きました。

Active Vision

普通カメラは固定であり、そのためオクルージョンへの対処、パノラマ画像作成などが出来ない。そこでカメラを動かす、または複数枚の画像を使うことで、固定カメラ単体では解決できない問題に対処しようというのがActive Visionと呼ばれる分野。

ロボット系国際学会について調べてみた

ランクについては、Conference Ranksというwebサイトを使用して調査を行った。なおランキングの表記については、 サイトで使用している右記を用いる:B5 < ... < B1 < A2 < A1。


\begin{array}{c|c|c}
\hline
Name & Organization & Ranking & Note \\ \hline
ICRA & IEEE &A1 & \\
IROS & IEEE/RSJ &A1 & \\
ISR & IFR & A & 2年に1度開催\\
FSR & 不明 & A & 2年に1度開催 \\
RSS & Springer &A2 & 知り合いの先生に聞くとこれが最高峰と仰っていたけども?\\
CASE & IEEE & B1 & \\
RO-MAN & IEEE & B1 & \\
ROBIO & IEEE &B1 & \\
ICAR & IEEE & B2 & \\
Humanoids & IEEE &B2 & \\
SII & IEEE/SICE & 不明 & \\  \hline
\end{array}
\
調査日:2019年3月1日。ランキングは変動がありえるので、上記は参考程度にご覧ください。また閲覧するサイトにより変動もありえます。そのため、最終的にはご自身で責任をもって調べるようお願いいたします。