人臉識別調研總結


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM