視頻演示
基於深度學習的雜草檢測系統演示
1. 前言
在農業生產中,雜草的及時檢測與精準識別對作物生長、產量保障及農藥科學施用具有重要意義。傳統雜草識別多依賴人工田間巡查或人工判讀影像,不僅費時費力,而且受主觀經驗和環境條件影響,易出現漏檢或誤判。隨着精準農業和智慧農業的發展,利用計算機視覺與深度學習技術實現自動化雜草檢測成為研究熱點。
目前,基於深度學習的目標檢測算法已在植物表型分析和農田監測中得到應用,其中 YOLO 系列算法因檢測速度快、精度高,尤其適合大田實時監測與邊緣設備部署。然而,現有雜草檢測系統往往僅支持單一圖片檢測,缺乏視頻流實時檢測、批量處理、結果提醒與導出、便捷模型訓練及跨平台腳本化部署等綜合功能,難以滿足實際農業生產中對高效、易用、可擴展檢測工具的需求。
本文設計並實現了一套 基於 YOLO 算法的雜草檢測系統,能夠自動檢測圖片與視頻中的雜草目標,並輸出類別、置信度及位置信息。
系統主要功能包括:
-
多源檢測:支持單張圖片、視頻文件、文件夾批量圖片及攝像頭實時視頻流的雜草檢測。
-
模型管理:可靈活選擇不同訓練好的模型進行檢測,並支持加載自定義權重文件。
-
結果處理:可將檢測結果疊加到圖片或視頻中並保存為新文件,支持導出檢測數據至 Excel 表格,便於後續統計與分析。
-
參數調節:提供置信度與交併比等檢測參數的動態調節,可按需過濾低置信度目標。
-
智能提醒:檢測到目標時可進行語音播報提醒,播報內容可自定義替換,適用於無人值守或視覺關注受限的場景。
-
用户管理:具備登錄、註冊、個人信息修改及註銷功能,保障系統與數據安全。
-
腳本檢測:提供無界面腳本模式,可在服務器或嵌入式設備上批量或實時檢測圖片、視頻和攝像頭視頻流,便於生產環境部署。
-
模型訓練:內置多模型訓練腳本,支持批量訓練並可配置訓練輪次與批次大小,輸出最佳權重文件及評估指標(F1 曲線、混淆矩陣、標註示例等),方便用户基於自有數據優化模型。
系統基於 22,000 餘張農田影像數據進行訓練,涵蓋訓練集、驗證集與測試集,確保模型具備良好的泛化能力與檢測穩定性。可廣泛應用於大田監測、精準除草、農業機器人視覺感知等場景,為智慧農業提供高效、準確且具備實時語音提醒能力的雜草檢測方案。
系統主要功能包括:
-
多源檢測:支持單張圖片、視頻文件、文件夾批量圖片及攝像頭實時視頻流的船舶分類檢測。
-
模型管理:可靈活選擇不同訓練好的模型進行檢測,並支持加載自定義權重文件。
-
結果處理:可將檢測結果疊加到圖片或視頻中並保存,支持導出檢測數據到 Excel 表格,便於後續分析與存檔。
-
參數調節:提供置信度與交併比等檢測參數的動態調節,以適配不同場景需求。
-
智能提醒:支持檢測到目標時的語音播報提醒,可自定義播報內容,便於在無視覺關注的情況下及時獲知檢測結果。
-
用户管理:具備登錄、註冊、個人信息修改及註銷功能,保障系統與數據安全。
-
腳本檢測:提供無界面腳本模式,可在服務器或嵌入式設備上批量或實時檢測圖片、視頻和攝像頭視頻流,便於生產環境部署。
-
模型訓練:內置訓練腳本,支持多模型批量訓練,可配置訓練輪次與批次大小,輸出最佳權重文件及評估指標(F1 曲線、混淆矩陣、標註示例等),方便用户基於自有數據優化模型。
系統基於 4,000 餘張船舶影像數據進行訓練,涵蓋訓練集、驗證集與測試集,確保模型的泛化能力與可靠性。可廣泛應用於港口監控、海事巡邏、無人設備巡檢等場景,為智慧航運與海洋安全管理提供高效、準確且具備實時語音提醒能力的船舶分類檢測方案。
2. 項目演示
2.1 用户登錄界面
登錄界面佈局簡潔清晰,左側展示系統主題,用户需輸入用户名、密碼及驗證碼完成身份驗證後登錄系統。

2.2 新用户註冊
註冊時可自定義用户名與密碼,支持上傳個人頭像;如未上傳,系統將自動使用默認頭像完成賬號創建。

2.3 主界面佈局
主界面採用三欄結構,左側為功能操作區,中間用於展示檢測畫面,右側呈現目標詳細信息,佈局合理,交互流暢。

2.4 個人信息管理
用户可在此模塊中修改密碼或更換頭像,個人信息支持隨時更新與保存。

2.5 多模態檢測展示
系統支持圖片、視頻及攝像頭實時畫面的目標檢測。識別結果將在畫面中標註顯示,並且帶有語音播報提醒,並在下方列表中逐項列出。點擊具體目標可查看其類別、置信度及位置座標等詳細信息。

2.6 檢測結果保存
可以將檢測後的圖片、視頻進行保存,生成新的圖片和視頻,新生成的圖片和視頻中會帶有檢測結果的標註信息,並且還可以將所有檢測結果的數據信息保存到excel中進行,方便查看檢測結果。


2.7 多模型切換
系統內置多種已訓練模型,用户可根據實際需求靈活切換,以適應不同檢測場景或對比識別效果。

3.模型訓練核心代碼
本腳本是YOLO模型批量訓練工具,可自動修正數據集路徑為絕對路徑,從pretrained文件夾加載預訓練模型,按設定參數(100輪/640尺寸/批次8)一鍵批量訓練YOLOv5nu/v8n/v11n/v12n模型。
4. 技術棧
-
語言:Python 3.10
-
前端界面:PyQt5
-
數據庫:SQLite(存儲用户信息)
-
模型:YOLOv5、YOLOv8、YOLOv11、YOLOv12
5. YOLO模型對比與識別效果解析
5.1 YOLOv5/YOLOv8/YOLOv11/YOLOv12模型對比
基於Ultralytics官方COCO數據集訓練結果:
|
模型 |
尺寸(像素) |
mAPval 50-95 |
速度(CPU ONNX/毫秒) |
參數(M) |
FLOPs(B) |
|---|---|---|---|---|---|
|
YOLO12n |
640 |
40.6 |
- |
2.6 |
6.5 |
|
YOLO11n |
640 |
39.5 |
56.1 ± 0.8 |
2.6 |
6.5 |
|
YOLOv8n |
640 |
37.3 |
80.4 |
3.2 |
8.7 |
|
YOLOv5nu |
640 |
34.3 |
73.6 |
2.6 |
7.7 |
關鍵結論:
-
精度最高:YOLO12n(mAP 40.6%),顯著領先其他模型(較YOLOv5nu高約6.3個百分點);
-
速度最優:YOLO11n(CPU推理56.1ms),比YOLOv8n快42%,適合實時輕量部署;
-
效率均衡:YOLO12n/YOLO11n/YOLOv8n/YOLOv5nu參數量均為2.6M,FLOPs較低(YOLO12n/11n僅6.5B);YOLOv8n參數量(3.2M)與計算量(8.7B)最高,但精度優勢不明顯。
綜合推薦:
-
追求高精度:優先選YOLO12n(精度與效率兼顧);
-
需高速低耗:選YOLO11n(速度最快且精度接近YOLO12n);
-
YOLOv5nu/YOLOv8n因性能劣勢,無特殊需求時不建議首選。
5.2 數據集分析

數據集中訓練集和驗證集一共4000張圖片,數據集目標類別兩種:正常腎臟,腎結石,數據集配置代碼如下:

上面的圖片就是部分樣本集訓練中經過數據增強後的效果標註。
5.3 訓練結果

混淆矩陣顯示中識別精準度顯示是一條對角線,方塊顏色越深代表對應的類別識別的精準度越高。

F1指數(F1 Score)是統計學和機器學習中用於評估分類模型性能的核心指標,綜合了模型的精確率(Precision)和召回率(Recall),通過調和平均數平衡兩者的表現。
當置信度為0.370時,所有類別的綜合F1值達到了0.82(藍色曲線)。

mAP@0.5:是目標檢測任務中常用的評估指標,表示在交併比(IoU)閾值為0.5時計算的平均精度均值(mAP)。其核心含義是:只有當預測框與真實框的重疊面積(IoU)≥50%時,才認為檢測結果正確。
圖中可以看到綜合mAP@0.5達到了0.875(87.5%),準確率非常高。
6. 源碼獲取方式
源碼獲取方式:https://www.bilibili.com/video/BV144m7ByEif