鄭雪儀 邱瑞鋒
廣東東軟學院 廣東 佛山 528225
近年來隨著經濟的快速發(fā)展和人們生活水平的提高,高準確度并不是電子秤使用者的唯一追求,其便利性和實用性也十分重要。
目前市面上的電子秤存在操作流程復雜、需要一定的人力成本、快速操作下失誤風險較大等問題,仍有不少改進空間[1]。為了解決這一現(xiàn)狀,本項目擬制做出基于卷積神經網絡圖像識別的智能電子秤,在實現(xiàn)稱重的同時,自動識別果蔬類別并生成商品價格信息,運用于快速自助打秤的使用場景,可減少不必要的人力成本。
本智能系統(tǒng)包括主控芯片STM32、F103和K210、OLED與IPS顯示屏、SD卡、按鍵、HX711壓力傳感器、蜂鳴器、攝像頭OV2640、揚聲器、LED補光燈等硬件構成智能電子秤系統(tǒng)的整體設計[2-3]。具有自動識別商品、自動去皮稱重、自動計價、自動補光、掃描二維碼付款、調整誤差等功能。本項目用壓力傳感器的模擬/數字(A/D)轉換技術實現(xiàn)商品稱重、用YOLO目標檢測算法技術和二維碼技術實現(xiàn)智能圖像識別以及二維碼呈像,并利用大量的數據資源進行神經網絡的模型訓練,實現(xiàn)深度學習功能。整體設計圖如下圖1所示:
圖1 智能電子秤系統(tǒng)的整體設計圖
選用HX711壓力傳感器模塊,電路封裝如下圖2所示。該芯片具有集成度高、響應速度快、抗干擾性強等優(yōu)點[4]。芯片內部提供的穩(wěn)壓電源可以直接向外部傳感器和其內部的A/D 轉換器提供電源,系統(tǒng)板上無須另外的模擬電源。該模塊可將VCC、GND、DOUT、SCK引腳直接接入單片機的IO口連接,單片機通過特定時序讀取AD轉換的數據。
圖2 HX711壓力傳感器
采用OLED顯示模塊,IIC或SPI通信,SH1106驅動芯片,內部或外部電荷泵升壓,橢圓固定孔(配合M2螺釘),同時預留1.0×4的FFC封裝,需要的時候可以在PCB板上增加一個FFC接口。顯示分辨率為128×64,板上集成上電自動復位電路。電路原理圖如圖3所示:
圖3 OLED顯示屏
智能秤采用OV2640圖像傳感器,該傳感器通過SCCB總線控制,可以輸出整幀、子采樣、縮放和取窗口等方式的各種分辨率8/10位影像數據。OmmiVision圖像傳感器采用獨有的傳感器技術,通過減少或消除光學或電子缺陷,使得用戶可以完全控制圖像質量、數據格式和傳輸方式。
STM32通過管腳PD_SCK和DOUT與HX711芯片通訊,當數據輸出管腳DOUT為高電平時,表明A/D轉換器未準備好輸出數據,此時串口時鐘輸入信號PD_SCK應為低電平;當數據輸出管腳DOUT從高電平變低電平后,PD_SCK應輸入25至 27個不等的時鐘脈沖。輸入時鐘脈沖數少于25或多于27時會造成串口通信錯誤。當A/D轉換器的輸入通道或增益改變時,A/D 轉換器需要4個數據輸出周期才能穩(wěn)定[5]。數據輸出管腳DOUT在4個數據輸出周期后才會從高電平變低電平,輸出有效數據。
因為不同的傳感器特性曲線不一樣,所以每一個傳感器都需要矯正,為了方便用戶根據實際情況進行調整,這里將調試功能分為誤差加、誤差減和去皮這3種情況[6]。當測試值偏大時,增加該數值;當測試值偏小時,減小該數值。
由于本項目需要在單片機平臺上實現(xiàn),為此我們移植了基于MIT開源協(xié)議的二維碼生成源碼。為了防止生成的二維碼較小,不方便用戶進行掃碼,因此需要通過算法進行放大。這里用到的放大方法是遇到0就畫一個實心的矩形,遇到1就擦除一個實心矩形里面的所有點(反顯)。
使用K210端主函數時應先進行各個硬件初始化工作,再載入訓練好的模型文件[7]。然后讀取攝像頭OV2640的數據,進行物體識別并分類,如過確信度符合設定值,就通過UART串口發(fā)送給STM32,若不符合則繼續(xù)等待識別成功。
在實現(xiàn)物體分類之前,需要對樣本進行訓練,訓練步驟如下[8-9]:
3.5.1 訓練之前需要對即將要訓練的圖片進行標注,將所有標注的xml文件轉化為1個txt文件,文件內容包括絕對路徑,以及box的坐標。
3.5.2 運行kmeans.py將數據集所有標注的box聚類,不同數據集聚類的結果不同。
3.5.3 訓練:將image轉換為model的輸入尺寸(255,255)同時進行box坐標的轉換,見utils.py →真實標注賦值以及坐標轉換→Generate生成resize后的image以及真實標注→Loss處理→檢測。
圖4 智能電子秤的實物展示
本項目通過使用STM32+K210的方案,研究的智能Ai果蔬分類電子秤,可實現(xiàn)方便、高效的家居控制[10]。我們創(chuàng)新性地使用Android ID 作為手機用戶的識別碼,極大地提高了系統(tǒng)的安全性和自主性。
同時,Ai秤以極低的成本完成了極高的效率,本項目可實現(xiàn)顧客快速自助打秤,減少了不必要的人力成本,使得它十分適合應用在無人超市。