1、系統(tǒng)的人臉識(shí)別
? 使用CoreImage里面的CIFaceFeature
- ? 可以實(shí)現(xiàn)圖片的人臉檢測(cè),以及人臉的眼睛,嘴巴的位置定位。
- ? 可以檢測(cè)眨眼和微笑
- ? 實(shí)現(xiàn)起來比較簡(jiǎn)單。
- ? 精度還算比較好
?
? 實(shí)時(shí)視頻預(yù)覽,拍照
- AVCapture + CIFaceFeature
? 在 AVCaptureVideoDataOutputSampleBufferDelegate 協(xié)議的
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection;
? 方法里面拿出當(dāng)前幀的圖片進(jìn)行人臉識(shí)別:微笑相機(jī)
- AVCapture中的 AVMetadataFaceObject
-
設(shè)置 AVCaptureMetadataOutput中的
metadataObjectTypes = @[AVMetadataObjectTypeFace];并添加到 AVCaptureSession中去
-
監(jiān)聽 AVCaptureMetadataOutputObjectsDelegate回調(diào)并在回調(diào)方法:
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection;中取得metadataObjects數(shù)組。
-
在 AVCaptureVideoDataOutputSampleBufferDelegate 協(xié)議的:
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection;方法里面取出metadataObjects數(shù)組,強(qiáng)制轉(zhuǎn)換為 AVMetadataFaceObject對(duì)象作處理。
?
? 以上兩種方法由官方提供,返回識(shí)別到的人臉的范圍,前置攝像頭加上馬賽克特效很流暢。后置攝像頭比較慢,不過應(yīng)該可以調(diào)低分辨率來提高效率。
- GPUImage 有對(duì)方法“1”進(jìn)行了封裝,運(yùn)行demo性能相對(duì)還是比較高。
2、Face++本地庫 FaceppLocalDetector
- 使用簡(jiǎn)單
- 只能檢測(cè)到人臉的范圍,精度相對(duì)于系統(tǒng)的會(huì)高一些(之前系統(tǒng)那些判斷不到的,還有誤判的用這個(gè)庫都沒有出現(xiàn))
- 有在線版
- 有提供付費(fèi)的SDK,人臉檢測(cè)、人臉關(guān)鍵點(diǎn)檢測(cè)和人臉分析,官網(wǎng)打出的廣告是美顏相機(jī),美圖秀秀等比較出名的幾個(gè)都是用的他的SDK。
3、訊飛開發(fā)平臺(tái)的人臉識(shí)別
- demo很詳細(xì),提供的framework里面每個(gè).h文件都有很詳細(xì)的中文注釋
- 有在線版本
- 本地靜態(tài)圖片識(shí)別,只能檢測(cè)到人臉的范圍,精度想對(duì)于系統(tǒng)的會(huì)高一些(之前系統(tǒng)那些判斷不到的,還有誤判的用這個(gè)庫都沒有出現(xiàn))
- 視頻預(yù)覽人臉識(shí)別(AVCapture),精度高,效率高,提供人臉眉毛,眼睛,鼻子,嘴巴共21個(gè)關(guān)鍵點(diǎn)檢測(cè)。效果很好。
- 離線版官方是說免費(fèi)的。
4、OpenCV
- 基于C++
- 可以通過官方提供的對(duì)應(yīng)的haarcascade_XXXXXX.xml文件檢測(cè)出臉,眼睛,鼻子,嘴巴等,臉的精度還可以,其余器官的很一般
- haarcascade_XXXXXX.xml文件我理解為物體特征分類器,里面記錄一系列物體特征的集合,檢測(cè)的精度和這些文件相關(guān)聯(lián),不過里面的數(shù)據(jù)很難理解