树莓派相关(2):树莓派实现目标检测识别(树莓派4+opencv4.1.1+tensorflow1.14.0+ssd_mobilenet_v1_coco)

前面笔者爬了许多坑终于给树莓派4b安装完了opencv4.1.1树莓派相关(1):树莓派4安装OpenCV4.1.1从零开始全过程,本次主要想实现目标检测,并将其识别出来,接下来笔者将讲述如何部署tensorflow1.14.0+ssd_mobilenet_v1_coco

1 准备

笔记本(笔者没买专用的显示屏)、网线(SSH连接)
树莓派4b(4G内存版本)、32G的tf卡(安装系统)、树莓派的电源适配器(5V、3A)、树莓派摄像头(笔者的为500万像素)

2 安装TensorFlow1.14.0

因为已经安装好了opencv4.1.1,因此直接安装TensorFlow。
首先,安装matplotlib库

sudo pip install matplotlib

接着,安装一下编译环境

sudo apt-get install python3-pip python3-dev
sudo apt install libatlas-base-dev

最后,直接安装TensorFlow

sudo pip3 install TensorFlow

这样安装的TensorFlow1.14.0就是当前树莓派能用的最新版本
在这里插入图片描述
晚上下载速度有点慢,感觉早上的下载速度能快一点,如果中途掉线就得重复一次命令。
在安装TensorFlow之后,还会自动安装几个相关的依赖包

3 API下载

这里我参考了一篇博客:https://blog.csdn.net/weixin_36259888/article/details/83786113
然后我直接进行git.

git clone https://github.com/tensorflow/models.git

当然,该博客也给了github的API链接https://github.com/tensorflow/models/tree/master/research/object_detection/models
但是我觉得还是还是直接git比较好,以免出现什么幺蛾子。
在这里插入图片描述

4 ssd_mobilenet_v1_coco下载

模型链接https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md
在这里插入图片描述
首先进入目录

cd models/research/object_detection/models

然后将ssd_mobilenet_v1_coco模型下载下来

wget download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_coco_2018_01_28.tar.gz

接着进行解压

tar -xzvf ssd_mobilenet_v1_coco_2018_01_28.tar.gz

在这里插入图片描述

5 Protobuf 安装与配置

这里参考另一篇文章:https://www.jianshu.com/p/ea5abe01aaf1
(1)下载
protobuf下载地址:https://github.com/google/protobuf/releases
我直接下载的最新版本:protobuf-all-3.11.2.tar.gz

cd
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.11.2/protobuf-all-3.11.2.tar.gz

在这里插入图片描述
(2)安装

tar -xf  protobuf-all-3.11.2.tar.gz          ->解压      
cd protobuf-3.11.2                           ->进入该文件夹
./configure                                  ->执行   
make                                         ->时间有点长
make check                                   ->这一步是检查编译是否正确,耗时非常长

如果出现如下结果,可以看到所有的测试用例都PASS了,说明编译正确:
在这里插入图片描述

sudo make install  
sudo ldconfig                                       ->更新库搜索路径,否则可能找不到库文件

(3)配置
配置的目的是将proto格式的数据转换为python格式,从而可以在python脚本中调用,进入目录models-master/research,运行:

cd
cd models/research
protoc object_detection/protos/*.proto --python_out=.

6 测试

测试代码文件链接:https://pan.baidu.com/s/1jGnOF1s1UAvMTV4w6JW_YQ
提取码:9p2m

将测试代码放入models/research/object_detection/models目录中
在这里插入图片描述
打开VNC Viewer,进入终端,输入下列命令

cd models/research/object_detection/models
sudo chmod 666 /dev/video0                         ->要保证摄像头插紧了,不然会报错
python3 test.py

在这里插入图片描述
等一会,接着会出现检测对话框,效果如图
在这里插入图片描述
总结:继安装opencv4.1.1之后,本文接着讲述了怎么安装了基于python3.7的TensorFlow1.14.0,同时将API和ssd_mobilenet_v1_coco模型下载下来,然后讲述了怎么配置protobuf,最后成功实现目标检测识别。当然,还得感谢大佬们的帮助,遇到问题多思考,多查阅资料,最后肯定能成功的。

  • 23
    点赞
  • 212
    收藏
    觉得还不错? 一键收藏
  • 23
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值