python怎么让摄像头图像暂停然后在启动_树莓派raspberry4B指南part-7 摄像头使用及tensorflow lite实现目标检测...

f4f9880e966727cc80397ae4f1252aa5.png

今天摄像头到货,忍不住赶紧试试效果,如下图板子上白色字体所示:Raspberry Pi Camera Rev1.3版本。

c0cbbf2725893e0d708ad969561f522e.png

摄像头连接

如下图,在树莓派板子上,白色字体显示Camera字样的插槽,首先需要将插槽的黑长条往上轻轻拔起,注意不是拔出来!

5b9be5e06de0d206e972809e6e8611cb.png

然后把树莓派摄像头白色线路插入,然后把拔起来的黑色长条再压入原位,起固定作用,如下图:

ea02ebb4d4416c4c87dce22e73e5fae3.png

我这个亚克力壳子还留了个孔,让排线露出来,设计感人!

b9da046696c981adaaf0b76f8a34d6ee.png

系统设置

接下来开机启动树莓派并登陆,做一下摄像头使用前的准备工作。

# vcgencmd 树莓派专有命令用来对硬件做各种检测,如下检查摄像头信息
$ vcgencmd get_camera

# 返回0,说明没有检测到摄像头信息
supported=0 detected=0

树莓派默认将摄像头通信关闭,此时需要开启:

# 运行命令行配置
$ sudo raspi-config

依次选择 "Interfacing Options" -> " Camera",确定后重启树莓派。

此时再次执行以下命令,可以得到摄像头信息了!

$ vcgencmd get_camera
supported=1 detected=1

raspistill命令行测试拍照

树莓派自带raspistill可以用来进行摄像头拍照功能,如下命令:

$ raspistill -v -o test.jpg

# 还有其他命令可以多试试,比如水平垂直翻转, 详细选项参考 https://www.cnblogs.com/jikexianfeng/p/7130843.html
$ raspistill -ifx pastel -hf -vf -o test.jpg 

因为没有用显示器,焦距不好把握。。效果如下图:

9d8e2d4db245d5c0b99ed581dae043c4.png

raspivid命令测试录像

执行以下命令录制5s的视频:

# 生成h264格式
$ raspivid -o testvideo.h264 -t 5000

# 转出mp4格式
$ sudo apt-get install gpac

$ MP4Box -add testvideo.h264 testvideo.mp4

python实现拍照和录像功能

python主要依赖picamera模块,此模块在树莓派系统已经有了,直接import即可。以下代码与命令行功能类似:

import 

目标检测

说完摄像头的基本操作,我们来看看如何使用摄像头实现目标检测(Object Dection)。在前面章节(part-3 )我讲过使用TensorFlow Lite实现图像分类,大家先参考那一篇文章安装python和TensorFlow lite环境,本章是在那一章的基础之上。

我们使用了官网的 COCO SSD MobileNet v1 模型来入门,目前支持80种物体的识别,我已经都放到我的仓库中的coco_detect目录,包括模型和标签两个文件,然后执行以下命令,进行摄像头目标检测:

$ python3 detect_picamera.py  --model coco_detect/detect.tflite  --labels coco_detect/labelmap.txt 

看起来效果并不是太好,一直抱着sandwich和banana不放。。。后期决定自己定制训练集。

92855209261bd4bac084eb0debf54a04.png

总结

我在梳理实验过程时候,发现最多的问题还是在网速上,github代码下载不了、pip install失败等等,这些问题非常常见。所谓龟速压倒英雄好汉,热情全因这些鸡毛蒜皮的小事破坏。因此大家一定要有心理准备,以下是我的一些处理办法:

  • github下载不了:用gitee克隆github库再进行下载
  • pip install下载不了:使用-i指定国内镜像下载,也别搞什么pip.conf了,麻烦不说而且不生效
  • pip install失败:缺少相应类库,使用apt-get install解决
  • python脚本运行报错:缺少相应类库,使用apt-get install解决

python库编译和运行都是依赖操作系统提供的类库的,出现此类问题,都可以google一下查找哪些类库报错,然后apt-get install进行安装即可。

参考链接:

https://www.raspberrypi.org/documentation/configuration/camera.md

https://www.dummies.com/computers/raspberry-pi/test-raspberry-pi-camera-module/

https://github.com/tensorflow/examples/tree/master/lite/examples/object_detection/raspberry_pi

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于树莓派4B的YOLOv5-Lite目标检测的移植与部署可以参考以下步骤: 1. 硬件准备:准备一台树莓派4B主机,具备至少4GB的内存和足够的存储空间。 2. 安装操作系统:在树莓派4B上安装支持深度学习的操作系统,如Raspberry Pi OS(之前的Raspbian)。 3. 安装深度学习框架:在树莓派上安装适用于ARM架构的深度学习框架,如PyTorch。 4. 下载YOLOv5-Lite模型:从YOLOv5的官方GitHub仓库下载YOLOv5-Lite模型的源代码和预训练权重。 5. 数据集准备:根据目标检测任务的需求,准备适合的训练数据集,并将其转换为YOLOv5可训练的格式。 6. 训练模型(可选):如果没有现成的适用于目标的预训练权重,可以选择在树莓派上训练YOLOv5-Lite模型。 7. 模型移植:将训练好的YOLOv5-Lite模型移植到树莓派4B上,确保模型能够在树莓派上运行。 8. 部署与测试:使用树莓派4B的摄像头或者外部摄像头采集图像或视频,并将其输入到模型中进行目标检测,观察模型在树莓派上的检测性能。 9. 优化与调整:根据实际情况,进行模型的优化和调整,如调整阈值、模型量化等,以提高模型在树莓派上的运行速度和准确性。 10. 应用开发:根据需求,将目标检测模型移植到实际应用中,如智能监控系统、机器人等,以实现对目标的实时检测和跟踪。 总之,基于树莓派4B的YOLOv5-Lite目标检测的移植与部署需要在树莓派上安装深度学习框架、准备训练数据集、移植模型、进行性能测试和优化,最终将模型应用到实际场景中。这需要对深度学习和树莓派4B有一定的了解和实践经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值