1. 程式人生 > >魯棒的實時人臉檢測:Robust Real-Time Face Detection

魯棒的實時人臉檢測:Robust Real-Time Face Detection

2.2 特徵討論
       矩形特徵較其替代品是有些原始的,如可控濾波器(Freeman和 Adelson,1991年,Greenspan 等人,1994年)。可控波濾器,及其相關濾波器,對於邊界的詳細分析,影象壓縮,紋理分析是很好的。然而矩形特徵對邊緣,條狀和其他簡單的影象結構的表示也是敏感的,不過相當粗糙。與可控濾波器不同的是,矩形特徵可用的方向只有垂直的,水平的和對角的。由於正交性不以特徵集為中心,我們選擇生成一個非常大的可變的矩形特徵集。通常情況下,表示形式約400倍超完備。超完備集提供任意方向比例的特徵並具有精細的取樣位置。從經驗上來看,矩形特徵集好像提出了支援有效學習的一種豐富的影象表示。矩形特徵的極高的計算效率充分彌補了其侷限性。
      為更好地理解積分影象技術的計算優勢,可以考慮更傳統的方法來計算一個金字塔式的影象。像大多數的人臉檢測系統一樣,我們的探測器從許多尺度掃描輸入影象;從基本尺度開始掃描,在一個大小為24×24畫素的人臉影象上檢測,一個384×288畫素的影象在12個尺度上被掃描,每次均比上一個尺度大1.25倍。而傳統的方法是計算12個影象的一個金字塔式,每個比之前的的影象小1.25倍。然後用一個固定尺度的探測器掃描這些影象。計算金字塔,雖然簡單,但需要大量的時間。在常規的硬體上有效實現它(使用雙線性插值縮放每層的金字塔)大約需要0.05秒計算一個這種規模的12級金字塔(用Intel PIII 700 MHz處理器)。
      作為對照,我們已經定義了一個有意義的矩形特徵集,它具有這樣的性質,一個單一的特徵可以在任何尺度和位置上在幾步操作之內計算出來。我們將在第4節介紹,有效的人臉檢測器可以用少到兩個矩形特徵構建。給定這些特徵的計算效率,在整個影象上,人臉檢測程式在每一個尺度上計算速度達到15幀每秒,單獨計算12級影象金字塔大約需要相同的時間。需要計算這種型別金字塔的任何程式的執行速度一定慢於我們的探測器。

3. 學習分類函式
給定正負樣本影象的特徵集和訓練集,任意數量的機器學習方法都可以學習分類函式。Sung 和 Poggio使用一種混合高斯模型(Sung 和Poggio,1998年)。 Rowley等人(1998年)使用簡單影象特徵的一小部分和神經網路。Osuna等人(1997b)使用支援向量機。更有甚者,最近Roth等人(2000年)提出了一種新的不同尋常的影象表示,並用於簸學習過程。
回想一下有160,000個與每個影象子視窗相關的矩形特徵,數目遠遠大於畫素數。儘管每個特徵可以被非常有效地計算,但是計算一套完整的特徵的代價也貴得離譜。我們假設,這已被實驗證實,組合少量特徵來形成一個有效的分類器。面臨的主要挑戰是要找到這些特徵。
在我們的系統中,使用一個變種的AdaBoost演算法來選擇特徵和訓練分類器(Freund和Schapire,1995年)。在其原來的形式中,AdaBoost的學習演算法是用來提升一個簡單學習演算法的分類效能(例如,它可能被用來提升一個簡單感知器的效能)。它通過結合弱分類函式來形成一個更強的分類器。在增強簡單學習演算法的語言中,它被稱為弱學習。因此,舉例來說,感知學習演算法在可能的感知器集合裡進行搜尋,以最低的分類錯誤率返回感知。這種學習之所以被稱為弱的是因為我們並不指望它能夠對訓練資料進行很好的分類,即使是最好的分類函式(即,對一個給定的問題,最好的感知器可能只有51%的時間能對訓練資料進行正確的分類)。為了提升弱學習,要求它解決一系列學習問題。經過第一輪的學習,樣本重新加權,以強調那些被之前的弱分類器錯誤分類的樣本。最終的強分類器採用感知器的形式,由閾值決定的弱分類器的加權組合而成。
       
AdaBoost的學習演算法提供了強大的正式保證。 Freund和Schapire證明,強分類器的訓練誤差在回合數的指數上趨近於零。更重要的是,後來的大量結果證明了泛化效能(Schapire等人, 1997)。關鍵的見解是泛化效能與樣本的幅度有關,AdaBoost實現大幅快速提升。
傳統的AdaBoost演算法可以很容易地解釋為一個貪婪的特徵選擇過程。考慮提升的一般問題,其中使用一個加權的多數表決機制結合一大組的分類函式。面臨的挑戰是如何將好分類函式的大的權值和弱分類函式的小的權值聯絡起來。然而好的分類器也有多種,對於從好的分類函式中選擇一小部分,AdaBoost是一個積極的選擇機制。打個比方,在弱分類器和特徵之間 ,AdaBoost是尋找少量好“特徵”的一種有效的演算法,但好“特徵”也有多種。
        
完成這個類比的一個實用方法是限制弱分類器於只依賴單一特徵的分類函式集中。支援這一目標,弱學習演算法選擇單一的矩形特徵,更好地分離正負樣本(這類似於Tieu and Viola (2000年)的在影象資料庫檢索領域的方法)。對於每個特徵,弱學習決定最佳的閾值分類函式,以使最少數目的樣本被錯誤分類。因此,一個弱分類器

相關推薦

實時人臉檢測Robust Real-Time Face Detection

2.2 特徵討論        矩形特徵較其替代品是有些原始的,如可控濾波器(Freeman和 Adelson,1991年,Greenspan 等人,1994年)。可控波濾器,及其相關濾波器,對於邊界的詳細分析,影象壓縮,紋理分析是很好的。然而矩形特徵對邊緣,條狀和其他簡單的影象結構的表示也是敏感的,不過相當

行人檢測論文筆記Robust Real-Time Face Detection

知識點 傅立葉變換的一個推論: 一個時域下的複雜訊號函式可以分解成多個簡單訊號函式的和,然後對各個子訊號函式做傅立葉變換並再次求和,就求出了原訊號的傅立葉變換。 卷積定理(Convolution Theorem):訊號f和訊號g的卷積的傅立葉變換

經典計算機視覺論文筆記——《Robust Real-Time Face Detection

        第一次讀這篇傳奇之作大概是九年前了,也就是2007年,而那時距論文正式發表(2004年)也已經有四年之久了。現在讀來,一些想法,在深度學習大行其道的今天仍然具有借鑑意義,讓人敬佩不已。         VJ人臉檢測器應該是歷史上第一個成功商業應用的實時人臉檢

10年後再看Robust Real-Time Face Detection(一)

這篇論文是人臉檢測上的經典之作。 作者是PAUL VIOLA。相較於其他的人臉檢測演算法, 該篇論文中提到的演算法的主要有點就是在保證較高的人臉檢測率的前提下, 實現了超高的檢測速度。 真正做到了實時性(Real Time), 當之無愧。 可以說之前的各種人臉檢測演算法均無

10年後再看Robust Real-Time Face Detection(二) 之學習分類函式

給定我們一個特徵集合, 一個訓練樣本集(也就是一幅幅樣本影象。 影象可能是有人臉的影象(稱為positive images), 影象也可能不含人臉的影象(negative images))。 那麼我們的任務就是採用機器學習的演算法學習一個分類函式。一旦學習到了這個函式, 我

10年後再看Robust Real-Time Face Detection(二) 之積分圖

   我們知道, 如果採用Naive 的方法去計算矩形特徵值是相當的麻煩和不現實的。 所以論文中作者引用了積分圖的概念, 那麼這樣我們只需要常數的時間內就可以計算任何一個矩形區域覆蓋的畫素灰度值之和。 那麼什麼是積分圖(Integral Image)呢?    積分, 故名

faced: CPU Real Time face detection using Deep Learning

What is the problem?There are many scenarios where a single class object detection is needed. This means that we want to detect the location of all objects

CPU Real-time Face Detection and Alignment-68 using MTCNN

mtcnn的landmark採用了5點迴歸,博主嘗試了68點迴歸,發現效果不錯! 主要特點:同時完成人臉檢測和特徵點回歸,演算法速度實時! 開源地址:https://github.com/samylee/mtcnn_landmark68(歡迎star和fork)   1

HAAR與DLib的實時人臉檢測之實現與對比

人臉檢測方法有許多,比如opencv自帶的人臉Haar特徵分類器和dlib人臉檢測方法等。 對於opencv的人臉檢測方法,優點是簡單,快速;存在的問題是人臉檢測效果不好。正面/垂直/光線較好的人臉,該方法可以檢測出來,而側面/歪斜/光線不好的人臉,無法檢測。因此,該方法不適合現場應用。而對於dlib人臉檢

MTCNN實時人臉檢測網絡詳解與opencv+tensorflow代碼演示

window gre 交叉 級聯 選擇 als beta text 多任務 MTCNN模型概述 多任務卷積神經網絡(MTCNN)實現人臉檢測與對齊是在一個網絡裏實現了人臉檢測與五點標定的模型,主要是通過CNN模型級聯實現了多任務學習網絡。整個模型分為三個階段,第一階段通過一

C4: Real-time pedestrian detection——C4實時行人檢測演算法

http://cs.nju.edu.cn/wujx/projects/C4/C4.htm Jianxin Wu實現的快速行人檢測方法。 Real-Time Human Detection Using Contour Cues: http://c2inet.sce.ntu.edu

人臉檢測MTCNN的訓練步驟和樣本的處理,文字描述

2018年04月20日 21:46:50 BigCowPeking 閱讀數:335 <span class="tags-box artic-tag-box"> <span class="l

超有趣!手把手教你用Python實現實時人臉檢測

  Instagram 的聯合創始人兼首席技術官 Mike Kreiger 說:“計算機視覺和機器學習其實已開始流行起來,但是對於大多數人來說,計算機看了影象後看到了什麼這方面還是比較模糊。”     近年來,計算機視覺這個神奇的領

人臉檢測MTCNN學習

Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks》論文解讀。本文來自於中國科學院深圳先進技術研究院,目

走近人臉檢測從VJ到深度學習(上)

http://mt.sohu.com/20160413/n444091833.shtml 作者:鄔書哲 中科院計算所智慧資訊處理重點實驗室VIPL課題組博士生 研究方向:目標檢測,尤其關注基於深度學習的目標檢測方法。   本文分上下兩篇,上篇主要介紹人臉檢測的基本流程,以及傳統的VJ人臉檢測器及

opencv實現攝像頭實時人臉檢測

昨天晚上在大神的帶領下領略了opencv的風采,搞得我都想換行搞機器視覺了,這個庫真的太好用了,用很簡單的程式碼就能寫出自己的人臉檢測程式。 我把程式直接貼出來,大家一次討論學習,平臺是opencv2.4.10 + win10 + VS2013 #include<io

VLC for Android 基於 Opencv 對 RTSP視訊 實時人臉檢測

最近專案上需要在Android客戶端 通過獲取 RTSP 的視訊進行實時人臉檢測, 要做就就是以下幾點: 1、通過VLC 獲取 獲取RTSP 2、對VLC中播放的視訊進行實時截圖並儲存在SD卡中 3、用opencv對截圖後的檔案進行 人臉檢測 4、用擷取

OpenCV例子四:攝像頭實時人臉檢測

#include "stdafx.h" #include <iostream> #include <opencv2/imgproc/imgproc.hpp> // Gaussian Blur #include <opencv2/core/co

人臉識別技術大總結1——Face Detection & Alignment

人臉識別技術大總結1——Face Detection & Alignment 搞了一年人臉識別,尋思著記錄點什麼,於是想寫這麼個系列,介紹人臉識別的四大塊:Face detection, alignment, verification and identi

Train C4: Real-time pedestrian detection models——C4行人檢測演算法訓練過程

1.樣本的準備         樣本可以使用之前訓練的模型,通過OpenCV的imwrite截圖儲存然後再人工篩選,這個C4-Real-time-pedestrian-detection工程裡面我有實現。也可以自己寫一個程式,手動截圖。將正樣本都裁剪成只包