這期內容當中小編將會給大家帶來有關Python代碼如何檢測人臉是否佩戴口罩,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
最近,口罩成為絕對熱門的話題,在疫情之下,出門不戴口罩不僅對自己不負責,對他人而言也是一種潛在的威脅。所以許多小區都有保安在門口守著,誰要是不戴口罩就吼回去(嚇死我了)。
盡管如此,人工檢測總有可能漏掉人,而且無時無刻地盯著,保安叔叔也特別累。今天我們就來嘗試用計算機自動檢測人臉是否佩戴口罩的可行性,如果可行,那么根據我們以前的推送:人臉檢測自動開機,就可以做一個實時攝像頭,如果發現有人沒戴口罩則發送警告給保安,以提高保安的工作效率。
當然,想要識別人臉是否佩戴口罩,需要做很多訓練數據的收集,不過最近百度開源了他們的人臉口罩識別模型 PaddleHub 口罩檢測:
https://github.com/PaddlePaddle/PaddleHub
我們今天就來試試這個模型的效果。
為了實現這個實驗,Python是必不可少的,如果你還沒有安裝Python,建議閱讀我們的這篇文章哦:超詳細Python安裝指南。
然后,我們需要安裝百度的paddlepaddle, 進入他們的官方網站就有詳細的指引:
https://www.paddlepaddle.org.cn/install/quick
根據你自己的情況選擇這些選項,最后一個CUDA版本,由于本實驗不需要訓練數據,也不需要太大的計算量,所以直接選擇CPU版本即可。選擇完畢,下方會出現安裝指引,不得不說,Paddlepaddle這些方面做的還是比較貼心的(就是名字起的不好)。
要注意,如果你的Python3環境變量里的程序名稱是Python,記得將python3 xxx 語句改為Python xxx 如下進行安裝:
python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
Paddlehub作為一個深度學習平臺,用起來還是相當方便的,尤其是對于我這種(調包小王子)非研究型應用者。一共就只有四個步驟:
1.引入模塊和圖片
2.載入模型
3.分類與預測
4.結果展示
把我們需要測試的圖片保存在該代碼文件的同一目錄下,命名為3.jpg:
想看這個小姐姐摘下口罩的樣子
代碼如下:
沒錯,你沒看錯,就是這么簡單。去掉空行和注釋只有12行代碼,再狠一點,把matplot展示部分全部去掉,只有6行代碼。再再狠一點,把test_img_path和input_path變量以及module.face_detection語句合并,你會發現只有3行代碼:
執行完后的分類結果在同一目錄下的detection_result目錄下查看即可。所以說,說20行代碼是謙虛,3行代碼就夠了。
我們測試的那張圖片,結果如下:
MASK:97.64% 代表這個人戴了口罩,可信度為97.64%。
NO MASK: 97.41% 代表這個人沒戴口罩,可信度為97.41%
最后面那個大叔也是MASK,但是它的可信度只有54.31%,所以很可能是誤判,在我們實際應用的時候,只需要把警告閾值(比如80%)提高,即可篩去這些不可信的分類。
不過,這個模型有一個缺點就是,對于遠距離的人判斷并不是很精確:
離鏡頭最近的這個人可能是因為側臉的原因,臉部特征不明顯識別不出來。但是遠處的這些戴著口罩卻被識別為沒戴口罩的,就是這個模型的鍋了。不過,通過閾值過濾和縮短攝像頭攝影距離還是可以將這個模型用于實際生活中的。
上述就是小編為大家分享的Python代碼如何檢測人臉是否佩戴口罩了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。