遮擋是一直以來困擾研究人員及技術人員的問題,原因是存在遮擋後,不管是對人臉進行檢測,還是其它屬性識別(如關鍵點、角度、姿態、年齡等)的效果都會有很大影響。
為了消除這些影響,一種思路是先判斷是否被遮擋,再進行屬性識別,另一種思路是在對人臉進行屬性識別時加入對遮擋的處理,提高演算法的魯棒性。
目前,暫時還沒有通用的解決方案。
1、分類器:將是否被遮擋作為分類器的乙個標籤,可以用單標籤,也可用多標籤來區分不用部位的遮擋。或者將單個部位摳patch出來,進行單個部位的遮擋分類。這種方案簡單易用,是目前的主流方案,但是全臉的遮擋檢測存在一定的瓶頸,適用於對準確率要求不高的問題,而單個部分的遮擋檢測強依賴於預處理,難以遷移且不利於對badcase進行後期維護。
2、cnn直接識別出人臉的各個部分(眼睛、鼻子及嘴巴等)生成partness maps,利用已經標註好的遮擋標籤,進行打分,例如faceness net。這種思路不新了,但應用也不多,適用於不要求將手部遮擋分開的情況。
3、利用空間三維關係判斷遮擋物與被遮擋物的前後生成遮擋關係邊界圖,再分割出人臉與遮擋物,從而根據分割輪廓判斷是否被遮擋。這是學術界存在的一種思路,但是相對來說,概念(三維關係的判斷)與步驟(三維關係-邊界圖-分割輪廓)都較為複雜,難以應用於實際。
1、在標註資料時就加上對遮擋的標註處理,將遮擋物的邊緣區分開來。
這種思路適用於需要準確識別出遮擋部位並作下一步處理的情況,先加入標註好的遮擋資料再根據遮擋部位的連貫性不同進行區分,例如在人臉分割中將遮擋物從人臉的mask之間劃分出來,或者在人臉關鍵點中帶遮擋的landmark標註為遮擋物邊緣。如果採用這種思路,後期還可根據分割區域的iou來計算遮擋面積的大小。
2、進行多工訓練,把是否被遮擋的屬性作為乙個分支任務。
這種思路適用於遮擋只是乙個輔助資訊來幫助提高原有的演算法效果。
1、各種遮擋物:the mafa dataset、the ijb-c dataset
2、主要為墨鏡遮擋:pgu-face: a dataset of partially covered facial images
3、其它遮擋資料集:the caltech occluded faces in the wild (cofw) benchmark dataset、large-scale datasets: faces with partial occlusions and pose variations in the wild
OpenCV人臉檢測 完整原始碼 思路
本博文ide為vs2013 opencv2.49 如下 程式截圖如下 如何來用opencv來實現能。下面給出opencv實現人臉檢測的一般步驟 1.載入人臉檢測器 2.開啟攝像頭 3.對進行灰度處理 其實可以不處理,上圖中原圖的標題欄就是未進行灰度處理進行的檢測,這裡的灰度是為下節人臉識別打基礎 4...
對於人臉識別檢測中出現遮擋問題的解決方案
摘要 人臉識別中,髮型遮擋是一種十分常見的遮擋型別,並且對人臉的正確識別具有極大的干擾。提出一種將頭髮的顏色模型和髮型特徵相結合的遮擋檢測方法。首先,採用機器學習的方法,對頭髮的顏色進行學習建模。然後,利用髮際線的特徵,將人臉劃分為若干扇形並分塊,採用逐步精細的方法對人臉的髮型遮擋區域進行檢測。實驗...
人臉識別和人臉檢測的區別
網上很多帖子 部落格在談人臉識別 人臉檢測,其實很多都弄混了,現在來糾正一下。觀點只代表作者本人 人臉識別是對已知人臉進行分類的過程。就像我們看到其他人一樣能夠分辨出誰是自己的朋友誰不是。人臉識別通常包括以下四個步驟 1 人臉檢測 是在影象中定位人臉區域的過程。也就是關心是不是人臉,至於關心是誰不是...