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

基于深度學習的魚病防治APP教學實踐系統設計

2024-05-15 13:21:42冼遠清江穎龍初慶柱彭小紅
實驗室研究與探索 2024年3期
關鍵詞:用戶檢測

冼遠清,江穎龍,初慶柱,彭小紅

(廣東海洋大學a.數學與計算機學院;b.水生生物博物館,廣東湛江 524088)

0 引言

課堂教學是大學教育的重要組成部分[1]。在新工科背景下,將實際工程應用與理論知識緊密結合是課堂教學高質量發展的內在要求。近年來,人工智能技術迅猛發展,被廣泛應用于人臉識別、表面缺陷檢測、農業蟲害識別等領域[2-4]。實驗教學環節中引入人工智能技術,將有利于提升大學課堂教學效果。

移動編程技術是計算機類專業的核心課程,教學內容由理論教學和實驗教學組成。傳統的基于活動(activity)、布局(layout)、碎片(fragment)、內容提供者(content provider)、服務(service)、廣播接收器(broadcast receiver)等知識點的實驗教學方式,無法達成工程實踐能力的培養目標,同時也缺少與人工智能技術相結合的實驗教學內容。

針對移動編程技術教學中存在的問題,基于成果導向教育(outcome-based education,OBE)理念[5],引入CDIO(構思(conceive)-設計(design)-實現(implement)-運作(operate))教學模式[6],以Android和YOLOv5s為核心技術,將傳統基于知識點的實驗教學模式向以目標成果為導向的實驗教學模式轉變,實現教學過程的持續改進,確保達成培養工程能力的目標,具體實驗教學模式對比如圖1 所示。

圖1 傳統的實驗教學模式和基于CDIO的實驗教學模式對比

從圖1 看出,基于OBE 理念設計的CDIO 實驗教學模式,以實現基于YOLOv5s的魚病防治APP項目開發為目標成果,反向設計實驗教學過程,培養學生的創新精神,實現“做中學,學中做”的主動式實踐方式,強化工程綜合能力的培養,提升教學效果。

1 項目構思(conceive)—系統功能與技術選型

1.1 系統功能

學生開發團隊通過文獻調研、市場調研等方式,匯總各種實際需求,并對需求進行充分研討,以實用、快捷為目標,確定魚病防治APP的核心功能。

圖2 展示了一個具體案例,核心功能模塊包括注冊登錄、魚病識別、魚病問答、魚病百科、個人中心。魚病識別模塊是核心技術部分,將人工智能技術與移動平臺技術銜接,為用戶提供拍照上傳、疾病識別和防治建議功能。魚病百科實現了不同魚病的百科知識展示功能,鼓勵用戶發揚“我為人人”的奉獻精神,參與魚病百科知識不完善條目的編輯。魚病問答則提供了一個魚病專家和養殖戶溝通的渠道,養殖戶發布魚病問題,APP把問題自動或指定分配給專家進行解答。后期,還將實現魚病專家和養殖戶的直接聯系功能。

圖2 系統功能

1.2 技術選型

(1)Android系統。Android系統在移動互聯網中占據重要地位,是谷歌公司推出的開源移動操作系統。Android系統基于Linux 內核設計,系統軟件堆棧分為5 層,分別是應用程序層、Java 應用程序接口框架層、運行時及原生C/C ++庫層、硬件抽象層和Linux 核心層[7]。

Android 平臺被廣泛應用于物聯網設備、移動設備、穿戴設備等。基于Java 語言、Kotlin 語言開發Android項目,編譯并打包成APP應用程序,方便下載安裝。

(2)YOLOv5s。卷積神經網絡在計算機視覺任務中發揮重要作用,以Faster-RCNN 為代表的兩步檢測算法和以YOLO、SSD 等為代表的一步檢測算法成功應用于目標檢測任務[8]。YOLO系列深度神經網絡屬于實時目標檢測算法,可以在一次前向傳遞中同時檢測出圖像中的多個目標,并以速度快、精度高等優點受到廣泛關注。

YOLOv5s是一種檢測速度快、準確度高的深度神經網絡,網絡結構由輸入模塊、骨干網絡模塊、特征融合模塊和預測輸出模塊4 個部分構成,采用Focus 切片操作模塊、卷積-歸一化-激活函數(CBL)模塊[9]、跨階段部分(CSP)網絡[10]、空間金字塔池化(SPP)網絡[11]、特征金字塔網絡(FPN)[12]、路徑聚合網絡(PAN)[13]等技術提升特征提取和融合能力。YOLOv5s屬于輕量級的目標檢測算法,適合部署到資源受限的移動端設備。

(3)MVVM 模式。MVVM(Model-View-ViewModel)是一種軟件架構設計模式,也是一種簡化用戶界面的事件驅動編程方式[14]。MVVM 由MVC(Model-View-Controller)模式發展而來,實現程序與數據的邏輯解耦,其核心是ViewModel 層,負責轉換Model 中的數據對象,使得管理和使用數據變得更容易。

MVVM與MVC 的最大區別在于MVVM 實現了View和Model 的自動同步。當Model 的屬性改變時,對應View層的顯示會自動改變,無須手動操作文檔對象模型(DOM)元素改變就可實現View的顯示。

(4)JSON 數據解析。JSON(JavaScript Object Notation)獨立于具體編程語言和平臺,是一種輕量級的文本數據交換格式[15]。作為服務器和客戶端進行交互的數據格式之一,與可擴展標記語言(XML)數據交換格式相比,JSON比XML更小、更快、更易解析。

2 項目設計(design)—深度神經網絡和APP設計

2.1 YOLOv5s魚病檢測算法

YOLOv5s深度神經網絡實現圖像的端到端檢測,用戶只需要將圖像輸入,經過網絡推理后立即獲得檢測結果。YOLOv5s網絡結構如圖3 所示。

圖3 YOLOv5s網絡結構

YOLOv5s不僅采用了馬賽克數據增強技術,還采用了自適應圖像縮放技術,提升了輸入端的數據多樣性。特征提取骨干網絡由Focus、CBL、CSP和SPP 4 個模塊共同構成。

特征融合頸部模塊采用了FPN 和PAN 組合的結構形式,進一步對檢測目標多尺度融合,強化目標的特征多樣性。預測模塊采用了完整交并比(CIoU)作為編輯框的損失函數,并采用非極大值抑制技術對檢測的目標框進行篩選,增強對目標的檢測能力。CIoU損失函數計算式為

式中:RIoU為目標框和預測框的交并比;b為預測中心坐標的參數;bgt為真實目標邊界框中心的參數;ρ 為b和bgt之間的歐氏距離;c為真實框和預側框最小外接矩形對角線長度;v為長寬比;α為非負平衡系數。

2.2 APP設計

智能魚病防治APP 的系統架構包括底層基礎設施層、平臺層、軟件應用層、用戶層,如圖4 所示。用戶層面向Android、iPhone OS、鴻蒙等3 種不同操作系統的用戶,選定其中一種作為實現對象。

圖4 系統架構

智能魚病防治APP的開發采用前后端分離模式,前端人員負責注冊、登錄、魚病圖像展示、防治知識等用戶界面(UI)的設計以及activity功能的實現,后端開發人員負責服務器端架構搭建、數據庫設計等工作。該系統采用輕量級OKHttp 框架技術與服務器進行網絡通信。

2.3 數據庫設計

將MySQL 作為該APP 的后臺數據庫,并利用關系規范化理論對數據庫中的數據表進行優化設計,消除數據操作中可能存在的插入異常、刪除異常、更新異常、數據冗余等關鍵問題。數據庫中數據表的依賴關系由主外鍵控制,確保數據庫中數據的一致性和完整性,如圖5 所示。

圖5 數據庫核心表局部邏輯結構關系

針對魚病防治系統數據庫設計了用戶表、魚病問答表、魚病百科表、魚病識別表、收藏表、瀏覽足跡表等數據表。魚病識別表實現了魚病識別的核心功能,存儲了魚病名字、魚病緊急程度、魚病圖片、魚病圖片上傳者、魚病防治建議等相關數據。用戶表存儲用戶名、身份、密碼、公司、專業等信息,并通過用戶表的uid 字段與魚病問答表、魚病百科表、魚病識別表相關字段進行主外鍵關聯,保證數據的一致性。

3 項目實現(implement)—深度神經網絡訓練和APP實現

3.1 開發環境搭建

在Windows 10 環境下搭建了Android 開發平臺,將PyTorch作為神經網絡訓練的框架技術,最終部署到Apache服務器,系統主要開發軟件如表1 所示。

表1 系統核心開發軟件配置

3.2 數據集構建

通過養殖場實地拍攝和網絡爬蟲的方式采集圖像數據,收集了白點病、赤皮病、腹水病、潰瘍病、爛鰓病、水霉病、魚鲺病等7 種常見魚病圖像,如圖6 所示。

圖6 常見魚病示例

利用LabelImg 軟件對數據圖像進行標注,形成了811 張圖像的魚病數據集,并命名為GDOU-FD,按照8∶1∶1的比例隨機劃分了訓練集、驗證集、測試集。

3.3 YOLOv5s訓練

利用遷移學習思想,將經過大型圖像識別數據集COCO預訓練得到的權值文件作為YOLOv5s 網絡訓練的初始權值文件,提升網絡的預測效果并加快網絡的收斂速度。根據魚病數據集GDOU-FD 的類別數量,設計YOLOv5s.yaml網絡配置文件,核心參數如表2 所示。

表2 YOLOv5s 網絡配置核心參數

其中,anchors 是通過對GDOU-FD 數據集的錨框進行聚類后得到的數據。設置魚病數據集存放路徑和具體魚病標簽,修改訓練文件的超參數,如迭代次數epochs、學習率lr、批處理圖像量batch-size、初始權重參數位置weights等,執行代碼train.py 腳本文件完成訓練,并根據訓練的情況行微調。

3.4 APP實現

魚病防治APP實現由UI和邏輯代碼兩部分構成,UI由XML 語言編寫,邏輯代碼部分由Java 語言實現。

UI設計主要以海洋風格為主題,藍色為主色調,配以魚類圖像,風格清新,用戶能夠在愉悅的視覺體驗中使用魚病防治系統。用戶使用特定功能前必須在平臺登錄、注冊賬號才能進行下一步操作,登錄頁面和注冊頁面如圖7 所示。

圖7 登錄和注冊頁面

邏輯代碼部分主要在Android項目文件的Java文件夾對應的activity.java 文件進行編碼,實現APP 系統功能。頁面之間的跳轉主要通過Intent 對象實現,并完成頁面數據的傳輸,還通過廣播接收器、Toast 等對象完成與用戶的信息交互。代碼編寫過程中,還需要通過AndroidManifest.xml 文件設置APP 的網絡訪問權限、讀取安全數字卡(SD)權限、啟動頁面等關鍵信息,保證APP的正常運行。

4 項目運作(operate)—部署測試和答辯路演

4.1 部署測試

4.1.1 部署

(1)部署權值文件。利用YOLOv5s 模型對魚病數據集進行深度神經網絡訓練后得到權值文件,并需要將權值文件部署至移動端才能進行識別。完整的權值文件部署過程如圖8 所示。

圖8 部署流程

為加快推理速度,利用工具包onnx-simplifier 將best.onnx文件進行簡化處理。隨后,需要修改bestsim.params 文件數據,并將該文件最后3 個Reshape值修改為0=-1。

將best-sim.params 和best-sim.bin 文件拷貝至Android 系統assets 目錄下并修改名字為yolov5s.params和yolov5s.bin。最后,修改Android 系統jni 目錄下yolov5sncnn_jni.cpp 文件,將其中的class_names數組修改為數據集標簽定義的類別名稱,完成權值文件部署工作。

(2)部署Apache 服務器。使用計算機端模擬服務器功能。查看計算機端IPv4 地址并使移動端與計算機端處于同一個局域網下,移動端請求的地址為計算機端IPv4 地址;將計算機端防火墻暫時關閉,并注釋Apache 文件夾中httpd.conf 文件的“Require all denied”項。之后,啟動ApacheMonitor.exe完成服務器管理。

4.1.2 測試

選取魚病識別模塊和魚病百科模塊為研究對象,進行功能性測試。

(1)魚病識別模塊。疾病識別模塊是智能魚病防治APP的核心功能,用戶在識別頁面中可使用本地相機拍照,或是從本地相冊中選取一張照片進行識別。檢測過程和結果展示頁面如圖9 所示。

圖9 檢測過程和結果展示頁面

系統得到識別結果后將詳細信息返回給用戶,顯示魚病圖像的類別以及發生的概率,同時給出病情特點和診治建議。

(2)魚病百科模塊。用戶可以在百科知識模塊中檢索數據庫中已有魚病信息和防治方法,管理員可以通過服務器向用戶推送魚病相關知識,如圖10 所示。

百科知識頁面中,用戶可獲取服務器的推送信息。單擊推送信息后轉到百科詳情頁面,查看魚類疾病詳情。

4.2 答辯路演

實際教學過程中,將學生分成4~6 人的開發小團隊,鼓勵跨宿舍、跨班級、跨性別協同工作,采用項目經理負責制統籌安排開發團隊工作,共同完成項目構思、設計、實現、運作等教學環節。其中,項目路演是實踐教學的重要環節,重點培養學生的展示、演講、思辨能力。實驗報告撰寫環節則采用分工合作的方式,團隊成員將分工完成書面材料的撰寫,由隊長完成團隊整體報告,同時應按照學校規定的報告格式撰寫。

答辯以學生團隊隊長參與評分的方式進行,考察實驗項目報告書和實踐情況2 個部分,共計100 分。其中,實驗項目報告書考察選題質量(10 分)、結構內容(20 分)和報告格式(10 分)等,實踐情況考察由技術選型(15 分)、流程功能(15 分)、界面設計(10 分)、展示答辯(20 分)組成。

5 教學效果

該實踐的內容涉及知識面廣、綜合性強,要求學生掌握前端、后臺、數據庫、移動端、深度神經網絡等技術的綜合應用,對學生綜合素質培養有很大的推進作用。通過實踐教學,學生熟練掌握了Android 的開發流程、YOLOv5s的訓練、服務器端部署等過程,將科研項目引入到實踐中,極大地提升了學生的學習信心,培養了學生的實踐創新能力。人工智能技術的引入,激發了學生對人工智能技術進一步學習拓展的興趣。

以信管1203-4 班級為實驗班級,基于該實驗設計和課程引導,該班級學生申請了4 項大學生創新創業訓練項目,參加省級競賽獲獎28 人次,并有13 人加入了學校各類技術創新創業團隊。

6 結語

融合Android 和人工智能技術進行工程實踐開發,基于OBE理念設計、引入CDIO教學模式,符合新工科建設對創新型人才的培養要求。該模式與科研熱點-人工智能技術緊密連接,以魚病防治為實際應用場景,既有先進理論學習,又有新技術加持,還能鍛煉演講、思辨能力,全方位滿足學生的學習需求。該模式使得學生參與積極性高、獲得感強,提升學生的工程實踐能力和創新能力,為學生進一步走向科學研究、創新創業打下良好基礎。

未來,課程組將進一步優化教學環節,消除和減少實踐中一些非智力性環節,更著力于培養學生的科技創新能力。

猜你喜歡
用戶檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
小波變換在PCB缺陷檢測中的應用
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
主站蜘蛛池模板: 中文字幕无线码一区| 亚洲av综合网| 亚洲视频四区| 精品一区二区三区水蜜桃| 亚欧乱色视频网站大全| 人妻一本久道久久综合久久鬼色| 蜜臀av性久久久久蜜臀aⅴ麻豆| 91网址在线播放| 国产免费高清无需播放器| 免费看av在线网站网址| 91精品国产自产在线观看| 2022国产无码在线| 免费看美女自慰的网站| 国产一区二区三区精品久久呦| AV熟女乱| 国产精品爽爽va在线无码观看 | 中文字幕资源站| 国产精品免费电影| 国产精品美女在线| 国产一区二区福利| 福利国产在线| 激情综合网址| 九色视频线上播放| 日韩中文字幕亚洲无线码| 日韩国产亚洲一区二区在线观看| 久久香蕉国产线| 亚洲男人的天堂视频| 67194亚洲无码| 91成人精品视频| 欧美一级片在线| 呦女精品网站| 亚洲三级电影在线播放| 97国内精品久久久久不卡| 久久99国产乱子伦精品免| 亚洲第一页在线观看| 国产永久在线视频| 国产精品无码AV中文| 中文字幕 欧美日韩| 欧美国产日产一区二区| 亚洲天堂伊人| 欧美另类一区| 国产乱子伦精品视频| 国产熟睡乱子伦视频网站| 欧美一级视频免费| 亚洲欧美在线综合图区| 色婷婷丁香| 免费无码AV片在线观看国产| 真人免费一级毛片一区二区| 亚洲妓女综合网995久久| 国产精品第三页在线看| 在线观看国产黄色| 一级一级特黄女人精品毛片| 亚洲无码在线午夜电影| www.91在线播放| a毛片免费观看| 亚洲另类色| 99国产精品一区二区| 最近最新中文字幕免费的一页| 2048国产精品原创综合在线| 一级毛片在线免费视频| 爱色欧美亚洲综合图区| 伊人激情久久综合中文字幕| 国产亚洲视频免费播放| 亚洲第一黄片大全| 国产美女免费网站| 毛片网站免费在线观看| 成年片色大黄全免费网站久久| 国产在线视频导航| v天堂中文在线| 亚洲色图在线观看| 国产第一页免费浮力影院| 亚洲国产成人自拍| 亚洲日韩精品综合在线一区二区| 成人午夜免费观看| 永久在线播放| 91在线高清视频| 国产精品所毛片视频| 无码视频国产精品一区二区| 91在线高清视频| 99伊人精品| 无码AV动漫| 天天摸夜夜操|