日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > pytorch >内容正文

pytorch

10种轻量级人脸检测算法大PK

發(fā)布時(shí)間:2024/1/23 pytorch 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 10种轻量级人脸检测算法大PK 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

幾個(gè)月前,AIZOO曾經(jīng)盤點(diǎn)過(guò)?最強(qiáng)六大開(kāi)源輕量級(jí)人臉檢測(cè)項(xiàng)目分析 | 附打包下載,nihate同學(xué)將它豐富到10種算法,并用Python.對(duì)他們進(jìn)行了匯總整理,以及效果的對(duì)比。

Github鏈接:https://github.com/hpc203/10kinds-light-face-detector-align-recognition 可以閱讀原文跳轉(zhuǎn)。

原文:https://blog.csdn.net/nihate/article/details/108798831?

最近在微信公眾號(hào) AIZOO 里看到輕量級(jí)人臉檢測(cè)算法大盤點(diǎn)的文章,里面還提供了Github源碼地址,我就把它們逐個(gè)下載到本地Win10-CPU機(jī)器上,調(diào)試通過(guò)運(yùn)行。

去年在Github下載過(guò)一個(gè)包含6種人臉檢測(cè)的程序,分別是Pyramidbox,DSFD,S3FD,TinyFace,FaceBox,MTCNN,但是這些算法大多是重量級(jí)的網(wǎng)絡(luò)模型,它在一幅圖片上的人臉檢測(cè)結(jié)果和運(yùn)行耗時(shí)統(tǒng)計(jì)直方圖如下。

運(yùn)行效果如下圖所示:

耗時(shí)效果統(tǒng)計(jì)對(duì)比:

可以看到PyramidBox,DSFD,S3FD,TinyFace這4個(gè)模型是非常耗時(shí)的,對(duì)于比賽刷榜,我們可以用這種很大的模型,但是在工業(yè)界非常不實(shí)用,假如要部署到 ARM 的嵌入式設(shè)備上,大概率直接卡死。

因此我就整理了最近一年之內(nèi)的輕量級(jí)人臉檢測(cè)算法的程序,獨(dú)立編寫一個(gè)包含多種輕量級(jí)人臉檢測(cè)算法集合的程序。PyTorch是我最喜歡的深度學(xué)習(xí)框架,在部署模型的前向推理時(shí),我更喜歡用Opencv的dnn模塊。因而,我收集到的輕量級(jí)人臉檢測(cè)算法的程序如果是基于PyTorch框架的,我就不會(huì)對(duì)代碼做較大的改動(dòng),如果程序是基于Caffe, Tensorflow或者Darknet的,我會(huì)把程序改寫成用Opencv的dnn模塊做人臉檢測(cè)。最后我整理了10種人臉檢測(cè)算法,它們分別是:

  • ?Ultra-Light-Fast-Generic-Face-Detector,程序里簡(jiǎn)寫為ultraface

  • ?LFFD:A Light and Fast Face Detector for Edge Devices,程序里簡(jiǎn)寫為lffdface

  • ?CenterFace, 程序里簡(jiǎn)寫為centerface

  • ?DBFace, 程序里簡(jiǎn)寫位dbface

  • ?RetinaFace, 程序里簡(jiǎn)寫為retinaface

  • ?MTCNN, 程序里簡(jiǎn)寫為mtcnn

  • ?SSD, 程序里簡(jiǎn)寫為ssdface

  • ?facebox,程序里簡(jiǎn)寫為facebox

  • ?yoloface,程序里簡(jiǎn)寫為yoloface

  • ?于仕琪老師提出的libfacedetection, 程序里簡(jiǎn)稱為libface

此外,我編寫的程序里還包含 PFLD: A Practical Facial Landmark Detector,它是一個(gè)簡(jiǎn)單、快速、超高精度人臉特征點(diǎn)檢測(cè)算法。到此一共有10種人臉檢測(cè)和1個(gè)人臉關(guān)鍵點(diǎn)檢測(cè)的程序,我用面向?qū)ο蟮乃枷氚衙恳环N人臉檢測(cè)算法寫成一個(gè)類的形式,里面包含構(gòu)造函數(shù)__init__和成員函數(shù)detect。最后,編寫一個(gè)主函數(shù),來(lái)做這10種人臉檢測(cè)算法在同一幅圖上的人臉檢測(cè)結(jié)果和運(yùn)行耗時(shí)的比較。我編寫的這套程序在github上的地址是?

https://github.com/hpc203/10kinds-light-face-detector-align-recognition

我分別測(cè)試了兩幅圖片,第一幅圖片的檢測(cè)結(jié)果和運(yùn)行耗時(shí)統(tǒng)計(jì)直方圖如下:

耗時(shí)對(duì)比如下圖:

第2幅圖片的檢測(cè)結(jié)果和運(yùn)行耗時(shí)統(tǒng)計(jì)直方圖如下:

耗時(shí)對(duì)比如下圖:

這兩幅測(cè)試圖片有鮮明代表性,一幅是只有2個(gè)人臉,另一幅是有好多個(gè)人臉的。ssdface和libface的運(yùn)行速度最快,但是在有密集人臉的場(chǎng)景里,它們漏檢了很多人臉。綜合兩幅圖片的檢測(cè)結(jié)果,考慮檢測(cè)準(zhǔn)確率和運(yùn)行耗時(shí)的折中權(quán)衡,retinaface和lffdface是最優(yōu)選擇。retinaface運(yùn)行耗時(shí)雖然比lffdface的要略長(zhǎng)一點(diǎn),但是retinaface的輸出里有5個(gè)關(guān)鍵點(diǎn)。

在我的程序里還有提取人臉特征向量和計(jì)算人臉特征向量距離的模塊,這兩個(gè)模塊再加上前面的人臉檢測(cè)和關(guān)鍵點(diǎn)檢測(cè)(做人臉對(duì)齊)的模塊,這樣就組成了人臉檢測(cè)+人臉對(duì)齊+人臉識(shí)別,這時(shí)候你就可以構(gòu)造一個(gè)實(shí)時(shí)的人臉識(shí)別系統(tǒng)。具體實(shí)現(xiàn)方式可以參見(jiàn)github代碼里的README.md。程序有不足的地方,還請(qǐng)同行多多指教。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的10种轻量级人脸检测算法大PK的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。