再次提升2%,仅85K参数的开源人脸检测算法
上次五一假期更新后,在這個中秋假期,我們的人臉檢測算法又更新了!假期更新成了這個庫的傳統這次更新版本計算量不變,準確率提升2%。
首先說說這個算法十幾年的演進歷史:
2008年,我剛參加工作不久,有家企業請我幫忙訓練一個更好的人臉檢測算法,我用Haar+AdaBoost訓練了一下,準確率比OpenCV里開源方案有明顯提升。
隨后我自己寫爬蟲在網上爬了幾萬張照片,手動標注了所有人臉,效果更好了,項目順利交付。
隨后十年,研究人臉檢測成了我的業余編程娛樂(我主業是步態識別)。我重寫了Haar+AdaBoost提升訓練效率,然后研究各種特征,把所有常見特征描述子(HOG、BRIEF、LBP、...)手寫實現,把各種Boosting算法的變種手寫實現,統統試了一遍。人臉檢測每年提升一點點,最后做到了還算可以的效果。
因為算法體積小、速度快、準確率高,一些公司在產品中采用了我設計的人臉檢測算法。這些企業里有比較大的,例如某某企業的市場占有率第一的某款視頻監控芯片、某某企業第一款人臉識別手機等。
我苦苦思索和鉆研人臉檢測近十年,深度學習一拳打來,一下子刷新了我的認知。較早時候,我用Caffe訓練了人臉檢測,后來改用PyTorch,一點點提升著準確率,并把算法開源,以幫助更多的人。我用C++重寫了深度學習算法的實現,只有1000行代碼左右,也不需要依賴任何其他庫,具有極佳的可移植性。
做了十年人臉檢測,我和我團隊有一些想法和觀點,便寫了一篇論文Feng et. al, Detect Faces Efficiently: A Survey and Evaluations,這篇論文最近被IEEE Trans. on Biometrics, Behavior, and Identity Science接收,最近會上線。?
這個人臉檢測模型,跟北郵鄧偉洪教授的人臉識別模型,一起作為人臉方案,被即將發布的OpenCV 5.0采納,敬請期待。
最近一年,我將更多精力放在步態識別科研、教學和服務。我的研究生參與進來,把人臉檢測這事當作一項工作,而不是我節假日的業余工作。這樣這個開源庫可以持續高質量地維護下去,讓更多人受益。
我們的開源人臉檢測項目,在GitHub上已經獲得10K星。歡迎大家三連(使用、反饋和建議)
開源人臉檢測庫libfacedetection,有如下特點:
深度模型僅有85K個參數。
采用AVX512/AVX2/NEON指令提速。
代碼簡短和簡潔,只有一千多行代碼。
代碼不依賴任何其他第三方庫,只要平臺能編譯C++則可使用。
項目License采用3-Clause BSD License,可以商業應用。
上一次更新的變化(本次更新只是模型參數數值不同):
參數數量由2340K降到85K,參數量僅為上一版本的1/30。
棄用int8,采用float,節約數據類型轉換時間,且代碼更為簡潔。
速度略有提升(提升速度好難,花了四五個月)。
訓練程序采用我們新設計的EIoU損失函數,提升了準確率(論文:Hanyang Peng and Shiqi Yu, A Systematic IoU-Related Method: Beyond Simplified Regression for Better Localization, IEEE Transactions on Image Processing, ?vol. 30, pp. 5032-5044, 2021.)
準確率參數如下:
本次更新在Wider Face上的準確率變化
AP_easy:???0.834->0.856
AP_medium:?0.824->0.842
AP_hard:? ?0.708->0.727
主要貢獻人:
這一版主要貢獻人:吳偉同學?
參考文獻:
Yuantao Feng,?Shiqi Yu,?Hanyang Peng,?Yan-ran Li and Jianguo Zhang,?Detect Faces Efficiently: A Survey and Evaluations,?IEEE Transactions on Biometrics, Behavior, and Identity Science,(論文近日將上線)
Hanyang Peng and Shiqi Yu, A Systematic IoU-Related Method: Beyond Simplified Regression for Better Localization, IEEE Transactions on Image Processing, vol. 30, pp. 5032-5044, 2021.?
相關閱讀:
2021年5月6日:【算法升級】僅有85K個參數的開源人臉檢測算法
2020年3月26日:準確率提升:開源極快速CNN人臉檢測庫
2020年3月3日:算法升級!開源極快速CNN人臉檢測新增人臉關鍵點功能
期末作業實現一個CNN
為什么手搓一個簡版CNN并不難
想把算法提速十幾倍可以這樣做
總結
以上是生活随笔為你收集整理的再次提升2%,仅85K参数的开源人脸检测算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: React开发(225):render中
- 下一篇: 使用深度学习TensorFlow框架进行