ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

视障第一视角盲道障碍物检测数据集 盲道检测数据集与盲道其周边(模拟视障人员第一视角)障碍物检测数据集

2026/8/12 16:35:02 拓冰建站 浏览量
视障第一视角盲道障碍物检测数据集 盲道检测数据集与盲道其周边(模拟视障人员第一视角)障碍物检测数据集 YOLOV11盲道障碍物检测系统视障第一视角盲道障碍物检测项目完整资料文档一、数据集详细参数总表项目参数详情拍摄视角模拟视障人员第一人称平视视角日常出行走路视野总图像数量13884张单张尺寸统一640×640数据集划分训练集9724张验证集2772张测试集1388张标注格式YOLO TXT、VOC XML、COCO JSON 三格式完整配套检测总类别20类训练基线模型YOLOv11-n轻量化小模型适配嵌入式/本地CPU运行训练轮次50 epoch适用场景视障辅助出行设备、智能导盲眼镜、便携导盲终端、人行道障碍物预警、盲道合规巡检20类目标样本标注数量明细类别名称含该类别图片数标注框总数小汽车733727516狗7791015行人766735091公交车13561783卡车25413515绿灯29694960杆子854731100标识牌25423353警示柱311710424树木645222489红灯31004958消防栓13011379摩托车428812137垃圾桶22572842自行车30945982反光锥桶13064122盲道17232381斑马线52668554三轮车13311580路障10924396二、项目整体文件架构清单文件夹/文件内容说明dataset/数据集根目录├images/train、val、test640*640图片├labels/train、val、testYOLO txt标注文件├voc_annotations/VOC xml标注文件├coco_annotations/COCO json标注文件└blind_road.yamlYOLO训练配置文件train_code/YOLOv11训练测试源码├train.py训练主程序├val.py验证集mAP计算├predict.py单张图片推理└weights/best.pt50轮训练完成权重文件qt_gui/PyQt5可视化界面全套源码├main_window.uiQT设计师界面文件├ui_main.pyui转python代码├resource.qrc图标资源文件├resource_rc.py资源编译文件├gui_run.py界面启动主程序└save_result/检测结果保存目录requirements.txt环境依赖清单三、环境依赖配置基础环境Python 3.8适配系统Windows10/11、Linux Ubuntu依赖清单requirements.txttorch2.0.1 torchvision0.15.2 ultralytics8.2.0 opencv-python4.8.1.78 PyQt55.15.9 numpy1.24.3 pillow10.1.0 matplotlib3.7.2四、YOLOv11-n 训练测试完整源代码1. 数据集配置文件blind_road.yamlpath:./datasettrain:images/trainval:images/valtest:images/testnc:20names:0:小汽车1:狗2:行人3:公交车4:卡车5:绿灯6:杆子7:标识牌8:警示柱9:树木10:红灯11:消防栓12:摩托车13:垃圾桶14:自行车15:反光锥桶16:盲道17:斑马线18:三轮车19:路障2. 训练代码 train.pyfromultralyticsimportYOLO# 加载YOLOv11-n轻量化模型modelYOLO(yolo11n.yaml)# 开始训练 50轮resultsmodel.train(data./dataset/blind_road.yaml,epochs50,imgsz640,batch8,devicecpu,workers2,patience8,saveTrue,projectblind_obstacle_result,nameyolo11n_50epoch)# 训练结束后验证mAPmetricsmodel.val()print(验证集mAP0.5:,metrics.box.map50)3. 单张图片推理 predict.pyfromultralyticsimportYOLO modelYOLO(./train_code/weights/best.pt)defimg_predict(img_path,conf0.4):resmodel.predict(sourceimg_path,confconf,saveTrue)returnresif__name____main__:img_predict(test.jpg)4. 视频/摄像头推理基础代码fromultralyticsimportYOLO modelYOLO(./train_code/weights/best.pt)# 摄像头 0本地摄像头# source可替换视频路径model.predict(source0,conf0.4,show_labelsTrue,show_confTrue)五、PyQt5可视化界面完整源码gui_run.py功能图片上传检测、视频加载检测、本地摄像头实时检测、显示目标数量、类别、置信度、检测框、结果图片保存importsysimportcv2importosfromPyQt5.QtWidgetsimport(QApplication,QMainWindow,QFileDialog,QMessageBox)fromPyQt5.QtGuiimportQImage,QPixmapfromPyQt5.QtCoreimportQt,QTimerfromultralyticsimportYOLOfromui_mainimportUi_MainWindowclassBlindDetectWindow(QMainWindow,Ui_MainWindow):def__init__(self):super().__init__()self.setupUi(self)# 加载训练好的权重self.modelYOLO(./train_code/weights/best.pt)self.timerQTimer()self.timer.timeout.connect(self.camera_frame)self.capNoneself.save_dir./qt_gui/save_resultifnotos.path.exists(self.save_dir):os.makedirs(self.save_dir)# 按钮绑定事件self.btn_img.clicked.connect(self.load_image)self.btn_video.clicked.connect(self.load_video)self.btn_camera.clicked.connect(self.open_camera)self.btn_stop.clicked.connect(self.stop_all)self.btn_save.clicked.connect(self.save_detect_result)defcv2qt(self,frame):rgbcv2.cvtColor(frame,cv2.COLOR_BGR2RGB)h,w,crgb.shape bytes_per_linec*w qimgQImage(rgb.data,w,h,bytes_per_line,QImage.Format_RGB888)returnQPixmap.fromImage(qimg)defload_image(self):path,_QFileDialog.getOpenFileName(self,选择图片,,图片(*.jpg *.png *.jpeg))ifnotpath:returnresself.model.predict(path,conf0.4)[0]frameres.plot()total_numlen(res.boxes)self.label_show.setPixmap(self.cv2qt(frame).scaled(self.label_show.size(),Qt.KeepAspectRatio))self.label_total.setText(f目标总数{total_num})self.result_frameframedefload_video(self):path,_QFileDialog.getOpenFileName(self,选择视频,,视频(*.mp4 *.avi))ifnotpath:returnself.stop_all()self.capcv2.VideoCapture(path)self.timer.start(30)defopen_camera(self):self.stop_all()self.capcv2.VideoCapture(0)self.timer.start(30)defcamera_frame(self):ret,frameself.cap.read()ifnotret:self.stop_all()returnresself.model(frame,conf0.4)[0]frameres.plot()totallen(res.boxes)self.label_show.setPixmap(self.cv2qt(frame).scaled(self.label_show.size(),Qt.KeepAspectRatio))self.label_total.setText(f目标总数{total})self.result_frameframedefstop_all(self):self.timer.stop()ifself.cap:self.cap.release()self.label_show.clear()self.label_total.setText(目标总数0)defsave_detect_result(self):ifself.result_frameisNone:QMessageBox.warning(self,提示,暂无检测画面可保存)returnsave_pathos.path.join(self.save_dir,detect_result.jpg)cv2.imwrite(save_path,self.result_frame)QMessageBox.information(self,保存成功,f结果已保存至{save_path})if__name____main__:appQApplication(sys.argv)winBlindDetectWindow()win.setWindowTitle(视障第一视角盲道障碍物检测系统)win.show()sys.exit(app.exec_())六、项目应用场景智能导盲眼镜终端模拟人眼第一视角实时识别盲道、车辆、行人、路桩、垃圾桶等障碍物语音播报前方路况隐患辅助视障人士安全出行市政盲道巡检自动拍摄人行道画面检测盲道占用、杂物堆放、车辆违停侵占盲道完成城市无障碍设施常态化排查便携导盲设备开发YOLOv11n轻量化模型占用算力极低可部署树莓派、随身嵌入式硬件毕业设计/深度学习科研方向小目标检测、第一人称视觉感知、无障碍AI辅助系统、多类别行人道路障碍物识别课题实验路口红绿灯辅助识别自动区分红灯、绿灯为视障人群过街提供信号灯提示。七、零基础部署说明Windows CPU部署步骤安装Python3.8打开CMD执行pip install -r requirements.txt解压完整数据集与权重文件运行python qt_gui/gui_run.py直接启动可视化界面Linux Ubuntu部署sudo apt install python3.8 python3-pippip安装依赖包流程同上终端运行界面程序即可