日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于AdaBoost的人脸检测 含源码

發布時間:2023/12/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于AdaBoost的人脸检测 含源码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

需要完整源碼 聯系我QQ 1752744377@qq.com
基于AdaBoost的人臉檢測
一 、實驗目的
? 掌握利用AdaBoost及級聯分類器進行人臉檢測的基本方法,通過實驗加深對基本概念的理解。

二 實驗原理
人臉檢測是指對于任意一幅給定的圖像,采用一定的策略對其進行搜索以確定其中是否含有人臉,如果是則返回人臉的位置、大小和姿態。
Adaboost核心思想是通過訓練分類器得到檢測的目的,不僅僅是人臉,人的眼睛,人上身都可以作為檢測的對象,在Matlab以及OpenCV中都有相應的訓練結果可以調用,
大部分運行效率較高的只能算法都是通過提取高效以及利于識別和處理的特征實現的,而Adaboost算法也是一樣的。Adaboost(Adaptive Boosting)是Freund和Schapire在PAC(ProbablyApproximately Correct)模型基礎上提出的一種學習模型,它的算法思想是:通過對大量正樣本和負樣本的學習,通過學習的反饋,弱分類器在不知道先驗的訓練誤差的前提下,自適應的調整錯誤率以及相應的權重,直到強分類器達到預定的性能。
Viola等人將Adaboost算法應用于人臉檢測,同時將Haar特征和Cascade算法和Adaboost算法結合,大大提高了檢測的速度和檢測的精確率,其論文的主要工作是:①引入了一種計算簡單卻十分有效的矩形特征(Haar特征),用來描述人臉圖片的灰度分布情況,同時提出了積分圖的概念,矩形特征和積分圖的結合有助于檢測速度的提高。②利用 Adaboost優秀的數據挖掘能力從海量的Haar特征中,挑選出若干個具有最佳樣本分類能力的 Haar特征,將Haar特征轉化為弱分類器,最后以線性組合的方式得到最終的強分類器;③提出了一種由粗到精的檢測思路,構造了一個級聯人臉檢測器:先用簡單的強分類器的把圖片中大部分的背景區域剔除,再逐步遞增強分類器的復雜度(即構成它的弱分類器數量),不斷地過濾掉剩余的背景區域,最后通過所有強分類器的則為人臉窗口。這種檢測思路有效的提升了檢測速度。進行Adaboost算法之前,必須要得到的是Haar特征,從而得到提高計算效率的積分圖:
①trainCascadeObjectDetector函數可以使用Haar特征、梯度方向直方圖(Histograms of Oriented Gradients,HOG)、局部二進制模式(Local Binary Pattern,LBP)等實現目標檢測器的訓練,最后以xml格式的文件返回目標檢測器的結果。
②CascadeObjectDetector,該函數可以創建一個目標檢測器,它是通過Viola-Jones算法訓練實現的,通過對1中訓練得到的結果來實現對目標檢測器的創建,同時也可以使用工具箱中已經訓練好的文件實現檢測器的創建。還可以通過制定目標檢測模型指定生成的目標檢測器的模型,這里的模型實質目標檢測器具體適用的檢測目標,比如眼睛、耳朵、臉等,默認檢測目標是臉。
③檢測器的模型通過CasacdeObjectDetector(Model)指定,其中Model是通過輸入一行字符串得到的,Model的類型包括FrontalFace(CART)、Frontal Face(LBP)、Upper Body等,默認為FrontalFaceCART。
④BBOX = step(detector, I)可以返回的矩陣BBOX,其中矩陣的每一行可以指定檢測到目標的矩形區域,通過矩形左上角橫、縱坐標的以及矩形長、寬4個參數確定矩形區域。代表檢測到的目標個數

三 實驗步驟及程序
?1 實驗步驟
(1)創建一個人臉檢測系統對象
(2)讀入視頻的每一幀
(3)對每一幀視頻進行人臉檢測
(4)將檢測出的人臉在圖像上標出并顯示
(5)對每一幀視頻進行人臉檢測
(6)將檢測出的人臉在圖像上標出并顯示
(7) 對每一幀視頻進行人臉檢測
(8) 將檢測出的人臉在圖像上標出并顯示

?2 實驗流程圖
?
圖3-1 人臉檢測流程圖
3 實驗程序
%創建一個人臉檢測系統對象(system object)
faceDetector=vision.CascadeObjectDetector();
%讀入視頻的每一幀
videoFileReader=vision.VideoFileReader('C:\Users\mimos\Downloads\馬云.jpg');
videoFrame=step(videoFileReader);
%對每一幀視頻進行人臉檢測
bbox=step(faceDetector,videoFrame);
%將檢測出的人臉在圖像上標出并顯示
boxInserter =vision.ShapeInserter('BorderColor','Custom',...
? ? 'CustomBorderColor',[255 255 0]);
videoOut=step(boxInserter,videoFrame,bbox);
figure,imshow(videoOut),title('馬云');
videoFileReader=vision.VideoFileReader('C:\Users\mimos\Downloads\老詹.jpg');
videoFrame=step(videoFileReader);
%對每一幀視頻進行人臉檢測
bbox=step(faceDetector,videoFrame);
%將檢測出的人臉在圖像上標出并顯示
boxInserter =vision.ShapeInserter('BorderColor','Custom',...
? ? 'CustomBorderColor',[255 255 0]);
videoOut=step(boxInserter,videoFrame,bbox);
figure,imshow(videoOut),title('老詹');
videoFileReader=vision.VideoFileReader('C:\Users\mimos\Downloads\C羅.jpg');
videoFrame=step(videoFileReader);
%對每一幀視頻進行人臉檢測
bbox=step(faceDetector,videoFrame);
%將檢測出的人臉在圖像上標出并顯示
boxInserter =vision.ShapeInserter('BorderColor','Custom',...
? ? 'CustomBorderColor',[255 255 0]);
videoOut=step(boxInserter,videoFrame,bbox);
figure,imshow(videoOut),title('C羅');
videoFileReader=vision.VideoFileReader('C:\Users\mimos\Downloads\喬幫主.jpg');
videoFrame=step(videoFileReader);
%對每一幀視頻進行人臉檢測
bbox=step(faceDetector,videoFrame);
%將檢測出的人臉在圖像上標出并顯示
boxInserter =vision.ShapeInserter('BorderColor','Custom',...
? ? 'CustomBorderColor',[255 255 0]);
videoOut=step(boxInserter,videoFrame,bbox);
figure,imshow(videoOut),title('喬幫主');
videoFileReader=vision.VideoFileReader('C:\Users\mimos\Downloads\梅西.jpg');
videoFrame=step(videoFileReader);
%對每一幀視頻進行人臉檢測
bbox=step(faceDetector,videoFrame);
%將檢測出的人臉在圖像上標出并顯示
boxInserter =vision.ShapeInserter('BorderColor','Custom',...
? ? 'CustomBorderColor',[255 255 0]);
videoOut=step(boxInserter,videoFrame,bbox);
figure,imshow(videoOut),title('梅西');
videoFileReader=vision.VideoFileReader('C:\Users\mimos\Downloads\張國榮.jpg');
videoFrame=step(videoFileReader);
%對每一幀視頻進行人臉檢測
bbox=step(faceDetector,videoFrame);
%將檢測出的人臉在圖像上標出并顯示
boxInserter =vision.ShapeInserter('BorderColor','Custom',...
? ? 'CustomBorderColor',[255 255 0]);
videoOut=step(boxInserter,videoFrame,bbox);
figure,imshow(videoOut),title('張國榮');
videoFileReader=vision.VideoFileReader('C:\Users\mimos\Downloads\鳳姐.jpg');
videoFrame=step(videoFileReader);
%對每一幀視頻進行人臉檢測
bbox=step(faceDetector,videoFrame);
%將檢測出的人臉在圖像上標出并顯示
boxInserter =vision.ShapeInserter('BorderColor','Custom',...
? ? 'CustomBorderColor',[255 255 0]);
videoOut=step(boxInserter,videoFrame,bbox);
figure,imshow(videoOut),title('鳳姐 face');
videoFileReader=vision.VideoFileReader('C:\Users\mimos\Downloads\周立波.jpg');
videoFrame=step(videoFileReader);
%對每一幀視頻進行人臉檢測
bbox=step(faceDetector,videoFrame);
%將檢測出的人臉在圖像上標出并顯示
boxInserter =vision.ShapeInserter('BorderColor','Custom',...
? ? 'CustomBorderColor',[255 255 0]);
videoOut=step(boxInserter,videoFrame,bbox);
figure,imshow(videoOut),title('周立波');
videoFileReader=vision.VideoFileReader('C:\Users\mimos\Downloads\達康書記.jpg');
videoFrame=step(videoFileReader);
%對每一幀視頻進行人臉檢測
bbox=step(faceDetector,videoFrame);
%將檢測出的人臉在圖像上標出并顯示
boxInserter =vision.ShapeInserter('BorderColor','Custom',...
? ? 'CustomBorderColor',[255 255 0]);
videoOut=step(boxInserter,videoFrame,bbox);
figure,imshow(videoOut),title('達康書記');
videoFileReader=vision.VideoFileReader('C:\Users\mimos\Downloads\白百合.jpg');
videoFrame=step(videoFileReader);
%對每一幀視頻進行人臉檢測
bbox=step(faceDetector,videoFrame);
%將檢測出的人臉在圖像上標出并顯示
boxInserter =vision.ShapeInserter('BorderColor','Custom',...
? ? 'CustomBorderColor',[255 255 0]);
videoOut=step(boxInserter,videoFrame,bbox);
figure,imshow(videoOut),title('白百合');
videoFileReader=vision.VideoFileReader('C:\Users\mimos\Downloads\王思聰.jpg');
videoFrame=step(videoFileReader);
%對每一幀視頻進行人臉檢測
bbox=step(faceDetector,videoFrame);
%將檢測出的人臉在圖像上標出并顯示
boxInserter =vision.ShapeInserter('BorderColor','Custom',...
? ? 'CustomBorderColor',[255 255 0]);
videoOut=step(boxInserter,videoFrame,bbox);
figure,imshow(videoOut),title('王思聰');}
四 實驗結果與分析
運用AdoBoost算法對含有不同人不同場景的檢測如下圖所示。
?
圖4-1 多人臉圖像識別
? ? ? ?
圖4-2單人臉圖像檢測結果

?


從檢測結果可以看出,運用AdoBoost算法進行不同人不同場景下的人臉識別效果很好。但依舊存在一些問題,有時也會出現一些識別錯誤,比如多人識別時識別側臉時或有問題。此時我們需要處理好弱分類器閾值、特征值相差程度等,以降低區間率而同時達到較高的檢測率。 ??
基于圖像的人臉檢測方法具有很強的適應能力和魯棒性,但由于需要對所有
可能的檢測窗口進行窮舉搜索,因此計算復雜度高;而且這類方法需要消耗大量的時間和精力收集和訓練樣本,特別是非人臉樣本的選取仍存在很大的困難。
綜上所述,人們在人臉檢測領域做了大量工作,提出了許多方法,但現有的系統仍存在對限制條件要求較嚴格、魯棒性較差、誤檢率過高等缺點,這些也限制了人臉識別系統的應用范圍。所以進一步利用人臉的灰度分布、幾何形狀、膚色、紋理、運動等知識研究適應性強、分割精度高的快速算法仍是人們未來的工作,因而人臉檢測方法的發展方向是建立更有效的人臉描述和搜索計算策略模型。

總結

以上是生活随笔為你收集整理的基于AdaBoost的人脸检测 含源码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费av不卡 | 亚洲视屏在线观看 | 美日韩一级 | 欧美视频免费在线 | 91大神在线看| 婷婷色av| 99色综合网| 国产日视频 | 久久影院中文字幕 | 一区二区三区免费看视频 | 国产性生活一级片 | 第一色影院 | 在线观看中文字幕一区二区 | 精品国产伦一区二区三区 | 蜜桃网av | 九九自拍视频 | 久久青青国产 | aaaa一级片| 老女人做爰全过程免费的视频 | 一区二区三区人妻 | 天天摸天天操天天爽 | 久久久久九九 | 成人免费在线播放 | 欧美精品三级 | 国产日韩欧美中文 | 成人片黄网站久久久免费 | 亚洲专区欧美 | 久久午夜精品人妻一区二区三区 | 黄色免费看网站 | 亚洲免费在线视频观看 | 狠狠五月天 | 韩国禁欲系高级感电影 | 秋霞久久精品 | 久久综合区 | 久久精品视 | 动漫玉足吸乳羞免费网站玉足 | 欧美色图亚洲色 | 国产又粗又长又黄 | 波多野一区二区三区 | av片观看| 国产日产精品一区二区 | 重囗味sm一区二区三区 | 日本三级一区二区三区 | 成年人福利网站 | 国产天堂视频 | av2014天堂| 国产成人av一区二区三区在线观看 | 永久免费,视频 | 午夜欧美精品久久久久久久 | 成人在线视频在线观看 | 91成年人视频 | 欧美性生交大片免费看 | 日韩网站在线 | 四虎影院永久 | 色妇网| 亚洲狼人在线 | 久久精品99国产国产精 | 我和我的太阳泰剧在线观看泰剧 | 最近2018年手机中文字幕版 | 免费看女生裸体视频 | 亚洲免费久久 | 丁香九月婷婷 | 欧美精品福利视频 | 森泽佳奈在线播放 | 色吧五月天 | 国产偷自拍 | 亚洲国产精品自拍视频 | 无码人妻熟妇av又粗又大 | 无码一区二区三区在线观看 | 色交视频 | 无码 制服 丝袜 国产 另类 | 亚洲精品无码不卡在线播he | 国产成人精品视频在线 | a∨视频| jizz黄色片| 日韩手机看片 | 国偷自产视频一区二区久 | 男人添女人下部高潮全视频 | 蜜桃在线一区二区 | 在线v| 日本www网站 | 国产精选第一页 | 高清欧美性猛交xxxx | 成年人免费在线 | 色老头在线视频 | 又黄又爽又刺激的视频 | 黄色三级带 | 国产美女诱惑 | 黑人玩弄人妻一区二区三区四 | 香港三日本8a三级少妇三级99 | 亚洲精品无码久久久久久久 | 午夜黄色网 | 欧美性视频网站 | 丁香激情婷婷 | 久久精品亚洲天堂 | jizz成熟丰满日本少妇 | 一区二区三区入口 | 三级国产在线 | 三上悠亚在线播放 |