5

項目:人臉檢測人臉檢測和裁剪

說明:我想檢測和圖像作物臉。通過網絡攝像頭捕獲圖像,每個圖像只有一個臉部。我使用OpenCV臉部檢測器,但我對裁剪不滿意。因此,我開始使用STASM(http://www.milbo.users.sonic.net/stasm/)人臉標誌檢測器裁剪圖像.STASM使用OpenCV人臉檢測器在圖像中查找人臉,STASM在人臉中定位標誌。在光線不好的情況下,STASM的裁剪圖像不好,因爲它不能單獨檢測臉部。

1)我想知道任何更好的人臉檢測算法。我的主要目標是從圖像中裁剪臉部。

2)目前我正在使用STASM進行裁剪。在光線不好的情況下或在拍攝圖像時,如果未拍攝到整個或完整臉部(前額至下巴),則STASM裁剪不可靠(輸出將僅爲眼睛或嘴脣)。並且在我的應用程序中,如果沒有從痙攣中輸出正確的圖像,或者臉部沒有被剪裁,那麼我應該拒絕圖像。怎麼做?所以我打算通過找到眼睛來驗證圖像中的臉部。如果我的方法正確,如何從裁剪圖像中檢測眼睛?

+0

裁剪臉部後,您的目標是什麼?創建訓練集或做臉部識別? –

+0

裁剪後,我用它來創建一個良好的面部識別訓練集。 謝謝你的迴應... – 2vision2

回答

1

嘗試使用來自OpenCV的眼睛檢測器。並根據眼睛位置調整臉部框。

3

我在一個項目中使用嵌套級聯分類器檢測臉部的眼睛,因爲它在傳遞的示例中不合適,所以我獲得了相當不錯的結果。但後來我使用了一個額外的技巧:我將nestedCascade.detectMultiScale()的minNeighbors參數設置爲0.

這意味着您會得到很多結果。一隻眼睛可能會被認出。然後我檢查結果在臉部左側和右側的哪個位置收集。聚集點是實際的眼睛位置。

然後我旋轉初始圖像。旋轉中心是我找到的臉部中心,旋轉角度是檢測到的眼睛之間的角度。然後我對旋轉後的圖像進行另一次人臉檢測,並確保在nestedCascade.detectMultiScale()的參數中使用了非常低的比例因子。

結果是在大多數情況下一個完美正常化的面部圖像。當然,成功還取決於你的閃電條件有多糟糕。