淺理解C++ 人臉識(shí)別系統(tǒng)的實(shí)現(xiàn)
機(jī)器學(xué)習(xí)
- 機(jī)器學(xué)習(xí)的目的是把數(shù)據(jù)轉(zhuǎn)換成信息。
- 機(jī)器學(xué)習(xí)通過從數(shù)據(jù)里提取規(guī)則或模式來把數(shù)據(jù)轉(zhuǎn)成信息。
人臉識(shí)別
- 人臉識(shí)別通過級(jí)聯(lián)分類器對特征的分級(jí)篩選來確定是否是人臉。
- 每個(gè)節(jié)點(diǎn)的正確識(shí)別率很高,但正確拒絕率很低。
- 任一節(jié)點(diǎn)判斷沒有人臉特征則結(jié)束運(yùn)算,宣布不是人臉。
- 全部節(jié)點(diǎn)通過,則宣布是人臉。
工業(yè)上,常用人臉識(shí)別技術(shù)來識(shí)別物體。
基于深度學(xué)習(xí)的人臉識(shí)別系統(tǒng),一共用到5個(gè)開源庫:OpenCV(計(jì)算機(jī)視覺庫)、Caffe(深度學(xué)習(xí)庫)、Dlib(機(jī)器學(xué)習(xí)庫)、libfacedetection(人臉檢測庫)、cudnn(gpu加速器)。
用到一個(gè)開源的深度學(xué)習(xí)模型:VGG model。
#include "opencv2/core/core.hpp" #include "opencv2/objdetect/objdetect.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <iostream> #include <stdio.h> using namespace std; using namespace cv; string face_cascade_name = "haarcascade_frontalface_alt.xml"; CascadeClassifier face_cascade; string window_name = "人臉識(shí)別"; void detectAndDisplay( Mat frame ); int main( int argc, char** argv ){ Mat image; image = imread( argv[1]); if( argc != 2 || !image.data ){ printf("[error] 沒有圖片\n"); return -1; } if( !face_cascade.load( face_cascade_name ) ){ printf("[error] 無法加載級(jí)聯(lián)分類器文件!\n"); return -1; } detectAndDisplay(image); waitKey(0); } void detectAndDisplay( Mat frame ){ std::vector<Rect> faces; Mat frame_gray; cvtColor( frame, frame_gray, CV_BGR2GRAY ); equalizeHist( frame_gray, frame_gray ); face_cascade.detectMultiScale( frame_gray, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30) ); for( int i = 0; i < faces.size(); i++ ){ Point center( faces[i].x + faces[i].width*0.5, faces[i].y + faces[i].height*0.5 ); ellipse( frame, center, Size( faces[i].width*0.5, faces[i].height*0.5), 0, 0, 360, Scalar( 255, 0, 255 ), 4, 8, 0 ); } imshow( window_name, frame ); }
參考文章:https://www.cnblogs.com/justany/archive/2012/11/22/2781552.html
到此這篇關(guān)于淺理解C++ 人臉識(shí)別系統(tǒng)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)C++ 人臉識(shí)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- opencv 做人臉識(shí)別 opencv 人臉匹配分析
- Python 40行代碼實(shí)現(xiàn)人臉識(shí)別功能
- python實(shí)現(xiàn)人臉識(shí)別代碼
- Android camera實(shí)時(shí)預(yù)覽 實(shí)時(shí)處理,人臉識(shí)別示例
- python實(shí)現(xiàn)人臉識(shí)別經(jīng)典算法(一) 特征臉法
- 微信小程序?qū)崿F(xiàn)人臉識(shí)別
- JavaScript人臉識(shí)別技術(shù)及臉部識(shí)別JavaScript類庫Tracking.js
- Python基于Opencv來快速實(shí)現(xiàn)人臉識(shí)別過程詳解(完整版)
- python使用opencv進(jìn)行人臉識(shí)別
- python3+dlib實(shí)現(xiàn)人臉識(shí)別和情緒分析
相關(guān)文章
c++ STL set_difference set_intersection set_union 操作
這篇文章主要介紹了c++ STL set_difference set_intersection set_union 操作,需要的朋友可以參考下2017-03-03詳解C++編程中的主表達(dá)式與后綴表達(dá)式編寫基礎(chǔ)
這篇文章主要介紹了C++編程中的主表達(dá)式與后綴表達(dá)式編寫基礎(chǔ),是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-01-01C++ 實(shí)現(xiàn)旋轉(zhuǎn)蛇錯(cuò)覺的詳細(xì)代碼
這篇文章主要介紹了C++ 實(shí)現(xiàn)旋轉(zhuǎn)蛇錯(cuò)覺的詳細(xì)代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09C語言實(shí)現(xiàn)隨機(jī)生成6位數(shù)密碼
這篇文章主要為大家詳細(xì)介紹了如何使用C語言實(shí)現(xiàn)一個(gè)簡單而實(shí)用的隨機(jī)密碼生成器,該生成器將生成包含字母、數(shù)字和特殊字符的隨機(jī)密碼,有需要的小伙伴可以參考下2023-11-11