作者:何之源
链接:https://www.zhihu.com/question/61173908/answer/185074029
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:https://www.zhihu.com/question/61173908/answer/185074029
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1. 安装或升级protoc
首先需要安装或升级protoc,不然在后面会无法编译。
安装/升级的方法是去protobuf的Release界面:google/protobuf,下载对应的已经编译好的protoc。
<img src="https://i-blog.csdnimg.cn/blog_migrate/03f079f9f7dc12b07a00aae2d8791dcd.jpeg" data-rawwidth="783" data-rawheight="308" class="origin_image zh-lightbox-thumb" width="783" data-original="https://pic4.zhimg.com/v2-11cc4533c8cdb6981e11d1f36c2980af_r.jpg">比如我是64位的ubuntu,那么就下载protoc-3.3.0-linux-x86_64.zip。下载解压后会有一个protoc二进制文件,覆盖到对应目录即可(如果不放心的可以用cp /usr/bin/protoc ~/protoc_bak先备份一下):
sudo cp bin/protoc /usr/bin/protoc
2. 下载代码并编译
下载tensorflow/models的代码:
git clone https://github.com/tensorflow/models.git
进入到models文件夹,编译Object Detection API的代码:
# From tensorflow/models/
protoc object_detection/protos/*.proto --python_out=.
3. 运行notebook demo
在models文件夹下运行:
jupyter-notebook
访问文件夹object_detection,运行object_detection_tutorial.ipynb:
<img src="https://i-blog.csdnimg.cn/blog_migrate/f9ab8fb47cdb973172a7442352267e60.jpeg" data-rawwidth="1173" data-rawheight="430" class="origin_image zh-lightbox-thumb" width="1173" data-original="https://pic4.zhimg.com/v2-4e0894c3b243444a8d6093c824f50117_r.jpg">依次shift+enter运行到底就行了。这个Demo会自动下载并执行最小最快的模型ssd+mobilenet。
最后的检测效果,一张是汪星人图片:
<img src="https://i-blog.csdnimg.cn/blog_migrate/355103967b5fa45302b56d68753a262e.png" data-rawwidth="785" data-rawheight="497" class="origin_image zh-lightbox-thumb" width="785" data-original="https://pic4.zhimg.com/v2-fb93281f394dcb443ab41dafc70967a7_r.png">还有一张是海滩图片:
<img src="https://i-blog.csdnimg.cn/blog_migrate/5ec33a4798a9f64309ee58dd5356e9b4.png" data-rawwidth="785" data-rawheight="530" class="origin_image zh-lightbox-thumb" width="785" data-original="https://pic3.zhimg.com/v2-1a46d658233bd4f76982db75221762fa_r.png">