【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matchingharmonylab
公開URL:https://arxiv.org/pdf/2404.19174
出典:Guilherme Potje, Felipe Cadar, Andre Araujo, Renato Martins, Erickson R. ascimento: XFeat: Accelerated Features for Lightweight Image Matching, Proceedings of the 2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (2023)
概要:リソース効率に優れた特徴点マッチングのための軽量なアーキテクチャ「XFeat(Accelerated Features)」を提案します。手法は、局所的な特徴点の検出、抽出、マッチングのための畳み込みニューラルネットワークの基本的な設計を再検討します。特に、リソースが限られたデバイス向けに迅速かつ堅牢なアルゴリズムが必要とされるため、解像度を可能な限り高く保ちながら、ネットワークのチャネル数を制限します。さらに、スパース下でのマッチングを選択できる設計となっており、ナビゲーションやARなどのアプリケーションに適しています。XFeatは、高速かつ同等以上の精度を実現し、一般的なラップトップのCPU上でリアルタイムで動作します。
セル生産方式におけるロボットの活用には様々な問題があるが,その一つとして 3 体以上の物体の組み立てが挙げられる.一般に,複数物体を同時に組み立てる際は,対象の部品をそれぞれロボットアームまたは治具でそれぞれ独立に保持することで組み立てを遂行すると考えられる.ただし,この方法ではロボットアームや治具を部品数と同じ数だけ必要とし,部品数が多いほどコスト面や設置スペースの関係で無駄が多くなる.この課題に対して音𣷓らは組み立て対象物に働く接触力等の解析により,治具等で固定されていない対象物が組み立て作業中に運動しにくい状態となる条件を求めた.すなわち,環境中の非把持対象物のロバスト性を考慮して,組み立て作業条件を検討している.本研究ではこの方策に基づいて,複数物体の組み立て作業を単腕マニピュレータで実行することを目的とする.このとき,対象物のロバスト性を考慮することで,仮組状態の複数物体を同時に扱う手法を提案する.作業対象としてパイプジョイントの組み立てを挙げ,簡易な道具を用いることで単腕マニピュレータで複数物体を同時に把持できることを示す.さらに,作業成功率の向上のために RGB-D カメラを用いた物体の位置検出に基づくロボット制御及び動作計画を実装する.
This paper discusses assembly operations using a single manipulator and a parallel gripper to simultaneously
grasp multiple objects and hold the group of temporarily assembled objects. Multiple robots and jigs generally operate
assembly tasks by constraining the target objects mechanically or geometrically to prevent them from moving. It is
necessary to analyze the physical interaction between the objects for such constraints to achieve the tasks with a single
gripper. In this paper, we focus on assembling pipe joints as an example and discuss constraining the motion of the
objects. Our demonstration shows that a simple tool can facilitate holding multiple objects with a single gripper.
7. 線形関係の特徴
線形:直線上に並ぶ 重心を取る 重心と原点を重ねる
y y y
x 0
x
x
0 x 0 x
POINT: 重心は必ず直線上の点になる
7
8. 線形関係の特徴
重心と原点が重なる
・平行移動後の集合を(x , y )とする
ように平行移動
・x = (x1 , x2 , ... xn ), y = (y1 , y2 , ... yn )
y y = ax →y = ax の関係が成り立つ
0 ・最重要ポイント
x
x x , y をn次元空間の1点と捉える
・x , y の二つのベクトルの向きが等しい(a > 0)
8
9. ベクトルとcosθ
y y = ax
0
・線形の関係
x ・ベクトルx , y は4次元上で同一の方向を指す
x
・x , y で作る角度が0→cosθの値は1
y y = ax
・線形に近い関係
0
x
x
・ベクトルx , y は4次元上で似た方向を指す
・x , y で作る角度が小さい→cosθの値は1に近い
y y = ax
・線形から遠い関係
0
x
x
・ベクトルx , y は4次元上で違った方向を指す
・x , y で作る角度が大きい→cosθの値は0に近い
4点(4次元)は想像しにくいので、具体的な3点で確認してみて下さい
9
12. cosθの導出
初期状態 (回帰直線と)重心を求める 重心を原点へ平行移動
y y y
x
0
x
0 x 0 x x
POINT: 重心は必ず回帰直線上の点になる*
* 回帰直線:最小二乗法より求められる直線。重心が回帰直線上に存在することを確認するには少々の計算が必要(末尾のおまけを参照の事)。
12
13. cosθの導出
・初期状態の集合を(x, y)とする
・平行移動後の集合を(x , y )とする
y ・x = (x1 , x2 , ... xn ), y = (y1 , y2 , ... yn )
0 内積を考える
x
x
x ・y = ¦x ¦¦y ¦cosθ
ここで平行移動した距離は原点と重心間の距離に
n
x = n i=1 xi
¯ 1
等しく、 のように表される(yも同様)。
cosθについて解くと、下記を得る(p.3のRと同じ式)。
n
i=1 (xi x)(yi
¯ y)
¯
cos = n n
i=1 (xi x)2
¯ i=1 (yi y )2
¯
13
14. ここまでのまとめ
1. 集合 x, yの相関係数を求めたい
2. 集合の重心を原点に合わせるように平行移動
3. 平行移動後の集合 x , y をn次元の1点と捉える
4. ベクトルx , y から得られるcosθが求める相関係数
・相関係数の解釈の仕方
どれだけ点(集合)が直線に沿って分布しているか
↓
どれだけベクトル(平行移動後の集合)が同じ方向を向いているか
y y y
x
0
x
0 x 0 x x
14
17. 残された疑問
・なぜ、回帰直線を利用するのか
・本当に、回帰直線上に集合の重心が位置するのか
・回帰直線とcosθの関係はどうなっているのか
・p.12 cosθの導出より
初期状態 (回帰直線と)重心を求める 重心を原点へ平行移動
y y y
x
0
x
0 x 0 x x
POINT: 重心は必ず回帰直線上の点になる
17
19. 回帰直線と重心
f (x) = ax + b
求める直線を とおき、最小二乗法により求める。
n
J J
J= (yi f (x)) が最小の時、 が成り立つ。
2
=0 =0
i=1
a b
n
J
=2 xi (axi + b yi )2 = 0
a i=1
n
J n
=2 (axi + b yi ) = 0
2
=
以後、 とする。
b i=1 i=1
a x2 + b
i xi xi yi = 0
a xi + nb yi = 0
n n
x = n i=1 xi y = n i=1 yi
¯ 1 ¯ 1
ここで、 とおくと、
xi yi x2
=a i
+ b¯
x
n n
- (1) y = a¯ + b
¯ (¯, y )
x ¯
(1)式、 より重心 は
x
y = a¯ + b
¯ x 回帰直線上に存在することがわかる
19
20. 回帰直線とcosθ
続いて、回帰直線を求める。(1)より b を消去すると、
xi yi x2
xy = a(
¯¯ i
x2 )
¯ - (2)
n n
ここで、(2)式の右辺、左辺を整理する。
n
x2 x2 xi ¯
x2
i
x2 =
¯ i
2¯
x + =n
(αが定数の時 が成り立つ)
n n n n i=1
= (x2
i 2xi x + x2 )
¯ ¯
n
= (xi x)2
¯ - (2a)
n
xi yi xi yi
xy =
¯¯ xy + y x + xy
¯ ¯ ¯¯ ¯ ¯
n n
xi yi ¯
xi y yi x + n¯y
¯ x¯
= +
n n
= (xi yi ¯
xi y yi x + xy )
¯ ¯¯
n
= (xi x)(yi
¯ y)
¯ - (2b)
n
20
21. 回帰直線とcosθ
(2a), (2b)式を(2)に代入してaを得る。
(xi x)(yi y )
¯ ¯
a=
(xi x)2
¯
(1)式に代入し、bを得る。
b=y
¯ a¯
x
(xi x)(yi y )
¯ ¯
=y
¯ ¯
x
(xi x)
¯ 2
a, bより回帰直線が下記の様に求まる。
(xi x)(yi y )
¯ ¯ (xi x)(yi y )
¯ ¯
y= x+y
¯ ¯
x - (3)
(xi x)
¯ 2 (xi x)
¯ 2
y y
回帰直線
x 重心 y )
(¯, ¯
x
0 x 0 x
21