張衛(wèi)山,呂 浩,張?jiān)?,?亮,趙德海,周杰韓
1.中國(guó)石油大學(xué)(華東)計(jì)算機(jī)與通信工程學(xué)院,山東 青島 266580
2.北京科技大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,北京 100083
3.澳大利亞國(guó)立大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,澳大利亞 堪培拉 ACT 0200
4.奧盧大學(xué) 信息技術(shù)與電子工程學(xué)院,芬蘭 奧盧 FI-90014
如今,越來(lái)越多的家電廠商紛紛推出了智能冰箱的概念產(chǎn)品,智能冰箱成為了家庭聯(lián)網(wǎng)的新入口。本文認(rèn)為智能冰箱真正的意義在于對(duì)冰箱內(nèi)食品的掌控,如判斷食品的新鮮度、食品的存儲(chǔ)量等。這些功能在某種程度上都依賴于物體識(shí)別。智能冰箱的核心技術(shù)之一是對(duì)食品的有效識(shí)別,但冰箱內(nèi)空間狹窄,存放的食品種類繁多且相互遮擋,不同的拍攝角度對(duì)識(shí)別結(jié)果也有影響。這些狀況導(dǎo)致了在冰箱中進(jìn)行物體識(shí)別的困難性,并且在該領(lǐng)域也缺少冰箱環(huán)境下的食品數(shù)據(jù)集。果蔬是冰箱中經(jīng)常存放的食品,品種繁多且許多果蔬具有相似的特征,在冰箱中識(shí)別難度大。本文以冰箱中的果蔬識(shí)別為切入點(diǎn),探究基于深度學(xué)習(xí)的智能冰箱的整體框架,并提高了冰箱內(nèi)果蔬識(shí)別的準(zhǔn)確率。
在果蔬識(shí)別方面,國(guó)內(nèi)外學(xué)者已經(jīng)做了一些工作。Bolle等[1]在1996年第一次提出Veggie vision的概念,并且開(kāi)發(fā)了一套智能超市的果蔬識(shí)別系統(tǒng)。這個(gè)系統(tǒng)通過(guò)提取顏色、紋理和密度等特征可以識(shí)別任意數(shù)量和不同姿態(tài)的水果,但是這種方法對(duì)光線的變化較為敏感。Zawbaa等[2]通過(guò)水果的形狀和顏色來(lái)識(shí)別水果的特征。Naskar等[3]提取了水果的顏色、形狀和紋理,并用人工神經(jīng)網(wǎng)絡(luò)識(shí)別水果。Patel等[4]提出了一種基于多特征的水果識(shí)別算法。Arivazhagan等[5]提出了一種對(duì)顏色和紋理特征有效融合的方法來(lái)識(shí)別水果。上述方法大部分都將精力集中在提取果蔬的特征來(lái)提高識(shí)別的準(zhǔn)確率,如提取顏色、紋理和形狀等特征。但是有些果蔬具有相似的顏色、形狀和紋理,如橙子和橘子,梨和黃元帥。當(dāng)用這些方法去識(shí)別這類果蔬時(shí),準(zhǔn)確率難以得到保證。這些傳統(tǒng)的果蔬識(shí)別方法難以應(yīng)對(duì)冰箱的復(fù)雜場(chǎng)景,因此使用深度學(xué)習(xí)的方法來(lái)識(shí)別冰箱中的果蔬。
深度學(xué)習(xí)是近十年來(lái)人工智能領(lǐng)域取得的重要突破。它在語(yǔ)音識(shí)別、自然語(yǔ)言處理、計(jì)算機(jī)視覺(jué)、圖像與視頻分析、多媒體等諸多領(lǐng)域的應(yīng)用上都取得了巨大成功。無(wú)論是在準(zhǔn)確率還是在速度上都有巨大的優(yōu)勢(shì),使用深度學(xué)習(xí)的方法可以應(yīng)對(duì)冰箱復(fù)雜場(chǎng)景下的果蔬識(shí)別。尤其像SSD(single shot multibox detector)[6]等優(yōu)秀的圖像識(shí)別方法,為智能冰箱中的食物識(shí)別提供了可選的技術(shù)。
除此之外,近年來(lái)大數(shù)據(jù)的發(fā)展十分迅速,大數(shù)據(jù)在對(duì)數(shù)據(jù)的處理、存儲(chǔ)和分析上有著巨大優(yōu)勢(shì)。例如,可以使用分布式處理框架Hadoop來(lái)分布式并行地處理,能夠提高識(shí)別的速度;使用HBase來(lái)存儲(chǔ)源數(shù)據(jù),利用其在大數(shù)據(jù)存儲(chǔ)上的優(yōu)勢(shì),此外還可以在后期對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘。
本文提出了兩種數(shù)據(jù)收集、數(shù)據(jù)處理和果蔬識(shí)別的架構(gòu)。一種是使用RPi1)RPi是只有信用卡大小的基于ARM的微型電腦主板,它有豐富的輸入輸出接口,可以搭配各種傳感器,打造個(gè)性化物聯(lián)網(wǎng)解決方案。https://www.raspberrypi.org/搭載攝像頭和稱重傳感器來(lái)收集圖像和重量數(shù)據(jù),再將收集到的數(shù)據(jù)發(fā)送到服務(wù)器,服務(wù)器使用HBase來(lái)存儲(chǔ)元數(shù)據(jù)。在SSD上使用三種網(wǎng)絡(luò)模型,利用BP神經(jīng)網(wǎng)絡(luò)融合了這三種模型后再結(jié)合重量數(shù)據(jù)對(duì)果蔬進(jìn)行識(shí)別,將識(shí)別后的結(jié)果反饋給RPi,這種方法被稱為云模式。另外一種架構(gòu)是使用TX12)NVIDIA Jetson TX1基于Tegra?X1處理器打造,采用和超級(jí)計(jì)算機(jī)完全相同的Maxwell架構(gòu)256核心GPU,可提供高達(dá)1TFlops的強(qiáng)大計(jì)算性能并完整支持NVIDIA?CUDA?技術(shù),配合預(yù)裝的Linux系統(tǒng)以及完善的NVIDIA開(kāi)發(fā)工具,可為深度學(xué)習(xí)訓(xùn)練、全新智慧型設(shè)備開(kāi)發(fā)提供完整支持。http://www.nvidia.com/object/jetson-tk1-embedded-dev-kit.html收集數(shù)據(jù)并識(shí)別圖像,這種方法叫作本地模式,運(yùn)行在離線的本地環(huán)境下。
本文的主要貢獻(xiàn)如下:
(1)對(duì)于智能冰箱的體系結(jié)構(gòu),本文提出了兩種智能冰箱的數(shù)據(jù)處理模式,一種是云模式,即冰箱內(nèi)的果蔬由云端服務(wù)器來(lái)進(jìn)行識(shí)別;另一種是本地模式,即冰箱內(nèi)的果蔬在深度學(xué)習(xí)嵌入式開(kāi)發(fā)板上完成識(shí)別。
(2)本文提出了一種新的冰箱內(nèi)果蔬的識(shí)別方法,設(shè)計(jì)了一種基于多模型融合方法來(lái)提高冰箱內(nèi)果蔬的識(shí)別速度和準(zhǔn)確度。同時(shí)將冰箱內(nèi)果蔬的重量信息與視覺(jué)信息相結(jié)合,從而達(dá)到更高的識(shí)別準(zhǔn)確率,這是傳統(tǒng)方法所不具備的。
(3)本文制作了冰箱環(huán)境下的果蔬數(shù)據(jù)集,包括22種不同的果蔬,每種果蔬的數(shù)量不同,采取了四種不同的拍攝角度以及兩種不同的亮度。
本文組織結(jié)構(gòu)如下:第2章介紹了基于深度學(xué)習(xí)的智能冰箱。第3章展示了基于數(shù)據(jù)融合的果蔬識(shí)別方法。第4章對(duì)上述方法進(jìn)行了評(píng)估。相關(guān)工作、結(jié)論和展望在文章的末尾。
本章分為系統(tǒng)架構(gòu)和系統(tǒng)實(shí)現(xiàn)兩部分。在系統(tǒng)架構(gòu)這一節(jié),本文提出了兩個(gè)模式的架構(gòu):一個(gè)是使用RPi和服務(wù)端集群的云模式架構(gòu);另一個(gè)是使用TX1的本地模式架構(gòu)。本文著重闡述第一個(gè)模式,也就是云模式,并在第3章與本地模式進(jìn)行性能比較。在系統(tǒng)實(shí)現(xiàn)這一節(jié),本文也會(huì)著重闡述云模式的實(shí)現(xiàn)。
本文使用RPi搭載攝像頭和稱重傳感器,當(dāng)RPi檢測(cè)到稱重傳感器的重量變化后觸發(fā)攝像頭進(jìn)行拍照。RPi將收集的圖片、重量數(shù)據(jù)、時(shí)間信息和用戶ID一同通過(guò)Socket發(fā)送到服務(wù)端集群中。在服務(wù)端,HBase用一張表來(lái)存儲(chǔ)同一時(shí)間導(dǎo)入的圖片、重量數(shù)據(jù)、時(shí)間信息和用戶ID。HBase使用聯(lián)合鍵的方式構(gòu)建行鍵,將用戶ID和時(shí)間信息進(jìn)行結(jié)合。服務(wù)端使用果蔬識(shí)別模型來(lái)識(shí)別圖片中的果蔬。識(shí)別后的結(jié)果存儲(chǔ)在HBase中,并且將識(shí)別后的結(jié)果返回給RPi。將架構(gòu)分為硬件層、通訊層、存儲(chǔ)層和識(shí)別層,4層結(jié)構(gòu)圖如圖1所示。
Fig.1 4 layered architecture using cloud mode圖1 云模式的4層架構(gòu)
硬件層:采用RPi作為硬件開(kāi)發(fā)平臺(tái),RPi搭載ARM Cortex-A53 1.2 GHz 64-bit quad-core ARMv8 CPU,內(nèi)存1 GB。RPi連接稱重傳感器和攝像頭,4個(gè)稱重傳感器安裝在鋼化玻璃板上,鋼化玻璃板放置在冰箱保鮮層中。當(dāng)有果蔬放在鋼化玻璃板上時(shí),RPi將會(huì)接收稱重傳感器的數(shù)據(jù)。
通訊層:使用Socket通信協(xié)議進(jìn)行數(shù)據(jù)傳輸。RPi作為Socket通信的客戶端將數(shù)據(jù)發(fā)送給服務(wù)端,在服務(wù)端上完成識(shí)別后將數(shù)據(jù)反饋給RPi。
存儲(chǔ)層:服務(wù)端由4臺(tái)搭載NVIDIA1070、i76700K和16 GB內(nèi)存的電腦組成,搭載了Hadoop和HBase的集群,數(shù)據(jù)的訓(xùn)練和測(cè)試都是在該服務(wù)端上實(shí)現(xiàn)的。服務(wù)端將數(shù)據(jù)存儲(chǔ)到HBase中,在HBase中僅用一張表來(lái)維護(hù)原始數(shù)據(jù),使用精確到秒的時(shí)間結(jié)合用戶ID作為行健,表中只包含1個(gè)列簇,列簇中包含3列數(shù)據(jù),圖片的存儲(chǔ)路徑、重量數(shù)據(jù)和識(shí)別結(jié)果。
識(shí)別層:使用本文提出的果蔬識(shí)別模型,該模型是 SSD(ResNet[7])、SSD(VGG16)和 SSD(VGG19[8])三種模型融合后再結(jié)合重量信息得到的。在識(shí)別RPi發(fā)送過(guò)來(lái)的圖片時(shí),將識(shí)別模型放在Hadoop集群上分布式并行化地運(yùn)行來(lái)識(shí)別圖片。
考慮到在實(shí)際應(yīng)用中,用戶可能會(huì)擔(dān)心隱私問(wèn)題。因此提出了一種本地的處理方式,即使用TX1開(kāi)發(fā)板,將識(shí)別模型放在TX1中運(yùn)行,TX1直接采集數(shù)據(jù)并識(shí)別。架構(gòu)圖如圖2所示。
Fig.2 Architecture of local mode圖2 本地模式的架構(gòu)
鋼化玻璃上安裝的4個(gè)稱重傳感器,使用HX711模塊進(jìn)行A/D轉(zhuǎn)換。攝像頭使用720P高清廣角攝像頭,通過(guò)USB與RPi相連。RPi通過(guò)檢測(cè)重量信息的變化觸發(fā)攝像頭進(jìn)行拍照并對(duì)重量數(shù)據(jù)與前一次重量數(shù)據(jù)做差,記錄最后一次的重量信息,將做差后的重量信息和圖片通過(guò)Socket通信協(xié)議推送至服務(wù)端,服務(wù)端不僅接收?qǐng)D片和重量信息,還會(huì)接收時(shí)間信息和用戶ID。
本文定義了Socket通信協(xié)議的發(fā)送格式,按照weight、imagestart、imagelength、image、timestart 和time的順序定義發(fā)送格式。weight為RPi采集的重量信息,imagestart為讀取image的標(biāo)志,imagelength為image的長(zhǎng)度,image為圖片數(shù)據(jù),timestart為讀取時(shí)間信息的標(biāo)志,time為時(shí)間信息。
Socketserver將接收的圖片保存在服務(wù)器集群,使用HBase存儲(chǔ)圖片在本地的存儲(chǔ)路徑、時(shí)間信息、重量信息和用戶ID。本文采用聯(lián)合鍵作為行鍵,即行鍵由用戶ID和時(shí)間信息組成。
將數(shù)據(jù)存入HBase的同時(shí),使用訓(xùn)練好的果蔬識(shí)別模型進(jìn)行識(shí)別。果蔬識(shí)別模型通過(guò)多模型數(shù)據(jù)融合的方式構(gòu)建識(shí)別模型。通過(guò)果蔬識(shí)別模型識(shí)別圖片中的果蔬,將識(shí)別結(jié)果通過(guò)Socket反饋給RPi并存儲(chǔ)在HBase中。圖3是系統(tǒng)實(shí)現(xiàn)的UML類圖。
Fig.3 Class diagram of implemented system architecture圖3 系統(tǒng)實(shí)現(xiàn)的UML類圖
本文提出了一種數(shù)據(jù)融合的果蔬識(shí)別方法,它可以提高果蔬識(shí)別的精度。將圖片分別放入基于ResNet、VGG16以及VGG19三種模型的SSD進(jìn)行訓(xùn)練,再將三種模型使用BP神經(jīng)網(wǎng)絡(luò)融合,對(duì)輸出結(jié)果融合重量數(shù)據(jù),根據(jù)不同果蔬的重量范圍進(jìn)行判斷,最終得到最優(yōu)結(jié)果。
使用深度學(xué)習(xí)方法識(shí)別果蔬的方法有很多,如Faster R-CNN(regional convolutional neural network)[9]、YOLO(you look only once)[10]等都可以用來(lái)識(shí)別果蔬。但由于在冰箱的場(chǎng)景下會(huì)同時(shí)存在多種果蔬,為了達(dá)到一個(gè)較好的性能,本文選擇了SSD。SSD能夠在多尺度下來(lái)計(jì)算特征,然后評(píng)估在該尺度下的區(qū)域存在的概率以及相關(guān)offset,是一種遍歷所有區(qū)域的方式。SSD獲得的是圖像中的矩形區(qū)域以及該區(qū)域所對(duì)應(yīng)的類型以及類型的得分。它的優(yōu)勢(shì)是使用圖像在各個(gè)scale下各個(gè)位置特征進(jìn)行回歸,既保證了速度,又保證了精度。
本文提出了一種多模型融合的果蔬識(shí)別方法,如圖4所示。使用數(shù)據(jù)集分別訓(xùn)練基于ResNet、VGG16和VGG19的三種模型的SSD,三種模型的輸出轉(zhuǎn)換為向量作為BP神經(jīng)網(wǎng)絡(luò)的輸入。VGG把網(wǎng)絡(luò)分為5組,使用了3×3的過(guò)濾器,并把它們組合起來(lái)作為一個(gè)卷積序列進(jìn)行處理。
Fig.4 Structure of multi-model fusion圖4 多模型融合的結(jié)構(gòu)
設(shè)這三種模型的輸出分別是A、B、C,將它們作為BP神經(jīng)網(wǎng)絡(luò)的輸入,采用只包含一個(gè)隱含層的三層前饋網(wǎng)絡(luò),如圖5所示。BP神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)為3,隱含層節(jié)點(diǎn)數(shù)為10,輸出層只有1個(gè)節(jié)點(diǎn)。隱含層和輸出節(jié)點(diǎn)神經(jīng)元采用線性傳遞函數(shù),神經(jīng)元狀態(tài)Si和輸出Ti之間的關(guān)系為一個(gè)線性變換關(guān)系,即
設(shè)X1、X2、X3分別為BP神經(jīng)網(wǎng)絡(luò)的輸入,對(duì)應(yīng)的輸出為:
對(duì)于隱含層,第j個(gè)節(jié)點(diǎn)的輸入:
第j個(gè)節(jié)點(diǎn)的輸出:
對(duì)于輸出層,第j個(gè)節(jié)點(diǎn)的輸入:
第j個(gè)節(jié)點(diǎn)的輸出:
Lji、和Mj、M2分別是連接權(quán)值和常數(shù)偏值。
Fig.5 Structure of neural network圖5 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
將多模型融合后的輸出再融合重量數(shù)據(jù)得到果蔬識(shí)別模型。本文對(duì)每一種果蔬構(gòu)建了先驗(yàn)知識(shí)庫(kù),包括果蔬的名稱、重量范圍以及該果蔬的相似果蔬列表。根據(jù)果蔬識(shí)別模型識(shí)別出來(lái)的果蔬名稱,找到它的重量范圍,并根據(jù)該果蔬的重量進(jìn)行判斷,如果識(shí)別出的果蔬的重量并不符合該果蔬的重量特征,則繼續(xù)用當(dāng)前果蔬的重量與下一個(gè)概率且在相似果蔬列表里的果蔬的重量范圍進(jìn)行比較,直到結(jié)果最優(yōu)為止。
實(shí)際生活中單個(gè)質(zhì)量小而成群出現(xiàn)的果蔬無(wú)法直接用重量來(lái)衡量,如一串葡萄、一把香蕉、一把芹菜等。這些水果特征較為明顯,不再需要融合重量數(shù)據(jù)就能達(dá)到滿意的識(shí)別效果。具體的數(shù)據(jù)融合算法如算法1所示。
算法1數(shù)據(jù)融合
為了驗(yàn)證本文方法的可行性,對(duì)整體流程進(jìn)行了效率實(shí)驗(yàn),對(duì)兩種架構(gòu)進(jìn)行了對(duì)比。還對(duì)果蔬識(shí)別模型識(shí)別的準(zhǔn)確率進(jìn)行了實(shí)驗(yàn),對(duì)比了5種方法的準(zhǔn)確率。除此之外,為了確定在冰箱中攝像頭安裝的最合理位置,本文用不同角度的數(shù)據(jù)集分別放入本文提出的果蔬識(shí)別模型進(jìn)行訓(xùn)練和識(shí)別,比較了4種角度識(shí)別的準(zhǔn)確率。
所有的實(shí)驗(yàn)都采用如表1的實(shí)驗(yàn)環(huán)境。由1070組成的集群都安裝了Jdk1.8、OpenCV2.4.9、Hadoop2.6.4、HBase1.2.1和Caffe。TX1中安裝了Jdk1.8、OpenCV-2.4.9和Caffe。
本文的數(shù)據(jù)集使用來(lái)自網(wǎng)絡(luò)中的數(shù)據(jù)和自行采集的冰箱環(huán)境下的果蔬數(shù)據(jù),比例約為1∶5。從數(shù)據(jù)集中隨機(jī)抽取48 000張作為訓(xùn)練集,12 000張作為測(cè)試集。在制作數(shù)據(jù)集的過(guò)程中,考慮到了光線和攝像頭拍攝角度對(duì)識(shí)別準(zhǔn)確性的影響,并且設(shè)定了一些干擾物,如罐裝、盒裝等商品,除此之外數(shù)據(jù)集中還包含少量未作為統(tǒng)計(jì)對(duì)象的果蔬,由于這些果蔬在采集時(shí)數(shù)量較少,因此暫時(shí)也作為干擾物。在拍攝數(shù)據(jù)集時(shí),對(duì)光線進(jìn)行了控制,分為陰暗環(huán)境和明亮環(huán)境。使用了4種拍攝角度,分別為冰箱的4個(gè)角。還單獨(dú)制作了4個(gè)數(shù)據(jù)集分別為不同角度下拍攝的數(shù)據(jù),其中訓(xùn)練集都是12 000張圖片,測(cè)試集3 000張圖片。除此之外還考慮到拍攝的數(shù)據(jù)如果使用云模式來(lái)提供服務(wù),則會(huì)涉及到用戶的個(gè)人隱私。因此在拍攝時(shí)盡量讓攝像頭只能拍攝到冰箱內(nèi)部的情況。圖6展示了數(shù)據(jù)集中的一部分圖片。
Table 1 Experimental environment表1 實(shí)驗(yàn)環(huán)境
Fig.6 Image from data set圖6 數(shù)據(jù)集中包含的圖片
4.3.1 云服務(wù)器和本地的果蔬識(shí)別效率對(duì)比
對(duì)比了云模式和本地模式識(shí)別的速度。RPi采集到數(shù)據(jù)發(fā)送到服務(wù)器用時(shí)460~490 ms,服務(wù)端識(shí)別后發(fā)送到RPi顯示結(jié)果用時(shí)35~45 ms,總耗時(shí)520 ms。TX1收集并識(shí)別用時(shí)600 ms。效率對(duì)比如表2。
Table 2 Performance comparison表2 性能對(duì)比 ms
通過(guò)對(duì)比,本地模式在識(shí)別時(shí)花費(fèi)的時(shí)間遠(yuǎn)高于云模式,云模式只需要40 ms左右,而本地模式需要600 ms,但云模式的網(wǎng)絡(luò)損耗較大。通過(guò)實(shí)際測(cè)試600張完全相同的圖片,本地模式和云模式的識(shí)別結(jié)果一致。
4.3.2 識(shí)別模型的識(shí)別準(zhǔn)確率對(duì)比
首先分別使用基于ResNet、VGG16和VGG19模型的SSD識(shí)別測(cè)試集,然后使用模型融合的方法識(shí)別測(cè)試集,再用這4種方法的識(shí)別率與融合了重量數(shù)據(jù)的方法的識(shí)別率進(jìn)行對(duì)比,本文的果蔬識(shí)別模型有著更好的表現(xiàn)。表3展示了不同識(shí)別模型的識(shí)別準(zhǔn)確率對(duì)比。
Table 3 Recognition accuracy for different models表3 不同模型識(shí)別的準(zhǔn)確率
表4展示了多模型融合識(shí)別方法和數(shù)據(jù)融合識(shí)別方法的識(shí)別準(zhǔn)確率及高混淆種類和概率。數(shù)據(jù)融合識(shí)別方法的準(zhǔn)確率要高于多模型融合識(shí)別方法的準(zhǔn)確率。在多模型融合識(shí)別方法中橙子和橘子、梨和黃元帥混淆的概率很高。但在數(shù)據(jù)融合識(shí)別方法中,識(shí)別錯(cuò)誤的概率有所下降,特別是橙子和橘子、梨和黃元帥的混淆概率。
Table 4 Recognition accuracy and confusion matrix of different fusion-strategy models表4 不同融合策略模型的識(shí)別準(zhǔn)確率和混淆率
本文分別使用了4種拍攝角度拍攝的數(shù)據(jù)集來(lái)訓(xùn)練識(shí)別模型。通過(guò)對(duì)測(cè)試集的識(shí)別得到的準(zhǔn)確率如表5所示。因?yàn)槊糠N角度的數(shù)據(jù)集要比包含4種角度的數(shù)據(jù)集中的圖片的數(shù)量少很多,準(zhǔn)確率也比包含全部圖片的數(shù)據(jù)集低。但是通過(guò)比較4種角度數(shù)據(jù)集的識(shí)別準(zhǔn)確率可以找到最好的識(shí)別角度。通過(guò)比較,顯然在冰箱的前端安裝攝像頭要比裝在里面好。
Table 5 Accuracy of data sets with different angels表5 不同角度的數(shù)據(jù)集識(shí)別準(zhǔn)確率
Sa等[11]提出了一種新的使用深度卷積神經(jīng)網(wǎng)絡(luò)的水果識(shí)別方法。這篇本章將RGB和NIR(near infrared)結(jié)合,使用Faster R-CNN識(shí)別水果,在識(shí)別甜椒時(shí)準(zhǔn)確率達(dá)到83%。考慮在后期的工作中使用Faster R-CNN和SSD作對(duì)比。
Pratap等[12]提出了一種基于形狀、顏色和紋理的水果分類算法。使用人工神經(jīng)網(wǎng)絡(luò)來(lái)識(shí)別水果,準(zhǔn)確率高達(dá)96%。但是這篇文章的數(shù)據(jù)集中僅包含5類水果。本文的數(shù)據(jù)集要比這篇文章的數(shù)據(jù)集更豐富,識(shí)別的難度也更大。
Tao等[13]提出了一種新穎的問(wèn)題特征提取算法叫CCLBP(color completed local binary pattern)。這篇文章使用HSV(hue,saturation,value)顏色直方圖和BIC(border/interior pixel classification)顏色直方圖來(lái)提取圖片的顏色特征。但是這篇文章沒(méi)有考慮光線的影響。Ijjina等[14]提出了一種基于3D顏色直方圖結(jié)合CNN的方法來(lái)對(duì)不同光照和不同視角的目標(biāo)進(jìn)行分類。但是測(cè)試圖像僅包含一種目標(biāo)和角度。本文提出的數(shù)據(jù)集包含4種不同的拍攝角度,并且考慮了光線的影響,水果的種類也更加豐富。
Zhang等[15]提出一種基于FSCABC(fitness-scaling chaotic artificial bee colony)的分類算法和FNN(feedforward neural network)的識(shí)別方法,準(zhǔn)確率達(dá)到89.1%。Song等[16]提出一種識(shí)別和計(jì)數(shù)的方法,他們使用bag-of-words模型來(lái)識(shí)別單張圖片,然后用一種新的方法來(lái)統(tǒng)計(jì)和識(shí)別多張圖片。
Kwon等[17]提出了一種裝備傳感器的智能冰箱,可以區(qū)分和監(jiān)控食品的狀態(tài)。Sandholm等[18]提出了一種探索智能冰箱交互的實(shí)驗(yàn)環(huán)境。
與本文的工作相比,沒(méi)有將智能冰箱結(jié)合大數(shù)據(jù)平臺(tái)的方案。采用Zhang等[19]提出的云平臺(tái),將存儲(chǔ)和處理模塊應(yīng)用在本文的應(yīng)用中,并且本文的工作是實(shí)際智能冰箱運(yùn)行時(shí)的真實(shí)環(huán)境和數(shù)據(jù)。
本文提出了兩種數(shù)據(jù)收集、數(shù)據(jù)處理和果蔬識(shí)別的架構(gòu),并提出了一種果蔬識(shí)別的方法,設(shè)計(jì)了一種多模型融合并結(jié)合重量信息的數(shù)據(jù)融合算法。通過(guò)本文的識(shí)別模型,在識(shí)別具有相似顏色、形狀以及紋理的果蔬時(shí),大幅提高了識(shí)別的準(zhǔn)確率。
現(xiàn)在也遇到了一些問(wèn)題。由于使用TX1的成本很大,但是本文的識(shí)別模型過(guò)大,不能將模型放入RPi中進(jìn)行果蔬識(shí)別。也會(huì)縮小果蔬識(shí)別模型的網(wǎng)絡(luò),使其能夠在RPi這樣的低成本開(kāi)發(fā)板上使用。在后面的工作中會(huì)繼續(xù)增加數(shù)據(jù)集的豐富度,將特殊情況的果蔬圖片增加進(jìn)去。