邵美芝 王豐碩 楊美華 古文潔
摘? 要: 在日常生活中,人們常常在種植盆栽中遇到種種麻煩,比如不了解植物目前的生長狀態(tài),不清楚是否需要澆水等。針對這些情況,設(shè)計并實現(xiàn)了一個多功能智能盆栽養(yǎng)護系統(tǒng)。該系統(tǒng)利用遷移學(xué)習(xí)技術(shù)進行花卉識別,并通過多種傳感器和單片機檢測和傳輸盆栽的相關(guān)信息,還具有社區(qū)交流、線上商城等功能。
關(guān)鍵詞: 遷移學(xué)習(xí); 單片機; 傳感器; 微信小程序; SpringBoot
中圖分類號:TP311.1? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2021)09-46-05
Abstract: In daily life, people often encounter various troubles in potting, such as not knowing the current growth state of plants, and whether watering is needed. In view of these situations, a multi-function intelligent pot cultivation system is designed and implemented. The system uses transfer learning technology to identify flowers, and detects and transmits pot planting information by various sensors and MCU, and it also has the functions of community communication and online shopping mall.
Key words: transfer learning; MCU; sensor; WeChat Mini Program; SpringBoot
0 引言
伴隨著人們對品質(zhì)生活的追求,盆栽成為了室內(nèi)必不可少的一道風景。人們在種植盆栽方面的問題也接踵而至,如時間成本、種植知識盲區(qū)等問題亟待解決。為了解決這些問題,盆栽養(yǎng)護智能管家系統(tǒng)采用了基于神經(jīng)網(wǎng)絡(luò)的花卉識別技術(shù)、多種傳感器以及單片機技術(shù),來實現(xiàn)對盆栽的智能識別、實時監(jiān)控、提供栽培意見等功能,此外,該系統(tǒng)基于微信小程序以及SpringBooot框架實現(xiàn)了一個具有社區(qū)交流、商城購買的多功能平臺。
1 功能需求分析
系統(tǒng)的使用權(quán)限包括普通用戶、商家和系統(tǒng)管理員三種,針對不同的用戶提供了不同的功能服務(wù)。
1.1 普通用戶模塊
⑴ 用戶可以通過AI識別技術(shù)拍攝生活中的盆栽實體,然后通過在線上商城購買專門的傳感器對盆栽進行生長環(huán)境數(shù)據(jù)的采集,這些數(shù)據(jù)通過服務(wù)器傳輸?shù)接脩艚缑骘@示盆栽的現(xiàn)實狀態(tài),并提供對應(yīng)的養(yǎng)護小貼士,每一個上傳到本系統(tǒng)的盆栽都會存儲到用戶的“私人陽臺”中。對于“陽臺”上的每一個盆栽,用戶都能夠記錄對應(yīng)的盆栽日記,可以用拍照和文字的形式記錄盆栽的生長歷程。
⑵ 用戶能在線上商城中查看各類盆栽、養(yǎng)護工具以及相關(guān)書籍,能選擇商品加入購物車或直接購買。用戶能夠通過積分等渠道獲得不同商鋪的優(yōu)惠券,在對應(yīng)商鋪中購買相關(guān)商品能享受一定優(yōu)惠。
⑶ 用戶能夠通過社區(qū)模塊發(fā)表盆栽養(yǎng)護相關(guān)的文章,擁有評論文章,點贊文章的功能。除此之外,用戶還能在社區(qū)中發(fā)現(xiàn)其他用戶,并能夠通過查看其他用戶的頭像瀏覽他人主頁,并且能夠關(guān)注其他用戶,與其他用戶交流養(yǎng)護經(jīng)驗。
⑷ 用戶還能查閱植物百科,通過搜索或者分類查閱的形式可以閱讀相關(guān)植物的具體信息,更加有利于增加用戶對植物的了解,有助于更好實現(xiàn)盆栽栽培和養(yǎng)護。
⑸ 用戶能夠查閱和修改自己的基本個人信息,包括修改頭像、昵稱、個性簽名、城市和手機號。能夠查看自己的優(yōu)惠券、訂單、已有積分。另外用戶還能管理自己的收貨地址、發(fā)表的文章和評論。
1.2 商家模塊
面向商家,每個入駐商家都能夠建立一家或多家商店,有權(quán)制定本店專屬優(yōu)惠券的數(shù)量和額度,能夠?qū)ι啼佒械纳唐沸畔⑦M行維護和管理,也能夠處理與用戶的相關(guān)訂單信息。
1.3 管理員模塊
⑴ 管理員能夠查閱有關(guān)用戶人數(shù),文章數(shù)量以及商品數(shù)量等信息的數(shù)據(jù)統(tǒng)計情況。
⑵ 管理員有權(quán)管理和審核用戶發(fā)表的文章和評論。管理員可以對植物百科信息庫進行更新和修改,并進行數(shù)據(jù)維護管理。
⑶ 管理員有權(quán)管理所有的商家以及其商鋪日常經(jīng)營活動,維護商品交易秩序,維護商家和用戶雙方的利益。
⑷ 管理員能通過發(fā)布系統(tǒng)通知的權(quán)限來通知用戶相關(guān)信息。
根據(jù)需求分析獲得系統(tǒng)功能模塊分解圖,如圖1所示。
2 系統(tǒng)方案設(shè)計
前端采用基于MINA框架的微信小程序[1]。后端采用SpringBoot作為架構(gòu)框架,此外,我們使用MySQL為數(shù)據(jù)服務(wù)器,并采用MyBatis為數(shù)據(jù)持久層框架。
2.1 MINA
MINA是一款騰訊開發(fā)的框架,是目前IT界最被推崇的MVVM模式框架,它提供了自己的視圖層描述語言WXML和WXSS,以及基于JavaScript的邏輯層框架,在視圖層和邏輯層之間提供了數(shù)據(jù)傳輸和事件系統(tǒng),可以讓開發(fā)者更方便的關(guān)注于數(shù)據(jù)和邏輯。
2.2 SpringBoot
SpringBoot[2-3]是由Privotal團隊提供的全新JAVA框架,是一個輕量級的框架技術(shù),他能夠以jar包的形式獨立運行,而且可以嵌入Tomcat、Jetty等web容器,簡化了Spring大量繁雜的配置工作,使得部署更加簡單,能夠讓開發(fā)人員將更多的經(jīng)歷投入到功能實現(xiàn)方面。
2.3 MySQL
MySQL是當今最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,由瑞典MySQL AB公司開發(fā),現(xiàn)屬于Oracle公司。它采用SQL語言作為訪問數(shù)據(jù)庫語言。MySQL數(shù)據(jù)庫具有體積小,速度快,成本低,開放源代碼的特點,備受中小型軟件應(yīng)用開發(fā)商的青睞。
2.4 MyBatis
MyBatis是一個支持普通SQL查詢,存儲過程和高級映射的數(shù)據(jù)持久層框架,它使用簡單的XML或注解用于配置和原始映射,避免了幾乎所有的JDBC代碼和手動設(shè)置參數(shù)以及獲取結(jié)果集,是一款沒有任何第三方依賴的,靈活易學(xué)的數(shù)據(jù)持久層框架。
3 數(shù)據(jù)庫的設(shè)計
根據(jù)系統(tǒng)的功能需求分析設(shè)計該系統(tǒng)的數(shù)據(jù)庫,用Gliffy Diagrams工具繪制出該系統(tǒng)的E-R圖如圖2所示。
4 關(guān)鍵技術(shù)的設(shè)計和實現(xiàn)
4.1 花卉圖像識別技術(shù)
傳統(tǒng)的深度學(xué)習(xí)識別圖像技術(shù)需要大數(shù)量的數(shù)據(jù)集來進行模型的訓(xùn)練,數(shù)據(jù)集較少時很容易出現(xiàn)過擬合現(xiàn)象,而花卉圖像由于種類繁多,背景復(fù)雜并且樣本數(shù)量較少的原因,很難采集大規(guī)模的數(shù)據(jù)集完成傳統(tǒng)的深度學(xué)習(xí)模型訓(xùn)練獲得較好的識別結(jié)果。所以我們采用遷移學(xué)習(xí)技術(shù)利用相關(guān)領(lǐng)域的圖像識別網(wǎng)絡(luò)模型來實現(xiàn)較小規(guī)模數(shù)量的花卉分類實驗[4-5]。
首先,我們的花卉數(shù)據(jù)集通過python網(wǎng)絡(luò)爬蟲百度圖片獲取,先對抓取的數(shù)據(jù)進行人工篩選,刪除一些無關(guān)的數(shù)據(jù),然后對其進行歸一化處理,為避免過擬合問題,我們還要對圖片進行隨機翻轉(zhuǎn),調(diào)整它的色調(diào),飽和度等數(shù)據(jù)增強操作,最終獲得300種植物一共6萬張花卉圖片數(shù)據(jù)。
我們以Tensorflow2為訓(xùn)練工具,采用ImageNet大型圖像數(shù)據(jù)集在谷歌推出的EfficientNet-B7網(wǎng)絡(luò)[6]訓(xùn)練出來的模型作為預(yù)訓(xùn)練模型。凍結(jié)前面的網(wǎng)絡(luò)層,改變最后三層全連接層以適應(yīng)自己的300分類數(shù)據(jù)集,優(yōu)化器和損失函數(shù)分別采用Adam和交叉熵損失函數(shù)。進行多輪模型訓(xùn)練后,最后將訓(xùn)練好的模型保存為pb格式文檔運用在應(yīng)用端的圖像識別功能中。
4.2 ESP8266單片機及傳感器
傳感器收集到的溫濕度、光強數(shù)據(jù)傳輸?shù)紼SP8266單片機,再通過mqtt協(xié)議將其發(fā)送到云服務(wù)器,客戶端通過訂閱主題可以得到相關(guān)數(shù)據(jù),并對其進行處理。這里使用mqtt協(xié)議是因為它比較輕量級,節(jié)約能耗,很適合物聯(lián)網(wǎng)的使用場景[7-8]。
根據(jù)上述定義畫出傳感器數(shù)據(jù)傳輸?shù)目傮w架構(gòu)圖如圖3所示。
4.2.1 硬件設(shè)備
硬件設(shè)備的組成一共包括一種單片機和四種傳感器,分別實現(xiàn)物聯(lián)網(wǎng)連接功能、探測空氣溫度、空氣濕度、土壤濕度,光度的功能,具體信息如表1所示。
4.2.2 mqtt服務(wù)器配置信息
選用由EMQ X Cloud提供的公共MQTT Broker服務(wù)作為broker接入地址,具體信息如表2所示。
4.2.3 ESP8266單片機代碼實現(xiàn)
ESP8266WiFi庫能夠?qū)SP8266連接到Wi-Fi網(wǎng)絡(luò),PubSubClient 庫能使ESP8266連接到MQTT服務(wù)器發(fā)布消息及訂閱主題[9]?;跇扶翁峁┑腟martConfig以及EspTouch APP實現(xiàn)自動配網(wǎng)連接wifi。通過MQTT服務(wù)器連接地址和端口,設(shè)置MQTT Broker信息。讀取傳感器數(shù)據(jù)并以json格式上傳至服務(wù)器,存儲到數(shù)據(jù)庫。
5 實驗結(jié)果或者系統(tǒng)演示
5.1 花卉識別界面效果
總共訓(xùn)練的花卉數(shù)據(jù)集以溫帶和亞熱帶植物為主一共300種植物,利用遷移學(xué)習(xí)技術(shù),以基于ImageNet數(shù)據(jù)集的EfficientNet-B7模型為預(yù)訓(xùn)練模型訓(xùn)練10輪,最后獲得植物識別準確率為81.25%。前端功能界面展示如圖4所示。
通過照相或相冊功能獲得的圖片,進行模型識別返回三種準確率最高的植物信息,以實現(xiàn)花卉識別功能。
5.2 獲取傳感器數(shù)據(jù)界面效果
通過傳感器綁定盆栽,傳輸環(huán)境溫度和濕度,以及植物土壤的濕度值,展示如圖5所示。
5.3 其他部分功能模塊界面效果
社區(qū)交流模塊主頁、植物百科模塊主頁以及個人主頁的界面展示如圖6所示。
6 結(jié)束語
本文設(shè)計并實現(xiàn)了一款基于多種傳感器技術(shù)的智能盆栽養(yǎng)護系統(tǒng),通過深度模型的遷移學(xué)習(xí)技術(shù)實現(xiàn)花卉識別功能,再通過ESP8266單片機和多種傳感器實現(xiàn)盆栽狀態(tài)的識別以及植物信息的傳輸。此外還提供給用戶一個線上交流互動和在線購買商品的多功能平臺。
目前,本系統(tǒng)仍有不足之處,主要在于識別花卉數(shù)據(jù)較少,只能識別300種花卉,另外,對于商家模塊的功能還需要增加,日后有待改進。
參考文獻(References):
[1] 倪紅軍.微信小程序案例開發(fā)[J].計算機教育,2021.2:193
[2] KANJ. Design and implementation of teaching quality?evaluatuin system based on Spring Boot [C].第七屆計算與信息科學(xué)國際學(xué)術(shù)會議,2019.
[3] 熊永平.基于SpringBoot框架應(yīng)用開發(fā)技術(shù)的分析與研究[J].電腦知識與技術(shù),2019.15(36):76-77
[4] 曹曉杰,么嬈,嚴雨靈.應(yīng)用遷移學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)花卉圖像識別[J].計算機應(yīng)用與軟件,2020.37(8):142-148
[5] 秦敏.基于深度學(xué)習(xí)的花卉圖像分類識別模型研究[D].廣西師范大學(xué),2020.
[6] Tan, Mingxing, and Quoc V. Le. "Efficientnet: Rethinking model scaling for convolutional neural networks." arXiv preprint arXiv:1905.11946,2019.
[7] 丘源,經(jīng)本欽,李精華.基于ESP8266WiFi模塊和MQTT協(xié)議的物聯(lián)網(wǎng)傳感節(jié)點設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2019.9(6):24-26,29
[8] 董志剛,宋維,周新虹.基于MQTT協(xié)議的智慧校園多傳感器融合監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[J].信息技術(shù)與信息化,2020.11:113-116
[9] 張琥石,林偉龍,楊發(fā)柱,黃向軍,金星伊,陳潔,羅曉春,張盈盈,甘辛.基于ESP8266 WiFi模塊的物聯(lián)網(wǎng)體溫監(jiān)測系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2020.10(12):32-35