賽題分析
通過對賽題的分析研究,完成題目的要求需要滿足以下幾點功能要求:
(1)非接觸測量時應(yīng)當(dāng)滿足的溫度范圍夠大,0-100攝氏度的測溫,并且保證精確度;測量體溫的時候注意超標(biāo)報警這一功能,考慮報警的方式為蜂鳴器報警和LED燈閃爍。
(2)身份識別是能分辨不同的人,注意同時出現(xiàn)的情況。
(3)通過神經(jīng)網(wǎng)絡(luò)來進行防疫要求的識別(是否佩戴口罩)。
(4)考慮無接觸測量模塊的靈敏度和面部識別的精確性。
系統(tǒng)原理
利用紅外傳感器、面部識別模塊可以獲取人的體溫,判斷他是否符合防疫標(biāo)準(zhǔn)和身份是否正確,經(jīng)過信號調(diào)理以后,便把數(shù)據(jù)發(fā)送給STM32單片機進行運算處理與判斷,并將人的身份和人的體溫送OLED顯示。
人體體溫不在正常范圍內(nèi)時將發(fā)出報警。
圖1?系統(tǒng)結(jié)構(gòu)框圖
硬件部分
我們的裝置由控制電路模塊、面部識別模塊、溫度檢測模塊、電源模塊、報警模塊和顯示模塊等多部分組成。
電源模塊用于對各電路模塊進行供電,面部識別模塊由攝像頭進行檢測識別,紅外測溫傳感器采集溫度檢測的溫度數(shù)據(jù)值,還會檢測溫度是否合理,有沒有出現(xiàn)異常;
信號調(diào)理電路主要采用I/V轉(zhuǎn)換電路、信號放大電路實現(xiàn)對傳感器信號的調(diào)理;控制電路以STM32單片機為控制核心,對各類信號進行運算處理;
顯示模塊用于顯示系統(tǒng)的相關(guān)參數(shù)。對于各個模塊的選擇思路如下:
3.1 控制器的選擇
在控制器的選擇是,我們需要考慮的大部分參數(shù)為時鐘頻率、單片機上的外設(shè)、外設(shè)的基本參數(shù)、單片機計算位數(shù)。我們先選擇單片機位數(shù),在8位、16位與32位之間,我們最終選擇了32位,因為其成本相差不大,32位單片機也是我們使用的最多的。
我們可以使用的32位單片機有STM32與TIVA C 倆款,但由于賽題沒有要求,所以我們選擇的是最熟悉的STM32單片機作為控制器。
3.2 無接觸測溫方案的選用
在無線測溫方面,我們賽前訓(xùn)練時,學(xué)習(xí)了單點式(一個測量點)測溫傳感器TN901、矩陣式(8*8個測溫點)測溫傳感器AMG8833,等2種無線測溫模塊。
但是通過賽題分析,我們發(fā)現(xiàn)題目要求中更多的單個測溫位置的溫度測量,雖然矩陣式也可以當(dāng)作單點式來使用,不過由于我們學(xué)習(xí)了單點式的使用,而且矩陣式轉(zhuǎn)換成單點式傳感器使用時測量精度不夠理想。
所以最終我們選擇的還是單點式傳感器TN901。
3.3?身份識別方案的選用
身份識別的方案上,我們遇到了難題,我們一開始選用的是Openmv攝像頭模塊,但是它在人臉識別上的測量精度都沒有達到我們心中的要求,正在我們一籌莫展的時候,我們發(fā)現(xiàn)了一款新的攝像頭模塊--K210,它對人臉識別準(zhǔn)確度讓我們很驚喜,并且在口罩識別的方面,K210的測試效果也很好,所以最終我們敲定了K210攝像頭模塊作為我們的身份識別方案。
3.4 作品結(jié)構(gòu)的設(shè)計:
對于電子設(shè)計來說,如果電路是作品的神經(jīng),那么作品結(jié)構(gòu)就是它的骨骼了,結(jié)構(gòu)是作品至關(guān)重要的一環(huán),它對作品的穩(wěn)定性、測量誤差的影響是不小的。如果設(shè)計不好,小則誤差范圍失控,大則整個系統(tǒng)都會出現(xiàn)不可逆轉(zhuǎn)的崩潰。
所以我們最終為了攝像頭模塊的穩(wěn)定,選擇了三腳架作為支持,使得人臉識別
更加精準(zhǔn)。
軟件部分
軟件程序主要由顯示程序、身份識別、溫度測量、濾波算法等多個部分組成,單片機主要采用C語言編程,執(zhí)行效率高,完成溫度測量與補償,溫度超標(biāo)報警等功能;
K210則是采用python編程,編程效率高,便于實現(xiàn)復(fù)雜算法。顯示程序用于顯示各個功能的測量參數(shù)與菜單界面,溫度測量程序通過SPI的協(xié)議測量溫度,并通過濾波算法使溫度測量值的誤差降低。
身份識別程序則是通過K210進行人臉識別與口罩識別 。
4.1 顯示程序思路
在OLED上顯示菜單,菜單主要功能有設(shè)置模式:溫度報警值設(shè)置、溫度測量功能選擇、溫度測量模式切換、人臉識別與口罩檢測功能的選擇;
溫度測量時可以將溫度數(shù)值小數(shù)部分也顯示出來,人臉識別的時候,可以將識別到的人名字顯示出來,若帶了口罩,會增加一個口罩符號的顯示,如果是陌生人怎會顯示ERROR。
4.2 溫度測量設(shè)計思路
無接觸式溫度測量時,我們采用的TN901的測溫模塊,它工作后通過特殊通訊格式,將數(shù)據(jù)傳輸給單片機,而它給單片機的數(shù)據(jù)就是二進制數(shù)據(jù),我們需要將二進制數(shù)據(jù)進行解碼、轉(zhuǎn)換、提取得到一個簡單的、可以用于計算與顯示的數(shù)值數(shù)據(jù)。
4.3 身份識別設(shè)計思路
在身份識別上,我們對K210模塊進行程序編寫時,采用的是Python語言,通過Python語言編寫代碼可以讓攝像頭檢測到人臉,然后對比人臉的多點數(shù)據(jù),如果匹配到對應(yīng)的人員,便通過串行數(shù)據(jù)傳輸總線,發(fā)送一個簡單的數(shù)值數(shù)據(jù)給單片機,單片機接收到以后便進行相應(yīng)的顯示,口罩識別也同樣如此。
而現(xiàn)場錄入功能,我們通過按鍵作為信息錄入的開關(guān),按鍵按下便將攝像頭中的人臉數(shù)據(jù)錄入系統(tǒng)。
4.4 濾波算法
在濾波算法上,由于數(shù)據(jù)的穩(wěn)定性好看的過去,只是時不時會出現(xiàn)偶然的干擾數(shù)據(jù)。
所以我們選用的是中位值平均濾波算法,它又被稱為防脈沖干擾平均濾波算法。通過連續(xù)采集多個數(shù)據(jù),去掉最大與最小值;
然后計算N-2個數(shù)據(jù)的平均值作為濾波后的溫度值。這種濾波算法對周期性干擾有良好的抑制作用,平滑度高。
結(jié)論
通過多次的測試,我們的設(shè)計滿足題目的要求,可以通過非接觸式測量人體和物體溫度,有光標(biāo)指示被測點,超標(biāo),身份識別,身份不符報警,防疫要求判別,現(xiàn)場學(xué)習(xí)被測人身份并識別等任務(wù),識別戴了口罩的同時識別戴口罩人的身報警份這一功能超出題目要求。
基本部分功能與發(fā)揮部分功能均工作正常,各動作所用時間短,各項指標(biāo)均達到題目要求。
?展示
??
圖2? 測溫
圖3? 人臉識別
飛機上一般是什么操作系統(tǒng)?
高速CAN、容錯CAN、LIN總線有什么區(qū)別?
大佬終于把鴻蒙OS講明白了,收藏了!
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!