# D-YOLOv8 **Repository Path**: bxnd/D-YOLOv8 ## Basic Information - **Project Name**: D-YOLOv8 - **Description**: 该项目是本人(D-Studio)通过在Yolov8项目开发的新的gui检测程序。通过本项目可直接完成包含模型训练,摄像机实时检测,图片检测,视频检测等任务 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 8 - **Created**: 2024-05-28 - **Last Updated**: 2024-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # D-yolov8 # 1.简介 该项目是本人(D-Studio)通过在Yolov8项目开发的新的gui检测程序。通过本项目可直接完成包含模型训练,摄像机实时检测,图片检测,视频检测等任务 本项目所使用的yolov8来自2023.12.8日最新版,若后续版本与本人目前所使用版本有较大差异,建议直接下载本项目(包含yolov8,但是应该不是读者看到的最新版了,这里特此声明) # 2.简单使用 ## 2.1 数据来源 若有现成的模型,可以跳过这一步到第2.5gui界面使用 数据来源,如果是初学者,不妨直接用作者在本项目中已经提供的眼镜数据集(在datasets文件夹中,包含test,train,val这三个文件夹,和一个名为d.yaml的文件,总共包含作者标注的500张图片和对应的500个txt文件,分成了100,50,350给这三个文件夹)。 ![Alt text](md_img/image.png) 所以如果读者作为新手,最好能够先成功训练本项目提供您的数据集 ## 2.2 数据集标注 当你能够成功训练本项目提供的数据集,那么理论上也可以自己准备的数据集了(如果可以的话,图片命名为0001,0002,...,0999这样的形式),关于数据集标注有很多工具,作者推荐使用labelImg这个工具,安装:pip install labelImg即可(请确保python版本不要太高,作者使用的是python3.9.7) 使用如下: 安装完成后,重新打开一个控制台,输入labelImg并回车: ![Alt text](md_img/image-1.png) 之后出现界面: ![Alt text](md_img/image-3.png) 接着打开openDir,选择自己数据集所在的文件夹,打开后如下: ![Alt text](md_img/image-4.png) 请确保数据集保存格式为yolo,点击如下按钮即可: 点击前: ![Alt text](md_img/image-5.png) 点击后: ![Alt text](md_img/image-6.png) 接着就可以开始画框框了,这里可以按下快捷键w,画好之后如下: ![Alt text](md_img/image-7.png) 记得打开自动保存功能: ![Alt text](md_img/image-8.png) 接着按下快捷键d进入下一张,以此类推,直到结束 ## 2.3 数据集划分 经过2.2数据集标注后,你将会得到一个文件夹,其中有着图片和对应数量和名称的txt文件,接着将这些图片和对应txt文件分成8:1:1(作者这里是7:2:1,对结果影响其实不会太大)分别放入train,test,val文件夹中,之后分别在这三个文件夹中将图片和txt文件放在images和label文件夹中,如下: ![Alt text](md_img/image.png) 这里为了方便,提供一个脚本,自动化完成划分数据集,请在桌面新建一个文件夹,将你的数据所在的文件夹(作者这里起名为dataset_raw)复制一份到这个文件夹中,将桌面新建的文件夹用vscode打开,如下: ![Alt text](md_img/image-9.png) ![Alt text](md_img/image-10.png) 接着将该项目下的splite_dataset.py的文件移动到桌面新建的文件夹中,当前文件结构如下: ![Alt text](md_img/image-12.png) 运行该脚本,得到dataset文件夹: ![Alt text](md_img/image-13.png) 接着在这个文件夹中新建一个yaml的文件(作者这里为d.yaml)并写入如下: ![Alt text](md_img/image-14.png) 【注意】:这里由于作者示范的数据集只设置了一个种类,glassees,因此在name下只有0: glasses,如果还有其他种类,请加上,如1: orange 到此,数据集准备完毕,可将dataset文件夹移动至项目文件夹中,为了防止命名冲突,作者这里将其命名为dataset_glasses,得到如下目录: ![Alt text](md_img/image-15.png) ## 2.4 训练 如果读者没有NVIDIA GPU,终端运行如下命令 yolo train data=dataset_glasses/d.yaml model=yolov8s.pt epochs=100 imgsz=640 batch=8 workers=0 device=cpu 如果有,运行: yolo train data=dataset_glasses/d.yaml model=yolov8s.pt epochs=100 imgsz=640 batch=32 workers=8 device=0 其中,workers可以适当调大(默认8,建议不超过4),给workers加上1,2,3等数字,可能发生线程错误,当发生时,应设置其为0或者重新运行;epochs可以适当减小(比如40),以减小运行时间,但是模型精度也会减小;batch也可以设置为16,32,64等,越大理论上越精确,越快,但是请保证有充足的内存或者GPU 运行截图: ![Alt text](md_img/image-16.png) ![Alt text](md_img/image-17.png) ![Alt text](md_img/image-18.png) ## 2.5 检测 终端切换到src,qt_res文件夹内,runcode即可,如下: ![Alt text](md_img/image-19.png) 接下来看图使用即可 ![Alt text](md_img/image-20.png) ![Alt text](md_img/image-21.png) ![Alt text](md_img/image-22.png) ![Alt text](md_img/image-23.png)