百度飛槳口罩人臉檢測與識別模型再升級,視頻教學帶你實戰

自百度開源業界首個口罩人臉檢測及分類模型以後,開發者社區進行了充分討論並提出了該模型存在的一些問題和不足。在本文中,百度飛槳官方對這些反饋積極迴應,同時提出四大升級方案,爲開發者一一解惑。javascript

2月13日《百度開源業內首個口罩人臉檢測及分類模型》文章中介紹,該模型能夠有效檢測在密集人流區域中攜帶和未攜戴口罩的全部人臉,同時判斷是否佩戴口罩。java

因爲目前正值不少企業復工,口罩檢測對於後續復工的安全性毋庸置疑,文章一經發出,在開發者社區引發巨大反響,截至目前發稿,百度飛槳官方技術交流 QQ 羣已經達到人數上限,再加入的同窗,只能加入新羣。python

在技術討論羣裏,廣大開發者針對口罩人臉檢測與分類模型的技術應用展開了充分的討論,有些開發者實戰反饋,模型在實際場景下仍是有一些提高空間。git

好比這樣,一張神祕形狀的紙被判斷爲口罩,github

再好比這樣的,一個銷魂的手指擋住了口鼻,安全

除了 badcase 自己,不少開發者還遇到了各類各樣的問題,好比實際的環境很複雜,中遠景模型效果還不錯,可是近景就會不太理想。還有的是監控攝像頭的像素分辨率,也會帶來不一樣的判斷結果。同時,更多的需求也反饋出來:服務器

  1. 能不能開放模型的一些接口出來?網絡

  2. 在 PC 端,除了 python 部署,有沒有高性能的 C++部署教程呀?ide

  3. 若是想作視頻流的檢測,應該怎麼辦呀?性能

需求不少,百度飛槳給出的答案是確定的。

做爲開源開放的深度學習平臺,技術服務支持確定是沒得說,能給的都給你,四波寵粉的新進展爲開發者奉上!

01

第一波:口罩模型性能升級

針對用戶提出的 badcase 問題,口罩人臉檢測與分類模型研發人員也是高度重視,而且迅速開展了 V1.1.0 的優化,增補了更多的數據集,使得訓練準確率進一步提高。經過開放接口,增長金字塔策略等方式,使得在各類極端尺寸下檢測不到人臉的問題獲得改善,召回率也有明顯提高。同時,口罩分類模型也通過一週有效的數據迭代,準確率從以前的 96.5% 提高到 97.27%,優化效果對比:

左側爲優化前右側爲優化後。

能夠看到,新加入大量數據集重訓以後的第二版模型,在一些特別的場景下:好比面部異物、口鼻遮擋、側臉等 case 下都有明顯的質量提高。

並且,隨着更多開發者提供的更加龐大的數據和 badcase 增長,數據模型仍在不斷的改進中,有興趣的開發者也歡迎持續關注。

那麼,有開發者確定想問了,我想用新模型應該怎麼用啊?很是簡單,1 個參數搞定。

02

第二波:PaddleHub 新 Feature

選擇升級到新版本

# 加載 pyramidbox_lite_server_mask, 選擇最新的模型版本 1.1.0,則會自動升級至該版本:

hub.Module(name="pyramidbox_lite_server_mask", version="1.1.0")

接口新參數

def face_detection(    data,    use_gpu=False,    batch_size=1,    shrink=0.5,    use_multi_scale=False)

shrink

該參數用於設置圖片的縮放比例,輸入值應位於區間 (0 ~ 1],默認爲 0.5。

調用示例

module = hub.Module(name="pyramidbox_lite_server_mask", version="1.1.0")input_data = {"image":["/PATH/TO/IMAGE"]}module.face_detection(data=input_data, shrink=0.2)

參數影響

shrink 值越大,則對於輸入圖片中的小尺寸人臉有更好的檢測效果,反之則對於大尺寸人臉有更好的檢測。同時,shrink 值越大,則模型計算成本越高。

建議用戶根據實際應用場景調整該值,儘量使輸入圖像的人臉尺寸在縮放後分佈於 8 ~ 130pix 之間。

use_multi_scale

該參數用於設置是否開啓多尺度的人臉檢測,默認爲關閉。

調用示例

module = hub.Module(name="pyramidbox_lite_server_mask", version="1.1.0")input_data = {"image":["/PATH/TO/IMAGE"]}module.face_detection(data=input_data, use_multi_scale=True)

參數影響

開啓多尺度人臉檢測可以更好的檢測到輸入圖像中不一樣尺寸的人臉,可是會增長模型計算量,下降預測速度,建議在對人臉漏檢要求比較低的場景下開啓該設置。

這兩個關鍵參數接口的開放,能夠知足很大一部分場景下的業務需求,迅速提高性能。

升級後的模型,調參以後準確率妥妥的了,可是開發者落地遇到部署問題又不會了,來來來,PaddleHub 來教你!

03

第三波:基於 PaddleHub 實現口罩佩戴檢測應用落地部署

在初版的模型發佈中,咱們提供了一行代碼服務器端部署,能夠經過 PaddleHub 快速體驗模型效果、搭建在線服務。

隨着第二版模型的發佈,基於飛槳本次開源的口罩佩戴識別模型, 提供了一個完整的支持視頻流的 Web Demo,以及高性能的 Python 和 C++集成部署方案, 適用於不一樣場景下的軟件集成。

完整的視頻流演示 DEMO:https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.5/demo/mask_detection

該 Demo 演示了對視頻的實時口罩佩戴檢測,同時能夠將沒有佩戴的口罩人臉記錄下來。相似的應用能夠部署在大型場館出入口,學校,醫院,交統統道出入口,人臉識別閘機,機器人上,支持的方案有:安卓方案(如 RK3399 的人臉識別機,機器人),Ubuntu 邊緣計算,WindowsPC+攝像頭,識別率 80%~90%。若是對於人臉識別機場景,精度要求會比較高,模型應用時須要對清晰度、距離、圖像大小等因素進行調整後部署。

視頻連接:

https://www.bilibili.com/video/av88962128

效果分析

能夠看到識別率在 80~90% 以前,稍小的人臉有誤識別的狀況,有些擋住嘴的場景也被誤識別成了戴口罩,一我的帶着口罩,鼻子漏出來識別成沒有戴口罩,這個是合理的由於的鼻子漏出來是佩戴不規範。這個模型應用在門口,狹長通道,人臉識別機所在位置都是能夠的。

感興趣的同窗們趕忙試試吧。

也有開發者提到,以前的 PaddleHub 一鍵服務化部署方案確實很是簡單,可是沒法知足一些對速度敏感的場景和軟件集成得需求。那沒問題啊,高性能的部署集成方案百度飛槳也提供哈。

高性能 Python/C++部署方案

一、首先須要安裝 PaddleHub

  • 環境依賴 Python==2.7 or Python>=3.5 for Linux or Mac,Python>=3.6 for Windows,PaddlePaddle>=1.5

  • 安裝方式:pip install paddlehub

二、從 PaddleHub 導出預測模型:

在有網絡訪問條件下,執行 python export_model.py 導出兩個可用於推理部署的口罩模型,其中:pyramidbox_lite_mobile_mask 爲移動版模型, 模型更小,計算量低;pyramidbox_lite_server_mask 爲服務器版模型,在此推薦該版本模型,精度相對移動版本更高,也是本次重點精度升級的模型。

成功執行代碼後導出的模型路徑結構:

pyramidbox_lite_server_mask|├── mask_detector   # 口罩人臉分類模型|   ├── __model__   # 模型文件│   └── __params__  # 參數文件|└── pyramidbox_lite # 口罩人臉檢測模型    ├── __model__   # 模型文件    └── __params__  # 參數文件

3. Python 預測部署編譯

支持在 Windows 和 Linux 上編譯並部署 Python 項目,內容比較長,建議能夠直接參考連接文檔:

https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.5/demo/mask_detection/python

4. C++預測部署編譯

本項目支持在 Windows 和 Linux 上編譯並部署 C++項目,流程比較複雜,建議直接參考連接文檔:

https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.5/demo/mask_detection/cpp

綜合預測性能評測

經過內部的數據評測,相比於 PaddleHub 原生 API,藉助飛槳高性能預測引擎,在 GPU 條件下速度提高了 300%,CPU 能夠提速 50%。

簡直效果炸裂,若是對於預測速度有要求的開發者,歡迎使用高性能預測方案部署。

04

第四波:文檔教程豐富與開發者生態貢獻交流

2 月 13 日稿件發出後,也有開發者在 QQ 羣反饋說以前對 PaddleHub 特性瞭解不夠深刻,能不能提供一些系統性的介紹。如下爲飛槳團隊爲開發者提供的教程資源:

  • AI Studio 在線教程:

    https://aistudio.baidu.com/aistudio/projectDetail/267322

  • B 站視頻(點擊文末「閱讀原文」便可查看):

    https://www.bilibili.com/video/av89960161?from=search&seid=3613394603372565887

目前,開源的口罩人臉檢測與識別模型,已經在中油瑞飛等多家企業實際應用落地,對於企業的順利復工提供安全保障,也歡迎更多的開發者和企業可以加入進來,發揮 AI 的力量,衆志成城,抗擊疫情。

想與更多的深度學習開發者交流,請加入飛槳官方 QQ 羣:703252161

若是您想詳細瞭解更多飛槳 PaddlePaddle 的相關內容,請參閱如下文檔。

  • 官網地址:

    https://www.paddlepaddle.org.cn/ 

  • 項目地址:

    https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.5/demo

  • 口罩人臉檢測與分類模型介紹:

    https://www.paddlepaddle.org.cn/hubdetail?name=pyramidbox_lite_server_mask&en_category=ObjectDetection

本文分享 CSDN - 飛槳PaddlePaddle。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索