【E資格不合格から学ぶ】物体認識の基礎を徹底解説!

  • 「物体認識」について学びたいけど理解できるか不安・・・
  • 「物体認識」の仕組みが分からない?
  • 「物体認識」の内容を体系的に教えて!

 深層学習を用いた「物体認識」タスクには分類、物体検出、意味領域分割、個体領域分割があり、各々特徴がありますが、その内容が豊富で何から理解したらよいか分からないケースが非常に多いです。

 私は過去に基本情報技術者試験(旧:第二種情報処理技術者試験)に合格し、また2年程前に「一般社団法人 日本ディープラーニング協会」が主催の「G検定試験」に合格しました。現在、「E資格」にチャレンジ中ですが3回不合格になり、この経験から学習の要点について学ぶ機会がありました。   

 そこでこの記事では、「物体認識」の仕組みやこれまでの流れが分かるよう物体認識の内容について体系的に解説します。

 この記事を参考にして「物体認識」の基礎を学べば、E資格に合格できるはずです。

<<物体認識の基礎に関する学習のポイントを今すぐ知りたい方はこちら

目次

1.鳥瞰図:広義の物体認識タスク

難易度目的特徴出力
物体の位置に興味なし分類
Classification
画像に対し単一または複数の)
クラスラベル
個体の区別に興味なし物体検出
Object Detection
画像内の物体を検出し、各々の物体に対して境界Boxを指定物体の位置と種類を特定。
各物体が独立して検出される。
Bounding Box[bbox/BB]
個体の区別に興味なし意味領域分割
Semantic Segmentation
画像内の全てのピクセルを種類に分類同じ種類の物体でも個々に区別せず、全てのピクセルが何らかなの種類に分類される。各ピクセルに対し単一の)
クラスラベル
統括的領域分割
Panoptic Segmentation
Semantic Segmentationと物体検出の組合せで、画像内の全ての物体を個別に認識し、それぞれのピクセルに種類を割り当てる。個々の物体を識別しつつ、画像内の全ピクセルをカバーする。各ピクセルに対し単一の)
クラスラベル
個体領域分割
Instance Segmentation
各ピクセルに対し単一の)
クラスラベル
物体認識タスクの種類

1.1 代表的なデータセット

データセットの必要性

モデルの性能を適切に評価する

データセットクラスTrain+ValidationBox/画像備考
VOC122011,5402.4Instance
Annotation
ILSVRC17200476,6681.1
MS COCO1880123,2877.3Instance
Annotation
OICOD185001,743,0427.0Instance
Annotation
代表的データセット

    ←-- Box/画像 -- 
     アイコン的な映り       部分的な重なり等も
 日常感とはかけ        見られる。
       離れやすい          日常生活のコンテキスト
              に近い

  • 補足VOC12、ILSVRC17、MS COCO18、OICOD18は物体検出コンペティションで用いられたデータセット
VOC
  • PASCAL VOC Object Detection Challenge
    VOC=Visual Object Classes
    主要貢献者が2012年に亡くなったことに伴いコンペも終了
  • Ground-Truth BBの情報が、左上隅と右下隅の座標が与えられる
  • 画像サイズ:470×380
    VOC2007とVOC2012で扱われているクラス数が異なる。
ILSVRC
  • ILSVRC Object Detection Challenge
    ILSVRC=ImageNet Scale Visual Recognition Challenge
    コンペは2017年に終了(後継:Open Images Challenge)
  • ImageNet(21,841クラス/1400万枚以上)のサブセット
    Instance Segmentation の学習に必要な情報はない。
  • 画像サイズ:500×400
MS COCO
  • MS COCO Object Detection Challenge
    COCO=Common Object in Context
    MS=Microsoft
  • 物体位置推定に対する新たな評価指標を提案(後述)
  • 画像サイズ:640×480
OICOD18
  • Opne Images Challenge Object Detection
  • ILSVRCやMS COCO とは異なる annotation process
  • Open Images V4(6000クラス以上/900万枚以上)のサブセット
    画像サイズ:一様ではない

※データセット自体は他にも様々存在:
 CIFAR-10/CIFAR-100,Food-101,楽天データ(文字領域アノテーション画像)etc.

1.2 代表的データセットのポジショニングマップ

代表的データセットのポジショニングマップ
  • 目的に応じたBox/画像の選択を!
  • クラス数が大きいことはよいことなのか?
学生
学生

フリマアプリの出品画像を入力とする物体検知タスクの開発に取り組みたいけど

どのデータセットを訓練データとして用いると精度を向上できるかな?

著者
著者

フリマアプリの出品画像は物体の位置を正確に検知する必要はないよ!
すなわちBox/画像は少なくていい。

反対に様々な商品を正確に検知する必要があるよ!
すなわちクラス数は多い方がいい。

だから「ILSVRC17」を用いると精度向上が期待できるよ!

2.評価指標

2.1 分類問題における評価指標の復習

真値 \予測PositiveNegative
PositiveTrue
Positive
False
Negative
NegativeFalse
Positive
True
Negative
Confusion Matrix

適合率(Precision):
「Positiveと予測」したものの中で本当に
Positiveである割合
Precision=TP/(TP+FP) 
再現率(Recall):
「本当にPositiveなもの」の中からPositiveと
予測できる割合
Recall =TP/(TP+FN)

  • confidence(信頼)の閾値を変化させることで「PrecisionーRecall curve」が描ける

2.2 閾値変化に対する振る舞い

         クラス分類                 物体検出

conf.pred.
S10.881
S20.821
S30.711
S40.521
S50.490
S60.440
 Threshold 0.5
conf.pred.
S10.881
S20.821
S30.710
S40.520
S50.490
S60.440
 Threshold 0.8
confpred.BB
P10.92x1,y1
w1,h1
P20.85x2,y2
w2,h2
P30.81x3,y3
w3,h3
P40.70x4,y4
w4,h4
P50.69x5,y5
w5,h5
P60.54x6,y6
w6,h2
Threshold 0.5
pred.BB
P10.92x1,y1
w1,h1
P20.85x2,y2
w2,h2
P30.81x3,y3
w3,h3
   Threshold 0.8
GroundーTruth
GroundーTruth

2.3 IoU:Intersection over Union

目的

 物体検出においてはクラスラベルだけではなく、物体位置の予測精度も評価したい

IoUの定義
IoUの定義
IoUの定義②
IoUの定義②

例題
Q1.Predicted BBが完全一致の状態から左方向と下方向に各々1辺の長さの20%だけ平行移動された場合のIoUの値を求めよ。
A1.0.82/(12+12 ー 0.82) ≒ 0.470

2.4 入力1枚で見るPrecision/Recall

GroundーTruth

conf.の閾値:0.5 
IoUの閾値:0.5

conf.pred.IoU
P10.920.88
P20.850.46
P30.810.92
P40.700.83
P50.690.76
P60.540.20
Conf.>0.5の予測群

Conf.>0.5の予測群

→ IoU>0.5よりTP(人を検出)
→ IoU<0.5よりFP

→ IoU>0.5よりTP(車を検出)
→ IoU>0.5よりTP(犬を検出)
→ IoU>0.5であるが既に検出済みなのでFP
→ IoU<0.5よりFP

Precision:
 3 /(33)=0.50

Recall:
 3 /(30)= 1.00

2.5 Precision/Recallの計算例(クラス単位)

4種類のGround-Truth
4種類のGround-Truth
Pic.conf.pred.IoU
P110.920.88
P220.850.46
P30.810.92
P430.700.83
P510.690.76
P630.540.20
Conf.>0.5、IoU>0.5の予測群

conf.の閾値:0.5
ー--ー-→
IoUの閾値:0.5

TP/FP
P1TP
P2FP
P3TP
P4TP
P5FP
P6FP
TP/FPの予測群

Precision:
3/(33)=0.5
#All Predictions
Recall:
3/(31)=0.75
#All Ground-Truth

2.6 AP:Average Precision

クラスラベルを固定

4種類のGround-Truth
4種類のGround-Truth
conf.
の閾値
IoU
の閾値
PrecisionRecall
0.050.5
0.10.5








1.000.5
conf.・IoUの閾値とPrecision・Recallの関係

conf.の閾値をβとするとき、
Recall = R(β)、Precision=P(β

ー---→ P=F(R) [PrecisionーRecall curve]

Average Precisionの定義式
Average Precisionの定義式

※厳密には各Recallのレベルに対して最大のPrecisionに
 スムージング
※積分はInterpolated APとして有限点(e.g.,11点)で計算される

「任意の Predicted BB に検出されないGroundーTruth BB」 の扱い ⇒ False Negative

2.7 mAP:mean Average Precision

  • Average Precisionの定義
PR曲線の下側面積

・・・・・・・・クラスラベル固定のもとで考えていたことに注意(APはクラスごとに計算される)

(算術平均):クラス数がCのとき、

mAPの定義式
mAPの定義式
AP86.467.264.3
mAP約72.6
【計算例】
補足:MS COCOで導入された指標
  • BB位置の精度を重視した指標
  • ここまで、IoU閾値は0.5で固定
    →0.5から0.95まで0.05刻みでAP&mAPを計算し算術平均を計算
mAPcocoの定義式
mAPcocoの定義式

2.8 FPS:Flames per Second

物体検知】 応用上の要請から、検出精度に加え検出速度も問題となる

3.物体検出の大枠

3.1 画期的な出来事:深層学習以降の物体検出

  • 2012 AlexNetの登場を皮切りに、時代はSIFTからDCNNへ
    補足)SHIFT:Scale Invariant Feature Transform
    DCNN:Deep Convolutional Neural Network

深層学習以前の物体検知にも興味のある方への参考文献
Lowe D.(1999)
Object recognition from local scale invariant features

AlexNetの原論文を読んだことのない人へ
Krizhevsky A. et ai.(2012)
ImageNet classification with deep convolutional neural networks

代表的なネットワークと物体検知のフレームワークの関係
代表的なネットワークと物体検知のフレームワークの関係

3.2 物体検出のフレームワーク

2段階検出器(Twoーstage detector)
・候補領域の出力とクラス推定を別々に行う
・相対的に精度が高い傾向
・相対的に計算量が大きく推論も遅い傾向

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
1段階検出器(Oneーstage detector)
・候補領域の出力とクラス推定を同時に行う
・相対的に精度が低い傾向
・相対的に計算量が小さく推論も早い傾向

物体検知のフレームワークの時系列
物体検知のフレームワークの時系列

4.まとめ

【物体認識(基礎)のまとめ】
  • 代表的なデータセット
    ・VOC12
     Ground-Truth BBの情報が、左上隅と右下隅の座標が与えられる
    ・COCO18
     BB位置の精度を重視した指標
    ・ILSVRC17
    ・OICID18
  • 評価指標
    AP(Average Precision):
    「任意の Predicted BB に検出されないGroundーTruth BB」 の扱い ⇒ False Negative

最後まで読んで頂きありがとうございます。
皆様のキャリアアップを応援しています!!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次