本文只讲解yolov10的预测阶段,即如何使用代码调用yolov10模型,对图片进行目标检测,并不涉及训练、验证等阶段。
步骤:
一、下载yolov10源码
1、打开源码地址。yolov10源码链接:https://github.com/THU-MIG/yolov10
注意:如果网页加载不出来,可以下载使用Watt Toolkit免费加速(个人觉得该软件挺好用的)。Watt Toolkit下载链接:https://steampp.net/
下载完成后,打开该软件加速github,再打开上面的源码链接。
2、下载源码,会使用git的可以使用提供的git链接下载,不会的就直接下载ZIP压缩包就行。
3、解压文件(使用git下载的可跳过该步骤),将下载好的压缩包yolov10-main.zip解压到某个路径下,我这里就直接解压到D盘。
二、打开项目
使用PyCharm打开yolov10-main项目文件夹,PyCharm会弹出创建虚拟环境的窗口,这里先取消。
注意:如果电脑上没有PyCharm,可自行在浏览器搜索下载安装PyCharm教程。
三、创建虚拟环境
1、点击File,再点击Settings,在搜索栏里搜索python interpreter,并打开。
2、点击Add Interpreter,再点击Add Local Interpreter。
3、创建环境有两个选择:Virtualenv Environment和Conda Environment。
怎么选择呢?如果电脑上有Python3.9,那么就选择Virtualenv Environment。如果电脑已经下载并配置好conda,那么就选择Conda Environment。
第一种:创建Virtualenv Environment
(1)Environment选择New,再将Base interpreter设置成python3.9的本地路径。
注意:如果不知道电脑上的python版本和位置,打开命令窗口(win+R打开运行窗口,然后输入cmd,再回车),输入下面的命令:
py -0p
如果电脑上没有3.9版本的Python,可以自行百度下载,也可参考链接:https://blog.csdn.net/weixin_44740756/article/details/116546030
(2)依次点击OK、Apply、OK完成Virtualenv环境的创建。
第二种:创建Conda Environment
(1)选择Create new environment(创建新的环境),将Conda Executable设置为本地的conda路径,并选择3.9的Python版本。
注意:如果不知道电脑上的conda版本和位置,打开命令窗口(win+R打开运行窗口,然后输入cmd,再回车),输入下面的命令:
conda info --env
第一行base对应的便是你电脑下载安装的conda路径。
另外需要注意,Conda Executable设置的完整路径需要找到conda.bat文件,即完整路径是D:\software\anaconda\Anaconda3\condabin\conda.bat
如果电脑上没有conda,还想使用conda创建虚拟环境,可自行百度下载安装conda,也可参考链接:https://blog.csdn.net/fan18317517352/article/details/123035625
(2)依次点击OK、Apply、OK完成conda环境的创建。
四、安装yolov10代码所需依赖
1、打开终端
点击左下角的图标,打开终端,进入刚刚创建的环境(命令行最前面显示的就是我们设置的环境名称,如果按照默认名称来配置环境,那么Virtualenv环境最前面是.venv,Conda环境最前面是yolov10-main,下图是Conda环境,不论创建的是哪一种环境,都可按照下面步骤执行)。
2、下载安装yolov10项目所需的依赖
在终端输入下面的命令:
pip install -r requirements.txt
等待几分钟完成下载。
五、下载训练好的yolov10模型
yolov10的源码里并没有已经训练好的模型。要想得到yolov10的模型,第一种方法是自己下载数据集并训练得到模型(自己看项目根目录下的README.md文件或者自行百度yolov10训练、验证教程)。第二种方法是直接下载训练好的模型。下面是各类yolov10模型的下载链接,本文选取第一个yolov10n.pt模型。
YOLOv10-N:https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10n.pt YOLOv10-S:https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10s.pt YOLOv10-M:https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10m.pt YOLOv10-B:https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10b.pt YOLOv10-L:https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10l.pt YOLOv10-X:https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10x.pt
将下载好的yolov10n.pt文件放到项目的根目录下(位置任意,只要你记住路径就行)
六、创建predict.py文件
(1)右键项目yolov10-main,在根目录下创建一个predict.py的文件(位置任意,只要在项目里就行)。
(2)在predict.py文件中写入下面的代码。
代码调用训练好的yolov10n.pt模型对源码中自带的一张图片bus.jpg进行目标检测识别,图片可以替换成你自己的图片,更改一下图片路径即可。
from ultralytics import YOLOv10
from PIL import Image
# model里存放下载好的yolov10n.pt的路径信息
model = YOLOv10(model='D:/yolov10-main/yolov10n.pt')
# 这里的图片是源码里自带的,可以替换成自己的图片
results = model('D:/yolov10-main/ultralytics/assets/bus.jpg')
# 显示预测后的图片
im_array = results[0].plot()
im = Image.fromarray(im_array[..., ::-1])
im.show()
七、运行代码
1、右键运行predict.py代码。
2、 结果如下: