天天看點

詳解OpenVINO 模型庫中的人臉檢測模型

OpenVINO的模型庫中有多個人臉檢測模型,這些模型分别支援不同場景與不同分辨率的人臉檢測,同時檢測精度與速度也不同。下面以OpenVINO2020 R04版本為例來逐一解釋模型庫中的人臉檢測,清單如下:

詳解OpenVINO 模型庫中的人臉檢測模型

從清單中可以看出骨幹特征網絡主要是MobileNetv2與SqueezeNet兩種支援實時特征網絡,ResNet152是高精度的特征網絡,檢測頭分别支援SSD、FCOS、ATSS。

深度可分離卷積

詳解OpenVINO 模型庫中的人臉檢測模型
詳解OpenVINO 模型庫中的人臉檢測模型
詳解OpenVINO 模型庫中的人臉檢測模型

看懂上面的三張圖就好拉!

殘差網絡模型在2015年提出,OpenCV從3.3版本開始支援,相關的論文如下:

詳解OpenVINO 模型庫中的人臉檢測模型

該模型與MobileNet網絡都是支援移動端/端側可部署的模型,2016提出,相關論文如下:

模型結構

詳解OpenVINO 模型庫中的人臉檢測模型

根據不同的檢測頭,組合生成不同的對象檢測模型,這裡三種常見的檢測模型:

詳解OpenVINO 模型庫中的人臉檢測模型

SSD論文中給出的是基于VGG-16作為backbone網絡的,替換VGG為MobileNetV2,然後從第12個權重層開始提取特征到第14或者15個權重層,針對anchor預測與類别預測完成回歸與分類損失計算,實作對象檢測模型訓練。

跟YOLOv1相似是一個anchor-free的網絡模型

詳解OpenVINO 模型庫中的人臉檢測模型

多了一個中心輸出來壓制低品質的bounding box輸出。

ATSS的全稱是自适應訓練樣本選擇,

詳解OpenVINO 模型庫中的人臉檢測模型

作者首先對比了RetinaNet與FCOS兩種對象檢測方法,發現對象檢測在回歸階段的本質問題是如何選擇正負樣本,解決樣本不平衡性問題,進而提出了一種新的正負樣本選擇定義方法-自适應訓練樣本選擇(ATSS)。流程如下:

詳解OpenVINO 模型庫中的人臉檢測模型

該方法可以獲得更好的對象檢測精度與mAP,适用RetinaNet與FCOS等對象檢測網絡。實際實驗資料對比:

詳解OpenVINO 模型庫中的人臉檢測模型

上面的OpenVINO的人臉檢測模型清單中,MobileNetv2 + SSD/FCOS适用于速度優先,不同分辨率的場景,ResNet152 + ATSS是OpenVINO模型庫中的精度最高的人臉檢測預訓練模型。下面我們就通過代碼分别測試FCOS與ATSS兩種檢測模型的檢測效果比較,針對同一張測試人臉圖像,圖示如下:

詳解OpenVINO 模型庫中的人臉檢測模型

統一調整門檻值為0.25,推理時間與檢測人臉總數的對比圖如下:

詳解OpenVINO 模型庫中的人臉檢測模型

最終分别得到測試圖像如下:

FCOS

詳解OpenVINO 模型庫中的人臉檢測模型

ATSS

詳解OpenVINO 模型庫中的人臉檢測模型

學習OpenCV + OpenVINO系統化課程,請看這裡:

OpenVINO計算機視覺模型加速 實戰教程