最近因项目需求(吃饱了没事干想迁移下看看有没有效率上的提高),目标检测功能从yolov5换成了yolov8,不换不要紧,v8的代码结构安排的太紧凑了,想要修改结果的导出目录,发现无从下手,只能一个一个试,半小时试了出来,和yolov5改法相比,yolov8更直球

1:预测结果保存到指定文件名

from ultralytics import YOLO
model=YOLO(source='yolov8s.pt')
model(source='文件夹名称',save=True,name='文件夹名称')

2:遍历待检测文件夹并保存预测结果到相同文件夹下

        我本以为for循环就行,但发现yolov8一旦跑起来就只认第一个保存路径,后来for循环重复了模型初始化这一步,达成了目的,我27个文件夹用yolov5跑是36秒,每帧5-6ms偶有11ms,用yolov8跑是42秒,每帧8-9ms,两者相除差不多

for i in os.listdir('root'):#i是待测文件夹
    model = YOLO(model='yolov8s.pt')
    model(source=f'root/{i}',save=True,save_txt=True,name=f'{i}')

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐