树莓派:目标检测

  • 一、前言
  • 二、树莓派深度学习环境镜像:
  • 三、基于深度学习环境镜像搭建YOLOv5
    • 1、将python设置成默认python3
    • 2、安装pytorch
    • 3、安装OpenCV
    • 4、安装YOLOv5
  • 四、YOLOv5镜像分享及运行教程:

一、前言

1、之前一直打算在树莓派上跑目标检测,但自己弄环境总是出现问题,一直没弄成功。
前几天看到一位大佬做成了一个用于深度学习的镜像,里面已经装好了关于深度学习的环境配置了。我安装好后很快就搭建好YOLOv5,并且运行成功。只是帧率很慢,三秒多一帧,不过有其他的方法可以让帧率快一点,现在先分享YOLOv5的搭建和镜像。

2、官方模型测试(后面有搭建好的YOLOv5镜像,这里的测试就是我搭建好的YOLOv5):

3、官方模型可以识别的物体是:

'person',           “人”,
'bicycle',          “自行车”,
'car',                “汽车”,
'motorcycle',     “摩托车”,
'airplane',           “飞机”,
'bus',                “公共汽车”,
'train',          “火车”,
'truck',          “卡车”,
'boat',               “船”,
'traffic light',  “红绿灯”,
'fire hydrant',       “消防栓”,
'stop sign',      “停车标志”,
'parking meter',  “停车计时器”,
'bench',          “板凳”,
'bird',               “鸟”,
'cat',                “猫”,
'dog',                “狗”,
'horse',          “马”,
'sheep',          “羊”,
'cow',                “牛”,
'elephant',           “大象”,
'bear',               “熊”,
'zebra',          “斑马”,
'giraffe',            “长颈鹿”,
'backpack',           “背包”,
'umbrella',           “伞”,
'handbag',            “手提包”,
'tie',                “领带”,
'suitcase',           “手提箱”,
'frisbee',            “飞盘”,
'skis',               “滑雪板”,
'snowboard',      “滑雪板”,
'sports ball',        “体育球”,
'kite',               “风筝”,
'baseball bat',       “棒球棒”,
'baseball glove', “棒球手套”,
'skateboard',     “滑板”,
'surfboard',      “冲浪板”,
'tennis racket',  “网球拍”,
'bottle',         “瓶子”,
'wine glass',     “酒杯”,
'cup',                “杯”,
'fork',               “叉”,
'knife',          “刀”,
'spoon',          “勺子”,
'bowl',               “碗”,
'banana',         “香蕉”,
'apple',          “苹果”,
'sandwich',           “三明治”,
'orange',         “橙色”,
'broccoli',           “西兰花”,
'carrot',         “胡萝卜”,
'hot dog',            “热狗”,
'pizza',          “披萨”,
'donut',          “甜甜圈”,
'cake',               “蛋糕”,
'chair',          “椅子”,
'couch',          “沙发”,
'potted plant',       “盆栽植物”,
'bed',                “床”,
'dining table',       “餐桌”,
'toilet',         “马桶”,
'tv',             “电视”,
'laptop',         “笔记本电脑”,
'mouse',          “鼠标”,
'remote',         “遥控器”,
'keyboard',           “键盘”,
'cell phone',     “手机”,
'microwave',      “微波炉”,
'oven',               “烤箱”,
'toaster',            “烤面包机”,
'sink',               “水池”,
'refrigerator',       “冰箱”,
'book',               “书”,
'clock',          “钟”,
'vase',               “花瓶”,
'scissors',           “剪刀”,
'teddy bear',     “泰迪熊”,
'hair drier',     “吹风机”,
'toothbrush'      “牙刷”

二、树莓派深度学习环境镜像:

1、我的YOLOv5镜像是基于这个镜像搭建的,这个镜像已经搭建好深度学习所需要的一些环境,利用这个镜像可以快速搭建YOLOv5或者是其他的一些深度学习软件。

2、镜像分享文章:Maker毕:分享预装TensorFlow和OpenCV的树莓派系统镜像

3、用户名还是pi,密码还是默认的raspberry

不过这个镜像文件比较大,是32G的。我将镜像进行了瘦身,大小变为了12.8G。经博主同意后我会发布瘦身的镜像出来。

三、基于深度学习环境镜像搭建YOLOv5

后面有搭建好的YOLOv5镜像,可以直接运行YOLOv5,开箱即用,这里的搭建教程供大家学习,一起探究。

1、将python设置成默认python3

1、删除原来python默认配置

sudo rm /usr/bin/python

2、设置新的python配置,将python3设置为python默认打开,后面的软件安装需要高版本的python3.7。低版本会出错。

sudo ln -s /usr/bin/python3.5 /usr/bin/python

3、验证是否换成功

python


查看版本是否正确。

2、安装pytorch

1、安装依赖包

sudo apt-get install libopenblas-dev libblas-dev m4 cmake cython python3-dev python3-yaml python3-setuptools python3-wheel python3-pillow python3-numpy

2、pytorch安装包

下载好安装包后可以使用WinSCP将文件传到/home/pi目录下。WinSCP使用教程

3、安装pytorch

pip3 install torch-1.8.0a0+56b43f4-cp37-cp37m-linux_armv7l.whl
pip3 install torchvision-0.9.0a0+8fb5838-cp37-cp37m-linux_armv7l.whl


3、安装OpenCV

1、安装

sudo apt-get install python3-opencv

2、验证是否安装成功

python
import cv2


没有报错就是安装成功了。

4、安装YOLOv5

1、下载

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

2、更改YOLOv5安装参数

进入yolov5文件夹的requirements.txt文件修改安装依赖,这些依赖包我们已经安装好。

cd /home/pi/yolov5
sudo nano requirements.txt

按下图在opencv-python,torch,torchvision前面加#注释掉依赖包的安装。不懂nano使用的可以查看:nano的简单使用

3、安装YOLOv5

更改成文件后不需要退出yolov5的文件夹,直接运行安装命令。

pip3 install --default-timeout=1000 -r requirements.txt

安装过程中会有红色报错,不需要理会,安装没问题的。

4、测试或者直接运行都可以。

同样是在yolov5文件夹里面。

python3 detect.py                    # 这个是测试命令
python3 detect.py --source 0        # 这个是运行命令 识别摄像头拍都的图片

2、安装

四、YOLOv5镜像分享及运行教程:

百度网盘下载链接

1、用户名还是pi,密码还是默认的raspberry

2、这个镜像可以直接运行YOLOv5的模型。树莓派装上USB摄像头后可以直接开启视频识别,不过帧率很低0.3FPS。

3、运行detect.py文件,即可开始视频图片识别。

cd ./yolov5
python3 detect.py --source 0


镜像可能有些小问题:
1、无法打开文件管理,闪退
2、无法解析域名(即无法连网,更新软件失败)

目标检测:树莓派运行YOLOv5,成功运行,附完整镜像源相关推荐

  1. (20)目标检测算法之YOLOv5计算预选框、详解anchor计算

    目标检测算法之YOLOv5计算预选框.详解anchor计算 单节段目标检测算法中:预选框的设定直接影响最终的检测精度 众所周知,yolov5中采用自适应调整预选框anchor的大小,但万事开头难,配置 ...

  2. python提取发票信息发票识别_(附完整python源码)基于tensorflow、opencv的入门案例_发票识别二:字符分割...

    (附完整python源码)基于tensorflow.opencv的入门案例_发票识别二:字符分割 发布时间:2018-05-14 20:16, 浏览次数:1201 , 标签: python tenso ...

  3. 【目标检测】基于yolov5的红细胞检测和计数(附代码和数据集,Ubuntu系统)

    写在前面:"路虽远,行则将至:事虽难,做则必成.只要有愚公移山的志气.滴水穿石的毅力,脚踏实地,埋头苦干,积跬步以至千里,就一定能够把宏伟目标变为美好现实." 首先感谢兄弟们的订阅 ...

  4. 【目标检测】基于yolov5的交通标志检测和识别(附代码和数据集)

    写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌. 文末附项目代码和数据集,请看检测效果: 1. 介绍 Y ...

  5. 【目标检测】基于yolov5海上船舶目标检测(附代码和数据集)

    Hello,大家好,我是augustqi.今天给大家分享的目标检测项目是:基于yolov5海上船舶目标检测(附代码和数据集) Part1 前言 传统的海上目标检测是通过雷达来实现,但是随着技术的发展, ...

  6. 【目标检测】基于yolov5的钢筋检测和计数(附代码和数据集)

    写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌. 文末获取代码和数据集,请看检测效果: 一. 介绍 基于 ...

  7. 深度学习100例 | 第51天-目标检测算法(YOLOv5)(入门篇)

    大家好,我是『K同学啊』! 拖了好久,终于要开始目标检测系列了.自己想过好几次,想尽快出几期目标检测算法的博客教程,但是一直苦于不知道如何写,才能让大家轻松.快速.高效的入门目标检测算法.这段时间终于 ...

  8. 【目标检测算法】YOLO-V5实战检测VOC2007数据集

    文章目录 一.项目克隆与环境配置 1. 下载源码 2. 安装依赖包 二.自定义数据集导入和预训练权重 1. 导入自定义数据集 2. 获得预训练权重 三.修改配置文件 1. data目录中的yaml文件 ...

  9. 深度学习目标检测系列:faster RCNN实现|附python源码

    目标检测一直是计算机视觉中比较热门的研究领域,有一些常用且成熟的算法得到业内公认水平,比如RCNN系列算法.SSD以及YOLO等.如果你是从事这一行业的话,你会使用哪种算法进行目标检测任务呢?在我寻求 ...

最新文章

  1. python argv 详解_对python中的argv和argc使用详解
  2. 为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式...
  3. cannot import name #39get_all_providers#39
  4. 基于VSM的命名实体识别、歧义消解和指代消解
  5. 牛客题霸 [ 数字在升序数组中出现的次数] C++题解/答案
  6. 看嵌入式大神直播,送开发板!
  7. Python一行代码给儿子制作九九乘法表
  8. signature=d5d679bcec778027f40bcf8a2796c61b,Processing damaged items using image data lift
  9. python csv合并单元格_python中合并表格的两种方法
  10. 双边滤波器和高斯滤波器
  11. 鲁迅《狂人日记》全文
  12. 项目经理不得不知道的里程碑计划及其重要用途
  13. Flutter 中TextField的hintText不居中与光标位置不一致
  14. 冷山的博客思听书摘索引页
  15. Shim特性是什么?
  16. Mac下好用的软件推荐系统设置
  17. 咱就是说,方言配音的软件能有多少
  18. 多元回归分析(分类与运用)
  19. Android逆向:通过Xposed解密柠某直播本地数据
  20. winrar解压缩中文文件夹乱码的最简单解决办法

热门文章

  1. LeetCode-求一个集合的子集
  2. 赵丽5500 第二节课
  3. 什么是上下文切换?如何减少上下文切换?
  4. Typora入门教程
  5. 什么是SPOOLing?
  6. android cifs apk,printershare
  7. 全球与中国医疗计费软件市场深度研究分析报告
  8. 教科书所忽略的运算放大电路的有效带宽你还并不熟悉的增益带宽积概念
  9. BIT前端训练营笔记(一)| 20211225 预习 | 常用标签、语义化、响应式设计
  10. ecs服务器网站目录,ecs云服务器的根目录