為了解決傳統溯源電子秤不夠智能、操作繁瑣的問題,設計了一種新型果蔬圖像溯源秤系統。系統采用C/S架構,包括溯 源秤客戶端和服務端兩大部分,客戶端基于圖像處理技術可以通過攝像頭采集果蔬圖像來實現果蔬產品的自動售賣,服務端 通過Wi-Fi遠程管理客戶端,整個系統都是利用QT框架開發。重點研究了基于顏色紋理特征的多類SVM果蔬圖像識別算 法、QT圖形界面開發、基于Tcp協議的網絡通信開發等。系統測試表明:果蔬圖像識別速度快捷、識別率高,系統整體功能工 作良好,可以滿足實際使用需求。
隨著國家對于食品溯源體系建設的日益重 視,商務部“肉類蔬菜流通追溯體系”正在緊鑼密 鼓的開展中。溯源秤作為集計量稱重、打印憑 證、無線通訊、電子結算、數據上傳為一體的終端 設備,通過與物聯網技術的“嫁接”,已經成為了食 品流通追溯體系中的關鍵一環|31。目前傳統的溯 源秤主要采用人工記憶輸人或二維碼標簽、RFID 標簽掃描的形式來輸人果蔬產品的類別信息,不 僅需要耗費大量的人力物力成木,同時也不利于 果蔬產品的自動售賣。為解決上述問題,木文開 發研究了基于圖像處理的果蔬溯源秤系統。木系 統采用C/S架構模式,客戶端和服務端之間采用 無線網絡進行數據通信,其中客戶端運行在嵌入 式系統平臺上,負責果蔬銷售功能和果蔬圖像識 別;服務端運行在PC機平臺上,負責對客戶端銷 售的信息進行管理。
1.系統方案論述
木文提出了一種新型果蔬圖像識別溯源秤系 統,溯源秤系統包括溯源秤客戶端和溯源秤服務端 軟件,其具體要求與功能為:溯源秤客戶端具有果 蔬識別和常規電子秤功能,果蔬識別采用木文提出的基于顏色和紋理特征的多類SVM分類算法。本 客戶端軟件通過Wi-Fi模塊與服務端軟件進行數 據通信,進行溯源信息的上傳與下載。服務端軟件 主要負責溯源信息的管理,管理員在PC端登錄服 務端軟件,對銷售的果蔬溯源信息進行錄人,并且 可以通過無線網絡遠程管理客戶端上的數據。通 過客戶端和服務端的協作,整個溯源秤系統可以完 成果蔬產品的自動售賣以及實現果蔬產品信息的 追溯功能。
2.系統設計
溯源秤客戶端運行在Linux系統上,運行于PC 的溯源秤服務端軟件和溯源秤客戶端運行的應用 程序都是利用QT開發。溯源秤客戶端和服務端的 組成框圖如圖1、圖2所示??蛻舳酥饕枰瓿?/span> 圖像采集、圖像識別、稱重信息顯示、無線通信等功 能。服務端主要負責溯源信息管理以及與客戶端 之間進行網絡通信。
2.1硬件設計
2.1.1Tiny210V2開發板平臺
本系統使用的嵌人式開發平臺為Tiny210V2開發板4。該開發板是一款高性 能 Cortex-A8核心板,米用了 Samsung S5PV210 作 為處理器,運行主頻高達1 GHz,64/32位內部總線結 構,可以實現2 000 DM instraction/s(每秒運算2億條 指令集)的高性能運算能力,內部集成了 PowerVR SGX540高性能圖形引擎,可以流暢運行Android, Linux和WinCE6等高級操作系統,具有低功耗高效 率的特性,能夠充分滿足溯源秤系統的基本要求。
Tiny210V2開發板米用了核心板加底板的設計 方法,如圖3和圖4所示。核心板上主要有 S5PV210 處理器,512 Mbyte DDR2 RAM 內存,512 Mbyte NAND Flash存儲器以及若干與底板連接的 接口等。底板上主要有LCD顯示屏接口、網口、 RS232 串口、SD 卡座、USB 接 口、SDIO Wi-Fi 接 口 等硬件資源。
2.1.2USB攝像頭選取
本系統中選用USB攝像頭作為圖像采集丁具, 使用USB攝像頭的優點是即插即用,并且Linux系 統上可以通過V4L2驅動來配置USB攝像頭的幀 率、圖像壓縮格式、圖像大小等參數,便于程序優 化。同時,考慮到溯源秤大小有限,為了方便以后開 模加丁,攝像頭體積應該比較小巧。據此,本系統選 擇的攝像頭為HDF9655-BJ,該產品主要應用于筆 記本電腦、一體機、小型攝像機,USB輸出,130萬像 素,符合VGA標準。攝像頭實拍圖如圖5所示。
2.1.3Zigbee無線傳輸模塊
本系統使用的Wi-Fi模塊是友善之臂公司提 供的基于Marvell 8686芯片的SD Wi-Fi模塊,如 圖6所示。
該模塊具有低功耗、高性能的特點,通過 Tiny210 SDK底板上的 SDIO 接口與 Tiny210V2 開發板連接使用。該模塊丁作特性為:(1)支持
IEEE 802.11b/g; (2) 11g: 54/48/36/24/18/12/9/6M 自 適應;(3)11b: 11/5.5/2/1M自適應;(4)常規功耗 (3.3 V 供電):180 mA(接收)270 mA(發送)。
2.2溯源枰客戶端軟件設計
2.2.1系統工作流程
本系統在丁作時,首先撥動開發板上電開關, Linux系統啟動后自動加載溯源秤客戶端軟件,加 載數據庫以及SVM圖像樣本特征庫,隨后開啟串口 通信和網絡通信線程,等待接收數據,并顯示出軟 件操作界面等待用戶操作。用戶打開攝像頭后,攝 像頭采集到YUV格式的圖片,轉換成QImage格式 并實時顯示在LCD屏上,隨后進行圖像處理和識別 過程,識別出果蔬產品的種類后,結合數據庫中的 信息將交易結果顯示在屏幕上,即完成一筆自動售 賣交易。交易結果可以通過無線網發送到遠程的 服務端軟件內。丁作流程如圖7所示。
2.2.2果蔬圖像數據庫構建
為了模擬溯源秤的實際使用環境,本系統搭建 了如圖8所示的圖像采集裝置。以超市常用的ACS 電子秤為基礎,安裝了開發板和USB攝像頭。其中 攝像頭安裝在電子秤的頂部,斜向下約45°拍攝,秤盤大小為32 cmX24 cm,攝像頭距離秤盤垂直高度為 35 cm。米用基于Tiny210V2開發板自主開發的圖 像采集軟件,來采集果蔬圖像,果蔬產品的擺放位置 隨機,個數隨機,包含了貼近、堆疊、粘連等情況。
本文構建的果蔬圖像數據庫一共包含13種果 蔬,包括蘋果、香蕉、桃子、梨、獼猴桃、火龍果、提 子、土豆、西紅柿、黃瓜、西蘭花、青菜、油麥菜。為 了保證構建的圖像數據庫盡可能接近實際光照情 況,設計了 6種光照,包括陰影(光強73 cd)、弱側光 (光強103 cd)、強測光(光強118 cd)、室內光(光強 98 cd)、正面強光(光強124 cd)、正面弱光(光強 110 cd)。所有的果蔬在每種光照下拍攝260張照 片,六種光照下果蔬圖片共計1 560張。
2.2.3果蔬圖像預處理
作為一款應用于超市、菜市場里的實用產品,周 圍的圖像采集環境肯定不是一成不變的,亮度不均勻、 陰影、遮擋、鏡面反光、背景混亂以及攝像頭可能存在 缺陷導致拍攝圖像失真,這些因素都會嚴重的影響果 蔬農產品的識別。在與處理中,將果蔬產品與背景準 確的分割開來是圖像預處理的關鍵步驟,本文采用了 一種基于Lab顏色空間的K均值聚類分割算法。
預處理主要步驟如下:(1)對攝像頭采集到的 圖片進行切割處理,由于設備攝像頭位置同定,故 僅保留圖片中秤盤內的部分,可以切除外圍的干 擾;(2)對切割后的圖片進行中值濾波;(3)將RGB 彩色圖像轉換到Lab顏色空間,采用K均值聚類方 法對圖像進行分割;(4)對分割后的二值圖像進行 形態學處理,填充孔洞;(5)中值濾波后的圖片與形 態學處理后的圖片做交集,即得到去除背景后的果 蔬圖片。圖9為預處理前后圖像。
2.2.4特征提取
通常,描述果蔬圖像的特征一般包括顏色特 征、紋理特征。本系統提取了 HSV全局顏色直方圖 作為顏色特征,提取了局部二值模型(LBP)作為紋 理特征。下面簡要給出這兩種特征的提取方法。
2.2.4.1顏色特征
HSV顏色直方圖按照公式(1)計算,通過計算 可以得到一個256維的顏色直方圖:
L = HxQgxQV + SxQV + V ⑴
式中:H、S , V是量化后的顏色分量,本文將H分 量非均勻量化為16級,S、分量分別均勻量化為 4級;Qs、Qv分別為S、分量的量化級數。
2.2.4.2紋理特征
局部二值化模式LBP(Local Binary Pattern)最早 是由Ojala^81等人在1996年提出,由于具有計算速 度快和實現簡單的優點,而且該方法是計算局部的紋 理特征,對光線變化具有較好的承受能力,可以得到 良好的識別效果,得到了許多研究人員的認可,現在 多將其應用于圖像紋理特征的提取上,因此本文提取 果蔬圖像的LBP特征作為紋理特征用于果蔬識別。
圖10是一個LBP編碼過程例子,首先使用一 個3x3大小的窗口從原始圖像中取出對應像素值, 通過中心點閾值化,得到LBP 二進制編碼,再與權 值窗口中對應的權值相乘,即可得到中心點對應的 LBP十進制編碼值。
2.2.3基于顏色紋理特征的多類SVM果蔬圖像識 別算法
本文提取果蔬圖像的顏色紋理特征,并通過多 類SVM分類器191進行識別,整個果蔬識別算法流程 如圖11所示。訓練階段,首先將樣本圖像進行預處 理,然后提取果蔬圖像的GCH特征(256維)和LBP 特征(256維),將這兩種特征采用級聯的方式融合 成圖像特征矢量(512維),并采用最大最小歸一化 方法歸一化到0和1之間,隨后,使用一對一(OAO) SVM多類分類器11101進行訓練,得到分類器模型。其 中,SVM的核函數均為徑向基函數RBF(Radial Ba-sis Function);在一對一SVM分類器訓練時,米用5 折交叉驗證法進行訓練,然后采用網格搜索法來得 到最優的懲罰因子C和RBF核函數的參數g。
測試階段,首先讀人測試圖像,進行預處理、提取特 征并歸一化(方法同訓練過程),然后,將待測圖像特征 輸人訓練好的多類SVM分類器中,即可得至IJ識別結果。
在實際編程實現時,先在MATLAB中訓練好 SVM模型,將模型導出為SVM.Model模型文件供 溯源枰系統客戶端軟件在進行果蔬識別時使用。
2.3溯源秤服務端軟件設計
Qt是1991年奇趣科技開發的一個跨平臺的 C++圖形用戶界面應用程序框架lul。它提供給應用 程序開發者建立藝術級的圖形用戶界面所需的所 用功能。本設計的上位機軟件正是用QT開發,選 用的集成開發環境是Qt Creator。
2.3.1信息管理模塊
信息管理界面是數據庫與用戶直接交互的工 具,需要具備信息錄人、信息修改、信息刪除以及信 息查詢這4個主要功能。主界面分為5個Tab頁’ 分別是商戶信息、商品信息、交易信息、賬號密碼和 網絡管理。服務端和客戶端都采用Sqlite3數據 庫1121來存儲溯源數據信息。
商戶信息Tab頁如圖12所示,包含該商戶的名 稱、電話、經營主體備案號以及商戶的地址。直接在 輸人框內輸人相應信息,然后單擊“保存”,商戶信息 隨后會寫人服務端數據庫。點擊“取消”后,輸人框 內的信息會清空,同時數據庫清除商戶信息數據。
商品信息Tab頁,用于果蔬產品信息的輸人、 修改、查詢,采用Qt中的QTabelView表格控件來顯 示,如圖13所示。
交易信息Tab頁用于顯示和查詢客戶端的交易 信息,如圖14所示。為了保證溯源信息不被修改, 本頁面只提供數據檢索和數據刪除功能,不提供數 據添加和數據修改功能。
本系統的服務端和客戶端采用的是基于無線 網絡的Tcp通信,服務端軟件主要負責創建服務端 口,等待客戶端建立Tcp通信,網絡管理界面如圖15 所示。在使用時,輸人本機IP地址及網絡端口號, 點擊開啟服務,待客戶端狀態由“未連接”變成“已 連接”時,即可點擊右側相應按鈕進行數據通信。
本服務端軟件初始賬戶為Admin賬戶,在實際 使用時可以根據需要在該頁面修改Admin賬戶的密 碼,或者為其他管理員新創建賬戶密碼。具體界面 如圖16所示。
2.3.2網絡通信模塊
Qt 提供了 的 QTcpSocket 類和 QUdpSocket 類, 分別對應實現TCP和UDP傳輸協議。TCP是面向 連接的基于數據流的可靠傳輸協議,適用于連續大 量的數據傳輸;UDP是輕量級無連接的基于數據報 文的不可靠傳輸協議,適用于離散信息包在網絡節 點間傳輸。為了保證客戶端和服務端之間數據傳輸 的正確可靠,本系統選擇使用TCP協議來進行數據 傳輸,TCP服務端和客戶端創建流程如圖17所示。
服務端軟件和客戶端軟件中,網絡通信模塊都 是在單獨的線程中運行,這樣可以實時進行數據的 上傳下載以及數據庫的更新。為了方便數據傳輸 和解析,本系統按照自定義的通信巾貞協議來傳輸數 據庫表中的數據,數據通信幀格式見表1和表2。
其中每組數據之間用“%”間隔,不同字段之間用” &”間隔,并且字段與字段之間的順序嚴格按照數據庫 表設計的順序排列。月艮務端和客戶端通信采用字符串 流的形式傳輸數據,且每次通信發起方都是服務端。 客戶端在正確收到服務端的請求后,立即回復表2中 的”10ACK”幀命令,隨后再完成服務端請求中要實現 的功能,如保存信息、刪除信息、更新系統時間等。
3.系統測試
系統開發完畢后,為了測試本系統的性能,搭建 了如圖18的系統聯試環境。主要包括ACS電子秤 一臺、USB攝像頭一個、安裝了溯源秤客戶端軟件的 Tiny210V2開發板一套、安裝了溯源秤服務端軟件的 筆記本電腦一臺、無線路由器一臺以及串口線兩根等。
打開攝像頭,將兩個蘋果隨意擺放在秤盤上, 如圖19所示,從圖像顯示區可以實時看到USB攝 像頭采集到的蘋果的圖像,同時將蘋果的重量 0.346 kg顯示在屏幕上,此時交易按鈕處于使能狀 態,等待點擊開始果蔬識別并交易。
單擊“交易”按鈕后,后臺開始對采集到的果蔬 圖像進行識別,等待約3 s,彈出交易對話框。對話框 中給出3種備選產品類別,依次為OAO SVM分類器 獲得的投票數排名前三的果蔬類別,等待用戶確認。
點擊人工確認的產品名稱所在的按鈕,客戶端軟 件根據產品名查詢數據庫,得到本次交易信息詳情,如 圖20所示,顯示在QLable控件內。隨后,點擊“確認 購買”,本次交易完成并且將交易信息寫人數據庫內。
在當天銷售結束后,通過點擊服務端軟件的網 絡管理模塊的“接收交易信息”按鈕,客戶端將交易 信息上報至服務端,服務端將交易內容寫人數據庫 并在交易信息Tab頁內顯示,如圖21所示。
本次交易中的蘋果圖像識別總耗時約2.303s,識 別過程中各階段耗時如表3所示。
其中預處理階段耗時最長,占總耗時的66.17%, 由于使用了基于LAB顏色空間的K-means聚類算 法,聚類時需要對圖像中每個像素點與聚類中心計算 歐式距離,因此所需計算量較大,耗時較長。
為了測試溯源秤客戶端在實際環境下對數據庫中 的13種果蔬的識別能力,定義圖20交易界面中的 OAO SVM分類獲得票數最高的識別結果為直接識別 結果;定義3種備選結果中至少包含一次正確類別的結 果為自動識別結果。對這13種果蔬分別進行20次試 驗,每次試驗擺放個數不定,擺放姿態隨意,記錄如表4 所示。從表4可以看出系統的平均果蔬自動識別率達 到了 97%,且平均識別時間在2.5 s內,是在用戶使用時 的允許等待時間范圍內。果蔬實地測試結果表明本果 蔬溯源秤系統的識別功能具有較高的實用價值。
4.結論
本文利用果蔬圖像識別技術,設計了一種新型 果蔬圖像溯源秤,解決了目前市場上現有的溯源秤 不夠智能、不易于自動售賣的問題。文中詳細給出了溯源秤各功能模塊的開發設計方法,并在最后對 整個系統進行了實地測試,測試驗證了系統能夠穩 定運行,并且具有較好的果蔬自動識別能力,可以 滿足超市、菜場等地的自動售賣需求。