• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于機(jī)器視覺的人臉口罩佩戴檢測裝置設(shè)計(jì)

      2022-12-06 12:44:06林宛楊
      關(guān)鍵詞:下位上位人臉

      林宛楊

      (福建船政交通職業(yè)學(xué)院信息與智慧交通學(xué)院,福州 350007)

      新冠病毒的防疫常態(tài)化需要強(qiáng)化公共衛(wèi)生體系"軟件"和"硬件"建設(shè)[1]。目前,我國大多數(shù)主要公共場所和重要交通樞紐出入口的在線測溫技術(shù)已配備完善,但由于防控意識淡薄,仍然存在部分人員不帶口罩出入這些節(jié)點(diǎn)的情況。隨著機(jī)器視覺技術(shù)的不斷發(fā)展,基于機(jī)器視覺的目標(biāo)檢測技術(shù)逐漸走進(jìn)人們的視野。目標(biāo)檢測作為機(jī)器視覺一個重要研究分支熱點(diǎn),通過對目標(biāo)場景對象進(jìn)行分類和定位的應(yīng)用十分廣泛[2-3]?;谏疃葘W(xué)習(xí)的目標(biāo)檢測技術(shù)的發(fā)展迅速[4],對人臉口罩檢測還主要集中在算法方面[5],為將基于機(jī)器視覺的目標(biāo)檢測技術(shù)融入到疫情防控中,開發(fā)出實(shí)用成本低[6]的基于機(jī)器視覺的目標(biāo)檢測測試裝置提供的基礎(chǔ)。該裝置以檢測人體有無佩戴口罩作為實(shí)施目標(biāo),為將基于機(jī)器視覺的目標(biāo)檢測技術(shù)、圖像分類、圖像降噪和嵌入式應(yīng)用技術(shù)和等專業(yè)融入到實(shí)際的工程項(xiàng)目中,將所學(xué)的知識在工程項(xiàng)目中實(shí)現(xiàn),具有實(shí)際應(yīng)用意義[7]。

      1 檢測裝置組成和硬件模塊設(shè)計(jì)

      1.1 檢測裝置的組成

      本項(xiàng)目是基于機(jī)器視覺和嵌入式系統(tǒng)檢測人臉是否佩戴口罩的檢測裝置,該裝置由下位機(jī)和上位機(jī)2部分組成,如圖1所示。下位機(jī)的組成主要包括嵌入式主控單元(Exynos4412核心板)、LCD顯示、以太網(wǎng)通信和圖像采集4大模塊;上位機(jī)為1臺服務(wù)器,用于接收圖像和檢測目標(biāo)。檢測裝置的下位機(jī)如圖2所示,首先通過USB攝像頭采集圖像,在LCD顯示屏上顯示圖像,并通過以太網(wǎng)將圖像傳輸?shù)缴衔粰C(jī)中,上位機(jī)對圖像進(jìn)行實(shí)時處理,檢測出人體是否佩戴口罩。

      圖2 檢測裝置下位機(jī)圖Fig.2 Lower position machine system of the detection device

      1.2 嵌入式主控單元模塊

      本檢測裝置主控核心版的模塊組成如圖3所示。采用三星Exynos4412芯片作為CPU,Cortex-A9四核架構(gòu),運(yùn)行主頻最大可高達(dá)1.6 GHz,配備2 GB的DDR3內(nèi)存,8GB的EMMC閃存。Exynos4412內(nèi)部集成了Mail-400 MP高性能圖形處理器,其主頻高達(dá)400 MHz,支持H.264/H.263、MPEG-4/MPEG2等視頻編解碼及支持2D、3D圖形加速[8-9]。采用低功耗電源管理芯片S5M8767,耗電量極小,續(xù)航時間長,高效節(jié)能。

      圖3 檢測裝置核心板模塊Fig.3 Core board module of the detection device

      1.3 LCD顯示模塊

      本檢測裝置使用23.33 cm(7寸)的RGB高清屏作為顯示圖像的部分,具有1 024×600的分辨率,支持多點(diǎn)觸摸的電容屏,可用于顯示QT圖形界面。其接口電路圖如圖4所示。

      圖4 檢測裝置的LCD模塊連接Fig.4 LCD module connection of the detection device

      1.4 以太網(wǎng)通信模塊

      檢測裝置的以太網(wǎng)模塊采用DM9621ANP芯片,該芯片具有USB接口、以太網(wǎng)、EEPROM接口、時鐘、電源輸入等功能[10],此外,具有超低功耗的特點(diǎn)。在作為以太網(wǎng)時,可支持IEEE802.3u及IEEE802.3標(biāo)準(zhǔn)的10/100 Mb·s-1以太網(wǎng)LAN功能,支持RMII接口或8PIN的GPIO,對鏈接狀態(tài)變更、喚醒幀及Magic包的支持,支持offload檢查和生成TCP/UDP/IP校驗(yàn)碼,可用于網(wǎng)絡(luò)通信,本裝置使用以太網(wǎng)進(jìn)行圖像傳輸。。

      1.5 圖像采集模塊

      檢測裝置的圖像采集模塊采用的是USB免驅(qū)攝像頭,使用的是130萬高清工業(yè)芯片,1 280×720的 分 辨 率,可 達(dá)30幀/s的 圖 像 輸 出,支 持MJPG、YUV22種國際標(biāo)準(zhǔn)UVC協(xié)議輸出,兼容Windows、Linux、Android等三大主流系統(tǒng),可在這些系統(tǒng)上直接使用[11]。直接將該攝像頭接入嵌入式板的USB接口即可使用,支持USB2.0接口協(xié)議,不需要額外安裝驅(qū)動。其接口電路圖如圖5所示。

      圖5 檢測裝置的USB接口引腳Fig.5 USBport pin of the detection device

      2 檢測環(huán)境的搭建

      2.1 安裝Linux系統(tǒng)到開發(fā)板

      本檢測裝置的開發(fā)環(huán)境搭建是基于Ubuntu16.04系統(tǒng)下,先將所需要用到的文件在該系統(tǒng)下交叉編譯再移植到ARM板中。嵌入式Linux主要由內(nèi)核引導(dǎo)程序Bootloader、內(nèi)核參數(shù)區(qū)(Kernel parameters)、Linux內(nèi)核、Linux根文件系統(tǒng)4部分組成。Bootloader是系統(tǒng)上電的后運(yùn)行的第一個程序,主要用來初始化外設(shè)和處理器,依賴于硬件;Bootloader最后調(diào)用Linux內(nèi)核,將Linux內(nèi)核拷貝到RAM里面去,最后安裝目標(biāo)文件系統(tǒng)。

      2.2 移植OpenCV和QT庫

      OpenCV是一個計(jì)算機(jī)視覺開源庫,可以運(yùn)行在Linux、Windows、Android等系統(tǒng)上,OpenCV用C++語言編寫,但具有C++,Python,Java和MATLAB接口。該裝置在上位機(jī)對圖像進(jìn)行處理,因此需要在上位機(jī)Ubuntu16.04系統(tǒng)下安裝OpenCV庫,本裝置安裝的版本為OpenCV3.4.1。在嵌入式Linux系統(tǒng)中,沒有類似于通用計(jì)算機(jī)的圖形用戶接口,不能直接使用OpenCV庫顯示圖像。在嵌入式系統(tǒng)端需引入可移植性高、高性能和高可靠性的圖形用戶界面。

      QT是一種可跨平臺開發(fā)的C++圖形面向?qū)ο蟮目蚣?,滿足嵌入式系統(tǒng)的要求,便于開發(fā)圖形用戶界面,QT編寫的程序可移植到不同的平臺而不需要修改代碼,移植性高[7]??衫肣T作為中間媒介,因此引入QT/E庫,顯示圖像信息。開發(fā)應(yīng)用程序之前,需在宿主機(jī)配置QT的開發(fā)環(huán)境,再將QT庫進(jìn)行交叉編譯并移植到開發(fā)板上,使用QT5.7版本開發(fā)應(yīng)用程序。

      2.3 Socket套接字

      本裝置分為下位機(jī)和上位機(jī)2部分,由下位機(jī)采集實(shí)時圖像,通過以太網(wǎng)傳輸圖像視頻到上位機(jī)中。使用Socket套接字作為通信接口,這就需要用下位機(jī)作為客戶端,上位機(jī)作為服務(wù)端。Socket作為應(yīng)用層與TCP/IP協(xié)議通信的中間軟件抽象層的一組接口,將復(fù)雜的TCP/IP協(xié)議隱藏在Socket接口后面,無需深入了解TCP/UDP協(xié)議,使用簡單的Socket接口編程,就可以傳輸圖像數(shù)據(jù)。

      Socket的工作流程如圖6所示,在服務(wù)器端,先初始化Socket,再與端口綁定(bind),接著對端口進(jìn)行監(jiān)聽(listen),再調(diào)用accept阻塞,服務(wù)端等待客戶端連接。當(dāng)客戶端初始化Socket時,客戶端連接服務(wù)端(connect),與服務(wù)器端建立連接,客戶端請求發(fā)送數(shù)據(jù),服務(wù)端接收請求并處理,并回應(yīng)數(shù)據(jù)給客戶端,客戶端讀取數(shù)據(jù)后關(guān)閉連接,一次交互結(jié)束。

      圖6 Socket的工作流程圖Fig.6 Work flow chart of Socket

      2.4 V4L2視頻驅(qū)動框架

      V4L2是為Linux操作系統(tǒng)設(shè)計(jì)的編程接口,是Linux系統(tǒng)中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動,通過V4L2視頻內(nèi)核驅(qū)動,可以像訪問普通文件一樣訪問視頻設(shè)備。V4L2是針對UVC免驅(qū)USB設(shè)備的編程框架,主要用于采集USB攝像頭,可用于多媒體的開發(fā),如音頻等。

      V4L2有內(nèi)存映射(mmap)和直接讀?。╮ead)2種視頻采集的方式,前者主要用于對連續(xù)視頻數(shù)據(jù)的采集,后者主要用于靜態(tài)圖片數(shù)據(jù)的采集。在該裝置中,需要實(shí)時采集圖像信息,因此,在下位機(jī)中使用內(nèi)存映射的方式采集圖像。利用V4L2接口采集視頻的流程圖如圖7所示,首先需打開攝像頭設(shè)備,設(shè)置幀率、制式(PAL或NTSC)、存儲格式(YUV或RGB)以及窗口大?。▽挕⒏吆蜋M縱坐標(biāo))等參數(shù),向驅(qū)動申請幀緩沖,并將申請到的幀緩沖映射到用戶空間中(mmap),將緩沖區(qū)加入隊(duì)列中后開始視頻的采集,從隊(duì)列中取出獲得圖像的緩沖區(qū)[12],然后將緩沖區(qū)重新加入到隊(duì)列中實(shí)現(xiàn)連續(xù)循環(huán)采集,到最后關(guān)閉采集視頻的設(shè)備[13]。

      圖7 V4L2接口采集視頻流程圖Fig.7 Flowchart for V4L2 interface video collection

      2.5 級聯(lián)分類器

      由于需要檢測人體有無佩戴口罩,屬于二分類的問題,可利用圖像的級聯(lián)分類器,對檢測對象進(jìn)行檢測。基本原理:首先使用OpenCV的Haar,繪制人臉的區(qū)域,包括正臉或是側(cè)臉;其次在通過HSV閾值提取人臉的膚色;最終通過膚色輪廓面積與人臉ROI面積比值判斷是否佩戴口罩。

      采用Haar基于通過大量人臉圖像樣本構(gòu)造人臉模式空間的統(tǒng)計(jì)方法,將人臉作為一個整體模式的二維像素矩陣,根據(jù)相似度量來判斷人臉是否存在。由于這是一種基于樹的目標(biāo)檢測技術(shù),利用大量樣本的Haar特征進(jìn)行分類器訓(xùn)練。主要方式:將1個矩形放到人臉區(qū)域上,通過白色區(qū)域的像素和減去黑色區(qū)域的像素和,得到的值為人臉特征值,如果這個矩形放到1個非人臉區(qū)域,那么計(jì)算出的特征值應(yīng)該和人臉特征值是不一樣的,通過方塊的目的就是把人臉特征量化,區(qū)分人臉和非人臉。由于人與攝像頭的遠(yuǎn)近和人臉的大小問題,還需要適當(dāng)改變初始化矩形框的大小及矩形框大小的合并。以同時為了增加區(qū)分度,采用Adaboost強(qiáng)分類算法級聯(lián)分類器。將若干個強(qiáng)分類器由簡單到復(fù)雜排列,通過訓(xùn)練每層強(qiáng)分類器的檢測率值和誤識率值達(dá)到指定要求經(jīng)過訓(xùn)練使每個強(qiáng)分類器都有較高檢測率。最后采用積分圖

      就達(dá)到只遍歷一次圖像就可以求出圖像中所有區(qū)域像素和的快速算法,加快識別的速度。

      當(dāng)有部分人臉遮擋和側(cè)臉情況,需要進(jìn)一步識別人臉位置,建議使用OpenCV自帶的opencv_face_detector_uint8.pb改進(jìn)。

      同理采用Haar的Adaboost算法獲得人臉的膚色HSV值、膚色輪廓面積、臉ROI面積。訓(xùn)練出數(shù)據(jù)樣本。當(dāng)準(zhǔn)備好需準(zhǔn)備正負(fù)樣本,設(shè)置好相關(guān)內(nèi)容,利用OpenCV的訓(xùn)練文件即可訓(xùn)練特征,結(jié)果得出一個.xml的分類器,加載此文件,就可以在程序中檢測對象。

      該檢測裝置需使用2個級聯(lián)分類器,先使用人臉分類器,判斷圖像有無人臉,當(dāng)檢測到人臉時,再使用口罩的分類器,判斷有無佩戴口罩。

      2.6 軟件設(shè)計(jì)

      整體軟件設(shè)計(jì)如圖8所示,首先,在下位機(jī)部分(客戶端),使用USB攝像頭作為采集視頻的設(shè)備,通過V4L2接口采集圖像信息,并且利用QT圖形用戶程序,將圖像顯示在LCD屏上,接著下位機(jī)使用Socket套接字對視頻進(jìn)行傳輸?shù)缴衔粰C(jī)中。上位機(jī)接收到視頻,使用已經(jīng)訓(xùn)練好的人臉檢測器和口罩檢測器對視頻進(jìn)行檢測,并把檢測結(jié)果通過Socket通信返回到下位機(jī)中。

      圖8 系統(tǒng)工作流程圖Fig.8 Flowchart for thesystem

      服務(wù)器端(上位機(jī))程序流程圖如圖9所示,先初始化Socket通信,然后對端口進(jìn)行監(jiān)聽,并判斷與客戶端(下位機(jī))是否已連接,若未連接,需繼續(xù)監(jiān)聽。

      圖9 上位機(jī)程序設(shè)計(jì)流程圖Fig.9 Flowchart for upper position machine system program design

      當(dāng)已連接到客戶端,則接收從客戶端發(fā)送的視頻數(shù)據(jù);接收到圖像數(shù)據(jù)后,進(jìn)行機(jī)器視覺的識別。利用人臉檢測器對圖像進(jìn)行檢測,為輸入圖片輸出大量的子窗口圖像,這些子窗口圖像經(jīng)過篩選式級聯(lián)分類器會不斷地被每一個節(jié)點(diǎn)篩選,拋棄或通過。OpenCV的分類算法判斷人臉或是非人臉,判斷有無人臉,若圖像中未出現(xiàn)人臉,則產(chǎn)生結(jié)果輸出:“NO People!!!”;若圖像中可檢測到人臉。

      進(jìn)入下一級分類器,再利用口罩檢測器檢測有無佩戴口罩,即通過膚色輪廓面積與人臉ROI面積比值的訓(xùn)練樣本進(jìn)行測試,若檢測到有佩戴口罩,則結(jié)果輸出:“YES!!Please Access!!”,代表已戴口罩,可以通行;若人臉中未檢測到口罩,則結(jié)果輸出:“NO Mask!!NO Way”,代表未佩戴口罩,不能通行。

      最后把結(jié)果返回到客戶端中,在下位機(jī)中,當(dāng)返 回 的 結(jié) 果 為“NO People!!!”和“YES!!Please Access!!”,蜂鳴器不報(bào)警,可以通行,當(dāng)返回的結(jié)果為“NO Mask!!NO Way”,則蜂鳴器報(bào)警,提示需佩戴好口罩。如果有特殊情況未正確標(biāo)注則進(jìn)行人工干預(yù)及將錯誤樣本標(biāo)注存檔,以便進(jìn)行下一次產(chǎn)品升級。

      3 實(shí)驗(yàn)測試

      上位機(jī)界面如圖10所示,左邊是用于接收圖像的顯示框,右邊可設(shè)置端口號,下方有個顯示框,可顯示識別檢測后的信息。在上位機(jī)點(diǎn)擊“偵聽”按鈕,表示正在等待客戶端的連接,當(dāng)客戶端連接成功之后,上位機(jī)即可接收到圖像,并顯示在QT的界面上,并不斷識別檢測人臉有無佩戴口罩。

      圖10 上位機(jī)界面Fig.10 Upper computer interface

      (1)未佩戴口罩。圖11所示為下位機(jī)顯示部分。在上位機(jī)中,當(dāng)界面有人臉出現(xiàn)時,但未佩戴口罩,會在人臉的位置出現(xiàn)一個紅色的矩形框,另外右邊下方的消息框中顯示:“NO,Mask!!NO Way”,表示未佩戴口罩。在下位機(jī)中,消息框也會顯示同樣的消息:“NO Mask!!NO Way”,并且在下位機(jī)中蜂鳴器報(bào)警。

      圖11 檢測到未佩戴口罩時Fig.11 When no mask is detected

      (2)已佩戴口罩。如圖12所示,當(dāng)人體佩戴好口罩時,在上位機(jī)中繪制一個藍(lán)色的矩形框,并在右邊的消息框中顯示:“YES!!Please Access!!”,表示已佩戴好口罩,可以進(jìn)入施工現(xiàn)場。在下位機(jī)部分的消息框中,也顯示:“YES!!Please Access!!”,同上位機(jī)同步,并且蜂鳴器不報(bào)警。

      圖12 檢測到已佩戴口罩時Fig.12 When a mask is detected

      (3)無人通過時。如圖13所示,當(dāng)沒有人通過時,下位機(jī)的消息框會顯示:“NO People!!!”,表示無人通過,蜂鳴器不報(bào)警。

      圖13 無人通過時Fig.13 When no one passes

      4 測試裝置的創(chuàng)新拓展

      該裝置的底層平臺是基于嵌入式Linux搭建而成的,操作人員只需燒寫相應(yīng)的內(nèi)核文件即可配置完成底層環(huán)境。該裝置的程序設(shè)計(jì)是基于QT實(shí)現(xiàn)的,該圖形用戶界面具有良好的移植性和閱讀性,操作人員可輕松上手該編程環(huán)境,不僅可以在該平臺上實(shí)現(xiàn)圖像識別,還可利用其實(shí)現(xiàn)音頻播放、云服務(wù)器智能家居及智能網(wǎng)關(guān)等功能,利用LCD屏作為可視界面。

      該測試裝置上位機(jī)引入了OpenCV機(jī)器視覺開源庫,可做更多有關(guān)圖像處理的項(xiàng)目[14]。在此裝置的基礎(chǔ)上,可以實(shí)現(xiàn)更多有關(guān)目標(biāo)檢測技術(shù),例如行人檢測、人體口罩佩戴檢測等;此外,還可實(shí)現(xiàn)其他與圖像處理有關(guān)的實(shí)踐項(xiàng)目,例如人臉識別門禁系統(tǒng),提取人臉特征進(jìn)行識別;還可以利用其作為視頻監(jiān)控、停車場車牌識別門禁系統(tǒng)等[15]。該測試裝置為操作人員提供了可以發(fā)揮創(chuàng)新力和實(shí)踐能力的平臺。

      5 結(jié)語

      本測試裝置是結(jié)合機(jī)器視覺及嵌入式應(yīng)用技術(shù),開發(fā)了基于機(jī)器視覺檢測人體有無佩戴口罩的檢測系統(tǒng),下位機(jī)完成了對圖像的采集和傳輸,上位機(jī)完成了檢測有佩戴口罩、無佩戴口罩及無人的3種結(jié)果,并把該結(jié)果返回給下位機(jī)。在智能制造等產(chǎn)業(yè)中,基于機(jī)器視覺的檢測技術(shù)具有準(zhǔn)確度高、實(shí)效性好的優(yōu)點(diǎn),在實(shí)際生活中應(yīng)用十分廣泛。

      猜你喜歡
      下位上位人臉
      有特點(diǎn)的人臉
      發(fā)射機(jī)房監(jiān)控系統(tǒng)之下位機(jī)
      三國漫——人臉解鎖
      動漫星空(2018年9期)2018-10-26 01:17:14
      特斯拉 風(fēng)云之老阿姨上位
      車迷(2018年12期)2018-07-26 00:42:22
      “三扶”齊上位 決戰(zhàn)必打贏
      基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
      景洪電廠監(jiān)控系統(tǒng)下位機(jī)數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
      圍觀黨“下位”,吐槽帝“登基”
      以新思路促推現(xiàn)代農(nóng)業(yè)上位
      CAN總線并發(fā)通信時下位機(jī)應(yīng)用軟件設(shè)計(jì)
      工布江达县| 潜江市| 普兰县| 廉江市| 安顺市| 普兰县| 廉江市| 郁南县| 阜新| 新巴尔虎右旗| 冷水江市| 万山特区| 云霄县| 保山市| 天祝| 黔江区| 峨边| 济阳县| 于田县| 昭觉县| 杂多县| 呼伦贝尔市| 郯城县| 兰溪市| 社旗县| 龙胜| 内丘县| 亳州市| 永福县| 金坛市| 集贤县| 连江县| 正镶白旗| 准格尔旗| 富锦市| 怀来县| 军事| 保靖县| 城步| 晋宁县| 临夏县|