今天同學讓我幫忙制作一個人臉表情識別的樣本庫,當中主要是對人臉進行裁剪,這里用到了一個相對較新的Matlab人臉檢測方法Face Parts Detection。網上百度了一下發現關於Matlab人臉檢測的代碼和資源並不多。故此專門撰寫一篇博客來具體介紹這個人臉檢測方法的用途。
一、下載相應的工具包
首先下載相應的工具包。matlab最方便的地方莫過於此了。直接下載、配置簡單、而且能夠查看源代碼,這里給出相應的工具包下載地址:Face Parts Detection工具包。
點擊“Download Zip”下載button開始下載,下載完畢后解壓,得到例如以下文件:
二、配置工具包
下載完畢后開始配置工具箱。首先須要強調一點,這種方法須要依賴兩個Matlab圖像處理方面的工具箱Image Processing Toolbox和Computer Vision System Toolbox。差點兒全部版本號的Matlab都默認集成了Image Processing工具箱。但對於Computer Vision System工具箱僅僅有相對較高版本號(Matlab2013及以上)的Matlab版本號才進行了集成,因此假設在程序運行過程中提示缺少相應的工具箱,則須要手動進行配置Computer Vision System。
假設Matlab已經配置好了以上兩個工具箱,接下來開始配置Face Parts Detection工具包,方法極其簡單,僅僅需在Set Path對話框中將當前工具箱的目錄(這里是Face_detection_Parts目錄)路徑加入到系統的搜索路徑就可以:
三、進行批量人臉檢測
工具箱配置完畢后開始利用其進行人臉檢測。
3.1、批量讀取圖片
首先,須要對數據庫中的圖像進行批量讀取,讀取完之后再進行人臉檢測。首先給出批量讀取的代碼。稍后解釋:
clear;
stImageFilePath= 'E:\CAS-PEAL-R1(1)\CAS-PEAL-R1\FRONTAL\Expression\';
stImageSavePath = 'E:\Face_Detection\';
dirImagePathList = dir(strcat(stImageFilePath,'*.tif')); %讀取該目錄下全部圖片的路徑(字符串格式)
iImageNum= length(dirImagePathList); %獲取圖片的總數量if iImageNum > 0 %批量讀入圖片,進行五官檢測,再批量檢測for i = 1: iIma