目标检测框架yolov5环境搭建

news/2024/11/16 9:45:30/

    目前,目标检测框架中,yolov5 是很火的,它基于pytorch框架,集成opencv等框架,项目地址:https://github.com/ultralytics/yolov5,对我来说,机器学习、深度学习才开始接触,本篇只能是按照项目说明来进行一个简单的测试和验证。

    这里目标检测,其实就是给定一些图片后者视频,结合现有的模型训练,然后生成识别的结果。

    项目介绍给出的两个示例图片如下:

    第一张像是西班牙足球运动员皮克,夏奇拉的前夫弟弟:

    

    还有一个是齐祖打领带咆哮的照片:

 

    这里目标检测,需要识别图片中的人和车,还有领带。

    环境要求:python3.9及以上版本。

    我这里是在linux下,python版本是3.10 。

    1 、克隆github上的项目到本地:https://github.com/ultralytics/yolov5,如果这个地址比较慢,可以考虑国内的码云地址:https://gitee.com/monkeycc/yolov5,这个地址就是同步的github仓库的项目,但是下载速度很快:

git clone https://github.com/ultralytics/yolov5

    2、安装依赖 

cd yolov5
pip install -r requirements.txt

    3、下载模型文件:https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt

如果这个地址太慢,可以到这个百度网盘的地址上下载:https://pan.baidu.com/s/1vSqeX7WDyo23FCLOwiTBjA?pwd=yolo 

    下载之后,放到项目根路径下,我们暂时只下载一个模型文件yolov5s.pt。

   4、运行测试demo。

buejee@SKY-20230223WWS:~/yolov5$ python3 detect.py
detect: weights=yolov5s.pt, source=data/images, data=data/coco128.yaml, imgsz=[6                                         40, 640], conf_thres=0.25, iou_thres=0.45, max_det=1000, device=, view_img=False                                         , save_txt=False, save_conf=False, save_crop=False, nosave=False, classes=None,                                          agnostic_nms=False, augment=False, visualize=False, update=False, project=runs/d                                         etect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=                                         False, half=False, dnn=False, vid_stride=1
YOLOv5 🚀 2023-4-10 Python-3.10.6 torch-2.0.0+cu117 CPUFusing layers...
YOLOv5s summary: 213 layers, 7225885 parameters, 0 gradients
image 1/2 /home/buejee/yolov5/data/images/bus.jpg: 640x480 4 persons, 1 bus, 197                                         .4ms
image 2/2 /home/buejee/yolov5/data/images/zidane.jpg: 384x640 2 persons, 2 ties,                                          139.0ms
Speed: 4.6ms pre-process, 168.2ms inference, 9.4ms NMS per image at shape (1, 3,                                          640, 640)
Results saved to runs/detect/exp2
buejee@SKY-20230223WWS:~/yolov5$

     根据提示,结果放到了runs/detect/exp2目录下。

    先看看大致的结果:

    图片中的人都识别出来了,并且用红框画出来了。

    具体的图片:

    第一张,公交车与旁边的人:

 

    第二张,人和领带都识别了:

 

   感觉很强大,很厉害,环境部署也不是很复杂,基本就是傻瓜式的执行几个命令。 


http://www.ppmy.cn/news/44141.html

相关文章

《计算机网络-自顶向下》04. 网络层-数据平面

文章目录网络层数据平面和控制平面两者的概述数据平面控制平面控制平面:传统方法控制平面:SDN 方法网络服务模型路由器工作原理通用路由器体系结构输入端口的功能基于目标的转发交换结构内存交换方式总线交换方式纵横式交换方式输出端口的功能何时何处出…

android核心架构Framework组件介绍

作为一个android开发者,核心架构是必须要了解的。只有了解每个核心层的作用,才能更深入的理解和学习。本篇主要讲解Java Framework层核心代码流程。 文章目录一,Android系统架构1.System Apps2.Java Framework3.系统运行库层4.硬件抽象层&…

TCP协议与UDP协议

1.TCP协议特点 1.1连接的建立与断开 TCP协议提供的是:面向连接、可靠的、字节流服务。使用TCP协议通信的双发必须先建立连接,然后才能开始数据的读写。双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。TCP连接是全…

Python笔记

neo4j.bat console neo4j start 1、 安装低版本pyltp pip install pyltp0.2.1 -i https://pypi.douban.com/simple https://blog.csdn.net/qq_41617060/article/details/123988466 pip install wheel https://pypi.org/project/pyltp/ ASCII转换字符工具 https://www.sojson…

总结817

学习目标: 4月(复习完高数18讲内容,背诵21篇短文,熟词僻义300词基础词) 学习内容: 暴力英语:早上背150个单词前天短文,默写了第5~8篇文章,有些能默出来,有些…

【区块链】走进web3的世界-对于前端来说,web2与web3的区别

web3离不开几个概念,智能合约、区块链、前端交互 1、智能合约可以直接与区块链中的区块进行交互; 2、前端通过web3.js/ethers.js等npm库可以和智能合约进行交互; 说的直白点,web3与web2对于前端来说,只是对接的对象发生…

UniverSeg:通用医学图像分割模型来了!

自从今年以来ChatGPT爆火和GPT-4的发布,一时间在大模型的潮流下,通用人工智能(AGI)也呼之欲出。随着本月初SAM和SegGPT等通用的CV大模型的提出,大模型和通用模型这把火也逐渐烧到的CV领域,特别是图像分割领…

Qt网络编程 (udp广播和接收例)

大纲概述senderreceiver演示概述 使用两个项目 1 sender 用来广播"hello world";2 receiver 用来接收广播信息 sender 1 创建Qdialog类2 在sender.pro 中添加 QT network 一行代码3 在sender.h 中声明类 class QUdpSocket;在声明一个私有对象QUdpSocket *sender;…