

摘要:目前市場上大多數的智能風扇,需通過遙控器或者按鍵來控制風扇的吹風方向以及風扇的風速,使用時較為不便,且功能單一。文章以STM32為主控芯片,設計了一款在風扇的主體基礎上,結合人工智能,實現對人臉的有效跟蹤吹風,調節環境溫濕度,同時可自主控制或者通過手機小程序控制的人臉追蹤智能加濕風扇。
關鍵詞:人臉追蹤;智能;風扇
中圖分類號:TP39
文獻標志碼:A
0 引言
隨著人們對生活品質要求的不斷提高,家具和電器智能化已經成為主流趨勢。目前,智能風扇已經開始投入市場,并且不斷追求更加人性化的功能。目前,國內市面上的智能化風扇產品的銷售份額超過40%,其中以智能控制、變頻及紅外遙控為主要的需求點,但目前市場上電風扇的自動跟隨功能卻鮮有實現,并且現有的風扇不能檢測到人是否在風扇吹風范圍內,因此時常導致風扇做無用功。針對市場對于此類智能風扇的空缺,本文設計的人臉智能識別風扇可以進行遠程遙控,在風扇運行期間,可以主動追蹤人臉,進行有效范圍吹風,并且識別人與風扇之間的距離,實現吹出的風臨體時溫和舒適的效果。當風扇運作范圍內無人時,可自動關閉,以此達到節能的目的,并且可根據用戶需求和結合室內環境,進行加濕降溫。
1 人臉追蹤智能加濕風扇總體設計方案
該風扇由控制主板、攝像頭識別、舵機云臺、支撐結構4大結構組成。考慮到程序的復雜性和性能要求,選用STM32F103C8T6為主控芯片,超聲波模板用于測距,DHT11溫濕度模塊用于檢測環境溫濕度,0.96寸OLED顯示屏用于顯示當前風扇主要狀態參數,ESP8266-WiFi模板用于聯網,主要連接MQTT服務器實現遠程操控,繼電器模塊主要用于控制加濕器的開關。風扇的人臉追蹤通過攝像頭識別抓取信息,風扇的整體結構采用3 D打印模型進行支撐,風扇的轉向通過舵機云臺實現。
具體設計方案如圖1所示,攝像頭抓取人臉信息并給出對應的坐標信息,樹莓派進行數據處理,并將處理后的信息通過串口發送到單片機,單片機收到具體坐標信息后,通過主控芯片控制數字舵機進行相應的動作,使得風扇能夠對人臉進行跟蹤。同時,DHT11溫濕度模塊獲取濕度后,程序對其進行分析,與人體最適合的環境濕度進行對比,若濕度過低或過高,則通過主控芯片控制繼電器操控加濕模塊是否通電工作,從而達到是否加濕的目的。超聲波模塊對追蹤到的人進行測距,若人與風扇的距離較近,風速會降低,使得人吹到的風較為溫和;若人離風扇較遠,則風扇的風速會增大,以此達到降溫通風的效果。同時,也可以通過小程序來控制風扇的轉速與加濕開關。
2 機器視覺模塊的設計
機器視覺模塊包括攝像頭、樹莓派。攝像頭采用市面上較為流行的OpenCV進行識別;樹莓派可以完成IO引腳控制,運行相應的操作系統可以完成一些小型的測試、開發等。
本文通過CascadeClassifier函數來調取OpenCV中自帶的訓練好的人臉檢測模型進行人臉識別[1]。
CascadeClassifier是OpenCV中人臉識別的一種級聯分類器,可以使用LBP特征和Haar特征來區分人臉,本文通過Haar級聯分類器來區分人臉。
Haar特征是一種能反映圖像灰度變化和像素分模塊求差值的卷積模板,有中心、線性、邊緣和對角線等特征組合成特征模板,其特征值由黑色矩形像素和減去白色矩形像素來表示。計算Haar特征是通過改變特征模板的位置和大小在圖像子窗口中舉出大量的特征。特征模板在圖像子窗口中擴展得到的特征稱為“矩形特征”;矩形特征的值定義為“特征值”。矩形特征不僅存在于圖像的任意位置,也可以任意改變大小,矩形的位置、大小和模板類別這3個因素的函數是矩形特征值。由于位置、類別和大小的變化多樣,即使是很小的檢測窗口也含有大量的矩形特征。
Haar級聯分類器建立在Haar-like特征的基礎上,通過積分圖加速計算,并利用Adaboost訓練的強分類器級聯的方法進行人臉檢測。先定義每個Haar-like特征的特征值fi為featurevaluei=weight white∑p∈witep - weight black ∑p Eblackp,即fi=白色區域像素-黑色區域像素,weight表示權重值,目的是維持白、黑兩種矩形區域的像素數目相同,確保在灰度絕對均勻的地方其特征值都為0。Haar-like特征的值經過運算可以反映該區域的灰度變化情況,將一幅輸入圖像的每一個區域做類似的運算后與訓練集中圖像的Haar-like特征值對比[2]。例如,人臉鼻梁的顏色比鼻梁兩邊部位處更淺,臉頰的顏色比旁邊兩個眼睛部位處更淺等。根據上述特點,可以判斷輸入圖像是否具有人臉特征。識別出人臉后,用藍色的方框將人臉框起來,并且返回x,y的坐標值。獲得人臉的x,y的坐標值后,將攝像頭的區域平均分為9塊,若返回的x,y的坐標值位于左上角那一塊,即令xlabel和ylabel返回為(1,1),若為右下角那一塊,則返回(3,3),根據不同的返回值,傳輸給樹莓派。樹莓派將信息通過串口發送給單片機,由單片機控制舵機將風扇旋轉至不同的角度,起到令風扇能跟著人運動的功能[3]。
3 智能風扇的硬件設計與主要功能實現原理
3.1 硬件設計
風扇的轉向主要由舵機云臺控制,分別由兩個180°旋轉大扭矩數字舵機組成,可實現上下左右轉向,人臉追蹤識別采用工業級攝像頭進行識別分析,加以算法收集數據并處理。風扇的搭建采用3D打印品來支撐,3D打印用品耗材均為PLA,利用SOLIDWORKS建模軟件分別設計風扇底架、電機軸套、超聲波支架等,以此來搭建人臉追蹤智能加濕風扇。
主板芯片為STM32F103C8T6,搭配DHT11溫濕度傳感器、0.96寸OLED顯示屏、ESP8266-WiFi模塊、TB6612電機驅動模塊以及繼電器和相關電路所需元器件、降壓芯片、晶振電路等。通過ESP8266-WiFi模塊,可以實現串口與WiFi之間的轉換,ESP8266-WiFi模塊與MQTT服務器連接,MQTT服務器提前訂閱主題以及相關信息,WiFi模塊與其連接,從而可以與同樣進行訂閱發布信息等操作的手機小程序進行數據傳輸,以此達到通過手機小程序來控制智能風扇的效果。
3.2 主要功能實現原理
攝像頭識別到人臉后,樹莓派發送區域坐標給單片機,此時單片機控制舵機旋轉至對應的角度,實現人臉追蹤的效果[4]。利用超聲波模塊測距,可以實現風扇的風力隨人與風扇的距離而變化,從而使人感受到風扇吹出的風是一種溫和舒適的風??刂萍訚窆δ艿膶崿F由DHT11溫濕度傳感器和繼電器模塊、加濕器共同完成,采集數據后,通過DATA數據傳輸引腳給單片機,單片機接收到數據后進行分析處理并控制是否加濕,經查詢,人體最適宜濕度在45%~65%,當濕度小于45%時,加濕器工作,大于則不加濕。
4 調節系統的設計
4.1 小程序界面設計
本系統主要針對人臉追蹤智能加濕風扇(以下簡稱風扇)進行設計,設計目的在于控制風扇的擋位、轉向、加濕等功能。系統涵蓋有控制模塊,包含3個開關和1個滑動選擇器,主要是風扇開關、轉向開關、加濕開關和擋位調節滑動器,分別具備調節風扇開關、調節風扇轉向、調節加濕與否和調節風扇擋位的功能。
在頁面設計中,點擊下方tabBar欄中的功能可到達控制頁面。頁面中包含風扇開關、轉向開關、加濕開關和擋位調節,開關由switch組件實現,而擋位調節由slider組件實現。開關按鍵均默認為關,按下風扇開關按鍵時,風扇設備會接收到指令將風扇打開;按下轉向開關按鍵時,風扇設備會接收到指令將風扇轉向打開;按下加濕開關按鍵時,風扇設備會接收到指令將風扇加濕功能打開。風扇有3個擋位可供選擇,默認為0檔,當風扇開關被打開時,擋位默認調節為一檔,后續用戶可根據實際需求滑動調節擋位,根據選擇器選擇的擋位不同,風扇設備會接收到不同的指令進行擋位調節。當用戶未將風扇開關打開而調節風扇擋位時,若擋位非0檔,則風扇開關會自動跳轉到開。若用戶直接將擋位調節為0,則風扇開關也會跳轉至關。當風扇開關被關閉時,所有按鍵全部都會被自動關閉。
4.2 小程序功能實現
消息隊列遙測傳輸協議(Message Queuing Telemetry Transport,MQTT)是一種基于發布或訂閱模式的通信協議,MQTT最大的優點在于可以用極少的代碼和有限的帶寬,為硬件設備提供遠程連接的實時消息服務,不添加多余的功能,消息推送和訂閱更加方便,有較高的傳輸效率等[5]。本系統通過MQTT協議搭建手機客戶端和硬件設備之間消息的推送和訂閱,手機客戶端向服務器發生請求,服務端收到請求后,向硬件設備返回響應,從而實現消息的推送和訂閱。通過connect方法使得手機客戶端連接到服務器,系統代碼通過定義MQTT的IP為MQTT_IP=www.kinnon.xyz和調用client = mqtt.connect('wxs://' + MQTT_IP,MQTT_OPTIONS)來實現手機客戶端和服務器的連接。程序使用微信開發者工具進行運行,其前綴需用“wxs”,通過message.toString()函數獲取手機客戶端向服務器所推送的消息,最后使用sent函數向服務器推送消息,實現將手機客戶端的操作指令發送給服務器。MQTT發布的服務質量保證(QoS)消息不是從客戶端到客戶端的,是客戶端與服務端之間的。發布消息的QoS和主題訂閱的QoS是決定訂閱者收到MQTT消息的QoS級別,本系統使用QoS級別為0來操作使用,定義topic為fan。通過以上內容,實現硬件設備從MQTT服務器獲得手機客戶端的操作指令,從而進行下一步的設備操作。
5 功能測試
人臉追蹤智能加濕風扇通電初始化后,攝像頭開啟工作,當攝像頭識別區域內有人時,風扇開始運作,舵機開始跟蹤人臉,將風扇對著人吹風,同時超聲波模塊與溫濕度傳感器開始工作,控制風扇的合理轉速,并且根據環境濕度合理開啟或關閉加濕器,顯示屏同時顯示此時風扇的工作狀態。也可以通過手機小程序控制風扇的開關、風速、加濕功能,若攝像頭識別區域內無人,則風扇自動斷電,停止工作,等識別區內有人時,風扇再進行工作。
6 結語
本設計基于STM32,結合視覺算法,進行軟件設計、硬件設計和結構設計,最終實現人臉追蹤的智能加濕風扇。相比于一般家用電風扇,更為智能,可以自主跟蹤人臉,調節環境濕度,給人最舒適的生活環境,可以極大地方便人們對家電的使用,在滿足人們對風扇的基本功能和需求外,結合互聯網特性,為今后的智能風扇發展提供了一定的參考。
參考文獻
[1]李永杰,周桂紅,劉博.基于YOLOv3模型的人臉檢測與頭部姿態估計融合算法[J].廣西師范大學學報,2022(3):95-103.
[2]車佳祺,許曉榮,梁顥銘.一種輕量級人臉追蹤與識別系統設計方案[J].電子設計工程,2022(14):58-63.
[3]曹佳璐,余寶蓮,邵佳慧,等.基于STM32的智能風扇控制系統設計[J].山西電子技術,2022(4):9-11,17.
[4]劉慶俞,王孝延.基于人臉檢測的智能風扇設計[J].安陽工學院學報,2021(2):20-23.
[5]吉毅.基于物聯網的智能家用風扇控制系統設計分析[J].造紙裝備及材料,2020(4):112-113.
(編輯 沈 強)
Intelligent humidification fan based on STM32 face tracking
Chen Zewei, Liu Jianhao, Lin Yulong, Fan Jierun, Liu Wenjing*
(Guangdong Ocean University, Zhanjiang 524088, China)
Abstract: At present, most of the intelligent fans in the market still need to control the direction of the fan and the wind speed of the fan through the remote control or button, which is inconvenient to use and has a single function. In this paper, STM32 as the main control chip, designed a fan outside the main body of the fan, combined with artificial intelligence, to effectively track the face of the air, adjust the ambient temperature and humidity, at the same time can control autonomously or through the mobile phone small program face tracking intelligent humidification fan.
Key words: face tracking; intelligence; fan