于YOLOv5的口罩佩戴檢測功能的實現(xiàn)與部署畢業(yè)設計論 文_第1頁
于YOLOv5的口罩佩戴檢測功能的實現(xiàn)與部署畢業(yè)設計論 文_第2頁
于YOLOv5的口罩佩戴檢測功能的實現(xiàn)與部署畢業(yè)設計論 文_第3頁
于YOLOv5的口罩佩戴檢測功能的實現(xiàn)與部署畢業(yè)設計論 文_第4頁
于YOLOv5的口罩佩戴檢測功能的實現(xiàn)與部署畢業(yè)設計論 文_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本科畢業(yè)論文(設計)中文題目基于YOLOv5的口罩佩戴檢測功能的實現(xiàn)與部署英文題目ImplementationandDeploymentofMaskWearingDetectionBasedonYOLOv5選題編號xgx230809013148系(部)專業(yè)學生姓名學號指導教師完成時間本科畢業(yè)論文(設計)[26]。無論是國內還是國外,口罩佩戴檢測技術都存在一些局限性和挑戰(zhàn)。例如,口罩的樣式和顏色多樣化,加之人臉姿態(tài)和表情的差異,都會對口罩佩戴檢測造成影響。另外,在一些特殊場景下,如夜間或光線較弱的環(huán)境下,口罩佩戴檢測的準確率也會下降。因此,如何解決這些問題,提高口罩佩戴檢測技術的準確率和魯棒性,是當前口罩佩戴檢測領域需要解決的重要問題。在本文中,主要利用YOLOv5目標檢測技術實現(xiàn)了準確、高效的口罩佩戴檢測功能及其部署。1.3本文研究內容1.3.1論文結構本文主要分為以下幾個部分:第一部分是緒論部分,首先描述了本文的研究背景及意義,說明了疫情防控常態(tài)化大環(huán)境下的規(guī)范佩戴口罩檢測的必要性和研究價值;然后概述了國內外研究現(xiàn)狀和存在的問題;最后簡單介紹了本文的研究工作和主要內容。第二部分是該系統(tǒng)的系統(tǒng)分析部分,從理論上分析系統(tǒng)的需求、模塊等,分析項目的可行性。第三部分是該系統(tǒng)的系統(tǒng)設計部分,介紹系統(tǒng)架構、功能模塊設計和數(shù)據(jù)庫設計。第四部分是該系統(tǒng)的系統(tǒng)實現(xiàn)部分,介紹了開發(fā)環(huán)境以及各個模塊的實現(xiàn)。第五部分是系統(tǒng)的測試部分,介紹了測試計劃,測試了系統(tǒng)的各種模塊功能。第六部分是總結與展望??偨Y全文主要工作,分析不足之處并對后續(xù)研究進行展望。1.3.2研究方法及手段1、文獻研究法文獻研究法通過查閱國內外的相關資料,對國內外研究現(xiàn)狀進行深入了解和分析,總結已有的口罩佩戴檢測算法及其優(yōu)缺點,為本研究提供基礎和參考。2、比較分析法比較分析法從不同角度探討了兩者之間的差異和聯(lián)系。通過對各類目標檢測算法的檢測速度和檢測精度進行對比,通過對比不同環(huán)境下系統(tǒng)的檢測結果對系統(tǒng)進行改進,使檢測系統(tǒng)能更加好的展現(xiàn)在我們的眼前,使其更具實際意義。3、經(jīng)驗總結法通過以往的實踐經(jīng)驗與網(wǎng)絡上的分享的經(jīng)驗來改進所需要用到的軟件或者步驟,更簡潔的完成項目的要求。

2系統(tǒng)分析2.1可行性分析2.1.1經(jīng)濟可行性分析系統(tǒng)主要采用了Pycharm、QtDesigner、NavicatPremium、VisualStudioCode、PyQt5、MySQL、YOLOv5、PyTorch、OpenCV等軟件與三方庫進行開發(fā),其中大部分是已開源和免費。這些軟件具有較高的性能和成熟度,除了Pycharm與NavicatPremium外都沒有額外的授權費用,從而降低了開發(fā)成本。同時由于系統(tǒng)采用了模塊化和可擴展的設計,后期維護和升級過程相對簡單。通過部署該系統(tǒng),可以提高公共場所的口罩佩戴率,降低疫情傳播風險,從而減少因疫情導致的醫(yī)療費用和生產(chǎn)損失。這將為社會帶來經(jīng)濟效益,使系統(tǒng)投入產(chǎn)出比達到一個合理水平。綜上所述,系統(tǒng)從經(jīng)濟上是可行的。2.1.2技術可行性分析此系統(tǒng)使用的Pytorch是成熟的深度學習框架,YOLOv5是一種基于深度學習的實時目標檢測算法,已經(jīng)在目標檢測任務中取得了非常好的性能。同時,利用PyQt5這一成熟的跨平臺圖形用戶界面框架,可以實現(xiàn)系統(tǒng)的可視化界面以及各種功能,如用戶登錄、用戶注冊、用戶管理、口罩佩戴檢測、報警閾值調整等。另外,整個系統(tǒng)采用模塊化設計,可以根據(jù)實際需求方便地添加新功能,如智能分析等。這為系統(tǒng)的技術升級和功能拓展提供了便利。綜上所述,系統(tǒng)從技術上是可行的。2.1.3操作可行性分析系統(tǒng)采用直觀的圖形用戶界面設計,用戶可以輕松理解各項功能的用途。通過圖標、按鈕等視覺元素,用戶可以快速進行操作,無需繁瑣的學習過程。系統(tǒng)實現(xiàn)了用戶注冊、登錄以及權限控制功能,保證了系統(tǒng)的安全性。通過提供按鈕或輸入框等交互元素,用戶可以根據(jù)實際場景和需求調整報警閾值,這有助于提高系統(tǒng)報警功能的實用性。系統(tǒng)提供實時統(tǒng)計口罩佩戴情況、準確度等信息,方便用戶了解系統(tǒng)運行狀況和效果。綜上所述,系統(tǒng)從操作上是可行的。2.2需求分析2.2.1關鍵技術本口罩佩戴檢測系統(tǒng)主要采用Python編程語言,使用Pycharm和VisualStudioCode作為集成開發(fā)環(huán)境(IDE),利用PyQt5構建用戶界面,YOLOv5作為基礎檢測模型,后臺使用MySQL數(shù)據(jù)庫存儲相關信息,NavicatPremium作為數(shù)據(jù)庫開發(fā)工具。1、Python簡介Python是一種通用、高級的編程語言,易于學習和使用,具有豐富的庫支持。Python廣泛應用于計算機視覺、機器學習等領域。在本系統(tǒng)中,Python作為主要編程語言,負責實現(xiàn)各種功能模塊。2、Pycharm和VisualStudioCode簡介Pycharm是一款針對Python的集成開發(fā)環(huán)境,提供了代碼補全、代碼分析和調試等功能。VisualStudioCode是一款輕量級的代碼編輯器,支持多種編程語言,擁有豐富的插件庫。在本系統(tǒng)中,這兩款工具協(xié)同工作,提高開發(fā)效率。3、PyQt5簡介PyQt5是一個用于創(chuàng)建桌面應用程序的跨平臺庫,基于Qt庫,使用Python編程語言。PyQt5提供了一套豐富的控件和功能,可以快速構建出易于操作且具有良好用戶體驗的界面。在本系統(tǒng)中,PyQt5用于構建用戶界面,實現(xiàn)系統(tǒng)與用戶的交互。4、YOLOv5簡介YOLOv5是一款快速且精確的目標檢測算法,適用于實時場景。它采用了一種端到端的訓練方法,可以在單次前向傳播中完成目標檢測。在本系統(tǒng)中,YOLOv5作為主要的目標檢測模型,負責識別口罩佩戴情況,并實時給出檢測結果。5、MySQL簡介MySQL是一款功能強大、易于使用的開源關系型數(shù)據(jù)庫,廣泛應用于各種應用程序中。在本系統(tǒng)中,MySQL數(shù)據(jù)庫用于管理用戶信息和權限,實現(xiàn)對用戶的增刪改查操作。6、NavicatPremium簡介NavicatPremium是一個強大且易用的數(shù)據(jù)庫管理和開發(fā)工具。它支持多種流行的數(shù)據(jù)庫類型,包括MySQL、MongoDB、PostgreSQL、Oracle等數(shù)據(jù)庫。NavicatPremium的目的是簡化數(shù)據(jù)庫管理和提高生產(chǎn)效率,適用于數(shù)據(jù)庫開發(fā)人員、管理員和其他數(shù)據(jù)庫相關人員。7、PyTorch簡介PyTorch是一個基于Python的科學計算包,提供了強大的張量和動態(tài)神經(jīng)網(wǎng)絡的支持,也支持GPU加速。提供了豐富的API,易于使用且靈活。在本系統(tǒng)中,PyTorch作為底層的深度學習框架,提供了YOLOv5模型的運行環(huán)境。8、OpenCV簡介OpenCV(OpenSourceComputerVisionLibrary)是一個開源的計算機視覺庫,包含了眾多的計算機視覺、圖像處理和數(shù)字圖像處理的函數(shù)庫。OpenCV為用戶提供了一個完整的、穩(wěn)定的和具有高效性的計算機視覺框架。在本系統(tǒng)中,OpenCV主要用于讀取視頻流和圖片,為口罩檢測模塊提供輸入數(shù)據(jù),同時也用于在檢測結果上繪制邊界框和文本。綜上所述,本口罩佩戴檢測系統(tǒng)采用了Python編程語言,結合Pycharm和VisualStudioCode集成開發(fā)環(huán)境,利用PyQt5構建用戶界面,PyTorch提供了YOLOv5模型的運行環(huán)境,YOLOv5實現(xiàn)目標檢測功能,OpenCV展示檢測結果,并使用MySQL數(shù)據(jù)庫進行用戶信息存儲。這些關鍵技術的結合使得系統(tǒng)具有高效、準確的口罩佩戴檢測能力,滿足了實際應用場景的需求。2.2.2業(yè)務流程分析口罩佩戴檢測系統(tǒng)的業(yè)務流程如下:系統(tǒng)啟動時,用戶進入系統(tǒng)登錄頁面,可點擊注冊按鈕進入注冊賬號頁面,也可輸入賬號密碼后點擊登錄按鈕來登錄系統(tǒng)。用戶點擊注冊按鈕進入注冊頁面后,用戶可在注冊頁面輸入相關注冊信息(包括用戶名、密碼、重復密碼、姓名、電話)。提交注冊信息后,會進行輸入信息的合法性檢測和用戶名的唯一性檢測。通過檢測后將信息進行寫入注冊,注冊成功后可點擊返回登錄按鈕退出注冊頁面來登錄賬號。在輸入賬號與密碼后點擊登錄按鈕進入系統(tǒng),此時系統(tǒng)會檢測該賬號是否為管理員賬號。若系統(tǒng)檢測到是普通用戶賬號,則在提示確定后進入檢測頁面;若系統(tǒng)檢測到是管理員賬號,則提供選擇界面讓管理員選擇進入檢測頁面還是用戶管理頁面。若管理員進入用戶管理界面,則可在檢測頁面對普通用戶的信息進行修改、查詢和刪除,也可以添加新的普通用戶。若進入口罩佩戴檢測頁面,在進行檢測前用戶可以調整報警閾值、切換模型、切換攝像頭,在檢測頁面選擇檢測內容來源,包括圖片、視頻和攝像頭。選擇之后開始口罩佩戴檢測,系統(tǒng)會將檢測結果實時展示:包括檢測消耗的時間、檢測的結果、結果的置信度。若未戴口罩目標的比例超過設定的報警閾值,則會播放報警音效。同時系統(tǒng)擁有報警延遲和報警間隔來防止頻繁報警。業(yè)務流程圖如圖2.1所示。圖2.1業(yè)務流程圖2.2.3功能需求分析在口罩佩戴檢測系統(tǒng)中,需要進行功能需求分析以明確系統(tǒng)所需包含的功能點。通過市場調研和討論,并在查閱相關資料后,最終確定以下功能:用戶注冊、用戶登錄、用戶管理、報警閾值調整、模型切換、攝像頭切換、實時口罩檢測、檢測結果展示、模型性能統(tǒng)計、警報功能。以下對這些功能模塊進行詳細的介紹和分析。1、用戶注冊、登錄:包括用戶注冊、用戶登錄功能,用戶在初始界面通過點擊注冊按鈕進入注冊頁面進行進行注冊,也可直接登錄系統(tǒng),在登錄和注冊過程中會進行用戶信息的唯一性與合法性檢測。通過檢測后執(zhí)行對于操作。用戶注冊、登錄用例圖如圖2.2所示。圖2.2用戶注冊、登錄用例圖2、用戶管理:用戶管理功能,用戶在初始界面通過使用管理員賬號登錄,通過合法性檢測后可進入普通用戶管理頁面。在用戶管理頁面可進行用戶信息查詢、信息修改、刪除用戶和新增用戶信息。在新增和修改用戶信息過程中會進行用戶信息的唯一性與合法性檢測。通過檢測后執(zhí)行對應操作。用戶管理用例圖如圖2.3所示。圖2.3用戶管理用例圖3、檢測參數(shù)設置:檢測參數(shù)設置功能允許用戶調整口罩檢測的報警閾值、選擇預訓練模型、切換攝像頭等。通過使用好的模型,可以實現(xiàn)更高的檢測準確性和召回率。檢測參數(shù)設置用例圖如圖2.4所示。圖2.4檢測參數(shù)設置用例圖4、實時口罩檢測:實時口罩檢測功能可以對視頻流進行實時檢測,系統(tǒng)會標注出檢測到的人臉區(qū)域以及是否佩戴口罩的判斷結果。實時口罩檢測用例圖如圖2.5所示。圖2.5實時口罩檢測用例圖5、模型性能統(tǒng)計:模型性能統(tǒng)計功能展示模型在當前視頻或圖片上的準確率、檢測用時。用戶可以根據(jù)這些信息,了解模型在實際場景中的性能表現(xiàn)。6、警報功能:報警功能允許系統(tǒng)在檢測到未佩戴口罩的人員比例超過設定的報警閾值時發(fā)出語言警報以便及時通知相關負責人采取措施。2.2.4性能需求分析要求系統(tǒng)應具備較快的響應速度,以便用戶在檢測口罩佩戴情況時,可以即時獲得檢測結果。此外,系統(tǒng)在處理用戶請求時,如果進行調整檢測閾值等操作時,也應能夠迅速響應并執(zhí)行。作為一個實時檢測系統(tǒng),對輸入的視頻流或攝像頭畫面進行實時分析和識別是至關重要的。系統(tǒng)需保證在處理實時數(shù)據(jù)時的高效率和穩(wěn)定性,以滿足各種使用場景下的需求。系統(tǒng)應具備一定的安全性,以防止未經(jīng)授權的訪問和操作。這包括用戶登錄驗證、權限管理等方面的安全措施。用戶界面設計應簡潔明了,操作流程直觀易懂。這有助于用戶更高效、便捷地使用系統(tǒng),降低操作難度和學習成本。系統(tǒng)應具備良好的可擴展性,以便在未來根據(jù)需求變化進行功能升級和優(yōu)化。這包括模塊化設計、靈活的配置選項等方面。綜上所述,口罩佩戴檢測系統(tǒng)在性能需求方面應具備較高的響應速度、實時性、安全性、易用性和可擴展性,以滿足用戶的需求。2.2.5數(shù)據(jù)需求分析1、數(shù)據(jù)集:用于訓練和評估預測模型的數(shù)據(jù)集。數(shù)據(jù)集包含大量標注好的人臉圖像,標注信息包括口罩佩戴狀態(tài)(佩戴、未佩戴)。2、用戶信息:包括用戶名、密碼、姓名、用戶角色(管理員或普通用戶)、聯(lián)系方式等。這些信息將用于登錄驗證和權限管理。3、報警閾值:未佩戴口罩報警閾值可以根據(jù)實際需求進行調整,以減少連續(xù)的報警。4、攝像頭信息:包括攝像頭的編號、名稱和位置,用于獲取不同攝像頭捕獲的視頻。2.2.6接口需求分析1、用戶接口:系統(tǒng)需要提供用戶登錄、注冊等功能。用戶通過輸入用戶名和密碼進行登錄驗證,系統(tǒng)通過API接口進行身份驗證并返回相應的用戶角色和權限信息。2、口罩佩戴檢測結果接口:系統(tǒng)需要提供實時監(jiān)控界面,展示實時的口罩檢測結果。通過API接口獲取檢測設備傳回的實時數(shù)據(jù),并進行處理和展示。3、參數(shù)調整接口:系統(tǒng)需要提供參數(shù)設置功能,允許用戶調整閾值設置。通過API接口與后端服務器進行通信,實時更新系統(tǒng)參數(shù),以降低誤報率。綜上所述,在口罩佩戴檢測系統(tǒng)的接口需求分析中,我們需要考慮用戶接口、口罩佩戴檢測結果接口以及參數(shù)調整接口等方面的接口需求,以確保系統(tǒng)能夠正常運行和滿足用戶需求。2.2.7將來可能提出的需求分析1、添加智能分析功能,根據(jù)歷史數(shù)據(jù)預測未來口罩佩戴情況,輔助決策。2、集成人臉識別功能,以便在特定場景中識別特定人員是否佩戴口罩。3、增加體溫檢測、人流量統(tǒng)計等功能。4、設備兼容性的提升。

3系統(tǒng)設計3.1架構設計本文設計的口罩佩戴檢測系統(tǒng)的系統(tǒng)架構主要包括用戶界面層、應用邏輯層、數(shù)據(jù)儲存層,其中界面層主要用于展示檢測結果、調整檢測相關參數(shù),邏輯層主要實現(xiàn)調取數(shù)據(jù)、口罩檢測與用戶管理功能,數(shù)據(jù)層主要存儲用戶信息、攝像頭信息和模型信息。Windows10、Pytorch、PyQt5、MySQL8為此系統(tǒng)的底層支持環(huán)境。此論文涉及的系統(tǒng)的架構圖如圖3.1所示。圖3.1系統(tǒng)架構圖3.2功能模塊設計根據(jù)前面的分析,此口罩佩戴檢測系統(tǒng)主要包括用戶管理模塊、參數(shù)調整模塊、口罩佩戴檢測模塊、數(shù)據(jù)展示模塊、警報功能模塊。用戶管理模塊實現(xiàn)用戶注冊、登錄和用戶信息管理功能;參數(shù)調整模塊實現(xiàn)報警閾值調整、攝像頭切換和檢測模型切換功能;口罩佩戴檢測模塊實現(xiàn)選擇圖片檢測、視頻檢測和攝像頭檢測;數(shù)據(jù)展示模塊實現(xiàn)檢測耗時、檢測精度和口罩佩戴檢測結果展示;警報功能模塊實現(xiàn)音頻報警提醒。本系統(tǒng)的功能模塊圖如圖3.2所示。圖3.2系統(tǒng)功能模塊圖3.3數(shù)據(jù)庫設計3.3.1概念模型設計在口罩佩戴檢測系統(tǒng)的數(shù)據(jù)庫設計中,通過分析,給出系統(tǒng)E-R圖。為了更好地滿足海量信息的實時存儲,避免信息的丟失,系統(tǒng)設計采用MySQL8.0關系數(shù)據(jù)庫。充分利用存儲在數(shù)據(jù)庫系統(tǒng)中的信息,具有較高的信息訪問效率和信息安全性,為系統(tǒng)數(shù)據(jù)庫功能的實現(xiàn)奠定了良好的設計基礎。經(jīng)過分析設計,系統(tǒng)數(shù)據(jù)庫所需要得數(shù)據(jù)有用戶信息表、攝像頭信息表、報警記錄表和模型表。數(shù)據(jù)庫E-R圖如圖3.3所示。圖3.3系統(tǒng)E-R圖3.3.2數(shù)據(jù)庫表的設計在口罩佩戴檢測系統(tǒng)中,我們采用的數(shù)據(jù)庫為MySQL8.0,因為MySQL支持多種語言與操作系統(tǒng),同時也支持多線程,對CPU資源的利用十分充分,而且它的SQL查詢算法,為系統(tǒng)查詢數(shù)據(jù)提供了巨大的便利,顯著地提升了查詢速度,還便于管理與檢查。本系統(tǒng)的數(shù)據(jù)庫名稱為mask,用以存儲在系統(tǒng)中所需要使用和處理的數(shù)據(jù)信息以及一些定義規(guī)則。根據(jù)以上的分析,下面將給出本系統(tǒng)的數(shù)據(jù)庫表。1、users表,即用戶的所有信息表,表里包括用戶ID、用戶名、密碼、姓名、角色等信息,在系統(tǒng)中可以通過該表實現(xiàn)對用戶的信息管理。表結構如表3.1所示。表3.1用戶信息表users序號列名數(shù)據(jù)類型長度主鍵外鍵允許空默認值說明1usernamevarchar255是否否用戶名2passwordvarchar255否否否密碼3namevarchar255否否否姓名4phonevarchar11否否否用戶電話5rolevarchar255否否否user角色(user、admin)2、cameras表,即攝像頭信息表,表里包括攝像頭ID、攝像頭名稱和攝像頭位置,在系統(tǒng)中可以通過該表實現(xiàn)對檢測時攝像頭的切換功能。表結構如表3.2所示。表3.2攝像頭信息表cameras序號列名數(shù)據(jù)類型長度主鍵外鍵允許空默認值說明1Camera_IDint18是否否攝像頭ID2Camera_Namevarchar255否否否攝像頭名稱3Camera_Locationvarchar255否否否攝像頭位置3、models表,即模型表,表里包括模型ID、模型名稱、模型地址和模型表現(xiàn),在系統(tǒng)中可以通過該表實現(xiàn)對檢測模型的切換功能。表結構如表3.3所示。表3.3模型表models序號列名數(shù)據(jù)類型長度主鍵外鍵允許空默認值說明1Model_IDint18是否否模型ID2Model_Namevarchar255否否否模型名稱3File_Pathvarchar255否否否模型地址4Performancedecimal(5,4)否否否模型表現(xiàn)4、alerts表,即警報記錄表,表里包括警報記錄ID、警報時間、警報時未戴口罩人數(shù)、總檢測人數(shù)和未帶口罩比例,在系統(tǒng)中該表實現(xiàn)對警報的記錄用于后續(xù)分析。表結構如表3.4所示。表3.4警報記錄表alerts序號列名數(shù)據(jù)類型長度主鍵外鍵允許空默認值說明1alert_idint256是否否警報ID2alert_timetimestamp255否否否警報時間3no_mask_countint18否否否未戴口罩人數(shù)4total_countint18否否否檢測總人數(shù)5no_mask_ratiodecimal(5,4)否否否未戴口罩比例

4系統(tǒng)實現(xiàn)4.1開發(fā)環(huán)境本系統(tǒng)使用的口罩佩戴檢測模型的訓練環(huán)境的軟硬件配置如下表4.1所示。表4.1模型訓練所需軟、硬件環(huán)境硬件環(huán)境軟件環(huán)境CPU:7vCPUIntel(R)Xeon(R)CPUE5-2680v4@2.40GHz操作系統(tǒng):ubuntu18.04內存:20GB以上Pytorch:1.9.0GPU:RTX3060(12GB)Python:3.8硬盤:70GBCuda:11.1本系統(tǒng)基于Python使用PyQt5編寫開發(fā)系統(tǒng)將模型部署,數(shù)據(jù)庫選用MySQL開源數(shù)據(jù)庫,對于運行環(huán)境要求不高,如表4.2所示。表4.2系統(tǒng)運行所需軟、硬件環(huán)境硬件環(huán)境軟件環(huán)境內存:8G及以上操作系統(tǒng):Windows10以上版本處理器:Intel(R)Core(TM)i5-8250UPython版本:3.8IDE:Pycharm2021.2.1硬盤:50GB及以上PyQt5版本:5.15.4攝像頭:720P及以上數(shù)據(jù)庫:MySQL8.04.2功能模塊實現(xiàn)4.2.1用戶管理模塊1、用戶注冊:用戶在注冊頁面輸入必要的注冊信息,先對用戶輸入的信息進行唯一性驗證。通過驗證后,再驗證用戶信息的合法性,并將用戶信息存儲在數(shù)據(jù)庫中。實現(xiàn)該功能的核心代碼如圖4.1所示。圖4.1用戶注冊部分代碼具體的實現(xiàn)效果圖如圖4.2所示。圖4.2用戶注冊功能實現(xiàn)圖2、用戶登錄:用戶在登錄頁面輸入用戶名和密碼。前端將登錄信息發(fā)送至后端進行驗證。后端驗證用戶輸入的用戶名和密碼是否與數(shù)據(jù)庫中存儲的信息匹配。如果匹配成功,則允許用戶登錄并返回相應的登錄狀態(tài)和用戶信息。實現(xiàn)該功能的核心代碼如圖4.3所示。圖4.3用戶登錄部分代碼具體的實現(xiàn)效果圖如圖4.4所示。圖4.4用戶登錄功能實現(xiàn)圖3、用戶管理:管理員在登錄頁面輸入用戶名和密碼并登錄。如果系統(tǒng)檢測到此賬號為管理員賬戶,則給出進入檢測頁面和管理頁面兩個選項。用戶選擇進入管理模塊即可管理系統(tǒng)用戶信息。實現(xiàn)該功能的核心代碼如圖4.5所示。圖4.5用戶管理部分代碼具體的實現(xiàn)效果圖如圖4.5所示。圖4.6用戶管理功能實現(xiàn)圖4.2.2參數(shù)調整模塊1、報警閾值調整:用戶可通過下拉框選擇報警閾值達到個性化報警并防止頻繁報警。2、模型切換:用戶可選擇系統(tǒng)內置的檢測模型進行檢測,以此來適應不同性能的系統(tǒng),同時用戶也可選擇自己的模型。3、攝像頭切換:用戶可通過攝像頭下拉框切換檢測所用的攝像頭。實現(xiàn)該模塊的核心代碼如圖4.7所示。圖4.7參數(shù)調整模塊部分代碼具體的實現(xiàn)效果圖如圖4.8所示。圖4.8參數(shù)調整模塊實現(xiàn)圖4.2.3口罩佩戴檢測模塊1、圖片檢測:用戶選擇圖片進行口罩佩戴檢測。系統(tǒng)讀取用戶選擇的圖片,并使用訓練好的模型進行檢測。2、視頻檢測:用戶選擇視頻進行口罩佩戴檢測。系統(tǒng)讀取用戶選擇的視頻,并逐幀使用訓練好的模型進行檢測。3、攝像頭檢測:用戶開啟攝像頭進行實時口罩佩戴檢測。系統(tǒng)捕獲攝像頭的視頻流,并逐幀使用訓練好的模型進行檢測。實現(xiàn)該模塊的核心代碼如圖4.9所示。圖4.9口罩佩戴檢測模塊部分代碼具體的實現(xiàn)效果圖如圖4.10所示。圖4.10口罩佩戴檢測模塊實現(xiàn)圖4.2.4數(shù)據(jù)展示模塊1、處理時間展示:系統(tǒng)實時計算并展示口罩佩戴檢測的處理時間。2、準確率(置信度)展示:系統(tǒng)根據(jù)檢測結果計算并展示準確率或置信度。3、口罩佩戴結果展示:系統(tǒng)實時展示口罩佩戴檢測的結果,包括佩戴和未佩戴狀態(tài)。實現(xiàn)該模塊的核心代碼如圖4.11所示。圖4.11數(shù)據(jù)展示模塊部分代碼具體的實現(xiàn)效果圖如圖4.12所示。圖4.12數(shù)據(jù)展示模塊實現(xiàn)圖4.2.5警報功能模塊警報信息提醒:當檢測到未佩戴口罩的人數(shù)比例超過預設的報警閾值,系統(tǒng)系統(tǒng)發(fā)出音頻警報提醒,提醒用戶關注未佩戴口罩的情況。實現(xiàn)該模塊的核心代碼如圖4.13所示。圖4.13警報功能模塊部分代碼報警功能模塊是一個系統(tǒng)自動根據(jù)預設條件執(zhí)行的功能,不需要提供界面讓用戶進行操作,所以沒有GUI實現(xiàn)圖。

5系統(tǒng)測試5.1測試計劃5.1.1測試范圍與主要內容測試的目的是確??谡峙宕鳈z測系統(tǒng)滿足需求分析中所提出的各項功能需求和性能需求,保證系統(tǒng)的穩(wěn)定運行。本次測試將覆蓋口罩佩戴檢測系統(tǒng)的全部功能模塊,主要包括:1、用戶管理模塊用戶注冊:測試用戶能否成功注冊,包括輸入驗證、錯誤提示和注冊成功的確認。用戶登錄:測試用戶能否成功登錄,包括輸入驗證、錯誤提示和登錄成功的確認。用戶信息管理:測試管理員能否成功管理普通用戶信息,包括輸入驗證、錯誤提示和修改成功的確認。2、口罩佩戴檢測模塊圖片檢測:測試用戶能否成功選擇圖片進行檢測,包括文件選擇和文件格式驗證。視頻檢測:測試用戶能否成功選擇視頻進行檢測,包括文件選擇和文件格式驗證。攝像頭檢測:測試用戶能否成功開啟攝像頭進行實時檢測,包括攝像頭啟動和關閉功能。3、數(shù)據(jù)展示模塊處理時間展示:測試處理速度是否實時更新并正確顯示。準確率(置信度)展示:測試準確率(置信度)是否實時更新并正確顯示。口罩佩戴結果展示:測試口罩佩戴結果是否準確展示,包括佩戴和未佩戴的標識。4、警報功能模塊警報信息提醒:測試警報語音是否在適當情況下觸發(fā)并正確顯示。5、參數(shù)調整模塊修改報警閾值:測試是否能成功修改報警閾值并對報警功能生效。攝像頭切換:測試是否能正確切換攝像頭并用于檢測。檢測模型切換:測試是否能切換模型并用于口罩檢測。5.1.2測試方法在對口罩佩戴檢測系統(tǒng)進行功能測試時,此處采用黑盒測試方法。黑盒測試主要關注輸入、輸出和系統(tǒng)行為,而不關心內部實現(xiàn)和代碼邏輯。這種測試方法適用于驗證系統(tǒng)功能是否符合預期需求。在黑盒測試中,我們將采用以下測試技術:1、邊界值分析測試輸入數(shù)據(jù)在邊界條件下的系統(tǒng)行為。例如,在測試檢測參數(shù)調整模塊時,可以嘗試設置報警閾值為最大值、最小值和中間值,查看系統(tǒng)是否能正確處理這些情況。2、等價類劃分將輸入數(shù)據(jù)分為若干等價類,從每個等價類中選取代表性數(shù)據(jù)進行測試。在測試口罩佩戴檢測模塊時,可以將輸入圖片分為有口罩、無口罩等等價類。3、錯誤推測法根據(jù)經(jīng)驗和對系統(tǒng)的了解,主動猜測可能出現(xiàn)錯誤的情況并進行測試。例如,在測試用戶管理模塊時,可以嘗試使用不合法的用戶名和密碼,以驗證系統(tǒng)是否能正確拒絕這些請求。4、決策表法對于具有多個條件和結果的功能,使用決策表列出所有可能的輸入組合和相應的輸出結果,然后對照決策表進行測試。例如,在測試報警功能模塊時,可以根據(jù)口罩佩戴檢測結果和報警閾值設定不同的情況,驗證系統(tǒng)是否能正確觸發(fā)短信通知。5.1.3測試環(huán)境此系統(tǒng)的測試環(huán)境主要是基于Windows10系統(tǒng),對系統(tǒng)的硬件環(huán)境的要求較低,但需要配備720P及以上分辨率的攝像頭來獲取人像。具體的測試環(huán)境如表5.1所示。表5.1測試環(huán)境客戶端軟、硬件配置備注硬件軟件口罩佩戴檢測系統(tǒng)CPU:Inteli5-8250U操作系統(tǒng):Windows10內存:8GPython3.8硬盤:200GIDE:Pycharm2021.2.1攝像頭:720P數(shù)據(jù)庫:MySQL8.0口罩佩戴檢測系統(tǒng)CPU:Inteli5-9600操作系統(tǒng):Windows11內存:16GPython3.8硬盤:500GIDE:Pycharm2021.2.1攝像頭:1080P數(shù)據(jù)庫:MySQL8.05.2功能測試本次功能測試主要測試系統(tǒng)中用戶管理模塊的登錄、注冊和用戶管理功能;口罩佩戴檢測模塊中的圖片檢測、視頻檢測和攝像頭檢測;數(shù)據(jù)展示模塊中的處理時間展示、測試準確率(置信度)展示和口罩佩戴結果展示功能;參數(shù)調整模塊的報警閾值修改、攝像頭切換和檢測模型切換功能;報警功能模塊中的語言報警功能。功能測試用例表如表5.2所示。表5.2功能測試用例表編號測試項描述/輸入/操作期望結果實際結果測試結果1用戶管理模塊用戶注冊能否輸入要求的注冊信息顯示注冊情況提示賬戶信息是否合法正常顯示注冊信息顯示注冊成功或者已注冊非法的給予處理和錯誤提示正常顯示注冊信息顯示注冊成功或者已注冊非法的給予處理和錯誤提示通過2用戶登錄能否輸入要求的登錄信息輸入賬號與密碼并登錄正常顯示登錄信息錯誤的用戶名和密碼被拒絕,正確的用戶信息則進入系統(tǒng)正常顯示登錄信息錯誤的用戶名和密碼被拒絕,正確的用戶信息則進入系統(tǒng)通過3用戶信息管理能否根據(jù)用戶單項信息查詢用戶信息能否添加用戶信息能否通過用戶名查詢并修改用戶信息能否通過用戶名查詢并刪除用戶信息可以根據(jù)用戶單項信息查詢用戶信息可以添加用戶信息可以通過用戶名查詢并修改用戶信息可以通過用戶名查詢并刪除用戶信息可以根據(jù)用戶單項信息查詢用戶信息可以添加用戶信息可以通過用戶名查詢并修改用戶信息可以通過用戶名查詢并刪除用戶信息通過4口罩佩戴檢測模塊圖片檢測打開系統(tǒng)文件目錄并選擇待檢測圖片用戶能從系統(tǒng)中選擇圖片檢測系統(tǒng)正確檢測口罩佩戴情況用戶能從系統(tǒng)中選擇圖片檢測系統(tǒng)正確檢測口罩佩戴情況通過續(xù)表5.2功能測試用例表編號測試項描述/輸入/操作期望結果實際結果測試結果5口罩佩戴檢測模塊視頻檢測打開系統(tǒng)文件目錄并選擇待檢測視頻用戶能從系統(tǒng)中選擇視頻檢測系統(tǒng)正確檢測口罩佩戴情況用戶能從系統(tǒng)中選擇視頻檢測系統(tǒng)正確檢測口罩佩戴情況通過6攝像頭檢測點擊打開攝像頭按鈕攝像頭正常打開,無法打開時顯示警告系統(tǒng)能實時監(jiān)測攝像頭捕捉到的畫面并檢測口罩佩戴情況攝像頭正常打開,無法打開時顯示警告系統(tǒng)能實時監(jiān)測攝像頭捕捉到的畫面并檢測口罩佩戴情況通過7參數(shù)調整模塊修改報警閾值通過下拉框調整報警閾值可以打開下拉框并選擇新的閾值選擇新的閾值后實時生效可以打開下拉框并選擇新的閾值選擇新的閾值后實時生效通過8攝像頭切換通過下拉框切換攝像頭可以打開下拉框并切換攝像頭切換后攝像頭正常打開可以打開下拉框并切換攝像頭切換后攝像頭正常打開通過9檢測模型切換通過下拉框選擇內置模型可以打開下拉框并切換檢測模型選擇新的模型后實時生效可以打開下拉框并切換檢測模型選擇新的模型后實時生效通過10數(shù)據(jù)展示模塊檢測耗時展示是否正確顯示檢測消耗的時間正確顯示正確顯示通過11結果置信度展示是否正確顯示置信度正確顯示正確顯示通過12口罩佩戴結果展示是否能正確顯示檢測結果正確顯示正確顯示通過13警報功能模塊警報語音提醒當檢測到未帶口罩人數(shù)超過閾值時播放警報語音正常播放正常播放通過5.3兼容性測試在大多數(shù)生產(chǎn)環(huán)境中,客戶機工作站、網(wǎng)絡連接和數(shù)據(jù)庫服務器的具體硬件規(guī)格會有所不同。客戶機工作站可能會安裝不同的應用程序、驅動程序等,而且在任何時候,都可能運行許多不同的軟件組合,從而占用不同的資源。為了確保系統(tǒng)在不同的硬件、操作系統(tǒng)能夠正常工作,進行兼容性測試。如表5.3所示。表5.3兼容性測試用例表配置說明操作系統(tǒng)外設運行軟件結果客戶端Windows10720P攝像頭Pycharm正常Windows111080P攝像頭Pycharm正常macOS1080P攝像頭Pycharm正常5.4測試結論本系統(tǒng)經(jīng)過功能測試和兼容性測試后,各個模塊的功能正常運行,達到了系統(tǒng)設計時的預期結果,測試過程中發(fā)現(xiàn)了一些問題并對問題及時做出修改,軟件運行更加可靠、穩(wěn)定。最終得到了符合要求的高效率的口罩佩戴檢測系統(tǒng)。

6總結與展望6.1總結本文的背景是新冠疫情的擴散嚴重危害人民健康,故以疫情背景下檢測口罩佩戴情況為主題。本研究實現(xiàn)了基于YOLOv5的口罩佩戴檢測并通過基于PyQt5的用戶界面將其部署,實現(xiàn)了快速、準確、方便的口罩佩戴檢測。在此系統(tǒng)的設計和實現(xiàn)過程中,我獲得了許多寶貴的經(jīng)驗和知識。首先在設計階段,本人意識到了設計比實現(xiàn)更重要,通過查看相關學術論文以及教學視頻來增加系統(tǒng)功能的可能性。同時也考慮到功能實現(xiàn)的可能性以及系統(tǒng)的安全性、易用性和可擴展性。其次在實現(xiàn)階段,本人也遇到了很多問題、收獲了許多經(jīng)驗,學會了使用數(shù)據(jù)標注軟件來標注數(shù)據(jù)為模型訓練做準備;在模型訓練過程中,訓練的模型性能不佳時閱讀了相關文獻和資料,學習了一些優(yōu)化的方法,試圖提高了模型的性能;在編寫系統(tǒng)界面時學會了基于PYQt5編寫用戶界面以及布局管理。在整個畢業(yè)設計流程中,本人主要學習了卷積神經(jīng)網(wǎng)絡、YOLOv5、PyQt5等算法和技術。除此之外,也更加理解系統(tǒng)設計與實現(xiàn),包括架構設計和功能模塊設計,在實現(xiàn)時,要進行單元測試以確保每個功能的按預期正常實現(xiàn)。這些知識和技能讓自己在未來的系統(tǒng)開發(fā)過程中更加快速和完善。6.2展望本文實現(xiàn)了基于YOLOv5的口罩佩戴檢測功能及其部署??梢砸暂^高的精確度和較快的速度進行口罩佩戴檢測。但是由于對場景差異泛化性不足,文章還有一些可以完善的地方。以及研究時間和自身技術水平的限制等主觀原因,此系統(tǒng)仍然存在一些需要改進和發(fā)展的方面:1、本文的數(shù)據(jù)集規(guī)模相對來說仍然比較小,除了模型本身質量,檢測效果很大程度上也會受到數(shù)據(jù)集質量的影響。后續(xù)可以將擴大數(shù)據(jù)集大小和識別場景,為更高性能檢測模型的研究提高更高質量的數(shù)據(jù)支持。2、本文實現(xiàn)了口罩佩戴檢測,可以替代人工檢查加強公共場所疫情防控。但為了進一步擴展和發(fā)揮檢測功能的意義,后續(xù)可以基于此口罩佩戴檢測系統(tǒng)開發(fā)佩戴口罩情況下的人臉識別功能,進一步避免摘下口罩進行人臉識別造成感染。同時也可以針對距離進行檢測,通過紅外傳感器確定檢測人員的位置,實現(xiàn)對人人間距之間的控制。3、本文設計的系統(tǒng)雖然能實現(xiàn)實時檢測,但并不能同時對多個實時視頻流進行檢測,后續(xù)可以開發(fā)多攝像頭并發(fā),將多個檢測結果在一個頁面顯示。4、本文沒有進行數(shù)據(jù)統(tǒng)計,后續(xù)可加入數(shù)據(jù)統(tǒng)計功能,來實現(xiàn)對對某地戴口罩情況的分析和預測。

參考文獻WorldHealthOrganization.Namingthecoronavirusdisease(COVID-19)andthevirusthatcausesit[J].BrazilianJournalofImplantologyandHealthSciences,2020,2(3).WorldHealthOrganization.MaskuseinthecontextofCOVID-19:interimguidance,1December2020[R].WorldHealthOrganization,2020.WorldHealthOrganization.COVID-19weeklyepidemiologicalupdate,edition134,16March2023[J].2023.LiuL,OuyangW,WangX,etal.Deeplearningforgenericobjectdetection:Asurvey[J].Internationaljournalofcomputervision,2020,128:261-318.寧健,馬淼,柴立臣,馮中營.深度學習的目標檢測算法綜述[J].信息記錄材料,2022,23(10):1-4.DOI:10.16009/13-1295/tq.2022.10.057.邵延華,張鐸,楚紅雨,張曉強,饒云波.基于深度學習的YOLO目標檢測綜述[J].電子與信息學報,2022,44(10):3697-3708.董文軒,梁宏濤,劉國柱,胡強,于旭.深度卷積應用于目標檢測算法綜述[J].計算機科學與探索,2022,16(05):1025-1042.黃衛(wèi).基于深度學習的目標檢測應用研究[D].南京郵電大學,2022.DOI:10.27251/ki.gnjdc.2022.001250.李嘉寧,劉楊,胡馨月,劉建恬,陳宗文.基于深度學習的無人駕駛視覺識別[J].工業(yè)技術創(chuàng)新,2020,07(04):54-57.DOI:10.14103/j.issn.2095-8412.2020.04.010.任彥鵬.深度學習在視頻安防監(jiān)控系統(tǒng)的應用[D].電子科技大學,2020.DOI:10.27005/ki.gdzku.2020.004362.賴保均,陳公興,李升凱,李家壯,邵經(jīng)緯,黎清虎.基于深度學習的人臉追蹤安防監(jiān)控系統(tǒng)[J].科學技術創(chuàng)新,2020(15):72-74.萬子倫,張彥波,王多峰,孫怡晨,谷灃洋,陳明月.復雜環(huán)境下多任務識別的人臉口罩檢測算法[J].微電子學與計算機,2021,38(10):21-27.DOI:10.19304/J.ISSN1000-7180.2021.0056.劉國明,江巨浪,查兵,任鈺,嚴華鋒.基于深度神經(jīng)網(wǎng)絡的口罩佩戴檢測[J].安慶師范大學學報(自然科學版),2021,27(02):54-58.DOI:10.13757/34-1328/n.2021.02.011.李國進,榮譽.基于DCN-SERes-YOLOv3的人臉佩戴口罩檢測算法[J].計算機與現(xiàn)代化,2021(09):12-20+30.劉陽.密集人群場景下的口罩佩戴檢測算法研究[D].河北工程大學,2022.DOI:10.27104/ki.ghbjy.2022.000365.張婷婷.復雜場景下的佩戴口罩檢測系統(tǒng)與研究[D].杭州電子科技大學,2021.DOI:10.27075/ki.ghzdc.2021.000234.ViolaP,JonesMJ.Robustreal-timefacedetection[J].Internationaljournalofcomputervision,2004,57:137-154.PratesRF,Cámara-ChávezG,SchwartzWR,etal.Brazilianlicenseplatedetectionusinghistogramoforientedgradientsandslidingwindows[J].arXivpreprintarXiv:1401.1990,2014

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論