1. 无人机河道巡检与漂浮物检测技术背景
河道垃圾治理一直是城市环境管理的痛点。传统人工巡查方式效率低下,覆盖范围有限,且存在安全隐患。我在参与某沿海城市河道治理项目时,亲眼见过环卫工人划着小船打捞垃圾的危险场景——一个浪打过来,整条船都在剧烈摇晃。
随着无人机技术的成熟,我们开始尝试用无人机搭载视觉检测系统进行河道巡检。最初使用的商用识别软件准确率不足60%,经常把反光的水面误判为塑料垃圾。这促使我们决定自主研发专用的水上漂浮物检测模型。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数据集构建的关键要素
2.1 数据采集实战经验
我们使用大疆M300RTK无人机进行数据采集,这个选择基于三个考量:
- 30倍光学变焦能力可清晰捕捉小型漂浮物
- IP45防护等级适合潮湿环境作业
- 搭配禅思H20T热成像相机可应对不同光照条件
采集时特别注意:
- 保持飞行高度在30-50米区间(保证分辨率同时覆盖更广区域)
- 选择不同时段(早中晚)以获取多样光照条件
- 针对反光水面采用偏振镜减少干扰
2.2 标注规范与质量控制
标注过程中我们制定了严格的规范:
- 边界框必须完全包含物体投影
- 被部分遮挡物体仍需标注
- 水面反光区域不做标注
为提高标注一致性,我们开发了辅助校验工具:
python复制def check_annotation(img, bboxes):
# 校验标注框是否超出图像边界
img_h, img_w = img.shape[:2]
for box in bboxes:
x1, y1, x2, y2 = box
if x1<0 or y1<0 or x2>img_w or y2>img_h:
return False
return True
3. 模型训练与优化
3.1 YOLOv5模型选型
选择YOLOv5s版本作为基础模型,考虑因素包括:
- 输入分辨率640x640满足无人机影像需求
- 模型大小仅14MB,适合边缘设备部署
- 在COCO数据集上mAP@0.5达到56.8%
训练关键参数配置:
yaml复制# hyp.scratch-low.yaml 修改版
lr0: 0.01 # 初始学习率
