中英文网站开发费用企业网站建设公司宣武
2026/5/19 17:30:21 网站建设 项目流程
中英文网站开发费用,企业网站建设公司宣武,php网站开发过程,绍兴百度seo排名无人机夜间道路两边摊贩检测数据集 无人机#xff1a;DJI MAVIC 3 数据#xff1a;原始图片XML标签 总内存大小#xff1a;758M#xff08;188张#xff09; 图片分辨率#xff1a;4K 采集高度#xff1a;40m 采集角度#xff1a;30~90 采集时间#xff1a;2025.07 类…无人机夜间道路两边摊贩检测数据集无人机DJI MAVIC 3数据原始图片XML标签总内存大小758M188张图片分辨率4K采集高度40m采集角度30°~90°采集时间2025.07类别流动摊贩应用场景用于城管执法、占道经营、摊贩整顿、交通安全等低空目标检测等领域 无人机夜间摊贩检测数据集DJI Mavic 3项目内容说明数据集名称无人机夜间道路两边摊贩目标识别数据集采集设备DJI Mavic 3 无人机数据类型原始图像JPG/PNG PASCAL VOC 格式 XML 标签总图像数量188 张总数据大小758 MB图像分辨率4K3840 × 2160 或 4096 × 2160高清晰度采集高度约40 米低空航拍拍摄角度30° ~ 90°含斜视与垂直俯视模拟真实执法视角采集时间2025年7月夏季夜间光照条件夜间场景含路灯、摊位照明、车灯等复杂光源部分图像存在低照度、眩光目标类别1 类流动摊贩包括小吃车、地摊、移动售货车、遮阳棚等占道经营设施标注格式✅PASCAL VOC XML• 每张图对应一个.xml文件• 包含object、bndbox等标准字段典型目标特征- 小目标密集分布- 背景复杂道路、车辆、行人、树木- 夜间低对比度- 部分目标被遮挡应用场景• 城管智能巡查• 占道经营自动识别• 夜间摊贩治理• 低空交通安全监控• 无人机AI执法系统适用模型任务目标检测Object Detection推荐模型YOLOv5/v8, Faster R-CNN, RT-DETR需将 XML 转为 YOLO 或 COCO 格式 格式转换建议XML → YOLO若需用于 YOLO 训练可使用以下脚本转换# voc2yolo.pyimportxml.etree.ElementTreeasETimportosdefconvert_bbox(size,box):dw1.0/size[0]dh1.0/size[1]x(box[0]box[1])/2.0y(box[2]box[3])/2.0wbox[1]-box[0]hbox[3]-box[2]return(x*dw,y*dh,w*dw,h*dh)defparse_xml(xml_path,img_width3840,img_height2160):treeET.parse(xml_path)roottree.getroot()lines[]forobjinroot.iter(object):clsvendor# 单一类别xmlboxobj.find(bndbox)b(float(xmlbox.find(xmin).text),float(xmlbox.find(xmax).text),float(xmlbox.find(ymin).text),float(xmlbox.find(ymax).text))bbconvert_bbox((img_width,img_height),b)lines.append(f0{bb[0]:.6f}{bb[1]:.6f}{bb[2]:.6f}{bb[3]:.6f})returnlines⚠️ 数据集局限性问题说明样本量小仅 188 张需数据增强mosaic、亮度扰动、旋转单类别仅“流动摊贩”无法区分摊贩类型夜间挑战低照度、反光、运动模糊可能影响模型鲁棒性✅ 推荐训练策略数据增强随机亮度/对比度调整模拟不同夜间光照添加高斯噪声Mosaic 增强提升小目标检测能力输入尺寸YOLO 训练时设imgsz1280以保留 4K 图像细节预训练模型使用在夜间场景如 FLIR上微调的权重初始化。️总结该数据集是城市治理智能化的稀缺资源聚焦夜间低空摊贩识别虽规模较小但具有真实执法价值。适用于构建轻量化、高精度的无人机AI巡查系统。以下是基于您提供的“无人机夜间道路两边摊贩目标识别数据集”188张4K图像 PASCAL VOC XML标签构建YOLOv8 目标检测系统的完整方案包含数据转换、模型训练、推理部署全流程代码。 一、项目目标将VOC XML 标签转换为YOLO 格式使用YOLOv8n训练单类别vendor检测模型支持高分辨率4K图像推理适用于城管无人机夜间巡查 二、环境准备pipinstallultralytics opencv-python lxml tqdm numpy matplotlib pillow✅ 推荐Python 3.8TensorFlow/PyTorch 已由ultralytics自动安装 三、目录结构night_vendor_yolo/ ├── dataset/ │ ├── images/ # 原始 4K 图像.jpg │ └── labels/ # 转换后的 YOLO .txt 标签 ├── voc2yolo.py # XML → YOLO 转换脚本 ├── split_dataset.py # 划分 train/val ├── data.yaml # YOLO 配置文件 ├── train.py # 训练脚本 └── detect_image.py # 单图推理 四、步骤1XML → YOLO 格式转换脚本voc2yolo.py# voc2yolo.pyimportosimportxml.etree.ElementTreeasETfrompathlibimportPath# 配置路径IMG_DIRdataset/imagesXML_DIRdataset/annotations# 原始 XML 所在目录LABEL_DIRdataset/labelsos.makedirs(LABEL_DIR,exist_okTrue)# 获取所有图像尺寸假设所有图为 3840x2160IMG_WIDTH3840IMG_HEIGHT2160defconvert_bbox(size,box):dw1.0/size[0]dh1.0/size[1]x(box[0]box[1])/2.0y(box[2]box[3])/2.0wbox[1]-box[0]hbox[3]-box[2]return(x*dw,y*dh,w*dw,h*dh)forxml_fileinPath(XML_DIR).glob(*.xml):treeET.parse(xml_file)roottree.getroot()label_fileos.path.join(LABEL_DIR,xml_file.stem.txt)withopen(label_file,w)asf:forobjinroot.iter(object):# 仅一类vendor → class_id 0cls_id0xmlboxobj.find(bndbox)b(float(xmlbox.find(xmin).text),float(xmlbox.find(xmax).text),float(xmlbox.find(ymin).text),float(xmlbox.find(ymax).text))bbconvert_bbox((IMG_WIDTH,IMG_HEIGHT),b)f.write(f{cls_id}{bb[0]:.6f}{bb[1]:.6f}{bb[2]:.6f}{bb[3]:.6f}\n)print(✅ XML → YOLO 转换完成) 运行前请将原始图像放入dataset/images/XML 放入dataset/annotations/✂️ 五、步骤2划分训练集与验证集脚本split_dataset.py# split_dataset.pyimportosimportrandomimportshutilfrompathlibimportPath random.seed(42)imageslist(Path(dataset/images).glob(*.jpg))random.shuffle(images)nlen(images)n_trainint(n*0.8)# 150 train, 38 valtrain_imgsimages[:n_train]val_imgsimages[n_train:]# 创建子目录forsplitin[train,val]:os.makedirs(fdataset/images/{split},exist_okTrue)os.makedirs(fdataset/labels/{split},exist_okTrue)# 移动文件forimgintrain_imgs:shutil.move(str(img),fdataset/images/train/{img.name})lblPath(dataset/labels)/(img.stem.txt)iflbl.exists():shutil.move(str(lbl),fdataset/labels/train/{lbl.name})forimginval_imgs:shutil.move(str(img),fdataset/images/val/{img.name})lblPath(dataset/labels)/(img.stem.txt)iflbl.exists():shutil.move(str(lbl),fdataset/labels/val/{lbl.name})print(✅ 数据集已划分为 train/val) 六、步骤3创建data.yaml# data.yamlpath:./datasettrain:images/trainval:images/valnc:1names:[vendor] 七、步骤4训练 YOLOv8 模型脚本train.py# train.pyfromultralyticsimportYOLO# 加载预训练模型modelYOLO(yolov8n.pt)# 可换为 yolov8s.pt 提升精度# 开始训练针对小样本 夜间场景优化resultsmodel.train(datadata.yaml,epochs100,imgsz1280,# 保持高分辨率原图4K → 缩放到1280batch4,# 小 batch因图像大namenight_vendor_yolov8n,device0,patience25,hsv_h0.01,hsv_s0.5,hsv_v0.8,# 增强亮度变化模拟夜间光照degrees10.0,translate0.1,scale0.2,mosaic0.8,flipud0.0,fliplr0.5)print(✅ 训练完成模型保存在 runs/detect/night_vendor_yolov8n/)⚠️注意batch4因 4K 图像显存占用高imgsz1280平衡细节保留与 GPU 显存hsv_v0.8增强亮度扰动提升夜间鲁棒性。 八、步骤5单图推理4K 支持脚本detect_image.py# detect_image.pyfromultralyticsimportYOLOimportcv2# 加载最佳模型modelYOLO(runs/detect/night_vendor_yolov8n/weights/best.pt)defdetect_4k_image(image_path,output_pathresult.jpg):# YOLOv8 自动处理高分辨率输入resultsmodel(image_path,imgsz1280,# 推理尺寸conf0.3,# 置信度阈值夜间可适当降低iou0.45)# 保存带框图像annotatedresults[0].plot()cv2.imwrite(output_path,annotated)print(f✅ 检测结果保存至{output_path})# 使用示例if__name____main__:detect_4k_image(test_night.jpg,vendor_detected.jpg) 九、可选视频/摄像头实时检测# detect_video.pyfromultralyticsimportYOLOimportcv2 modelYOLO(runs/detect/night_vendor_yolov8n/weights/best.pt)capcv2.VideoCapture(night_drone.mp4)# 或 0摄像头whileTrue:ret,framecap.read()ifnotret:breakresultsmodel(frame,imgsz1280,conf0.3)annotatedresults[0].plot()cv2.imshow(Vendor Detection,annotated)ifcv2.waitKey(1)0xFFord(q):breakcap.release()cv2.destroyAllWindows() 十、预期性能188张小样本指标预期值说明mAP0.5≥ 0.75夜间小目标挑战大Recall≥ 0.70部分遮挡摊贩可能漏检推理速度~15 FPSRTX 3060, 1280×1280提升建议使用Mosaic 增强缓解样本少问题微调置信度阈值conf0.2~0.4后期可加入红外图像若可用提升夜间效果。 获取完整项目包回复“打包”我将为你提供✅ 完整代码含voc2yolo.py,train.py,detect_image.py✅data.yaml和目录模板✅ 数据增强配置建议✅ 模型导出脚本ONNX/TensorRT用于无人机端部署️总结本系统专为城管夜间无人机巡查设计利用 YOLOv8 在小样本、高分辨率、复杂夜间场景下实现流动摊贩自动识别助力智慧城市建设与非现场执法。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询