2012-01-10 193 views
10

我正在嘗試使用opencv來檢測人臉。臉部不是正面的,相機從側面捕捉臉部,因此只能看到一隻眼睛和一部分嘴巴。我嘗試了多種配置的HaarDetectObjects,但沒有獲益。我改變了級聯,並且測試了: haarcascade_frontalface_default.xml,haarcascade_frontalface_alt.xml,haarcascade_profileface.xml,結果非常糟糕。還有其他更好的級聯嗎?還有其他建議嗎?使用OpenCV進行非正面圖像的人臉檢測

感謝

回答

8

你引用的級聯文件(例如aarcascade_frontalface_default.xml,haarcascade_frontalface_alt.xml,haarcascade_profileface.xml)使用完全正面面向檢測完全正面面形成。所以,一張臉的一半顯然不會被正確識別爲計算機的正確形狀。

你可能需要在這種情況下做的是培養OpenCV的認識到你的,這是「在這種情況下,face_的一半感興趣對象在OpenCV的行話,它被稱爲 - 。‘HaarTraining’使用thisthisthis文章作爲開始訓練的起點

一旦您使用您的數據(例如許多不同的臉部圖像)訓練好OpenCV,您將可以準備好一個XML級聯文件,您可以將其插入到您的自己的代碼來檢測一半的臉部。

祝你好運!

+4

半面也被稱爲簡介。 :) – Sam 2012-01-10 06:41:02

+0

Haarcascade_profileface.xml是用於配置文件的面孔(非正面,但橫向) – saurabheights 2016-01-28 07:23:54

+0

順便說一句,嘗試Haarcascade配置文件面對xml,但結果不是很準確。 – saurabheights 2016-03-17 08:20:21

9

現在你在OpenCV中有輪廓的臉新LBP級聯,由瓦迪姆Pisarevsky創建:

https://github.com/Itseez/opencv/blob/master/data/lbpcascades/lbpcascade_profileface.xml

顯然,它只能檢測正確的配置文件的臉,如此檢測到所有的個人資料面臨着一個具有運行第二翻轉圖像的步驟。

+0

這適用於全臉人臉。然而,對於部分側面人臉來說,這並不總是很好。現在有更好的配置文件級聯版本嗎? – 2016-08-10 05:48:16

+1

不是我所知道的,但是您始終可以使用配置文件面的數據庫來訓練您自己的一組面(您應該能夠找到一些面部數據庫)。如果您這樣做,請將生成的級聯提交給OpenCV,以便它可供社區使用。 – 2016-08-10 10:27:37

+0

這很有趣。感謝您記錄此限制和使其適用於所有配置文件面的過程。 – 2017-05-25 10:25:23