【武漢加油!中國加油!】挑戰七天 實現機器視覺檢測有沒有戴口罩系統——第一二三天

2020年1月30日,看到團團發的視頻,報道有用無人機勸老奶奶戴口罩的做法,突然萌生了這個想法,就是實現通過機器視覺檢測有沒有戴口罩。

那麼,既然無聊在家,就挑戰七天實現機器視覺檢測戴口罩。

【武漢加油!中國加油!】挑戰七天 實現機器視覺檢測有沒有戴口罩系統——第一二三天

【武漢加油!中國加油!】挑戰七天 實現機器視覺檢測有沒有戴口罩系統——第四五六七天

【B站視頻】:在家無聊寫了一個視覺檢測戴口罩程序,基於OpenCV和Python的戴口罩檢測程序
在這裏插入圖片描述

2020年1月30日- 2020年2月1日:

初步方案有二:

  1. 通過調用api,百度or騰訊的智能識物已經比較成熟,是否可以適用?
    經過初步嘗試發現存在精確度不夠,對藍色口罩識別較準,對灰度圖片識別較差,對圖片清晰度要求較高,無法識別側面等缺點。以兩張圖片舉例:

下圖可以識別出口罩
在這裏插入圖片描述
下圖並沒有識別出口罩
在這裏插入圖片描述
所以這種方式暫時可以放棄。


##2020年2月12日更新
之前沒有發現EasyDL,在這上面是可以不用知道機器學習原理,經過簡單操作就可以進行建模了。

EasyDL平臺訓練模型校驗示例:

檢測:
在這裏插入圖片描述
分類:
在這裏插入圖片描述
當然,搭建自己的模型也是可以的。



  1. 方案二是OpenCV方案或者Halcon方案。OpenCV提供了基於Haar 特徵的Adaboost 人臉檢測訓練文件:
    在這裏插入圖片描述

初步涉略認識:

Haar分類器 = Haar-like特徵 + 積分圖方法 + AdaBoost +級聯;
Haar分類器算法的要點如下:
a) 使用Haar-like特徵做檢測。
b) 使用積分圖(IntegralImage)對Haar-like特徵求值進行加速。
c) 使用AdaBoost算法訓練區分人臉和非人臉的強分類器。
d) 使用篩選式級聯把分類器級聯到一起,提高準確率。
————————————————
版權聲明:本文爲CSDN博主「張雨石」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/stdcoutzyx/article/details/34842233

人臉檢測方法可大致分爲基於外部特徵、模板匹配和統計型 。人臉檢測方法可大致分爲基於外部特徵、模板匹配和統計型的方法。

最常用到的三種特徵分別爲Haar特徵、LBP特徵及HOG特徵,三種特徵描述了三種不同的局部信息:
1) Haar描述的是圖像在局部範圍內像素值明暗變換信息;
2) LBP描述的是圖像在局部範圍內對應的紋理信息;
3) HOG描述的則是圖像在局部範圍內對應的形狀邊緣梯度信息。
————————————————
版權聲明:本文爲CSDN博主「Mirror_Yu_Chen」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/sinat_31425585/article/details/82735158

卷積神經網絡是一種特殊的深層的神經網絡模型,它是將人工神經網絡和深度學習技術相結合而產生的一種新型人工神經網絡方法,具有局部感受區域、層次結構化、特徵提取和分類過程結合的全局訓練的特點,在圖像識別領域獲得了廣泛的應用。卷積神經網絡的特殊性體現在兩個方面,一方面它的神經元之間的連接是非全連接的,另一方面同一層中某些神經元之間的連接的權重是共享的,這種非全連接和權值共享的網絡結構降低了網絡模型的複雜度,減少了權值的數量,這種網絡結構對平移、旋轉、傾斜、比例縮放等具有高度不變性。

基於Haar特徵的分類器實際上是採用AdaBoost算法訓練的。而AdaBoost是Boosting算法家族中代表算法。

經典的Viola-Jones人臉檢測算法,它的主要思想包括積分圖、Adaboost 分類學習和級聯結構

由弱分類器並聯成強分類器,由強分類器串聯組成級聯分類器。

常見的人臉識別技術有主成分分析( PC A ) ,線性判別分析( LD A )。

初步思路和步驟:

步驟:圖像採集——人臉檢測——特徵提取——判定

檢測原則有直接檢測和間接檢測方式:

  • 直接檢測:直接檢測存在人臉和口罩,而且已科學戴好。
  • 間接檢測:通過檢測人臉,若檢測到眼睛而無嘴巴鼻子則判斷爲已經戴好口罩。

人臉檢測方法分類:

人臉圖像的檢測, 將人臉區域從背景中分割出來。不同論文對檢測方法的分類不一致。

描述一: 常見人臉區域檢測技術有基於VJ 算法, DPM 模型, 深度學習框架。

  • VJ算法:VIola-Jones 是傳統人臉檢測算法。OpenCV 中的人臉檢測也是用的這種算法。有三個步驟: Harr-like特徵, Adaboost分類和級聯分類。以下是算法的關鍵點:運用Harr-like輸入特徵: 閾值化矩形圖像的和或差; 圖像4 5 度旋轉運用了積分圖像技術, 加速計算類Harr; 運用Adaboost 創建分類器, 區分人臉與非人臉。篩選式級聯分類器節點。第一組性能最優, 第二組次之, 以此類推。但是Harr-like特徵只能創建簡單的特徵, 面對難樣本穩定性低; 弱分類器採用的簡單決策樹,造成過擬合問題。分類器以VJ-cascade 爲基礎, 在進入下一個步驟前,信息全部被丟棄, 魯棒性較弱。
  • DMP模型:運用FHOG進行特徵選取, 依據PCA的結果選擇維特徵。基於DMP 的人臉檢測方法在隨機採集的圖片上獲得比V J 算法更好的效果。但是模型太過複雜,不能達到實時性的要求。後續有加入級聯分類器, 使用積分圖法進行特徵計算,但是沒有VJ效率高。
  • 深度學習框架:經典人臉檢測方法絡並不能達到穩定性要求, 容易受到光照, 遮擋, 調度的影響, 在複雜場景下保證人臉檢測的識別率就很困難, 因此使用場景受限。在醫人臉檢測方法可大致分爲基於外部特徵、模板匹配和統計型 。院手術室這種場景中也無法施用。後續很多的人臉檢測方法幾乎都是根據深度神經網絡進行優化的算法。精度上超越了之前的Adaboost框架。目前, 使用卷積神經網絡進行的人臉檢測方法能夠解決運用滑動選框進行的人臉檢測很難達到實時性要求這個問題。

描述二: 人臉檢測方法可大致分爲基於外部特徵、模板匹配和統計型 的人臉檢測。

  • 基於外觀不變特徵的人臉檢測:人臉的一些特徵比如幾何、膚色等不受姿態表情變化影響,所以可以通過特定的算法提取相應臉部徵, 並對這些特徵進行建模。
  • 基於模板匹配的人臉檢測:將事先準備好的一個人臉模板作爲描述子,在視頻流或圖片輸入時從左上方開始逐像素的進行掃描、匹配。
  • 基於統計模型的人臉檢測:基於統計模型的人臉檢測不需要對圖片進行相關的預處理,並且不需要準備人臉模板。此方法是利用某種算法或者多種算法的融合對大量的樣本圖片(包含人臉和非人臉)進行學習,緊接着訓練出一個人臉分類器,利用此分類器可以快速在輸入視頻的每一幀中檢測出人臉並標記。基於統計模型的人臉檢測需要在訓練階段採用大量的樣本圖片對該訓練器進行訓練,雖然算法過程較複雜,但是其檢測效果速度快,檢測率高,是目前的人臉檢測主流方法,基於統計模型的人臉檢測方法有主成分分析[37]。

描述三: 現有的人臉撿測方法大致可分爲四種:基於知識的方法、特徵不變方法、模板匹配方法、基於外觀的方法。

  • 基於知識的方法: 基於規則的人臉檢測方法,如人臉膚色、幾何結構、人臉輪廓等特徵。
  • 特徵不變方法:根據提取到的面部特徵,構建統計模型描述特徵之間的相互關係並確定存在的人臉。
  • 模板匹配方法:預先存儲幾種標準的人臉模式描述整個人臉和麪特徵。計算輸入
    圖像和存儲模式之間的相互關係, 根據計算得到的相互關係用於人臉檢測。
    基於外觀的方法:利用機器學習和統計分析找到人臉和非人臉的特徵。

國內外研究現狀:

南加利福尼亞大學研究團隊介紹了一種檢測醫生是否在手術室中使用醫用口罩的系統。總體目標是在不丟失面罩檢測的情況下儘可能少地進行假陽性面部檢測,以便僅爲不戴手術面罩的醫護人員觸發警報。這個醫用口罩檢測運用了兩個面部檢測器進行檢測, 其中一個用於面部檢測, 另一個用於醫用口罩檢測。兩個檢測同時進行, 以便於提高效率且減少錯誤。兩個檢測器都運行顏色處理,以提高真陽性與假陽性的比率。該系統的召回率在95%以上,假陽性率在5%以下。該系統提供實時圖像處理,在處理整個圖像時,VGA分辨率達到10fps。在VGA圖像中,高斯混合技術使得性能可以高達20fps 。採集圖像允許人臉或者口罩佩戴者距離攝像機5 米。
在這裏插入圖片描述
周泉辰實現的基於人臉識別技術的醫院手術室人員確認系統,利用了基於卷積神經網絡進行人臉檢測,選擇抗干擾性強、適用於在醫生有口罩遮擋這種情況下的 的FACVENET 算法進行人臉識別,由腕帶碼進行的“ 碼, 人”進行一致性檢測。
在這裏插入圖片描述
邵向陽實現的基於深度學習的人臉識別智能系統,選用深度卷積神經網絡實現人臉識別,採用 Caffe 框架來訓練人臉模型,採用 MFC搭配 OpenCV庫編寫系統的功能界面。
在這裏插入圖片描述
張偉峯, 朱明研究的基於巡邏小車的人臉遮擋異常事件實時檢測中,採用固定區域的膚色檢測以最大程度的減少誤檢的概率, 採用基於組件的方法,通過檢測眼睛、鼻子、嘴巴等面部組件, 來實驗面部遮擋的檢測. 即通過檢測眼睛來判斷是否存在上遮擋, 通過檢測嘴巴來判斷是否存在下遮擋.步驟爲 前景提取——人頭區域定位——肩部定位——人臉區域判斷——異常人臉遮擋判斷。通過載入OpenCV haarcascades 文件下的訓練文件haarcascade_mcs_mouth.xml 來識別嘴巴, 通過載入 haarcascade_eye_tree_eyeglasses.xml 來識別眼睛.
在這裏插入圖片描述
袁寶華研究的異常人臉的定位與識別,在歸一化處理後通過對眉毛的定位, 將圖像粗略地分割成眼部區域和嘴巴區域圖像,針對眼部區域,採用了兩種檢測算法,基於人臉中心線檢測,和基於區域灰度分佈特徵的墨鏡檢測;針對嘴巴區域,在第四章中採用基於直線檢測方法檢測口罩, 即利用水平投影和變換來檢測水平長直線。
在這裏插入圖片描述
王文龍應用於ATM監控的異常人臉檢測方法研究中,在人的頭部定位的基礎上,通過檢測是否存在五官缺失來判斷是否是異常人臉。通過分析人臉器官的幾何分佈圖,可以通過定位眉毛的方法來確定人臉圖像的中心線。然後根據中心線的位置將人臉圖像分爲嘴部區域和眼部區域兩部分。在第四章中,在眼部區域採用基於haar特徵的人眼分類器進行搜索。而在嘴部區域採用基於hough變換的水平直線檢測結合基於haar特徵的嘴器官分類器進行檢測搜索。根據檢測的結果判斷該人臉是否是異常的人臉 。
在這裏插入圖片描述

引用文獻:

[1] Nieto-Rodríguez, Mucientes M , Brea V M . System for Medical Mask Detection in the Operating Room Through Facial Attributes[C]// Iberian Conference on Pattern Recognition and Image Analysis. 2015.

[2]周泉辰. 基於人臉識別技術的醫院手術室人員確認系統的研究與實現[D].南京師範大學,2019.

[3]邵向陽. 基於深度學習的人臉識別智能系統[D].河南大學,2017.

[4]廖廣軍. 複雜條件下的人臉檢測與識別應用研究[D].華南理工大學,2014.

[5]汪濟民. 基於卷積神經網絡的人臉檢測和性別識別研究[D].南京理工大學,2015.

[6]袁寶華. 異常人臉的定位與識別[D].南京理工大學,2005.

[7] 張偉峯,朱明.基於巡邏小車的人臉遮擋異常事件實時檢測.計算機系統應用,2017,26(12):175–180. http://www.c-s-a.org.cn/1003-
3254/6122.html

[8]王文龍. 應用於ATM監控的異常人臉檢測方法研究[D].瀋陽航空航天大學,2013.

【武漢加油!中國加油!】挑戰七天 實現機器視覺檢測有沒有戴口罩系統——第一二三天

【武漢加油!中國加油!】挑戰七天 實現機器視覺檢測有沒有戴口罩系統——第四五六七天

【B站視頻】:在家無聊寫了一個視覺檢測戴口罩程序,基於OpenCV和Python的戴口罩檢測程序

發佈了99 篇原創文章 · 獲贊 197 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章