トレーニングにまつわるあれこれを掲載しているブログではありますが,都合によりこのような記事を掲載いたします.
現在一般社団法人ディープラーニング協会のE資格を取得するため,ラビットチャレンジなるプログラムを受講しています.本プログラムにおいてレポート公開が必須になっていることから,こちらのブログにてレポートします.
物体検知とSemantic Segmentation
概要
画像の中で位置と大きさ,クラスと推定するのが物体検知.ピクセル単位でクラス分類をするのが Semantic Segmentation.U-Netは経験があるのでそれなりに馴染みがある.
データセット
画像認識モデルの性能を検証するために,MINISTやImageNet,CIFAR-10などを利用するが,物体検知やSemantic Segmentationでもデータセットが存在する.
具体的にはVOC12,ILSVRC17,MS COCO18,OICOD18など.
評価指標
分類問題ではconfusion matrixから評価指標を算出するのが一般的. 物体検出の場合,threshholdの変化に対する振る舞いは以下のようになる.
- threshholdを変化させると検出数が変化する.
- threshholdが低すぎる場合,同じ物体を複数回検出してしまう可能性がある.
また,物体位置の予測精度はIOUやDice係数を使用する場合が多い.cmで表現すると,IoU= TP/(TP+FP+FN)で,Dice=2TP/(2TP+FP+FN).
Average Precision
IoUを0.5で固定,クラスラベルを固定した状態で得たPR曲線の積分値をAverage Precisionと呼ぶ.さらに複数のラベルに対してAPを算出,その平均をmAPと呼ぶ.さらにIoUを0.5~0.95まで0.05刻みで変化させて,その平均をとったものをmAPcocoと呼ぶ.
検出速度
リアルタイム検出が求められることが多い物体検出では,FPS(Flame per Second)も重要.
モデル概要
領域検出とクラス推定を別々に行う2段階検出器と,同時に行う1段階検出器がある.2段階は精度が高く,検出が遅い傾向がある.1段階は精度は比較的低いが,検出が早い.
物体検出:SSD
大きさ,アスペクト比が異なる多数のdefault boxを用意して,これらのconfidenceを算出して物体位置を特定する方法.
複数のdefault boxが検出結果として得られるので,以下の手順で抽出していく.
- スコアが高いデフォルトボックスのみ抽出。
- 各クラスごとにデフォルトボックスの重なり率IoUを計算
- IoUが高い場合はスコアの低いデフォルトボックスを除去
Semantic Segmentation
こちらは割愛.
GAN
GANはGenarative Adversarial Netsの略.GeneratorとDescriminatorを競わせることで,生成モデルと識別モデルを作成する手法のこと.
ミニマックスゲーム
価値関数はクロスエントロピーの形になっている.
Generatorを更新する際には,Descriminatorのパラメータを固定して,Generatorを更新する.Descriminatorを更新する際には,Generatorのパラメータを固定して,Descriminatorを更新する.
以下がイメージとして非常にわかりやすかった.
DCGAN
Generatorは100次元の乱数ベクトルから転置畳み込みにより画像を生成する.Descriminatorは畳み込みにより識別する.中間層を全て畳みこみ層を使用するのが特徴.
長くなったが最後の記事でコード演習をレポートする.