自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

僅用CPU就能跑到1000FPS,這是開源的C++跨平臺(tái)人臉檢測項(xiàng)目

新聞 人臉識(shí)別
人臉檢測可廣泛應(yīng)用于人機(jī)交互、安防監(jiān)控、社交娛樂等領(lǐng)域,具有很強(qiáng)的實(shí)用價(jià)值,因此受到廣泛關(guān)注與研究。

 總是被各種依賴環(huán)境蹂躪?看看這個(gè) C++編寫的跨平臺(tái)人臉檢測項(xiàng)目,電腦手機(jī)都可運(yùn)行!

項(xiàng)目地址:https://github.com/ShiqiYu/libfacedetection

人臉檢測可廣泛應(yīng)用于人機(jī)交互、安防監(jiān)控、社交娛樂等領(lǐng)域,具有很強(qiáng)的實(shí)用價(jià)值,因此受到廣泛關(guān)注與研究。在眾多人臉檢測方法中,使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行檢測是目前較為流行的方法之一。然而在我們使用別人開源的項(xiàng)目時(shí)經(jīng)常需要安裝各種各樣的依賴環(huán)境,不同的依賴環(huán)境在不同硬件平臺(tái)或操作系統(tǒng)中支持程度不一樣,增加了項(xiàng)目跨平臺(tái)遷移的難度。

本文介紹的是一個(gè)使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行人臉檢測的開源項(xiàng)目,它最大的亮點(diǎn)是能夠在所有支持 C/C++的平臺(tái)上編譯運(yùn)行。作者將預(yù)訓(xùn)練的 CNN 模型轉(zhuǎn)換為靜態(tài)變量后儲(chǔ)存到了 C 文件里,使得該項(xiàng)目不需要任何其他依賴項(xiàng)(當(dāng)然 OpenCV 還是需要的),僅僅只需要一個(gè) C++編譯器,就能在任何一個(gè)平臺(tái)甚至嵌入式系統(tǒng)上編譯并運(yùn)行該項(xiàng)目。

仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目

尤其吸引人的是該項(xiàng)目使用 C++編寫且支持 AVX2,在 i7 的 CPU 上就能跑出喪心病狂的 1000FPS!下圖為項(xiàng)目作者給出的檢測效果示例。

仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目

可以看到該項(xiàng)目不僅檢測速度非???,檢測精度也很不錯(cuò)。于是,機(jī)器之心也上手測試了一番。

項(xiàng)目實(shí)測

我們?cè)?Ubuntu 18.04 下測試這個(gè)人臉檢測項(xiàng)目的效果。首先先使用一張相對(duì)簡單的合照進(jìn)行測試,其總共有 15 個(gè)人,分辨率為 970x546,檢測結(jié)果如下圖所示:

仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目

可以看到它準(zhǔn)確的識(shí)別出了圖片中所有的人像,在 CPU 上僅耗時(shí) 133ms 且置信度都為 99%。下圖為加上 bounding box 后的檢測效果圖:

仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目

下面我們提高一下難度,使用一張開掛民族的圖片測試一下效果。它也幾乎把所有火車頭上正面的面孔都識(shí)別出來了,火車車身上的人像沒有識(shí)別出來,可能是因?yàn)槟切┤讼駥?shí)在是太小太密集的緣故。

仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目

編譯過程

該項(xiàng)目編譯需要 OpenCV,如果缺少 OpenCV 在使用 cmake 生成 makefile 時(shí)會(huì)報(bào)如下錯(cuò)誤:

仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目

我們首先使用 wget https://github.com/opencv/opencv/archive/3.4.0.tar.gz 下載 OpenCV 3.4.0 的源碼,緊接著安裝編譯 OpenCV 需要的相關(guān)依賴項(xiàng):

  1. apt-get install build-essential 
  2. apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devadd-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" 
  3. apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev 

安裝完依賴項(xiàng)之后我們將 OpenCV 的壓縮包解壓到當(dāng)前目錄下:

  1. tar xvzf 3.4.0.tar.gz 

為了避免在編譯時(shí)將源碼文件弄亂,我們新建一個(gè)名為 linuxidcbuild 的文件夾,在其下進(jìn)行 OpenCV 的編譯與安裝:

  1. mkdir linuxidcbuild 
  2. cd linuxidcbuild/ 
  3. cmake ../opencv-3.4.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/local 

在生成 makefile 的過程中可能會(huì)出現(xiàn)卡在下圖的情況,

仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目

這是由于 ippicv 下載不成功導(dǎo)致的,在以下鏈接手動(dòng)下載系統(tǒng)對(duì)應(yīng)的 ippicv 版本:

https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20170822/ippicv

之后使用 vim opencv-3.4.0/3rdparty/ippicv/ippicv.cmake 修改 OpenCV 的編譯配置文件,將如下內(nèi)容

"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/ "

修改為我們剛存放 ippicv 的目錄。再重新執(zhí)行一次 cmake ../opencv-3.4.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/local,當(dāng)出現(xiàn)下圖的內(nèi)容時(shí)說明成功生成了 makefile。

仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目

接下來我們執(zhí)行 make 進(jìn)行對(duì) OpenCV 的編譯:

仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目

這里編譯的過程相對(duì)比較漫長,大約需要 20 分鐘左右,消耗時(shí)間根據(jù)不同電腦配置會(huì)有所區(qū)別。當(dāng)出現(xiàn)下圖所示內(nèi)容時(shí)說明編譯完成。

仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目

之后使用 make install 進(jìn)行安裝,

仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目

安裝成功后會(huì)出現(xiàn)如圖所示界面:

仅用CPU就能跑到1000FPS,这是开源的C++跨平台人脸检测项目

以上即完成對(duì) OpenCV 的安裝。安裝完成后使用 vim /etc/ld.so.conf.d/opencv.conf 對(duì)其進(jìn)行配置,在文件中加入/usr/local/lib 后保存退出。

使用 vim /etc/bash.bashrc 添加環(huán)境變量,在文末加入 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig,使用 source /etc/bash.bashrc 讓新的環(huán)境變量生效。這樣就配置好了 OpenCV,之后使用如下命令編譯該項(xiàng)目:

  1. git clone https://github.com/ShiqiYu/libfacedetectioncd libfacedetectionmkdir build; cd build; cmake ..; make 

項(xiàng)目編譯完成后會(huì)在 build 目錄下生成對(duì)應(yīng)可執(zhí)行文件,可使用如下命令運(yùn)行:

  1. ./detect-image-demo ../images/test.png 

雖然看似操作非常復(fù)雜,但實(shí)際上主要就是編譯 OpenCV,其它模塊都可以直接在項(xiàng)目中完成編譯。最后,就可以愉快地使用這個(gè)極速人臉檢測模型了。

 

 

責(zé)任編輯:張燕妮 來源: 機(jī)器之心
相關(guān)推薦

2019-03-27 15:10:02

開源人臉檢測庫

2010-01-19 15:18:12

C++語言

2010-02-24 09:45:10

Linux CC++

2024-04-03 09:48:28

人臉檢測識(shí)別JS開源

2022-09-24 10:07:14

ElectronChromiumNode.js

2010-02-01 10:43:10

C++跨平臺(tái)應(yīng)用

2023-02-25 21:45:55

模型AI

2022-11-30 16:38:22

Electron開源

2022-12-20 12:06:06

開源項(xiàng)目APP

2025-02-26 14:00:00

開源模型數(shù)據(jù)

2015-04-03 10:39:40

AndroidChrome

2011-06-16 09:28:02

C++內(nèi)存泄漏

2021-05-07 08:00:19

應(yīng)用程序框架

2020-09-03 14:45:09

C語言開源項(xiàng)目

2014-09-02 14:18:27

NodeJsLivePool

2022-06-14 07:17:43

Wazuh開源

2011-03-30 14:49:00

Visual C++CPU

2019-07-22 19:16:42

機(jī)器人人工智能系統(tǒng)

2014-08-06 14:56:15

2021-04-14 15:15:46

開源技術(shù) 工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)