iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0
AI & Data

[Computer Vision] 電腦視覺下的人臉系列 第 13

[Day13] 使用OpenCV & Dlib作人臉偵測需要知道的一些事

本文開始

回顧一下過去四天提到的,使用OpenCV & Dlib做人臉偵測的方法:

幾種情況下的選擇:

  1. 不在乎準確度,但需要在樹莓派或是其他微型電腦上運行 -- 使用哈爾特徵檢測
  2. 特別在意準確度,硬體資源足夠強大 -- 使用Dlib神經網路檢測法
  3. 有選擇障礙不知道要用哪個比較好 -- 先從OpenCV神經網路檢測法開始就對了
  4. 要做手機應用App -- 以上四種方法都不要選;否則你碰到的不是Python語言很難做手機應用相關文件很少、或是你就要栽進C++編譯的問題中

你說為什麼沒有提到Dlib特徵檢測法?

因為在後面文章裡,我們要實際開發人臉互動應用中,我們才會使用它,通常在只做人臉偵測功能時不太會需要用到這個方法。


關於這四種人臉偵測方法,或是所有其他你知道的人臉偵測功能,最後的結果都一定會有前面文章提到的邊界框 (Bounding Box)

由於邊界框通常都是矩形框,而矩形沒有辦法用一致的範圍標示出人臉的位置

什麼意思?請看下面的範例圖片:
opencv_dlib_1

因為不同方法在偵測人臉的算法也不同,導致判斷人臉範圍雖然都包含臉部,可是框住的人臉(x, y, w, h)都是不同的

  • 如果今天要做的只是人臉偵測或是人臉辨識,那你可以很安心的使用你喜歡的方法。
  • 如果今天要做的是人臉關鍵點檢測,如果關鍵點檢測的模型與人臉偵測的模型不同,你會看到很奇妙的辨識結果出現。

(有興趣的人可以用這段程式碼來跑看看你的臉會不會有同樣結果;或是可以跟Google, AWS等平台的辨識結果比較看看有什麼不同)

關於人臉偵測 (Face Detection)到這邊差不多都說完了,這些經驗希望能夠幫助你未來有從事類似領域的專案時,可以有一點點的幫助。

下一篇將從人臉識別 (Facial Recognition)開始,明天見!


上一篇
[Day12] Face Detection - 使用OpenCV & Dlib:Dlib MMOD
下一篇
[Day 14] 人臉識別 (Facial Recognition)
系列文
[Computer Vision] 電腦視覺下的人臉30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言