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