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