YOLOシリーズの読書ノート(V1〜V3)

yolov1

確率的モデリングモデル出力

最初の画像は、S * Sグリッド(グリッドセル)に分割されています。中央のバウンディングボックスがグリッドに該当する場合、グリッドは、オブジェクトを検出するための責任があります。(パスカルデータセットについては、7でS)

信頼スコアバウンディングボックス各グリッドと予測Bは、信頼度をPR(オブジェクト)* IOUとして定義されます。グリッド内のオブジェクトがない場合、それはスコアべきでゼロであることが望まれる、さもなければスコアはIOUに等しい(グリッドがターゲット中心を含有しない、すなわち場合、PR(オブジェクト)は0、または= = 1)。スコアは自信の度合いを反映し、ここでの自信は、ボックスは、実際に彼らはボックス(すなわち秒)を考えるターゲット(すなわち、第一項)とモデルの精度を予測するモデルが含まれているかどうかを指します。

各バウンディングボックスは、5つの予測値、それぞれ、X、Y、W、H、およびスコアを含んでいます。中心に対して(X、Y)座標が境界ボックス(?)メッシュ、(W、H)画像全体に対して。IOUは、予測と実際の値の代わりに、スコアをボックス。(IOU直接XYWHことによってそれを計算していません?)

各セルCはまた、確率カテゴリ、すなわち、予測された
[開始\ \ {式} \ operatorname {PRは} \左(\テキスト{クラス} _ {I} | \テキスト{オブジェクト} \右)\端{式} \]
条件付き確率の式がある:
\ [\ OperatorName {Prを} \左(\テキスト{クラス} _ {I} \テキスト{|オブジェクト} \右)* \ OperatorName {Prを}(\テキスト{オブジェクト}) * \テキスト{IOU} ^ { _ {predは} = \ operatorname {Prを} \左真実}(\テキスト{クラス} _ {I} \右)* \テキスト{IOU} ^ {真実} _ {predは} \
オリジナルテキスト、PASCAL VOCのデータ・セット、クラスオブジェクト20(C = 20)、S = 7を用いて、B = 2、最終的な予測

\ [S \回S \回
(B * 5 + C)\] 、7×7の格子であり、Bの各グリッドバウンディングボックス予測、各バウンディングボックスはXYWHとスコアそれぞれ、5つの予測値を有し、そして、20のカテゴリの確率値。

ネットワークアーキテクチャ

分類のためのgoogleNetの絵基づき、一定の調整があります。2つのネットワークモデル、正常(ヨロ)と小さい(速いYOLO)、完全に層接続通常24 + 2畳み込み層、小さな層の9つの畳み込み、少ないフィルタ。使用後ドロップアウト(0.5)が完全に接続された第一の層。

トレーニング

事前に訓練された分類器imagenet、でも平均セルと完全に接続された層の背後にあるトレーニングの前に畳み込み層20、。224 * 224の使用中に事前研修を入力、正式なトレーニング2倍の長さと幅の拡大です。幾何学的なデータ拡張を使用してください。

XYWH出力0-1に正規化されます。リーキーreluを使用してアクティベーション機能。

各グリッドは2 BBOXが、実際の訓練だけ高いBBOX真の値IOUの使用を予測するが、各グリッドは、実際にのみ有効な予測トレーニングの参加という。

ロス:使用和二乗誤差。(実際には、分散、標準偏差あまり差が、n個のサンプルの合計数に加算されていません)

三つの部分を含み、詳細:

  1. 信頼スコア:ラベルPR(オブジェクト)* IOU、オブジェクトは、グリッドの中央、PR = 1、又はPR = 0内にある場合。
  2. XYWH:XYWHが正規化され、損失関数は、ときにのみ、グリッドの秋オブジェクトの中心に表示されます。
  3. クラス予測は:オブジェクトの中心が低下した場合、グリッドのために、対応するラベルカテゴリ1が、残りは0です。スープラは、オブジェクトの中心が、物体の存在下で、この確率の予測値、すなわち、PR(|オブジェクトclass_i)、グリッド損失関数に収まる場合にのみ起こります。

遊離標的グリッドの多数、すなわち、正および負のサンプル深刻な不均衡の問題:5に目標重量を含む重量、0.5のフリーの問題を解決します。

問題を解決するには、次の小さなオフセット誤差オフセット誤差の小さなボックスは、大きな箱よりも重要である:平方根ではなく、値そのものを予測WH。

:要約損失関数のよう
{\ [\ラムダが_ {\テキスト{コード}} \ sum_ {I = 0} ^ {S ^ {2}} \ sum_ {J = 0} ^ {B} \ mathbb _ {1} IJ} ^ {\テキスト{OBJ }} \ [左\左(X_ {I} - \帽子{X} _ {I} \右)^ {2} + \左(Y_ {I} - \帽子{Y } _ {I} \右) ^ {2} \右] \\ + \ラムダ_ {\テキスト{COORD}} \ sum_ {I = 0} ^ {S ^ {2}} \ sum_ {J = 0} ^ {B} \ mathbb {1} _ {IJ} ^ {\テキスト{OBJ}} \ [左(\ SQRT {W_ {I} - \ SQRT {\帽子{wは} _ {I}})^ {2 } +(\ SQRT {H_ { I} - \ SQRT {\帽子{H} _ {I}})^ {2} \右] \\ + \ sum_ {I = 0} ^ {S ^ {2} } \ sum_ {J = 0} ^ {B} \ mathbb {1} _ {IJ} ^ {\ mathrm {OBJ}} \左(C_ {I} - \帽子{C} _ {I} \右)^ {2} \\ + \ラムダ_ {\ mathrm {noobj}} \ sum_ {i = 0} ^ {S ^ {2}} \ sum_ {J = 0} ^ {B} \ mathbb {1} _ {IJ} ^ {\ mathrm {noobj}} \左(C_ {I} - \帽子{C} _ {I} \右)^ {2} \\ + \ sum_ {i = 0} ^ {S ^ {2}} \ mathbb {1} _ {I } ^ {\ mathrm {OBJ}} \ sum_ {C \で\テキスト{クラス}} \左(P_ {I}(C) - \ハット{P} _ {I}( C)\右)^ {2
} \] メモ、オブジェクトの1 ^ obj_i中心が代表グリッド内に収まるI、1 ^ obj_ij代表的には、j番目のオブジェクトボックスでIメッシュ予測する責任があります。そのため、損失関数は、唯一の罰は、オブジェクトを予測する責任のみ処罰のバウンディングボックスの座標をオブジェクト分類センターメッシュが含まれています。

見通し

大きなオブジェクトの場合、そこに複数のセルであると理解することができ、より正確な予測を与えることができる、大きなオブジェクトは、中心点には、いくつかのセルの近くを有していてもよいです。使用して、スクリーニング、NMS。

制限

スペースの制限:予測可能な限られた数の(98、独立したスペース)。小グループのためにパフォーマンスの低下を対象としています。貧しいプロファイルするターゲットの(アスペクト比)。問題のオブジェクトのサイズの大きさの機能の喪失。

コントラスト

yolov1アウト時間の、より高速なR-CNNが出てきましたが、それはオープンソースではないようだ(?)ではなく、速いR-CNNの精度として良いとしてこの時、元のメインコントラスト、高速R-CNN。さらなる説明も言及した変形部モデル、ディープマルチボックス、OverFeat、同様MultiGrasp。

比較の速いR-CNN、YOLO高速pascalvocデータセットが、低精度で。

YOLO PASCAL2007 + 2012 mAP63.4 FPS45は、* 448 448を入力します。

yolov2

また、yolo9000として知られている9000クラスは標的を同定するために実施することができるとしても知られています。速いR-CNNとSSD resnetに基づいて、より速くを超えベースYOLO改善。あなたは、対象カテゴリのラベルを予測することはできません。

新しいトレーニング方法は、検出および分類データセットのデータセットを使用して同時に実施することができます。

改善します

BNの導入

高解像度に基づいて改善された前のトレーニング方法

利点:アンカーボックスの紹介予測補償(Qoffsets)の代わりに、座標の自分を、ネットワークを学ぶことは簡単です。FCは古い層、予測ancorボックスを削除します。

手動異なりR-CNN本明細書で使用される、アンカーボックスの数と大きさを選択し、:アンカー次元クラスタリングk-meansクラスタリングアプリオリ情報ボックスの寸法を計算します。K-手段がアンカーとして、すなわち寸法K算出ボックスの寸法を用いてクラスタリングすべてのボックスのためのトレーニングセット。計算の全体的な性能と速度は、Kを服用することは5に等しいです。

K-手段IOU標準式のように算出した距離。以下の式である:
\ [D(\ボックス{テキスト} \重心{テキスト})= 1- \ OperatorName IOU} {(\ {テキストボックス、重心})\]

注:この時点では唯一のIOUの形状を考慮して計算され、位置が考慮されていません。

予測位置:モデル収束、セルに対する予測オフセット値、範囲内に予測値秋の座標0-1(シグモイド活性化関数を使用して)ため、それを容易にします。

図ピクセル内の各機能の5 BBOX予測モデルは、各バウンディングボックスは5つの値を予測しました。
\ [\開始{整列} B_ {X}&= \シグマ\左(T_ {X} \右)+ C_ {X} \\ B_ {Y}&= \シグマ\左(T_ {Y} \右) + C_ {Y} \\ B_ { W}&= P_ {W}、E ^ {T_ {W}} \\ B_ {H}&= P_ {H} E ^ {T_ {H}} \端{整列} \\\ operatorname {Prを}(\テキスト {オブジェクト})* IOU(B、\テキスト{オブジェクト})= \シグマ\左(T_ {O} \右)\]

注:この予測は、まだグリッドに相対的です。入力の416×416は、図32×32の各画像特徴ピクセルに対応する、すなわち、グラフ13×13に、すなわちAグリッドを特徴とします。各セルは、特徴マップ上の画素に対応するので、予測範囲の座標は、したがって0-1の間にすべきです。

ファイングレインの特徴:図13 * 13の特徴でYOLO予測。パススルー層の前に26 * 26の層をもたらすに機能を追加しました。(?)不思議なことで26×26×512図の13×13×2048調節特性、及び、元の特性図で連結するために調整されます。

マルチスケールトレーニング:モデルは唯一の畳み込みを使用し、層をプールし、入力スケールとは無関係。マルチスケール入力を適応させるためにモデルをトレーニング。ランダム入力スケールごとに10ロット:{320352、...、608}。

パフォーマンス:YOLOv2 416×416 2007 + 2012 mAP76.8 FPS67

特徴抽出:ほとんどの検出システムVGG16に基づいていますが、このようなものは非常に重いです。この論文では、基地Yolov2としてダークネット-19分類モデル。

出力:ファーストクラス分類トレーニング224 1000 * 224の解像度、および448ファインチューンの解像度。次に、畳み込みオーバーフロー最後層、1024のフィルタ新しい畳み込み層を追加し、各々が* 1畳み込み続いて、層の数は、出力緯度によって決定されます。、信頼度、カテゴリ20の確率を座標値データのVOCセットは、アンカー5を予測するためにそれぞれ4つのアンカーに対応し、5の出力×(1 + 4 + 20)125、チャネル層を=。

トレーニング

認識訓練および試験混合物:混合両方のデータ、検出枠の画像タグは、完全な損失計算とバックプロパゲーションが存在する場合であれば、ピクチャタイプ情報のみが、唯一逆伝搬損失に応じて分類されます。

質問:すべてのカテゴリの数学的な分類ソフトマックス損失を使用しての前提は排他的であり、問​​題は、一般的に、データ・セット・ラベルが破壊され分類されているなど、の排他的ではありません。この問題に対処するために、著者は各レベル(相互に排他的)のために、階層的なカテゴリタグツリー(wordTree)を設立ソフトマックス分類しました。予測確率は、条件付き確率の公式を用いて、オブジェクト1の画像のそれぞれを想定する確率。

検出時に、各​​ボックスは(カテゴリツリーに対応する)確率ツリーを予測する、上部は、絶対最大確率分岐まで切り捨てこのカテゴリー特定の閾値、すなわち予測に達します。

試験結果は、この方法は、検出一般の特定のタイプのトレーニング・クラスの訓練場所のモデルだけでなくなることを示しています。

損失関数

常に不足している何かを感じたの論文を読んだ後、機能の損失はないと判明、テキストのこの部分には言及しませんでした。全体的に、損失関数は、上記のキーポイントのほとんどが含まれ、慎重に分析する必要があります。
\ [\ {整列}開始\ operatorname {損失} _ {T} = \ sum_ {i = 0} ^ {W} \ sum_ {J = 0} ^ {H} \ sum_ {k = 0} ^ {A} 1 _ {\テキスト{最大} IOU <THRESH} \ラムダ_ {\テキスト{noobj}} * \左(-b_ {IJK} ^ {O} \右)^ {2} \\ + 1_ {T <12800} \ ラムダ_ {\テキスト{前} } * \ sum_ {R \イプシロン(X、Y、W、H)} \左(\テキスト{前} _ {K} ^ {R} -b_ {IJK} ^ {R} \右)^ {2} \\ + 1_ {K} ^ {\テキスト{真実}} \左(\ラムダ_ {\テキスト{コード}} * \ sum_ {R \イプシロン(X、Y、W、H) } \左(真実^ {R } -b_ {IJK} ^ {R} \右)^ {2} \右。\\ + \ lambda_ {OBJ} * \左(\ operatorname {IOU} _ {\テキスト{ 真実}} ^ {K} -b_ {IJK} ^ {O} \右)^ {2} \\\左。+ \ラムダ_ {\テキスト{クラス}} * \左(\ sum_ {C = 1} ^ C} {\左(\ OperatorName真実} ^ {C} {-b_ {IJK} ^ {C} \右)^ {2} \右)\右)\整列終了{} \]
WがHであり、そして前記最終用(13×13)の図の解像度、撮影した元5のアンカーあたりのメッシュ数(図特徴画素)です。λは重量です。BOは、カテゴリ確率のためのBCボックスの信頼スコア、BRの座標とサイズです。

横断図のアンカーのすべての機能:

最初:アンカーが少ない閾値および全て真IOUの最大値(元の閾値は0.6である)を超える場合、これは計算され、無対象の損失として算出されます。この時点で、より大きなは、信頼水準を大きくすることによって損失を与えられ、すなわち、信頼及びL2 0の計算。

第二:だけ早くトレーニングで計算される(訓練サンプル数が少ない12800以上となっています)。真理値は、中心点に対応する計算されたグリッド内ではなく、閾値IOUアンカー、ボックス間のギャップの前に算出した予測値よりも大きいです。そのネットワークは、このような場合は、任意の予測を行うことを望んでいません。

第三:真の値は、対応する中心ボックスグリッド内に入るIOUが閾値未満最初のカウント、または単に無視されていない限り、前のアンカーは、アンカーの残り計算することをIOUに一致のみ最大(この同様のyolov1)。真値ボックス損失、信頼の喪失(確率式yolov1の条件下、及び信頼度算出L2用IOU)、及び損失確率のタイプを計算します。

yolov3

改善します

まず、IOU閾値は0.5に変更されます。

カテゴリー:マルチラベル分類、削除ソフトマックス、著者はこのようなものは、パフォーマンスを向上させる必要はないことがわかったので。その代わりに、独立したロジスティックclassi FiのERS(ロジスティック回帰)、クロストレーニングの使用は、バイナリエントロピー損失を使用。

マルチスケール機能:三つの異なる尺度(類似したFPN)を使用します。出力はまだBBOX、信頼、確率のカテゴリが含まれています。次元N×N×[A *(4 + 1 + C)]の出力は、Nは、図の辺の長さを特徴としている、Aは、元のデータの箱当たりの点の数は、COCOにボックスの3,4- 4つの座標を取っ設定されています1は、信頼水準で、Cは、カテゴリ確率ベクトルです。オリジナルフレームの最後の層を除いて、二人は2倍を使用する前にサンプリングされ、より前同時にきめ細かいと有意義な意味情報を取得するために、前記図と融合します。

まだk-meansクラスタリングを使用しますが、このテイク9 K:プリオリは、アンカーのスケールをクラスタリング。さらに、スケールの結果によれば、3つのスケールが割り当てられ、図の特性を、図を割り当てられた各機能は、3つの次元を固定します。詳細分布小さなアンカーの実質的により高い解像度受容野分布特性図、低解像度では、このretinanetと一致していることの結果から、図中の大きな受容野分布アンカーを備えています。

更新バックボーンネットワーク:darknet19からdarknet53への更新。

パフォーマンス:ビューのマップの観点から、yolov3は良いretinanetよりも、しかし、1つ、このようなものがretinanetの約3倍の計算速度のあることを1があります。

特徴:yolov3は小さな目標検出の前の2つの世代に比べて飛躍的に増加したが、中規模および大規模な目標のためディアン違いました。

著者はYOLO自体条件付き確率は信頼に基づいて予測、及び陰性試料の不均衡の故に多数背景の欠如に起因するためであってもよいと信じ;焦点損失座標予測、予測の直接線形補償:著者のアイデアを試みたが失敗しました;二重のしきい値:0.3未満では、負のサンプル(バックグラウンド)であると考えられているより速いR-CNNを0.7よりもIOUの大きい中、正のサンプルとみなされ、残りは無視され、YOLOにそうすることで良い結果を得ることはありません。

損失関数

同じ説明は、特定の式の損失関数を言及していないが、上記から見ることは困難ではない、主にクロスエントロピー損失ロジスティック回帰および分類を用いて、損失関数におけるYolov3 yolov2相対的変化。次のようにソースによれば、式は次のようになります。

\ [\開始{アレイ} {1} {\テキスト{損失(オブジェクト)} = \ラムダ_ {\テキスト{COORD}} \ sum_ {iが0} ^ {K \回= K} \ sum_ {J = 0} ^ {M} I_ {IJ} ^ {OBJ} \左\ [左(X_ {I} - \帽子{X} _ {I} \右)^ {2} + \左(Y_ {I} - \帽子{Y} _ {I} \右)^ {2} \右] +} \\ {\クワッド\ラムダ_ {\テキスト{COORD}} \ sum_ {I = 0} ^ {K \回K} \ sum_ { J = 0} ^ {M} I_ {J} ^ {OBJ} \左(2-W_ {I} \回H_ {I} \右)\ [左\左(W_ {I} - \帽子{W} _ {I} {2} ^)\右+ \左(H_ {I} - \帽子{H} _ {I} \右)] ^ {2} \右 - } \\ {\ sum_ {iが0 = } ^ {K \回K} \ sum_ {J = 0} ^ {M} I_ {IJ} ^ {OBJ} \ [\帽子{C} _ {I} \ログ\左(C_ {I} \右を左)+ \左(1- \ハット{C} _ {I} \右)\ログ\左(1-C_ {I} \右)\右] - } \\ {\カッド\カッド\ラムダ_ {\テキスト{noobj}} \ sum_ {i = 0} ^ {K \回K} \ sum_ {J = 0} ^ {M} I_ {IJ} ^ {\テキスト{noobj}} \左[\帽子{C} _ {I} \ログ\左(C_ {I} \右)+ \左(1- \ハット{C} _ {I} \右)左\ログ\(1-C_ {I} \右)\右] } \\ {\ sum_ {i = 0} ^ {K \回K} I_ {IJ} ^ {OBJ} \ sum_ {C \ \テキスト{クラスで}} \ [左\帽子{P} _ {I}(C)\ログ\左(P_ {I}(C)\右)+ \左(1- \ハット{P} _ {I}(C) \右)\ログ\左(1-P_ {I}(C)\右)\右]} \端{アレイ} \]
非OBJ場合についてのみ計算さ信頼レベルは、信頼交差エントロピー損失関数を用いて前L2、異なっています。OBJ有する場合と同様に、信頼確率は、クロスエントロピーを用いて分類されます。前原則としてOBJの有無を判定するための、唯一の閾値は0.5に変更されます。同様に、すなわち、アンカーに一つだけのアンカーは、各グリッドで最高IOU真の値が与えられ、残りは計算に参加しません。

おすすめ

転載: www.cnblogs.com/ramyc/p/11858150.html