暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Yolo实用指南(step by step)之一环境搭建

追梦IT人 2022-11-04
1370

好久没更新公众号了,除了忙还是忙,加上最近忙的事情和工作耦合的比较禁,需要脱敏处理,一拖再拖,人就懒了下来。

YOLO是目标检测模型。目标检测是计算机视觉中比较简单的任务,用来在一张图篇中找到某些特定的物体,目标检测不仅要求我们识别这些物体的种类,同时要求我们标出这些物体的位置。

之前一直在看书看资料,看神经网络看相关场景也有类似的项目经理,感觉有点储备了,准备动手,不过看书容易动手难,知易行难,原来安装的python版本过于高了,导致很多安装包无法安装,沉下心来决定重新来一遍。

本文不讲原理只讲应用,贴代码贴图,纯属一个乐呵。


先说一下本机的环境

操作系统:Window10

语言环境:Python3.8.10

GPU卡:NVIDIA GeForce GTX 1660 SUPER

YOLO版本:YoloV5

首先创建了一个pytorch38的项目。

其次到github上下载yolov5的代码到本地,此处建了一个yolov5的目录,把所有代码复制了进去,https://github.com/ultralytics/yolov5

再次需要到官网(https://pytorch.org/)上寻找合适的pytorch版本,再按照以下包顺序安装:

(venv) PS D:\JetBrains\PycharmProjects\pytorch38> python --version
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install matplotlib
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install opencv-python
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install Pillow
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install PyYAML
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install PyYAML
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install scipy
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install tqdm
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install tensorboard
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install seaborn
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install pandas
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install onnx
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install scikit-learn
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install coremltools
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install pycocotools
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install albumentations

如果遇到安装问题,请自行搜索解决,一切安装完成后,测试是否成果。

(venv) PS D:\JetBrains\PycharmProjects\pytorch38> python yolov5\detect.py

结果报IPython错误

Traceback (most recent call last):
  File ".\detect.py", line 42in <module>
    from models.common import DetectMultiBackend
  File "D:\JetBrains\PycharmProjects\pytorch38\yolov5\models\common.py", line 24in <module>
    from IPython.display import display
ModuleNotFoundError: No module named 'IPython'


继续安装ipython,并继续测试。

(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip3 install ipython                   
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> python yolov5\detect.py
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> python yolov5\detect.py

第一次测试会运行久一些:


detect: weights=yolov5s.pt, source=data\images, data=data\coco128.yaml, imgsz=[640640], 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, class
es
=None, agnostic_nms=False, augment=False, visualize=False, update=False, project=runs\detect, name=exp, exist_ok=False, line_thickness=3, hide_labels=False, hide_conf=False, half=False, dnn=False, vid_stride=1
requirements: YOLOv5 requirement "psutil" not found, attempting AutoUpdate...
  WARNING: Ignore distutils configs in setup.cfg due to encoding errors.
WARNING: Ignore distutils configs in setup.cfg due to encoding errors.
Looking in indexes: https://mirror.baidu.com/pypi/simple
Collecting psutil
  Downloading https://mirror.baidu.com/pypi/packages/29/07/a35c4127942cce6899d447cb54f9926d33cf1800a37c09192dd9b5a08744/psutil-5.9.2-cp38-cp38-win_amd64.whl (246 kB)
     -------------------------------------- 246.8/246.8 kB 5.0 MB/s eta 0:00:00
Installing collected packages: psutil
Successfully installed psutil-5.9.2

requirements: 1 package updated per D:\JetBrains\PycharmProjects\pytorch38\yolov5\requirements.txt

YOLOv5  v6.2-224-g82a5585 Python-3.8.10 torch-1.13.0+cu117 CUDA:0 (NVIDIA GeForce GTX 1660 SUPER, 6144MiB)

Downloading https://github.com/ultralytics/yolov5/releases/download/v6.2/yolov5s.pt to yolov5s.pt...
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 14.1M/14.1M [00:02<00:006.57MB/s] 

Fusing layers...
YOLOv5s summary: 213 layers, 7225885 parameters, 0 gradients
image 1/2 D:\JetBrains\PycharmProjects\pytorch38\yolov5\data\images\bus.jpg: 640x480 4 persons, 1 bus, 12.0ms
image 2/2 D:\JetBrains\PycharmProjects\pytorch38\yolov5\data\images\zidane.jpg: 384x640 2 persons, 2 ties, 13.0ms
Results saved to runs\detect\exp

可以看到运行结果保存在了\detect\exp目录下出现两张已标注的图片;说明运行成功了。

最后继续安装pyqt5和labelme,我们要的是从标注到训练到应用的全套,所以必须安装标注工具。

(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip install pyqt5
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> pip install labelme
(venv) PS D:\JetBrains\PycharmProjects\pytorch38> labelme

安装完成后,执行labelme

先简单介绍到这里,下节介绍关于数据标注的事宜。

欢迎关注python与大数据分析

文章转载自追梦IT人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论