【免费】YOLO[笑容]目标检测全过程(yolo环境配置+labelimg数据集标注+目标检测训练测试)

embedded/2025/3/1 17:59:54/

一、yolo环境配置

        这篇帖子是我试过的,非常全,很详细【cuda+anaconda+pytorch+yolo(ultralytics)】

yolo环境配置

二、labelimg数据集标注

        可以参考下面的帖子,不过可能会出现闪退的问题,安装我的流程来吧

2.1 labelimg安装

        label闪退最大的可能是python的版本过高,【'win'+R】后输入【cmd】或者打开 anaconda的Anaconda Prompt,在后台输入指令:

        或者 

conda create --name labelimg python=3.8

        进入labelimg环境:

conda activate labelimg

        安装labelimg

pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple

        打开labelimg

labelimg

2.2 labelimg使用

labelimg使用方法

三、yolo目标检测训练测试

3.1数据集处理

       根据网盘下载文件(可以运行),解压后以pycharm的方式打开

提取码:JptC

        标注后的数据集以下面图片的方式整理(文件包中已经全部整理完毕):

3.2目标检测训练

        在ultralytics\ultralytics\cfg\datasets中新建一个数据加载文件a-data-myself.yaml【注意改成自己的绝对路径】:

        编写代码后保存,代码内容如下:

path: C:/Users/34866/OneDrive/Desktop/ultralytics/yolo-smile#自己的本地绝对路径
train: # train images (relative to 'path')  16551 images- images/train
val: # val images (relative to 'path')  4952 images- images/val
test: # test images (optional)- images/test# Classes
names:0: smile#标签类型

         新建一个训练文件train.py,编写后运行注意改成自己的绝对路径】,代码内容如下:

import time
from ultralytics import YOLO# yolo11模型训练:训练模型的数据为'a-data-myself.yaml',轮数为100,图片大小为640,设备为本地的GPU显卡,关闭多线程的加载,图像加载的批次大小为4,开启图片缓存
model = YOLO(r'C:/Users/34866/OneDrive/Desktop/ultralytics/pre-models/yolov8l.pt')  # load a pretrained model (recommended for training)
# results = model.train(data='A_my_data.yaml', epochs=100, imgsz=640, device=[0,], workers=0, batch=4, cache=True)  # GPU开始训练
# todo A_my_data.yaml请切换为你本地的绝对路径,如果是本地的绝对路径,请填写绝对路径
results = model.train(data=r'C:/Users/34866/OneDrive/Desktop/ultralytics/ultralytics/cfg/datasets/a-data-myself.yaml',epochs=100, imgsz=640, device=[], workers=0, batch=2, cache=True, amp=False)  # 开始训练
time.sleep(10) # 睡眠10s,主要是用于服务器多次训练的过程中使用

        运行结果如下:

         运行后在ultralytics\run\runs\detect生成训练过程与结果:

 3.3测试训练结果

        新建一个检测文件single_detect.py,编写后运行注意改成自己的绝对路径】,代码内容如下:

from ultralytics import YOLO# Load a model
model = YOLO(r'C:\Users\34866\OneDrive\Desktop\ultralytics\run\runs\detect\train\weights\best.pt')  # pretrained YOLOv8n model# Run batched inference on a list of images
results = model(["C:/Users/34866/OneDrive/Desktop/ultralytics/test.jpg"], conf=0.25, iou=0.95)  # return a list of Results objects# Process results list
for result in results:boxes = result.boxes  # Boxes object for bounding box outputsmasks = result.masks  # Masks object for segmentation masks outputskeypoints = result.keypoints  # Keypoints object for pose outputsprobs = result.probs  # Probs object for classification outputsobb = result.obb  # Oriented boxes object for OBB outputsresult.show()  # display to screenresult.save(filename="images/resources/result.jpg")  # save to disk

        下面是一些测试结果:【图片侵权联系删除】


http://www.ppmy.cn/embedded/169111.html

相关文章

【通俗讲解电子电路】——从零开始理解生活中的科技(一)

导言:电子电路为什么重要? ——看不见的“魔法”,如何驱动你的生活? 清晨,当你的手机闹钟响起时,你可能不会想到,是电子电路在精准控制着时间的跳动;当你用微波炉加热早餐时&#…

IO 和 NIO 有什么区别?

文章目录 阻塞模式与非阻塞模式数据处理方式通信模型应用场景 阻塞模式与非阻塞模式 IO:是阻塞式的 IO 操作。在传统的 IO 中,当一个线程执行读操作或者写操作时,该线程会被阻塞,直到操作完成。例如,在从文件读取数据…

视频字幕识别和翻译

下载的视频很多不是汉语的,我们需要用剪映将语音识别出来作为字幕压制到视频中去。 剪映6.0以后语音识别需要收费,但是低版本还是没有问题。 如果想要非汉语字幕转成中文,剪映低版本不提供这样功能。但是,用剪映导出识别字幕&am…

基于单片机的机床切屑运输系统设计

摘 要 中国2011年大约产生了1亿1570万吨的废铁屑,而2011年中国的铁屑消费量约为1亿2250万吨[1]。回收的切屑除了熔块再加工外,其自身的强还原性也经常被工厂用于含磷、含铬污水的处理以及铅、锰等物质的提取。近年切屑被回收后的利用率极高。但切屑的收…

Nginx负载均衡策略详解:从轮询到智能分发,打造高可用服务架构

Nginx负载均衡策略详解:从轮询到智能分发,打造高可用服务架构 一、负载均衡的核心价值 当单台服务器无法承载高并发流量时,负载均衡通过将请求分发到多台服务器,实现: 横向扩展:突破单机性能瓶颈故障隔离…

PDF图形识别:一键框选,快速计数,开启数字化图形处理新时代

PDF图形识别技术基于先进的图像识别算法和人工智能技术。当对PDF文件进行处理时,首先会将PDF中的图形转化为计算机可识别的数字图像格式。接着,算法通过对图像中线条、形状、颜色等特征的分析,来识别图形的类别和属性。例如,对于工…

C++-第十七章:包装器

目录 第一节:std::function 第二节:std::bind 2-1.基本介绍 2-2.调整顺序(不常用) 2-3.调整个数 2-4.std::bind与std::function 下期预告: C中有3种可调用对象:函数指针、仿函数对象、lambda函数,经过包装器包装后屏…

【AutoSar CP】SoAd模块

【AutoSar CP】SoAd模块 文章目录 【AutoSar CP】SoAd模块1. SoAd总体说明1.1. SoAd在AutoSar CP中的层级关系1.2. SoAd的作用2. 主要配置参数3. Sock连接4. PDU传输5. PDU接收6. 配置参数详表SoAdBswModulesSoAdGeneralSoAdConfigSoAdSocketConnectionGroupSoAdSocketConnecti…