树莓派上的tensorflow视频识别+远程视频流传输

1.下载models
第一步:git clone https://github.com/tensorflow/models.git models-master

这篇文章配置一定要注意一定不要把models-master文件夹cp至/usr/local/lib中去,直接在~/路径下的models-master进行之后的步骤,其中的bashrc也需要把路径改为/home/pi/models-master/object-detection/models,因为后续需要将下载的模型导入,并且需要在models-master文件夹中编写调用的py文件,如果在/usr/local/lib路径则会显示各种permission denied的问题,因此切记不用把models-master文件移至/usr/local/中。如果导入了就只好把/usr/路径下的models文件夹移至/home/pi/,然后sudo chown -R pi:pi /home/pi/models-master。了解了以后按照如下教程安装
https://blog.csdn.net/int93/article/details/79066259就可以了。
官网上说的cocoapi我安装时出了问题,也就没有继续make cocoapi,cocoapi那一步略过直接做models,完成。models下了将近一个小时。

2.下载ssd-mobilenet
https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md下载ssd_mobilenet_v1_coco,我下下来的是2018-01-28,然后把它移至models文件下。进行下一步操作。

3.代码测试
https://www.jianshu.com/p/ea5abe01aaf1
借用了这篇文章提供的源码,我是将detect.py和ssd_mobilenet_v1_coco_2018_01_28.tar.gz放至model-master文件夹而不是models文件夹。我放在models会报一个tensorflow.python找不到keras模块的错误,并且在models下执行import tensorflow会报关于keras的错,原因不详。内存占用率一直在80%附近,跟原作者的差不多,跑久了会自己断开远程连接。

可以顺利地识别出摄像头拍到的一些物体啦:

远程获取视频:vlc播放器装在windows上。

1.将树莓派做成流视频服务器:https://blog.csdn.net/chenxing109/article/details/85071881,视频放在/live/mediaServer目录下就可以了,live555是开源的。

2.读取树莓派摄像头视频的服务器:https://forum.synology.com/enu/viewtopic.php?f=82&t=98870
作者说自己是pi2,我pi3的话按照步骤做下来有报错的地方全部忽略继续执行下一步,可以得到视频,会有大概3s的延迟。现在的想法是把视频传给gpu,这样时延太长了,3s传输时延再加上每帧识别的时延,还有物理回传。

h264:图像压缩不知道里面实现了没有。

扫描二维码关注公众号,回复: 4728338 查看本文章

猜你喜欢

转载自blog.csdn.net/Parallel2333/article/details/85252901