最近YOLO(V2)に惚れてますが、
下記の2つのキーテクニックに理解できていないので、ご説明頂ければ幸いです。
Q1: bounding boxに対する**"Dimension Cluster"**を行うそうですが、
具体的にどのようにやって、どんな量を得ようとするのでしょうか?
例えば、訓練画像の平均bounding boxの高さと幅でしょうか。それとも。。。
Q2: IoUという指標の数学的意味は分かりますけれども、使用上の意味は分かりません。
どうしてこれで、"Non-Maximum Suppression"ができるのでしょうか。
因みにIoUの値が大きいほど良いのでしょうか、それとも反対?
どうぞ宜しくお願いします。
======解決済みとは言えないので、★不適切な処ご指摘お願い致します★=========
●● 試しにYOLOV2のキーテクニックを解説 ●●
【bounding boxの選出原理】
- anchor boxは縦と幅のsize、aspect(縦と幅の比)が人間に事前指定された幾つかの値(E.g, 5か8 etc)を持つ四角形である。
(勿論人間指定には主観性がある。大体車は幅のほうが長い、人間は縦のほうが長い----幾つか限られた実用的なobjectを想定して決める!? )
2. bounding boxは画像に存在するobjectを囲むboxの候補である。
3. anchor boxとbounding boxは違う役で、両者が全く一致となるのは稀なケース。
4. anchor boxはgrid cellの中心を自分のlocation中心とする。
5. bounding boxの中心はgrid cellの中の任意の位置に存在する可能
(★ これこそcellというやつの存在意義: bounding boxの中心位置に一定の自由度を与え、具体座標値はDNNが出力してくれる)
6. anchor boxのsizeとaspectは事前固定だが、個々bounding boxのsizeとaspectはDNNでの学習で決める
(但し、bounding boxの数は人間が指定!)
7. 個々bounding boxの中に存在するobjectの名前(= annotation = “ground truth label”)は中心が同じgrid cellに存在する某anchor boxが持っているannotationにする。
8. ↑どのanchor boxのannotationにするかに関しては、中心が同じgrid cellに存在するbounding boxと諸anchor boxとのIOUの値の大きさによって決められる。
9. ↑IOUが1に一番近いanchor boxのannotationがbounding boxの中に存在するobjectのannotationとし、そのbounding boxを”本命”として選ばれる
10. ↑但し、囲む領域にobjectの存在確率が閾値以下であるanchor boxは対象外
【K-Mean Clusteringの役割】
1.これはあくまでも指定・特定の画像DBを対象とするK-Mean Clustering 処理である。
即ち、その特定の画像DBの諸画像の中に含まれている色々Objectの縦、幅ペアに対するClustering.
2.K-Mean Clusteringなので、結果はClustering予定数に左右されがちである。
これも人間が指定して上げなければならない。。。
★ DNNと言っても人間の「経験」と「主観」が基盤。
3.Clusteringの予定数が大きいほど、各Clusterの縦、幅分布範囲が狭くなり、学習対象とする画像DBにおいてIOUが1に近づいて行く。。。
4.各Clusterの中心縦、幅が諸objectの代表サイズとし、anchor boxの縦、幅にする-----5ペアや8ペア程度に決める。
↑この4こそK-Mean ClusteringがFOLOV2に利用される目的だ!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/13 08:41
2018/03/13 08:43