資源描述:
《基于JavaCV的視頻人臉識(shí)別的實(shí)現(xiàn).pdf》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、SoftwareDevelopment·軟件開(kāi)發(fā)基于JavaCV的視頻人臉識(shí)別的實(shí)現(xiàn)文/王崟?摘本文主要介紹了基于JavaCV?仁?????的視頻人臉識(shí)別系統(tǒng)的實(shí)現(xiàn)原理?要和方法。???????а??仁?????????亴??????亴?????????【關(guān)鍵詞】人臉識(shí)別視頻JavaCV?????>=100?1引言????100?????????????????????人臉識(shí)別技術(shù)是基于人的臉部特征,對(duì)輸入的人臉圖像或者視頻流。首先判斷其是否存在人臉,如果存在人臉,則進(jìn)一步給出每個(gè)?????????????????????????????臉的
2、位置、大小和各個(gè)主要面部器官的位置信息。并依據(jù)這些信息,進(jìn)一步提取每個(gè)人臉中?所蘊(yùn)涵的身份特征,并將其與已知的人臉進(jìn)行???>=????對(duì)比,從而識(shí)別每個(gè)人臉的身份。JavaCV是一款開(kāi)源的視覺(jué)處理庫(kù),基?于GPLv2協(xié)議。JavaCV是對(duì)各種常用計(jì)算????????機(jī)視覺(jué)庫(kù)的封裝后的一組jar包,其中封裝了圖2?OpenCV、libdc1394、OpenKinect、videoInput????????和ARToolKitPlus等計(jì)算機(jī)視覺(jué)編程人員常用3.3視頻識(shí)別庫(kù)的接口,可以通過(guò)其中的utility類(lèi)方便的在?包括Android在內(nèi)的
3、Java平臺(tái)上調(diào)用這些接?仁????如圖1所示,從視頻開(kāi)始的位置,每隔口。指定時(shí)間取一張視頻截圖,對(duì)這張圖進(jìn)行人臉2視頻人臉識(shí)別的實(shí)現(xiàn)原理圖1:視頻識(shí)別流程識(shí)別,截出每個(gè)人臉,對(duì)人臉進(jìn)行灰度化、統(tǒng)一大小、高斯平滑等預(yù)處理。每到100個(gè)人臉視頻識(shí)別根據(jù)視頻的長(zhǎng)度截取期中若干進(jìn)行一次學(xué)習(xí)和特征值計(jì)算,將處理后的目標(biāo)IplImagedest=opencv_core.幀圖片,對(duì)每副圖片進(jìn)行人臉識(shí)別、預(yù)處理、圖片跟學(xué)習(xí)文件進(jìn)行比對(duì),找出置信度大于閾cvCreateImage(size,opencv_core.IPL_圖片學(xué)習(xí)。用目標(biāo)人臉圖片跟視頻中的人
4、臉進(jìn)值的人臉,取最高置信度的人臉?lè)祷?,作為備DEPTH_8U,1);行比對(duì),找到目標(biāo)人物。選圖片顯示在界面上,同時(shí)顯示其在視頻中出opencv_imgproc.cvCvtColor(src,dest,人臉識(shí)別主要采用主成分分析(PCA)方現(xiàn)的時(shí)間。如果沒(méi)有大于閾值的人臉,繼續(xù)從opencv_imgproc.CV_BGR2GRAY);//灰度化法,將人臉圖像區(qū)域處理成一種隨機(jī)向量,利視頻中截取下100張人臉,重復(fù)上述動(dòng)作,直CvSizesize2=newCvSize(150,150);用K-L變換得到正交變換基,對(duì)應(yīng)較大特征至視頻掃描完畢。當(dāng)找
5、到了大于閾值的人臉后,IplImagedest2=opencv_core.值的基底具有與人臉相似的形狀。利用基底的用戶(hù)可以選擇繼續(xù)在視頻中尋找,或者停止尋cvCreateImage(size2,dest.depth(),dest.線(xiàn)性組合來(lái)實(shí)現(xiàn)人臉圖像的特征提取和特征選找。nChannels());擇。opencv_imgproc.cvResize(dest,dest2,opencv_3.4結(jié)果展示將視頻中每N張人臉進(jìn)行預(yù)處理和特征imgproc.CV_INTER_CUBIC);//縮放大小值計(jì)算,通過(guò)變換矩陣,投射到子空間,實(shí)現(xiàn)IplIma
6、gedest3=opencv_core.如圖2所示,用戶(hù)可以查看識(shí)別的結(jié)果,數(shù)據(jù)降維;學(xué)習(xí)文件輸出。再將目標(biāo)圖片進(jìn)行cvCreateImage(size2,dest.depth(),dest.即該人臉出現(xiàn)在視頻中的原圖和時(shí)間。如果有預(yù)處理后和學(xué)習(xí)文件進(jìn)行對(duì)比,選出均方差之nChannels());多個(gè)結(jié)果,用戶(hù)可以使用按鈕前后預(yù)覽。和最小的一個(gè)計(jì)算置信度,置信度高于判決門(mén)opencv_imgproc.cvSmooth(dest2,dest3,限則認(rèn)定找到,返回原圖片和出現(xiàn)時(shí)間,否則4總結(jié)opencv_imgproc.CV_GAUSSIAN,3
7、,3,0,0);//認(rèn)為找不到。平滑本文介紹了一種基于JavaCV的視頻人臉3視頻人臉識(shí)別的實(shí)現(xiàn)過(guò)程識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),重點(diǎn)介紹了視頻識(shí)別3.2視頻加載的流程,展示了系統(tǒng)運(yùn)行結(jié)果。3.1圖片預(yù)處理用戶(hù)選擇一個(gè)視頻文件,然后設(shè)置3個(gè)程序首先對(duì)目標(biāo)圖片中的人臉進(jìn)行識(shí)別,參數(shù):作者簡(jiǎn)介如果存在多個(gè)人臉,保留最大的那個(gè)。截取到(1)視頻識(shí)別間隔:該參數(shù)用來(lái)決定多王崟(1981-),女,碩士研究生學(xué)歷。現(xiàn)為人臉后,對(duì)該圖片進(jìn)行灰度化處理,將其大小少毫秒對(duì)視頻進(jìn)行一次采樣。南京信息職業(yè)技術(shù)學(xué)院計(jì)算機(jī)與軟件學(xué)院講調(diào)整成150*150,然后對(duì)圖片進(jìn)行高斯平
8、滑處(2)置信度:該參數(shù)在0-1.0之間,如師。研究方向?yàn)閿?shù)據(jù)交換。理。果該值設(shè)置的比較低,誤識(shí)率會(huì)比較高。如果//設(shè)置源圖像ROI值比較大,某些匹配的結(jié)果會(huì)被丟棄