關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于OpenCV的人臉識別設計方案

        基于OpenCV的人臉識別設計方案

        作者: 時間:2012-07-17 來源:網(wǎng)絡 收藏

        3.2 圖像預處理

        由于大部分的臉部檢測算法對光照,臉部大小,位置表情等非常敏感, 當檢測到臉部后需利用cvCvtcolor()轉(zhuǎn)化為灰度圖像,利用cvEqualizeHist()進行直方圖歸一化處理。

        3.3 臉部檢測方法

        采用一種叫做Haar cascade classifier 的檢測器,他利用保存在XML 文件中的數(shù)據(jù)來確定每一個局部搜索圖像的位置,先用cvLoad()從文件中加載CvHaarClassifierCascade 變量, 然后利用cvHaarDetectObjects()來進行檢測,函數(shù)使用針對某目標物體訓練的級聯(lián)分類器在圖像中找到包含目標物體的矩形區(qū)域,并且將這些區(qū)域作為一序列的矩形框返回,最終檢測結(jié)果保存在cvRect 變量中。

        3.4 臉部方法

        步驟及所需函數(shù)如圖2 所示。


        圖2 步驟(visio)

        PCA 方法(即特征臉方法)是M.Turk 和A.Pentland在文獻中提出的,該方法的基本思想是將圖像向量經(jīng)過K-L 變換后由高維向量轉(zhuǎn)換為低維向量,并形成低維線性向量空間,即特征子空間,然后將投影到該低維空間,用所得到的投影系數(shù)作為識別的特征向量。識別時,只需將待識別樣本的投影系數(shù)與數(shù)據(jù)庫中目標樣本集的投影系數(shù)進行比對,以確定與哪一類最近。

        PCA 算法分為兩步:核心臉數(shù)據(jù)庫生成階段,即訓練階段以及識別階段。

        3.4.1 訓練階段

        主要需要經(jīng)過如下的幾步:

        (1) 需要一個訓練人臉照片集。

        (2) 在訓練人臉照片集上計算特征臉,即計算特征值,保存最大特征值所對應的的M 張圖片。這M 張圖片定義了“特征臉空間”(原空間的一個子空間)。當有新的人臉添加進來時,這個特征臉可以進行更新和重新計算得到。

        (3) 在“特征臉空間”上,將要識別的各個個體圖片投影到各個軸(特征臉)上,計算得到一個M 維的權(quán)重向量。簡單而言,就是計算得到各個個體所對應于M 維權(quán)重空間的坐標值。

        實現(xiàn)為:先用cvLoadImage()載入圖片并利用cvCvtcolor()轉(zhuǎn)換為灰度圖片,建立自定義的迭代標準CvTermCriteria,調(diào)用cvCalcEigenObjects()進行PCA 操作,計算出的Eigenface 都存放在向量組成的數(shù)組中,利用cvEigenDecomposite()將每一個訓練圖片投影在PCA 子空間(eigenspace)上,結(jié)果保存在矩陣數(shù)組中,用cvWrite《datatype》()將訓練結(jié)果保存至XML文件中。下面圖3 為訓練得到的部分特征臉圖像。


        圖3 特征臉圖像

        c++相關(guān)文章:c++教程


        cvt相關(guān)文章:cvt原理


        全息投影相關(guān)文章:全息投影原理


        關(guān)鍵詞: 設計 方案 識別 人臉 OpenCV 基于

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 健康| 邛崃市| 兰溪市| 于田县| 黔西县| 万山特区| 台山市| 南陵县| 广安市| 崇信县| 运城市| 安远县| 辉县市| 崇阳县| 嘉鱼县| 招远市| 奉贤区| 邵阳县| 松阳县| 新巴尔虎右旗| 东丽区| 广南县| 涟源市| 平泉县| 辉县市| 彰化县| 定安县| 潜山县| 旺苍县| 伊金霍洛旗| 南开区| 成武县| 霍城县| 石台县| 汨罗市| 金川县| 新和县| 繁峙县| 邢台市| 武邑县| 苗栗县|