境界ボックス回帰

境界ボックス回帰


このブログは、実際には CSDN によって書かれた別のブログを参照しています。これはリンクですしかし、そのブログはレイアウトや言語表現が非常に悪く、数式の間違いも多く、理解するのに非常に時間がかかりました。参考までに私が考えた結果を記録しました。

1. バウンディングボックス回帰の概要

次に、境界ボックス回帰で行う必要があるのは、候補ターゲット ボックス (領域提案) P = (P x, P y, P w, P h) P=\left(P_{x}, P_{y }、P_{w}、P_{h}\右)P=( P×PはいPP)は実際のターゲット ボックス (ground-truth) に限りなく近いです。上記の原理は、次のように数学記号を使用して表現されます。候補となるターゲット ボックスのセットが与えられた場合、マッピングfff,得f ( P x , P y , P w , P h ) = ( G ^ x , G ^ y , G ^ w , G ^ h ) ≈ ( G x , G y , G w , G h ) f (P_{x}, P_{y}, P_{w}, P_{h})=(\hat{G}_{x}, \hat{G}_{y}, \hat{G}_{ w}, \hat{G}_{h}) \estimate\left(G_{x}, G_{y}, G_{w}, G_{h}\right)f ( P×PはいPP)=(G^×G^はいG^G^)( G×GはいGG)。その中( G x , G y , G w , G h ) \left(G_{x}, G_{y}, G_{w}, G_{h}\right)( G×GはいGG)は実数値を表します( G ^ x , G ^ y , G ^ w , G ^ h ) (\hat{G}_{x}, \hat{G}_{y}, \hat{G}_ { w}、\hat{G}_{h})(G^×G^はいG^G^)は予測値を表します。

ここに画像の説明を挿入します

図 1境界ボックス回帰プロセス

バウンディング ボックス回帰プロセス図 1 に示します。図 1では、赤いボックスは候補ターゲット フレームを表し、のボックスは実際のターゲット フレームを表し、青のフレームはバウンディング ボックス回帰アルゴリズムによって予測されたターゲット フレームを表します。赤い円は候補ターゲット フレームの中心点を表し、緑の円は実際のターゲット フレームの中心点を表し、青の円はバウンディング ボックス回帰アルゴリズムによって予測されたターゲット フレームの中心点を表します。


2. 境界ボックス回帰の詳細

RCNN の論文は、バウンディング ボックス回帰では、マッピングを実現するために変換変換とスケール変換を使用することを指摘しています。平行移動変換の計算式は次のとおりです。
{ G ^ x = P wdx ( P ) + P x G ^ y = P hdy ( P ) + P y (1) \left\{\begin{array}{l} \hat{ G}_{x}=P_{w} d_{x}(P)+P_{x} \\ \hat{G}_{y}=P_{h} d_{y}(P)+ P_{y } \end{array}\right.\tag1{ G^×=Pd×( P )+P×G^はい=Pdはい( P )+Pはい( 1 )

スケール変換の計算式は以下のとおりです。

{ G ^ w = P w exp ⁡ ( dw ( P ) ) G ^ h = P h exp ⁡ ( dw ( P ) ) (2) \left\{\begin{array}{l} \hat{G}_ {w}=P_{w} \exp \left(d_{w}(P)\right) \\ \hat{G}_{h}=P_{h} \exp \left(d_{w}(P )\right) \end{配列}\right.\tag2{ G^=P経験値( d( P ) )G^=P経験値( d( P ) )( 2 )
ここでd ⋆ ( P ) d_{\star}(P)d( P )⋆ \star代表 x , y , w , h x,y,w,h × h )、プール 5 \text{pool}_5に基づいていますプール54 つの一次関数の関数。ここで、特徴をϕ 5 ( P ) \phi_{5}(P)と表します。ϕ5( P )の場合、d ⋆ ( P ) = w ⋆ T ϕ 5 ( P ) d_\star(P)=w_{\star}^T\phi_5(P)d( P )=wTϕ5( P )したがって、最小二乗法または勾配降下法アルゴリズムを使用して解くことができます。RCNN 論文で示されている解の式は次のとおりです:
w ∗ = arg ⁡ min ⁡ w ^ ⋆ ∑ N ( t ∗ i − w ^ ∗ T ϕ 5 ( P i ) ) 2 + λ ∥ w ^ ∗ ∥ 2 (3) w_{*}=\underset{\hat{w}_\star}{\arg \min } \sum^{N}\left(t_{ *}^{i}-\hat{w}_{*}^{T} \phi_{5}\left(P^{i}\right)\right)^{2}+\lambda\left\| \hat{w}_{*}\right\|^{2}\tag3w=w^arg _N( t私はw^Tϕ5( P2+w^2( 3 )
以下:
{ tx = G x − P x P wty = G y − P y P htw = log ⁡ G w P wth = log ⁡ G h P h (4) \left\{\begin{aligned} t_ {x} & =\frac{G_{x}-P_{x}}{P_{w}} \\ t_{y} & =\frac{G_{y}-P_{y}}{P_{h} } \\ t_{w} & =\log \frac{G_{w}}{P_{w}} \\ t_{h} & =\log \frac{G_{h}}{P_{h}} \終了{整列}\right.\tag4 t×tはいtt=PG×P×=PGはいPはい=ログ_PG=ログ_PG( 4 )
tx t_{x}t×ty t_{y}tはい中心点の並進移動ですtw t_{w}tth t_{h}tスケーリング量です。

上記のモデルはリッジ回帰モデルであることがわかります。RCNN では、バウンディング ボックス回帰では、wx、wy、ww、wh w_x、w_y、w_w、w_h をそれぞれ解くために 4 つの異なるリッジ回帰モデルを設計する必要があります。w×wはいww

回帰モデルへの入力は何ですか? is (P x , P y , P w , P h ) (P_{x}, P_{y}, P_{w}, P_{h})( P×PはいPP)この 4 次元テンソル?

実際の入力は、このウィンドウに対応する CNN 特徴であり、 R-CNN のプール 5 \text{pool}_5です。プール5(特徴ベクトル)。Ground Truthの座標データはトレーニング フェーズでも使用されます(式(4) (4))。( 4 )言及t ⋆ t_\start


3. 関連する問題について考える

1. なぜ相対座標の差を使用するのでしょうか?

式(4)において(4)( 4 )では、実際のフレームの中心座標と候補フレームの中心座標の差をそれぞれ幅と高さで割る必要があるのはなぜでしょうか。

ここに画像の説明を挿入します

図 2さまざまなサイズの画像

以下の説明では、境界ボックス回帰では絶対座標が使用されると仮定します。

まず、サイズは異なるが内容が同じ 2 つの画像図 2 を参照)。CNN によって抽出された特徴がϕ 1 \phi_1であると仮定します。ϕ1ϕ 2 \phi_2ϕ2同時に、xi x_iと仮定します。バツ私は为第 i i xx / iの実際のターゲット ボックスx座標、pi p_ip私は为第 i i xx / i個のターゲット ボックス候補x座標、境界ボックス回帰xxx座標gx g_xg×{ gx ( ϕ 1 ) = x 1 − p 1 gx ( ϕ 2 ) = x 2 − p 2 (5) \left\{\begin {
array}{l} g_x\left(\phi_ { 1}\right)=x_{1}-p_{1} \\ g_x\left(\phi_{2}\right)=x_{2}-p_{2} \end{array}\right.\tag5{ g×( ϕ1)=バツ1p1g×( ϕ2)=バツ2p2( 5 )
理論的には、CNN によって得られる特徴はϕ 1 \phi_1 です。ϕ1ϕ 2 \phi_2ϕ2が類似している場合、線形関数マッピングの結果も近いはずです。しかし明らかにx 1 − p 1 ≠ x 2 − p 2 x_{1}-p_{1} \neq x_{2}-p_{2}バツ1p1=バツ2p2サイズの変化により、候補ターゲット フレームと実際のターゲット フレームの座標間のオフセットもサイズに比例して変化します。つまり、この値は一定ではありません。ただし、正規化されたスケール値はほぼ同じであると考えることができます。

CNN にスケール不変性があるかどうかについては、この論文で「20 年間の物体検出: 調査」で説明されています。

したがって、私たちはx座標をターゲット ボックス候補の幅yyオフセットy座標のオフセットをこの方法によってのみ、候補ターゲットフレームと実際のターゲットフレームとの間の座標オフセット値の相対値を取得することができる。同時に、相対オフセットを使用する利点は、入力イメージのサイズを自由に選択できるため、モデルが柔軟になることです。つまり、座標オフセットを幅と高さで除算することでスケールが正規化されます。つまり、大きいターゲット フレームの座標オフセットが大きくなり、小さいターゲット フレームの座標オフセットが小さくなります。


2. アスペクト比はなぜ対数でなければならないのですか?

質問 1 と同様に、なぜ「不必要なステップ」で対数を取得するのではなく、幅と高さの比率を学習のターゲットとして直接使用しないのかと疑問に思わずにはいられません。

幅と高さの倍数は 0 より大きくなければならないため、線形関数の出力は実数になります。そのため、指数関数の形式、または逆に対数の形式でなければなりません。


3. IoU が大きい場合、バウンディング ボックス回帰が線形変換とみなせるのはなぜですか?

「正確なオブジェクト検出とセマンティック セグメンテーションのための豊富な機能階層」の記事では、IoUが0.6 0.6より大きくなければならないと述べられていました。線形回帰は0.6の場合にのみ使用できます。それ以外の場合、境界ボックス回帰は複雑な非線形問題になります。


Zhihu に関する以前のブログでは、この問題について説明しようとしました。リンクはここにあります
ここに画像の説明を挿入します

しかし、G w ≈ P w G_{w} \およそ P_{w}の場合、それは無理があると思います。GPG h ≈ P h G_{h} \およそ P_{h}GP時間、式(4) (4)( 4 )の最後の 2 項は、確かに、ある種の線形変換とみなすことができます。ただし、回帰の入力量は(P x, P y, P w, P h) (P_{x}, P_{y}, P_{w}, P_{h}) であることを理解する必要があります。( P×PはいPP) 4 次元テンソル(P x、P y、P w、P h) ではなく CNN 特徴に対応するウィンドウ (P_{x}、P_{y}、P_{w}、P_{h})( P×PはいPPしたがって、元の境界ボックスの座標とグラウンドトゥルースは無意味です

おすすめ

転載: blog.csdn.net/m0_51143578/article/details/128757189