亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于深度學(xué)習(xí)的果蔬識別與定位軟件系統(tǒng)研究與實現(xiàn)

        2023-06-07 05:47:18杜興
        電子制作 2023年9期
        關(guān)鍵詞:先驗果蔬損失

        杜興

        (貴州電子信息職業(yè)技術(shù)學(xué)院,貴州凱里,556000)

        0 引言

        在生產(chǎn)生活中,存在著農(nóng)民通過觀察統(tǒng)計果實數(shù)量和位置以方便估計產(chǎn)量和收益多少情況、同時還有果蔬加工廠通過大量勞動力進行手工分揀現(xiàn)象等,這些方式都存在著大量重復(fù)式機械勞動等相似共同特征。

        為了解決生產(chǎn)生活中低效率的現(xiàn)象,本系統(tǒng)設(shè)計出了一款能夠利用手機拍照上傳含有果蔬的圖片,經(jīng)過算法識別與定位后統(tǒng)計出果蔬的類別、位置及數(shù)量等信息的果蔬識別與定位APP。

        1 系統(tǒng)整體設(shè)計

        系統(tǒng)前端使用以Vue.js 語言開發(fā)的uniapp 跨平臺前端框架,該框架只需提供一款程序而可以同時開發(fā)出安卓、iOS、微信小程序等多平臺的快速前端開發(fā)工具,簡稱一端開發(fā),多端編譯。前端部分使用基于uniapp 風格的HTML、CSS 和Vue 等作為前端開發(fā)語言,同時借鑒uniapp 官方社區(qū)的前端模板構(gòu)建整個APP 頁面[1]。

        系統(tǒng)后端使用基于Python 語言的Django 的Web 框架作為果蔬識別與定位軟件數(shù)據(jù)增刪改查的后端部分。其中,Django 的Web 框架是一個基礎(chǔ)的Web 框架,而本系統(tǒng)使用的是基于Django 再次開發(fā)封裝的Django rest framework 的Web 框架[2],該框架對數(shù)據(jù)庫的增刪改查有著極其簡明的操作邏輯。其中,MySQL作為數(shù)據(jù)的存儲工具。

        系統(tǒng)的算法核心使用基于SSD 目標檢測與識別的神經(jīng)網(wǎng)絡(luò)對果蔬圖片進行識別與定位,從而獲取圖片中的果蔬位置、類別及數(shù)量等信息。

        果蔬識別與定位APP 系統(tǒng)是采用前后端分離的設(shè)計模式進行開發(fā),包含APP 前端頁面、數(shù)據(jù)增刪改查的后端以及識別與定位的算法核心。系統(tǒng)的整體實現(xiàn)構(gòu)架如圖1 所示。

        圖1 系統(tǒng)整體構(gòu)架圖

        果蔬識別與定位軟件系統(tǒng)由圖中的三個模塊組成,前端APP 通過點擊對應(yīng)按鈕調(diào)用手機端攝像頭拍攝或上傳含有果蔬的圖片信息,當后端檢測到數(shù)據(jù)庫中的字段信息發(fā)生變化時,調(diào)用識別與定位的算法核心對圖片信息進行處理,將檢測后圖片、位置和類別信息結(jié)果存儲到數(shù)據(jù)庫中的對應(yīng)字段類型中,最后在前端頁面點擊識別按鈕獲取識別與定位后的結(jié)果并在前端頁面顯示。其中,拍照上傳圖片的方式是HTTP 中的put 請求方式,獲取識別結(jié)果是get 請求方式,因此本系統(tǒng)的后端只有常見增刪改查中的改查功能。此外,本系統(tǒng)沒有設(shè)計用戶注冊登錄功能,故在后端數(shù)據(jù)庫中表的字段數(shù)量只有一個。

        2 前端設(shè)計

        果蔬識別與定位的APP 的前端設(shè)計理念是功能實現(xiàn)和操作簡約。

        在編程語言方面選擇目前較為流行的基于Vue.js 開發(fā)的前端多平臺應(yīng)用框架,該框架主要的特點是只需使用一套代碼就能實現(xiàn)不同平臺的設(shè)計開發(fā),并且開發(fā)流程和模式與常見的網(wǎng)頁設(shè)計高度相似,可以無學(xué)習(xí)成本的進行果蔬識別與定位的APP 開發(fā)。

        在功能核心設(shè)計方面,由于本識別與定位系統(tǒng)是采用前后端分離[3]的設(shè)計模式,同時在進行前后端設(shè)計采用restful[4]風格的設(shè)計模式故在前端只需要向后端提供對應(yīng)的請求接口以及請求方式,并且前后端數(shù)據(jù)是以JSON 數(shù)據(jù)類型進行傳輸。按照此種設(shè)計,就完成前端核心功能。在上傳圖片和識別定位按鈕分別對應(yīng)PUT 和GET 請求,該部分的功能對應(yīng)圖3 中的功能實現(xiàn)部分,由于設(shè)計采用restful風格,故請求地址相同,方式不同,如圖2 所示(以本機IP 為例)。

        圖2 請求接口和方式圖

        圖3 果蔬與識別定位軟件界面圖

        在界面展示方面,前端頁面主要突出簡潔夠用的原則,既能確保核心功能的完成和實現(xiàn),也要突出界面操作簡單。果蔬識別與定位的APP,如圖3 所示。軟件界面的注意事項主要包含軟件產(chǎn)品優(yōu)缺點和使用說明,軟件的功能部分是上傳圖片和識別定位的核心功能,軟件的操作流程界面主要包含軟件的操作流程,由以上的三個模塊共同組成果蔬識別定位軟件的前端界面。

        在圖3 所示的功能部分中,點擊拍照按鈕提交圖片的數(shù)據(jù)是以base64 進行編碼,封裝到JSON[5]類型的數(shù)據(jù)中,向后端進行提交。

        3 后端設(shè)計

        果蔬識別與定位的APP 的后端設(shè)計理念是采用基于Python 語言的Django 的web 框架進行后端設(shè)計,為了方便快速后端系統(tǒng)采用的是基于Django 框架的再封裝的Django Rest Framework 簡稱(DRF)進行主要后端主要設(shè)計框架。同時結(jié)合數(shù)據(jù)庫MySQL、圖像處理庫pillow 以及base64 解碼庫等進行輔助設(shè)計。

        在圖3 所示的功能部分中,拍照和上傳按鈕分別對應(yīng)后端PUT 和GET 請求,且請求路徑相同和數(shù)據(jù)庫中的字段也相同。具體做法如下,當點擊拍照按鈕,前端將圖片的base64 數(shù)據(jù)提交給后臺,并修改名為base64 對應(yīng)的數(shù)據(jù)內(nèi)容,其他數(shù)據(jù)內(nèi)容不做修改,請求方式為PUT。當點擊識別按鈕,后端部分先進行圖片解碼操作,之后通過識別與定位算法計算出果蔬所在位置和類別信息,并保存在名為result 對應(yīng)的數(shù)據(jù)內(nèi)容,其他數(shù)據(jù)類型不變,并將數(shù)據(jù)以JSON 數(shù)據(jù)類型返回給前端頁面進行渲染,且請求方式為GET。其中,數(shù)據(jù)庫信息如圖4 所示。

        圖4 數(shù)據(jù)庫字段

        后端部分的DRF 框架如圖5 所示,使用基于DRF 框架進行快速搭建[6]。數(shù)據(jù)庫API 負責數(shù)據(jù)的增刪改查,序列化器Serializers 負責前后端數(shù)據(jù)的交互,結(jié)合參數(shù)校驗數(shù)據(jù)接口Validators 和權(quán)限校驗Permissions 組成三級接口視圖集,同時Routers 完成自動路由注冊以及包含異常處理和規(guī)范接口等功能。使用極少的程序代碼,從而注重項目的流程設(shè)計,完成復(fù)雜的后端邏輯設(shè)計。

        圖5 后端DRF 設(shè)計流程圖

        4 算法設(shè)計

        果蔬識別與定位使用基于深度學(xué)習(xí)的SSD 目標檢測與識別的神經(jīng)網(wǎng)絡(luò)作為識別核心。以本系統(tǒng)為例,能夠定位出果蔬在圖片中的位置、果蔬的類別以及數(shù)量信息,如圖6 所示,其界面是圖3 的功能部分的界面圖。

        圖6 識別與定位效果圖

        在本系統(tǒng)中,數(shù)據(jù)集分為蘋果、橘子和香蕉三個類別,樣本總數(shù)量為300。使用基于labelme[7]數(shù)據(jù)標注軟件對數(shù)據(jù)集進行標注,數(shù)據(jù)的標注格式VOC2007,之后送入到神經(jīng)網(wǎng)絡(luò)中性學(xué)習(xí)訓(xùn)練。樣本數(shù)據(jù)如圖7 所示。

        圖7 部分樣本數(shù)據(jù)圖

        在算法結(jié)構(gòu)中,SSD 是one-stage 的端到端目標檢測識別網(wǎng)絡(luò)[8],網(wǎng)絡(luò)結(jié)構(gòu)圖如圖8 所示。以本系統(tǒng)為例,該目標檢測識別網(wǎng)絡(luò)的特征提取網(wǎng)絡(luò)(backbone)是基于牛津大學(xué)團隊設(shè)計VGG16 卷積神經(jīng)網(wǎng)絡(luò)。通過對6 種不同尺度的特征圖進行融合,可以實現(xiàn)不同尺寸目標的檢測與識別,即淺層特征圖用于檢測小目標、深層特征圖用于檢測大目標。此外,網(wǎng)絡(luò)結(jié)構(gòu)的特征圖采用錨點(anchor)機制,每個特征圖上的每個錨點生成4 或6 個目標的先驗框,考慮到特征圖的通道數(shù),6 種不同尺度的特征圖總共生成8732 個先驗框。生成的8732 個先驗框的分類運算量,在一定程度上,相當于輸入一張圖片生成8732 個圖片,然后再對生成的圖片做分類,這樣就會導(dǎo)致運算復(fù)雜度成倍增長。因此,需要對先驗框做數(shù)量上的減法處理,具體做法如下,采取非極大值抑制的方法減少先驗框與之重合度比較高的框,從而減少分類運算量。SSD 網(wǎng)絡(luò)的損失函數(shù)是由均方誤差和交叉熵損失的線性組合,從而對目標進行位置定位和類別分類。

        圖8 SSD 網(wǎng)絡(luò)結(jié)構(gòu)圖

        在網(wǎng)絡(luò)的輸入中,訓(xùn)練和預(yù)測時的圖像預(yù)處理的重要步驟之一是統(tǒng)一將圖片尺寸放縮到300×300。將圖像放縮到固定尺寸時會損失圖像的部分信息,若圖像尺寸越大這種情況會明顯。為了不損失圖像信息,本文在采取在原圖周圍padding 的方式進行放縮圖像做法,這樣做的優(yōu)點是不破壞原圖的圖像信息在圖像補一個固定像素值的點(本例補黑色像素值的點),而圖像以直接縮放的方法則會破壞原圖目標結(jié)構(gòu)和目標信息。圖像放縮效果圖,如圖9 所示。

        圖9 圖像放縮效果圖

        在網(wǎng)絡(luò)結(jié)構(gòu)模型中,SSD 網(wǎng)絡(luò)是以VGG16 的6 層特征圖作融合,共產(chǎn)生8732 個先驗框。以圖8 所示的Conv4_3 layer 為例,其他特征圖做法與之類似。

        以輸入圖像尺寸為300*300*3 和VGG16 卷積和池化的操作為例,SSD 網(wǎng)絡(luò)生成的第一個特征圖是Conv4_3 layer,該層特征圖的尺寸為38*38,且通道數(shù)為512。該層特征圖每個錨點產(chǎn)生4 個先驗框,而該層先驗框的尺寸以21*21 作為基準大小,比例分別為1:1、1:0.5、1:2、1:(21*45)0.5,產(chǎn)生4 個不同尺寸的比例,按照此種方法產(chǎn)生5776 個先驗框。不同的是,另外5 個特征圖上的每個錨點會產(chǎn)生4 或者6 個不等的先驗框,以此種方法為例,剩下5 個特征圖分別產(chǎn)生2116、600、150、36、4 個先驗框。這些先驗框的總數(shù)量為8732。這些先驗框是以輸入圖像為基準,采取提取不同尺度特征圖的方法,從而檢測出圖像中不同尺寸的目標區(qū)域。

        由于輸入一張圖片產(chǎn)生出8732 個先驗框,若不經(jīng)過減少先驗框數(shù)量的處理會產(chǎn)生大量數(shù)值運算,會增加網(wǎng)絡(luò)模型訓(xùn)練和預(yù)測的時間。SSD 網(wǎng)絡(luò)模型在產(chǎn)生8732 個框為基礎(chǔ),經(jīng)過非極大值抑制處理[9],減少先驗框的數(shù)量,降低網(wǎng)絡(luò)模型的運算量。非極大值的主要作用是在不同數(shù)量先驗框的情況下,尋找局部的最大值,從而確定最終的先驗框,從而降低總先驗框的數(shù)量。具體流程如圖10 所示。

        圖10 非極大值算法流程圖

        SSD 是端到端檢測與識別的神經(jīng)網(wǎng)絡(luò)模型,目標區(qū)域的定位和目標區(qū)域的分類是網(wǎng)絡(luò)模型的任務(wù)。因此,損失函數(shù)與網(wǎng)絡(luò)模型的任務(wù)相對應(yīng)。損失函數(shù)公式,如圖11 所示。損失函數(shù)由兩部分組成,分別是均方誤差損失函數(shù)(定位損失)和交叉熵損失函數(shù)(類別損失)。圖像中目標區(qū)域的位置坐標信息與均方誤差損失函數(shù)輸出值是連續(xù)的相對應(yīng)。圖像中目標區(qū)域的類別信息與交叉熵損失函數(shù)的輸出值是離散的相對應(yīng)。不同的損失函數(shù)負責目標檢測與識別的不同任務(wù)。

        圖11 損失函數(shù)公式圖

        SSD 網(wǎng)絡(luò)模型訓(xùn)練步驟如下:(1)數(shù)據(jù)清洗和數(shù)據(jù)標注(VOC2007 格式);(2)安裝和配置硬件環(huán)境;(3)創(chuàng)建訓(xùn)練工程項目;(4)讀取數(shù)據(jù)并數(shù)據(jù)預(yù)處理;(5)搭建網(wǎng)絡(luò)模型;(6)設(shè)置訓(xùn)練參數(shù);(7)觀察損失函數(shù)訓(xùn)練曲線圖(調(diào)優(yōu)網(wǎng)絡(luò)模型);(8)保存網(wǎng)絡(luò)模型的結(jié)構(gòu)和參數(shù)(用于預(yù)測)。SSD 網(wǎng)絡(luò)模型的訓(xùn)練損失曲線圖如圖12 所示,訓(xùn)練迭代次數(shù)是50 次。

        圖12 損失函數(shù)訓(xùn)練曲線圖1

        由于,網(wǎng)絡(luò)模型訓(xùn)練對硬件配置較高,訓(xùn)練環(huán)境硬件配置為:CPU 為I712 代處理器,顯卡為RTX3070TI 顯存為8G,運存為32G。以此硬件環(huán)境為例,每秒能夠預(yù)測38 張左右,以本機調(diào)用攝像頭為例,如圖13 所示。

        圖13 實時檢測與識別效果圖

        5 其他部分

        在完成整個果蔬識別與定位部署之前,需要將系統(tǒng)的前端打包至安卓端,系統(tǒng)的后端和識別檢測部署在云端。以騰訊云和阿里云等服務(wù)器的中低端的配置水平,在部署和調(diào)試過程中發(fā)現(xiàn),硬件水平雖然能夠完成的基礎(chǔ)功能,但是所耗時間較多,造成軟件的操作體驗不好。因此,本系統(tǒng)使用內(nèi)網(wǎng)穿透技術(shù)[11],實現(xiàn)內(nèi)網(wǎng)與外網(wǎng)的互相訪問,將后端和識別檢測部分部署在本地電腦,以增強軟件使用體驗。本系統(tǒng)使用的是神卓互聯(lián)內(nèi)網(wǎng)穿透工具,可以使用極少的成本實現(xiàn)前端與后端的數(shù)據(jù)交互以及目標的檢測與識別,解決了以外網(wǎng)為主要使用場景的手機端訪問內(nèi)網(wǎng)的難題。

        由于本系統(tǒng)是由APP 前端、基于Python 語言DRF 的web 后端,以及識別與定位算法端的三個核心部分。果蔬識別與定位系統(tǒng)是前后端分離開發(fā)的設(shè)計模式,前端與后端的交互數(shù)據(jù)類型是JSON。由于,本系統(tǒng)的三個核心模塊分別單獨進行設(shè)計和開發(fā),因此,后端系統(tǒng)和識別與定位算法系統(tǒng)需要進行數(shù)據(jù)耦合。如圖4 所示,具體做法如下,采取設(shè)置數(shù)據(jù)庫中is_delete 的不同標志的為狀態(tài),來檢測和判斷APP 前端頁面提交的功能需求?;诖朔N方法實現(xiàn)果蔬識別定位系統(tǒng)的三個核心模塊的數(shù)據(jù)交互。

        6 實驗環(huán)境

        本系統(tǒng)使用的主要環(huán)境名及版本號如表1 所示,其中系統(tǒng)硬件環(huán)境配置在第5 部分已說明,在此不再贅述。

        表1 解釋器及框架版本號

        猜你喜歡
        先驗果蔬損失
        少問一句,損失千金
        胖胖損失了多少元
        基于無噪圖像塊先驗的MRI低秩分解去噪算法研究
        奇思妙想的果蔬們
        童話世界(2019年26期)2019-09-24 10:57:56
        玉米抽穗前倒伏怎么辦?怎么減少損失?
        清洗果蔬農(nóng)殘 你做對了嗎
        啟蒙(3-7歲)(2018年8期)2018-08-13 09:31:14
        這些果蔬能保護呼吸道
        基于自適應(yīng)塊組割先驗的噪聲圖像超分辨率重建
        果蔬大作戰(zhàn)
        童話世界(2016年8期)2016-06-02 09:21:05
        基于平滑先驗法的被動聲信號趨勢項消除
        一区二区亚洲精品在线| 免费一级a毛片在线播出| 国产av一区网址大全| 日本在线观看不卡一区二区| 亚洲午夜久久久久久久久久| 婷婷五月综合缴情在线视频| 加勒比日本东京热1区| 国产不卡av一区二区三区| 久久久99精品成人片| 亚洲 精品 综合 精品 自拍| 亚洲中文字幕无码久久2018| 国产一区二区三区特黄| 亚洲最全av一区二区| 麻豆久久久9性大片| 亚洲第一无码精品久久| 国产精品久久熟女吞精| 国产无套中出学生姝| 午夜成人理论无码电影在线播放| 欧美日韩性高爱潮视频| 亚洲中文字幕一区高清在线| 精品人妻系列无码人妻漫画| 亚洲精品午睡沙发系列| 亚洲精品6久久久久中文字幕| h视频在线观看视频在线| 特黄 做受又硬又粗又大视频| 色视频www在线播放国产人成| 亚洲va在线va天堂va四虎| 成人国产高清av一区二区三区| 国产乱人偷精品人妻a片| 人人妻人人玩人人澡人人爽| 日日骚一区二区三区中文字幕| 在线观看麻豆精品视频| 狠狠色婷婷久久一区二区三区| 另类欧美亚洲| 日本高清在线一区二区三区| 日本一本免费一二区| 久久精品视频在线看99| 亚洲AV色欲色欲WWW| 在线观看亚洲av每日更新影片 | 欧美整片第一页| 亚洲中文字幕在线精品2021|