天天看點

目标檢測算法——YOLOV2——stronger

    因為YOLOV2的創新并不突出,主要是更新了backbone和借鑒了faster RCNN或者SSD,後面又提出了YOLO9000,可以檢測9000個類别。這個算是一個比較新穎的思路。

    整體思路:

    1、訓練:融合imageNet 9000類和coco 80類的訓練集。且并不需要重新标注imagenet 的檢測框,訓練時遇到coco資料回傳檢測loss,遇到image net資料回傳分類loss。(這裡我覺得應該是也把分類loss coco資料也被合并到imagenet)

    2、預測:YOLOv2給出的置信度就是pr(physical opbject) ,同時會給出邊界框位置以及一個樹狀機率圖。在這個機率圖中找到機率最高的路徑,當達到某一個門檻值時停止,就用目前節點表示預測的類别。

    YOLO9000可以快速檢測出超過9000個類别的物體,總體mAP值為19.7%。

    需要解決的問題:

    1、如何解決imagenet 9000類别的沖突問題。

    2、如何對應imagenet 标簽和coco标簽。

    解決方案:

    一、通過Word tree。

       狗這個label即屬于犬科也屬于家畜,這就很複雜了,完全是個圖結構。是以作者采用WordTree來解決分類和檢測資料集的标簽問題,也就是說在這個樹裡面任意一個節點隻能屬于唯一一個節點(跟WordNet是有差別的)。

    *周遊Imagenet的label,然後在WordNet中尋找該label到根節點(指向一個實體對象)的路徑;

    *如果路徑直有一條,那麼就将該路徑直接加入到分層樹結構中;

    *否則,所有路徑中選擇一條最短路徑,加入到分層樹。

目标檢測算法——YOLOV2——stronger

    訓練時:使用multi-label模型,即假定一張圖檔可以有多個label,并且不要求label間獨立,即使用多個softmax。

    預測時:條件機率模型的方式,某個節點的機率值等于該節點到根節點的所有條件機率之積。例如,如果想知道一張圖檔是不是“Norfolk terrier ”需要計算:

目标檢測算法——YOLOV2——stronger

    為了驗證這種方法作者在WordTree(用1000類别的ImageNet建立)上訓練了Darknet-19模型。為了建立WordTree1k,作者天添加了很多中間節點,把标簽由1000擴充到1369。訓練過程中ground truth标簽要順着向根節點的路徑傳播。例如,如果一張圖檔被标記為“Norfolk terrier”,它也被标記為“dog” 和“mammal”等。為了計算條件機率,模型預測了一個包含1369個元素的向量,而且基于所有“同義詞集”計算softmax,其中“同義詞集”是同一概念的下位詞。

    softmax操作也同時應該采用分組操作,下圖上半部分為ImageNet對應的原生Softmax,下半部分對應基于WordTree的Softmax:

目标檢測算法——YOLOV2——stronger

    最後在Imagenet1k資料集上的top-1 accuracy為72.9%,top-5 accuracy為91.2%;在WordTree1k資料集上的top-1 accuracy為71.9%,top-5 accuracy為90.4%。在WordTree1k資料集上的準确率要稍低一點,主要是因為那些新的類别的影響。

    然後作者開始融合ImageNet 9000和coco,進行聯合訓練,YOLO9000的主網絡基本和YOLOv2類似,隻不過每個grid cell隻采用3個box prior。

參考連結:

1、https://zhuanlan.zhihu.com/p/35325884

3、https://blog.csdn.net/u014380165/article/details/77961414

4、https://www.cnblogs.com/sddai/p/14760055.html

繼續閱讀