用OpenCV做人臉識別和性別識別contrib
人臉識別的故事說也說不完,調研的事還是交給大家吧。這裡說的是用OpenCV做人臉識別。
因為是真正的人臉識別,不是搞笑娛樂的東西,所以資料庫一定要強大的,推薦個網站http://www.face-rec.org/databases/。這裡有最全的人臉庫的概述,希望大家能找到自己需要的人臉庫(PS:我現在特別需要一個3d的人臉庫,不知道哪位大俠知道如何free獲取,或者願意共享給我那更是極好的了,先謝過咯)。這裡簡單介紹兩個庫,ORL和Yale,ORL是一個輕量級的庫,Yale更為複雜,但並不是免費的。
資料的準備:在我們程式裡需要讀取影象和對應的標籤,這裡採用CSV檔案,是一種簡單的資料互動格式,在我們最常用的Excel裡就支援這種格式。這種格式每條資訊佔一行。資訊格式為:檔名;標籤
至於人臉識別的具體實現,我已經在blog
最後再說一下人臉的標定。因為對Python也不是太熟悉,只給大家一個指令碼檔案吧,是\modules\contrib\doc\facerec\src\crop_face.py,通過這個指令碼可以製作自己需要的人臉圖片大小。
性別識別和視訊中的識別在對應的demo裡都有介紹,我這裡就不詳細說了,因為性別識別無非就是把訓練樣本的標籤只有兩類:男性和女性。需要說明的是,EigenFace是基於PCA的,是一種非監督的模型,不太適合性別識別的任務,這裡的demo用的是FisherFace
關於訓練的模型的儲存和呼叫,就是用save和load函式,好簡單的,就不介紹了吧。
最後說一下偽彩色圖的這個函式applyColorMap,其中colorMap引數是用來選擇偽彩色圖的樣式。因為人眼對顏色的敏感的程度要比對亮度的敏感程度要高,所以用偽彩色圖 的對比效果要更好。這才醫學影象處理中用的比較多,以前的B超現在都用彩超了,價格竟然要貴好多,其實就是一個偽彩色處理罷了,醫院真黑啊!!
作者:yang_xian521 發表於2012-7-15 11:52:46 原文連結