999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學習的果蔬識別與定位軟件系統研究與實現

2023-06-07 05:47:18杜興
電子制作 2023年9期
關鍵詞:檢測系統設計

杜興

(貴州電子信息職業技術學院,貴州凱里,556000)

0 引言

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

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

1 系統整體設計

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

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

系統的算法核心使用基于SSD 目標檢測與識別的神經網絡對果蔬圖片進行識別與定位,從而獲取圖片中的果蔬位置、類別及數量等信息。

果蔬識別與定位APP 系統是采用前后端分離的設計模式進行開發,包含APP 前端頁面、數據增刪改查的后端以及識別與定位的算法核心。系統的整體實現構架如圖1 所示。

圖1 系統整體構架圖

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

2 前端設計

果蔬識別與定位的APP 的前端設計理念是功能實現和操作簡約。

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

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

圖2 請求接口和方式圖

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

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

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

3 后端設計

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

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

圖4 數據庫字段

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

圖5 后端DRF 設計流程圖

4 算法設計

果蔬識別與定位使用基于深度學習的SSD 目標檢測與識別的神經網絡作為識別核心。以本系統為例,能夠定位出果蔬在圖片中的位置、果蔬的類別以及數量信息,如圖6 所示,其界面是圖3 的功能部分的界面圖。

圖6 識別與定位效果圖

在本系統中,數據集分為蘋果、橘子和香蕉三個類別,樣本總數量為300。使用基于labelme[7]數據標注軟件對數據集進行標注,數據的標注格式VOC2007,之后送入到神經網絡中性學習訓練。樣本數據如圖7 所示。

圖7 部分樣本數據圖

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

圖8 SSD 網絡結構圖

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

圖9 圖像放縮效果圖

在網絡結構模型中,SSD 網絡是以VGG16 的6 層特征圖作融合,共產生8732 個先驗框。以圖8 所示的Conv4_3 layer 為例,其他特征圖做法與之類似。

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

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

圖10 非極大值算法流程圖

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

圖11 損失函數公式圖

SSD 網絡模型訓練步驟如下:(1)數據清洗和數據標注(VOC2007 格式);(2)安裝和配置硬件環境;(3)創建訓練工程項目;(4)讀取數據并數據預處理;(5)搭建網絡模型;(6)設置訓練參數;(7)觀察損失函數訓練曲線圖(調優網絡模型);(8)保存網絡模型的結構和參數(用于預測)。SSD 網絡模型的訓練損失曲線圖如圖12 所示,訓練迭代次數是50 次。

圖12 損失函數訓練曲線圖1

由于,網絡模型訓練對硬件配置較高,訓練環境硬件配置為:CPU 為I712 代處理器,顯卡為RTX3070TI 顯存為8G,運存為32G。以此硬件環境為例,每秒能夠預測38 張左右,以本機調用攝像頭為例,如圖13 所示。

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

5 其他部分

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

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

6 實驗環境

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

表1 解釋器及框架版本號

猜你喜歡
檢測系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
主站蜘蛛池模板: 亚洲精品福利视频| 动漫精品中文字幕无码| 中文字幕永久视频| 久久久久国产一级毛片高清板| 亚洲日韩AV无码一区二区三区人| 午夜a视频| 久久久久九九精品影院| 国产午夜小视频| 一本久道久久综合多人| 国产免费看久久久| 精品人妻一区二区三区蜜桃AⅤ| 欧美日韩国产综合视频在线观看| 国产在线观看91精品| 国产高颜值露脸在线观看| 玖玖免费视频在线观看| 香蕉eeww99国产在线观看| 亚洲国产AV无码综合原创| 无码高潮喷水在线观看| 台湾AV国片精品女同性| 91口爆吞精国产对白第三集| 高清久久精品亚洲日韩Av| 国产亚洲精品无码专| 日韩人妻少妇一区二区| 久久亚洲国产最新网站| 97色婷婷成人综合在线观看| 极品私人尤物在线精品首页 | 国产在线自揄拍揄视频网站| 四虎永久在线精品影院| 国产av无码日韩av无码网站| 欧美成人国产| 青青青伊人色综合久久| 凹凸国产分类在线观看| 亚洲AⅤ综合在线欧美一区| 久久中文字幕2021精品| 欧美在线中文字幕| 久久香蕉国产线看观看精品蕉| 亚洲熟妇AV日韩熟妇在线| 在线观看视频99| 亚洲国产综合自在线另类| 亚洲精品欧美日本中文字幕 | 永久免费AⅤ无码网站在线观看| 成人亚洲天堂| 欧美精品aⅴ在线视频| 亚洲精品成人片在线观看| 成人一区专区在线观看| 国产男人的天堂| 亚洲精品无码AⅤ片青青在线观看| 国产91小视频| 九九精品在线观看| 亚洲人成在线精品| 手机成人午夜在线视频| 日本影院一区| 国产精品丝袜在线| 欧美另类视频一区二区三区| 久久精品女人天堂aaa| 强乱中文字幕在线播放不卡| 欧美一区二区自偷自拍视频| 国产一区二区影院| 亚洲床戏一区| 亚洲美女一级毛片| 欧美在线视频不卡| 内射人妻无码色AV天堂| 在线毛片网站| 亚洲人成电影在线播放| 久久狠狠色噜噜狠狠狠狠97视色 | 91福利在线看| 国产成人一二三| 日本黄网在线观看| 日韩成人免费网站| 国产成人亚洲毛片| 欧美啪啪精品| 国产成人精品男人的天堂下载| 午夜福利网址| 一本久道热中字伊人| 黄色国产在线| 亚洲精品无码不卡在线播放| 国产精品任我爽爆在线播放6080 | 乱色熟女综合一区二区| 2024av在线无码中文最新| 亚洲三级片在线看| 国产91麻豆免费观看| 一边摸一边做爽的视频17国产 |