OpenNCC入門 實現人臉檢測

2021-10-06 03:47:16 字數 1951 閱讀 5798

在openncc的開發包中提供了乙個"openncc view"工具,通過這個工具,即使你完全不了解演算法實現原理,也能輕鬆的使用openncc去執行各種ai演算法。它裡面內建了10種不同的模型檢測演算法,可以直接上手使用,學習成本大大降低,今天我先嘗試執行下人臉檢測模型演算法:face-detection-retail-0004,測試一下檢測的準確性。使用的預訓練模型來自於openvino下的free open model zoo,感興趣的朋友可以去了解下,傳送門

首先把openncc相機通過usb資料線插到電腦上,開啟view 軟體,載入要測試的face-detection-retail-0004模型,檢測最低分數為預設的50%,滿分100%。這個分數的意思是,演算法會嘗試在場景中找出人臉,並打分,覺得符合人臉特徵時得分就很高,特徵不明顯得分就偏低,設定最低分為50%後,只有演算法識別出的人臉分數大於50%時,才會在畫面中框選出來。,引數就按預設值,選擇好後,start running model。沒使用過openncc view的可以參考官方的使用文件 。

首先測試下 模型演算法對於單個人臉檢測的準確性

a.正常人臉,出現在鏡頭中

在正常人臉出現在鏡頭中,檢測很穩定,能很準確的捕捉到人臉資訊,得分基本在100%

b.人臉被遮擋

我戴著口罩測試下來,人臉檢測也很穩定,能很準確的捕捉到人臉資訊,基本和不戴口罩檢測結果保持一致。

c.側臉/背對鏡頭

這張中(**工作中的同事?),右邊同事其實也不算側臉了,只露出了小部分面部資訊,而且還戴了口罩,這對演算法的考驗還是挺大的,可以看出,我們演算法還是能夠識別出來的,只不過分數有所下降,到了70%,

而對於左邊完全背對著鏡頭的同事,就無法檢測到人臉資訊了,無法識別,畢竟是人臉檢測嘛,咱不能對演算法過於苛刻,也合理。

d.暗光環境下:

在實驗室暗光下,照度只有10lux,下圖中的人臉肉眼都已經很難看清,但演算法還是識別出來了人臉,暗光環境下表現很好。

e.遠距離測試

這張是在距離鏡頭6m左右的位置,人臉影象已經有點模糊,演算法檢測分數在60%左右,再遠的位置就很難檢測到人臉了。這個結果有點出乎我的意料,因為從影象上看,人臉輪廓還是能分辨出來,演算法應該不難檢測出來,希望後續能更新優化演算法能力,發揮更好的效能。

接下來,我測試畫面有多張人臉時的檢測能力(謝謝辦公室的小夥伴們友情出演( ̄▽ ̄)*)

看來多張人臉也不成問題,辦公室人少,我想測試演算法檢測人臉的上限。

於是我從網上找到一張,40張人臉,在顯示器上展示,用ncc相機對著顯示器,結果出乎我的意料:**中一共40張人臉全部都被識別到了!厲害,我原以為演算法最多能識別10個左右人臉,看來我錯了,演算法很厲害?

測試下來的結果,還是挺令我驚喜的,檢測準確率很高。但令我感觸最深的是,openncc相機讓「ai演算法「,」人臉檢測「,這些在我以前的認知中遙不可及的詞彙,變得似乎不再那麼遙遠,可以用手指觸碰得到。我希望openncc能一扇新的大門,引導更多的開發者接觸ai演算法領域。說不定在未來的某一天,ai的力量就像空氣一樣遍布在我們的生活中。

人臉檢測實現

使用的是谷歌人臉識別系統facenet裡面的mtcnn人臉檢測部分,這部分可用於人臉檢測和人臉對齊,輸出160 160大小的影象 解壓後放在tensorflow的資料夾下 開啟requirements.txt,我們可以看到我們需要安裝以下依賴 tensorflow 1.7 scipy scikit ...

python opencv 實現人臉檢測

可以用opencv 的庫函式來實現人臉檢測 coding utf 8 import numpy as np import cv2 import time import sys,getopt from video import create capture from common import clo...

MFC opencv實現人臉檢測

先來看看效果圖吧。檢測後的結果將會顯示在資料夾裡。首先,需要配置opencv環境,可以參考這篇文章 windows下opencv 3.4.0 visual studio 2015開發環境的配置 其次,是核心識別庫環境配置,這裡放上另一篇文章,配置步驟寫的很詳細可以參考一下 opencv核心識別庫環境...