99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

技術文章分享-基于FPGA及深度學習的人臉檢測系統(tǒng)設計

FPGA技術江湖 ? 來源:Xilinx開源社區(qū) ? 作者:Xilinx開源社區(qū) ? 2021-12-03 09:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第一部分 設計概述

1.1 設計目的

新冠病毒的肆虐讓整個 2020 年籠罩在恐慌之中,戴口罩成了人們外出必備 的“新日?!?。新冠病毒主要通過飛沫傳播和接觸傳播,正確選擇佩戴口罩,可有效阻隔病毒傳播。但在人流量龐大的商圈、車站等場所,仍有許多人拒絕佩戴口罩。若能在這些場所進行當前人群口罩檢測,則能有效避免冠狀病毒的傳播。

本作品是一種能實時檢測識別人臉口罩佩戴情況并進行語音播報的系統(tǒng),準確度高達 95.2%,系統(tǒng)處理速度可達 25fps 左右。除此之外,本作品具備較高的可拓展性,稍加更改就可在更多的領域得到應用。

1.2 應用領域

基于深度學習的人臉捕獲及口罩檢測系統(tǒng)可以適用于人流量大的場所,實現(xiàn) 了人臉檢測與跟蹤以及人臉口罩識別的功能,并將識別結果進行播報,可以輔助疫情防控工作的開展。

除此之外,本系統(tǒng)的人臉檢測系統(tǒng)有著廣泛的應用范圍。

智能家居領域,可以通過我們的系統(tǒng)實現(xiàn)人類闖入報警裝置,在攝像頭捕捉到的區(qū)域檢測到人臉后觸發(fā)報警;

在新冠疫情期間,我們的系統(tǒng)可以安裝在商圈、旅游景點,實時檢測人流密度,為實時限流措施提供參考。

1.3 主要技術特點

對密集人群進行口罩檢測,首先要在畫面中進行人臉檢測。在非深度學習階段的目標檢測算法都是針對特定目標提出的,比如 CVPR 2001 的 Viola-Jones (VJ)[1]是針對人臉檢測問題,CVPR 2005 的 HOG+SVM[2]是針 對行人檢測問題,TPAMI 2010 的 DPM[3]雖然可以檢測各類目標,但要用于多目標檢測,需要每個類別分別訓練模板。而強大的深度學習只要一個 CNN 就可以 搞定多類別檢測任務。雖然這些都是多類別方法,但它們也都可以用來解決單類別問題。

本作品是基于深度學習的人臉捕獲及口罩檢測系統(tǒng),通過片外的圖像傳感器采集圖像到片上緩沖區(qū),而后把圖像送到 FPGA 上的神經(jīng)網(wǎng)絡加速器進行處理, 識別結果輸出到顯示器,在顯示器中框出人臉并顯示目標是否佩戴口罩,我們還使用語音模塊對畫面中的總人數(shù)和未戴口罩人數(shù)作出播報。

1.4 關鍵性能指標

本作品可以實時檢測識別人臉口罩佩戴情況,我們從幀率和精度兩個方面進行了分析。識別精度可達到 95.2%,而系統(tǒng)延遲僅僅 40ms 左右,可達到 25fps 的幀率。

1.5 主要創(chuàng)新點

神經(jīng)網(wǎng)絡部分創(chuàng)新點

1、使用了一個輕量級 backbone,去除了 BN 層,在精度達到優(yōu)秀的前提下極大提升了速度;

2、去掉了 FPN 結構,僅降低微小的精度卻大大提升了速度(20%);

3、在網(wǎng)絡的 head 部分對邊框回歸和類別預測做了不對稱設計,進一步提升性能。

系統(tǒng)框架創(chuàng)新點

1、為了加快系統(tǒng)設計,采用了 Xilinx 專用于卷積神經(jīng)網(wǎng)絡的深度學習處理單元(DPU)。在設計系統(tǒng)過程中,可根據(jù)系統(tǒng)的具體情況配置 DPU 的參數(shù),將該 IP 集成到所選器件 PL 中,通過 PS 端軟件控制,實現(xiàn)多種卷積神經(jīng)網(wǎng)絡的加速。

2、利用 PYNQ 框架,可以在開發(fā)板上動態(tài)地加載比特流實現(xiàn)系統(tǒng)所需硬件電路,靈活方便。

3、利用 Vitis AI 編譯模型,將浮點模型轉換為定點模型,降低了計算復雜度,并且需要的內存帶寬更少,提高了模型速度。

第二部分 系統(tǒng)組成及功能說明

2.1 整體介紹

68d57e76-53cc-11ec-b2e9-dac502259ad0.png

基于深度學習的人臉檢測系統(tǒng)由 PS 端、PL 端與外設及其接口組成。其中, 外設包括、攝像頭(通過 USB3.0 連接)、語音模塊(通過 UART 連接)和 VGA 顯示(通過 Mini DP 轉 VGA 連接),開發(fā)板內部還提供了 2GB 的 LPDDR4;PS 端包括 openCV 采集處理模塊、后處理模塊、語音控制模塊及顯示控制模塊;PL 端包括特征提取模塊和邊框回歸及分類模塊。

在 PS 端的模塊中,openCV 采集處理模塊的主要功能是控制攝像頭采集圖像,并對 LPDDR4 中的圖像進行預處理;后處理模塊的主要功能是使用非極大值抑制(Non-Maximum Suppression, NMS)算法對候選區(qū)域進行篩選,得到合適的區(qū)域信息并統(tǒng)計畫面中檢測到的人臉總數(shù);

語音控制和顯示控制驅動語音模塊和攝像頭構成結果展示部分,語音控制模塊根據(jù)后處理模塊的結果播報當前畫面中的人臉數(shù)目,而顯示控制模塊根據(jù) VGA 時序顯示拍攝畫面并框出人臉位置。PL 端中的特征提取模塊對預處理后的圖像進行計算,得到大小不同的區(qū)域,邊框回歸及分類模塊處理這些區(qū)域,給出邊框信息與分類結果。

本系統(tǒng)的開發(fā)平臺為 Ultra96-V2 開發(fā)板,是基于 FPGA 的 Xilinx Zynq UltraScale +MPSoC 開發(fā)板,并基于 Linaro 96Boards Consumer Edition(CE)規(guī)范構建。

Ultra96-V2 開發(fā)板系統(tǒng)框圖如下圖所示:

693d6c8e-53cc-11ec-b2e9-dac502259ad0.png

2.2 各模塊介紹

OpenCV 采集處理

本系統(tǒng)采用的是超微 1601U 攝像頭上圖所示,輸出圖像大小為 1280×720, 最高幀率可達 30fps。該攝像頭通過 USB3.0 接口與開發(fā)板連接,輸出圖像的數(shù)據(jù)格式支持 MJPEG 和 YUV 格式。它還支持自動曝光控制 AEC 和自動白平衡 AEB,可以調節(jié)亮度、對比度、色飽和度、色調等基礎參數(shù)。

通過系統(tǒng) PS 端的 OpenCV 來完成攝像頭相關參數(shù)的配置以及圖像幀的獲取, 之后對獲取的圖像進行resize等預處理再送到PL部分的深度學習處理單元(DPU)進行處理。

后處理

對于一幀圖像,該模塊接收到來自神經(jīng)網(wǎng)絡檢測模塊的 3780 個候選框信息 (包括邊框坐標、識別標簽、置信度)。后處理模塊首先對這些候選框進行篩選, 留下置信度大于 0.6 的候選框。這一步可以減少無效候選框的處理時間。接著, 我們使用非極大值抑制算法對通過篩選的候選框進行處理,去除重復的候選框, 得到最優(yōu)結果。最后將結果輸出給結果展示部分。

非極大值抑制,顧名思義就是抑制不是極大值的元素,可以理解為局部最大 搜索。這個局部代表的是一個鄰域,鄰域有兩個參數(shù)可變,一是鄰域的維數(shù),二是鄰域的大小。例如在行人檢測中,滑動窗口經(jīng)提取特征,經(jīng)分類器分類識別后, 每個窗口都會得到一個分數(shù)。但是滑動窗口會導致很多窗口與其他窗口存在包含或者大部分交叉的情況。這時就需要用到 NMS 來選取那些鄰域里分數(shù)最高(是行人的概率最大),并且抑制那些分數(shù)低的窗口。

結果展示部分——語音控制

698a4158-53cc-11ec-b2e9-dac502259ad0.png

本系統(tǒng)中語音模塊的功能是在系統(tǒng)檢測完畢且后處理模塊統(tǒng)計畫面人數(shù)后, 將檢測結果通過語音的方式播報給外界。語音模塊 JQ8900-16P 選用了 SoC 方案, 集成了一個 16 位的 MCU,能夠靈活更換 SPI-flash 內的語音內容,有一線串口控制模式和 RX232 串口控制模式可選。

由于開發(fā)板上有多個 USB 接口,我們采用 USB 轉串口的方式來控制語音模塊。具體控制方式為把檢測到的人數(shù)轉化為語音模塊的控制指令,通過串口發(fā)送到該模塊,語音模塊對指令進行解碼之后播報存放在該模塊內的相應音頻

結果展示部分——顯示控制

經(jīng)過神經(jīng)網(wǎng)絡處理之后的圖像由開發(fā)板上的 Mini DP 接口外接 Mini DP 轉 VGA 轉接頭,連接到 VGA 顯示器進行顯示。

識別模塊

本系統(tǒng)中卷積神經(jīng)網(wǎng)絡模塊的功能是對攝像頭采集圖像中的人臉進行檢測并判斷目標人臉上是否佩戴口罩,是系統(tǒng)的核心模塊。本小節(jié)將從數(shù)據(jù)集的制作、 特征提取模塊、軟件模型設計和硬件模型設計等四個方面介紹該模塊。

(1)數(shù)據(jù)集的制作

數(shù)據(jù)集主要來自于 WIDER Face 和 MAFA 數(shù)據(jù)集,加入了上百張戴口罩的 圖片(來源于網(wǎng)絡)。具體地,我們從 WIDER Face 中篩選出 7000 張,從 MAFA 中篩選出 2000 張,自己根據(jù)已有的戴口罩的數(shù)據(jù)集生成了 2000 張左右,最終分為訓練集 13000 張,測試集 300 張。值得一提的是,在我們自己生成的數(shù)據(jù)集圖片中,有許多是將有口罩的圖片與無口罩的圖片的組合,如圖 6 最右所示,因為在經(jīng)典數(shù)據(jù)集中很難找到這樣的情況。

2)神經(jīng)網(wǎng)絡模型的搭建和訓練

本系統(tǒng)采用的目標檢測算法為 anchor-base 的 one-stage 算法,整個網(wǎng)絡參考 了 RetinaNet[4]進行設計,可分為 backbone、neck、head 三大部分。其中,backbone 參考 BlazeFace[5]的設計去掉了 BN 層,這樣能在不影響準確率的前提下提高速度。

在 RetinaNet 的 neck 部分中,F(xiàn)PN[6]有很好的特征提取功能,引入 FPN 能解決較為復雜的問題。但由于 FPN 需要額外的卷積計算,它也在一定程度上降低了速度。由于本次應用只有兩個類別,有口罩和無口罩,識別困難度比較低,我們參考了 SSD[7]的結構,去掉 FPN 部分,僅用一個卷積層調整通道。對于 head 部分, 由于只有兩個類別,我們減少了 class 分支的卷積層,不再與 boxes 分支對稱。減少卷積層并沒有引起精度下降,但進一步提升了速度。

我們 anchor 設置如下:

69fe1722-53cc-11ec-b2e9-dac502259ad0.png

總共有(24×40+12×20+6×10)×3=3780 個 anchor,最小尺寸為 20,最大尺 寸為 127。

整體網(wǎng)絡框架如下所示:

6a24ed34-53cc-11ec-b2e9-dac502259ad0.png

整體網(wǎng)絡可分為兩部分——特征提取模塊與邊框回歸及分類模塊。

對于特征提取模塊的處理如圖 6 所示。令輸入圖像為 P0,其尺寸為 192×320;P1 由 P0 經(jīng)過一個卷積層和兩個 blaze_block 得到,P1 經(jīng)過三個 blaze_block 得到 P2 ;P3 由 P2 經(jīng) 過 三 個 double_blaze_block 得來, P4 由 P3 經(jīng)過三個 double_blaze_block 得來,P5 由 P4 經(jīng)過三個 double_blaze_block 得來。P3、P4 和 P5 是本模塊的輸出,即識別模塊的輸入。

其中 blaze_block 由 DepthwiseConv2D + Conv2D + MaxPool2D + Add 組成,double_blaze_block 由 DepthwiseConv2D + Conv2D + DepthwiseConv2D + Conv2D + MaxPool2D + Conv2D + Add 組成。各層 參數(shù)詳見本文附錄中軟件模型的源代碼。

邊框回歸及分類模塊對 P3、P4、P5 進行分析。RetinaNet 類別分支和邊框分 支分別采用了四個卷積層,本設計采用了 RetinaNet 的 head 設計思想,但是進行 了改進:我們減少了卷積層的數(shù)量,邊框分支采用三個卷積層,類別分支采用兩個卷積層。因為只有兩個類別,所以我們的類別分支和邊框分支采用了不對稱設計,將類別分支的卷積層進一步減少。減少類別分支的卷積層對準確率幾乎沒有影響,但提升了速度。

(3)硬件部分

該部分利用支持 PYNQ 框架的開發(fā)板鏡像。首先通過在開發(fā)板上加載帶 Xilinx 的 DPU IP 的比特流文件,把 DPU 燒寫到開發(fā)板的 PL 端;再通過安裝在開發(fā)板鏡像上的 DPU 驅動,調用相應的 API 把經(jīng)過 Vitis AI 編譯過的模型部署到 DPU 中;最后啟動 DPU 讀取預處理之后的圖像進行檢測和分類,DPU 運算完之后取出運算結果,對運算結果進行解析之后得到人臉框的坐標以及是否佩戴口罩的分類結果。

第三部分 完成情況及性能參數(shù)

3.1 完成情況

本系統(tǒng)目前可以實現(xiàn):

實時檢測并跟蹤人臉位置,人臉位置被框出;

人臉檢測框上方給出目標是否戴口罩 mask/nomask 以及置信度;

定時對當前人數(shù)與未佩戴口罩人數(shù)進行語音播報。

3.2 人臉檢測性能指標

本系統(tǒng)基于人臉捕捉及口罩識別的應用對 RetinaNet 進行優(yōu)化,并利用硬件加速,大大提升了處理速度。目前該系統(tǒng)可對 192×320 大小的三通道彩色視頻進行實時處理,幀率可達 25fps,精度可達 95.2%。

第四部分 總結

可擴展之處

目前系統(tǒng)圖像采集時間占總體時間的比例比較大,后期可探索更多軟硬件優(yōu)化的方法對圖像采集部分進行優(yōu)化,提升系統(tǒng)幀率。除此之外,目前我們的應用是進行口罩(人臉)的檢測,未來可在此基礎上進行拓展加入識別模型,識別模型可以精確識別出是哪一個人,這樣可將應用范圍進一步拓展,比如說門禁的人臉識別、簽到、智能監(jiān)控等等。

作品來源:Xilinx開源社區(qū),已授權,作者:韋社年、朱庭威、張華蕾。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1645

    文章

    22049

    瀏覽量

    618354
  • 人臉檢測
    +關注

    關注

    0

    文章

    86

    瀏覽量

    16849
  • 深度學習
    +關注

    關注

    73

    文章

    5561

    瀏覽量

    122794

原文標題:基于 FPGA 及深度學習的人臉檢測系統(tǒng)設計

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于LockAI視覺識別模塊:C++人臉識別

    是實現(xiàn)人臉識別的常用方法: 深度學習方法:現(xiàn)代的人臉識別系統(tǒng)大多采用深度
    發(fā)表于 07-01 12:01

    AI智能質檢系統(tǒng) 工業(yè)AI視覺檢測

    。AI質檢系統(tǒng)通過結合機器學習深度學習、計算機視覺等先進技術,能夠比較準確的、地完成產(chǎn)品質量檢測
    的頭像 發(fā)表于 02-26 17:36 ?547次閱讀
    AI智能質檢<b class='flag-5'>系統(tǒng)</b> 工業(yè)AI視覺<b class='flag-5'>檢測</b>

    人臉識別技術的優(yōu)勢與劣勢

    人臉識別技術的優(yōu)勢 1. 高度準確性 人臉識別技術在理想條件下可以達到非常高的準確性。隨著深度學習
    的頭像 發(fā)表于 02-06 18:23 ?1702次閱讀

    新唐科技基于NuMaker-M55M1平臺的人臉識別系統(tǒng)

    人臉識別技術已成為現(xiàn)代科技的重要基石,廣泛應用于安全監(jiān)控、門禁系統(tǒng)以及用戶身份認證等領域。新唐科技基于 NuMaker-M55M1 平臺的人臉識別
    的頭像 發(fā)表于 01-20 10:31 ?741次閱讀

    如何選擇合適的人臉門禁系統(tǒng)?人臉打卡門禁哪款好?

    在當今這個智能化、高效化的時代,辦公場所的安全與管理效率成為了企業(yè)不可忽視的重要環(huán)節(jié)。隨著人臉識別技術的日益成熟,人臉門禁系統(tǒng)因其獨特的優(yōu)勢,逐漸成為眾多辦公寫字樓出入口管理的首選方案
    的頭像 發(fā)表于 12-17 15:19 ?727次閱讀
    如何選擇合適<b class='flag-5'>的人臉</b>門禁<b class='flag-5'>系統(tǒng)</b>?<b class='flag-5'>人臉</b>打卡門禁哪款好?

    如何用OpenCV的相機捕捉視頻進行人臉檢測--基于米爾NXP i.MX93開發(fā)板

    的是Haar特征人臉檢測,此外OpenCV中還集成了深度學習方法來實現(xiàn)人臉檢測。 【參考資料】
    發(fā)表于 11-15 17:58

    GPU深度學習應用案例

    能力,可以顯著提高圖像識別模型的訓練速度和準確性。例如,在人臉識別、自動駕駛等領域,GPU被廣泛應用于加速深度學習模型的訓練和推理過程。 二、自然語言處理 自然語言處理(NLP)是深度
    的頭像 發(fā)表于 10-27 11:13 ?1362次閱讀

    激光雷達技術的基于深度學習的進步

    信息。這使得激光雷達在自動駕駛、無人機、機器人等領域具有廣泛的應用前景。 二、深度學習技術的發(fā)展 深度學習是機器
    的頭像 發(fā)表于 10-27 10:57 ?1065次閱讀

    FPGA加速深度學習模型的案例

    FPGA(現(xiàn)場可編程門陣列)加速深度學習模型是當前硬件加速領域的一個熱門研究方向。以下是一些FPGA加速深度
    的頭像 發(fā)表于 10-25 09:22 ?1226次閱讀

    深度偽造人臉檢測項目

    各位 AI 愛好者們,準備好通過各種 AI 技術來應對一個迫切需要被解決的全球問題了嗎?MathWorks 誠邀您參加 2025 IEEE Signal Processing Cup 挑戰(zhàn)賽:“野外深度偽造人臉
    的頭像 發(fā)表于 10-17 10:46 ?926次閱讀
    <b class='flag-5'>深度</b>偽造<b class='flag-5'>人臉</b><b class='flag-5'>檢測</b>項目

    FPGA深度學習能走多遠?

    ,共同進步。 歡迎加入FPGA技術微信交流群14群! 交流問題(一) Q:FPGA深度學習能走多遠?現(xiàn)在用
    發(fā)表于 09-27 20:53

    深度識別人臉識別有什么重要作用嗎

    深度學習人臉識別技術是人工智能領域的一個重要分支,它利用深度學習算法來識別和驗證個人身份。這項
    的頭像 發(fā)表于 09-10 14:55 ?1140次閱讀

    深度識別人臉識別在任務中為什么有很強大的建模能力

    深度學習人臉識別技術是人工智能領域中的一個重要分支,它利用深度學習算法來識別和驗證
    的頭像 發(fā)表于 09-10 14:53 ?837次閱讀

    基于 FPGA 的會議系統(tǒng)設計

    FPGA 處理器模塊進行處理,識別其是否為檢測目標,若為 檢測目標則顯示檢測的人員信息;若沒有檢測
    發(fā)表于 08-01 18:40

    基于FPGA的人臉識別技術

    基于FPGA(現(xiàn)場可編程邏輯門陣列)的人臉識別技術,是一種結合了高效并行處理能力和靈活可編程性的先進圖像處理解決方案。這種技術在安全監(jiān)控、身份認證、人機交互等領域具有廣泛應用前景。以下
    的頭像 發(fā)表于 07-17 11:42 ?2200次閱讀