无人机航拍违禁植物识别数据集|低空禁毒巡检|安防监管视觉训练集 智慧安防无人机数据集|野外违禁品监测|AI目标识别深度学习样本库 低空安全巡检数据集|野外违禁植株识别|安防视觉模型训练数据
·
无人机航拍违禁植物识别数据集|低空禁毒巡检|安防监管视觉训练集
智慧安防无人机数据集|野外违禁品监测|AI目标识别深度学习样本库
低空安全巡检数据集|野外违禁植株识别|安防视觉模型训练数据
禁毒安防与野外安全监管常态化升级,偏远山地、农田、林区等区域违禁植株巡查面临范围广、地形险、人工巡查效率低、隐蔽性强等难题。无人机低空巡检具备全域覆盖、快速排查、远程安全作业等优势,但野外环境复杂、目标小、与杂草混淆度高,通用数据集无法支撑高精度识别需求。本文按 GitHub 开源项目规范,完整开放无人机安防违禁植株专项检测数据集,配套 YOLO 训练、推理、部署全流程工程代码,开箱即用,快速落地低空安全智能巡检系统。

📁 项目总览
- 项目领域:计算机视觉|目标检测|智慧安防|无人机低空巡检
- 核心任务:无人机航拍视角下违禁植株高精度识别与定位
- 数据规模:610 张高清野外航拍图像,专用场景数据集
- 配套资源:完整数据集文件 + 预训练适配模型,开箱可测
- 格式支持:图像 JPG/PNG + 标注 YOLO TXT / VOC XML
- 适配算法:YOLOv5/v7/v8/v10/v11 全系列,小目标增强优化
- 应用场景:禁毒巡查、野外安防监管、区域安全巡检、违禁植株识别
🧾 数据集核心信息
| 信息项 | 详情 |
|---|---|
| 任务类型 | 计算机视觉 · 目标检测 |
| 标注类别 | 违禁植株单类别精准标注 |
| 数据总量 | 610 张无人机野外航拍图像 |
| 数据格式 | 图像文件 + 模型配置,支持平台上传直接测试 |
| 场景特点 | 野外山地、农田、杂草丛生、小目标、远距离、高隐蔽性 |
| 配套资源 | 专用数据集 + 预训练模型,完整“数据-模型”支撑链 |
✨ 核心优势
- 安防场景专属:聚焦违禁植株识别,无多余类别干扰,识别精度更高
- 野外环境适配:覆盖山地、农田、杂草区等真实巡查场景
- 小目标专项优化:大量远距离、小尺寸样本,提升低空巡检召回率
- 工程化就绪:数据集+模型配套,无需从零训练,快速部署上线
- 细分领域高效:规模适中,在安防垂直场景下训练快、泛化稳定



📂 标准目录结构(GitHub 规范)
drone-safety-det/
├── images/ # 航拍巡检图像
│ ├── train/
│ ├── val/
│ └── test/
├── labels/ # YOLO格式标注
│ ├── train/
│ └── val/
├── scripts/ # 工具脚本
│ ├── split_dataset.py # 数据集划分
│ ├── voc2yolo.py # 标注格式转换
│ └── vis_label.py # 标注可视化校验
├── data.yaml # YOLO数据集配置
├── train.py # 模型训练脚本
├── predict.py # 实时推理脚本
├── README.md # 项目说明
└── model.pt # 预训练权重
🧪 深度学习实战代码(带安防巡检场景经验注释)
1. data.yaml(无人机违禁植株检测专用配置)
# 场景注释:无人机低空安防巡检·违禁植株小目标检测
# 野外杂草多、目标小、易混淆,建议 imgsz=640/800 提升细节
path: ./drone-safety-det
train: images/train
val: images/val
test: images/test
nc: 1 # 单类别违禁植株检测
names: ['poppy'] # 目标名称
# 野外小目标调参经验:
# 1. imgsz=640/800 增强远距离小目标召回
# 2. 开启hsv、mosaic增强,适应复杂杂草背景
# 3. conf=0.25 降低隐蔽目标漏检率
2. train.py(YOLOv8 安防小目标训练脚本)
from ultralytics import YOLO
# 场景注释:无人机野外巡检·小目标+复杂背景训练优化
if __name__ == "__main__":
# 轻量模型适合机载端实时推理
model = YOLO("yolov8s.pt")
model.train(
data="data.yaml",
epochs=120, # 小目标场景适当加轮数
imgsz=640, # 高分辨率输入捕捉细节
batch=16,
device=0,
patience=10, # 早停防止过拟合
lr0=0.01,
lrf=0.01,
momentum=0.937,
weight_decay=0.0005,
warmup_epochs=3,
cos_lr=True,
augment=True, # 强数据增强提升鲁棒性
hsv_h=0.015,
hsv_s=0.7,
hsv_v=0.4,
close_mosaic=10,
name="safety_poppy_det"
)
3. predict.py(无人机安防巡检推理)
from ultralytics import YOLO
import cv2
# 场景注释:安防巡检专用·隐蔽小目标低漏检推理
def safety_predict():
# 加载训练完成模型
model = YOLO("./runs/detect/safety_poppy_det/weights/best.pt")
# 单张航拍图推理
img_path = "drone_safety.jpg"
results = model.predict(
source=img_path,
conf=0.25,
iou=0.45,
agnostic_nms=True # 抑制杂草干扰误检
)
# 保存检测结果
res_img = results[0].plot()
cv2.imwrite("safety_result.jpg", res_img)
# 视频/实时流巡检推理
# model.predict(source="drone_flight.mp4", save=True, stream=True)
if __name__ == "__main__":
safety_predict()
4. voc2yolo.py(标注格式转换)
import os
import xml.etree.ElementTree as ET
from pathlib import Path
# 场景注释:VOC转YOLO,保证野外小目标框归一化精准
def voc_to_yolo(voc_dir, yolo_dir, class_names):
os.makedirs(yolo_dir, exist_ok=True)
for xml_file in Path(voc_dir).glob("*.xml"):
tree = ET.parse(xml_file)
root = tree.getroot()
img_w = int(root.find("size/width").text)
img_h = int(root.find("size/height").text)
txt_path = os.path.join(yolo_dir, f"{xml_file.stem}.txt")
with open(txt_path, "w") as f:
for obj in root.findall("object"):
cls_name = obj.find("name").text
if cls_name not in class_names:
continue
cls_id = class_names.index(cls_name)
bndbox = obj.find("bndbox")
xmin = float(bndbox.find("xmin").text)
ymin = float(bndbox.find("ymin").text)
xmax = float(bndbox.find("xmax").text)
ymax = float(bndbox.find("ymax").text)
# YOLO标准归一化坐标
cx = (xmin + xmax) / 2 / img_w
cy = (ymin + ymax) / 2 / img_h
w = (xmax - xmin) / img_w
h = (ymax - ymin) / img_h
f.write(f"{cls_id} {cx:.6f} {cy:.6f} {w:.6f} {h:.6f}\n")
if __name__ == "__main__":
classes = ["poppy"]
voc_to_yolo("./labels/voc", "./labels/yolo", classes)
🎯 落地应用方向
- 禁毒智能巡查:无人机全域排查,自动识别违禁植株并定位
- 野外安防监管:偏远区域安全巡检,降低人工风险
- 重点区域防控:农田、山林、荒地常态化智能监测
- 执法取证辅助:自动抓拍、定位、留存可疑目标证据
- 低空安全治理:构建智能化、立体化安防巡查体系
📌 标签
#无人机安防数据集 #违禁植株识别 #低空巡检 #智慧禁毒 #无人机目标检测 #小目标检测 #YOLO安防 #计算机视觉 #深度学习数据集 #安防AI #野外监测 #智能巡检
更多推荐




所有评论(0)