Google人体图像分割模型Bodypix再次更新,720p/30fps流畅运行
晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI
AI开发板果然是各大厂商的必争之地。树莓派4刚发布8GB版,快被遗忘的谷歌Coral开发板就迎来新的机器学习模型,登上了近日GitHub开源热榜。
去年谷歌发布了识别人体24个部位的Bodypix 2.0模型,现在谷歌把它移植到了Coral设备上,而且针对这款硬件的API做了特殊优化。
Coral BodyPix有很多种用法,除了最基础的对人体不同部位的识别与分割,还能实现匿名人流量统计。
当然这也仅仅是官方GitHub上列出的两种应用,实际的用法更多。
什么是Bodypix
Bodypix最早是谷歌在2019年2月发布的人体分割AI模型。
BodyPix能将图像分割为属于人的和不属于人的像素,属于人的部分可以进一步分类为24个身体部位之一。24个身体部位包括头部、右上臂、左小腿、躯干等等。
去年11月,谷歌发布了它的升级2.0版,加入了对多人图像的支持,还增加了基于ResNet-50的模型、新的API、权重量化以及对不同尺寸图像的支持。
作为一个Tensorflow.Js项目,Bodypix可以在浏览器端运行,即使在手机上也很流畅。谷歌官方实测,Bodypix模型可以在iPhone X上以21fps流畅运行。
现在,经过谷歌官方的优化,即使是硬件规格更低的Coral开发板也能流畅使用了,帧率甚至不输iPhone。
安装与使用
BodyPix依赖于最新版本的Coral API,而对于Coral开发板,则需要安装最新的Mendel OS。然后运行项目中的install_requirements.sh来安装其他依赖项。
1 |
<span class="hljs-selector-tag">python3</span> <span class="hljs-selector-tag">bodypix</span><span class="hljs-selector-class">.py</span> |
以上命令还可以加入不同选项进行更细化的操作,比如加入—width和—height来控制输入图像的分辨率,这样就可以在运行的速度和精度之间进行取舍。
1 2 3 |
python3 bodypix<span class="hljs-selector-class">.py</span> --<span class="hljs-attribute">width</span> 480 --<span class="hljs-attribute">height</span> 360 # fast but low res python3 bodypix<span class="hljs-selector-class">.py</span> --<span class="hljs-attribute">width</span> 640 --<span class="hljs-attribute">height</span> 480 # default python3 bodypix<span class="hljs-selector-class">.py</span> --<span class="hljs-attribute">width</span> 1280 --<span class="hljs-attribute">height</span> 720 # slower but high res |
除了更改分辨率外,项目中还包含MobileNet和ResNet两种模型供用户选择。
如果你面对显示器,想制造镜像的效果,则可以加入参数:
1 |
<span class="hljs-selector-tag">python3</span> <span class="hljs-selector-tag">bodypix</span><span class="hljs-selector-class">.py</span> <span class="hljs-selector-tag">--mirror</span> |
另外还能对输入帧的编码格式进行定义:
1 2 |
<span class="hljs-selector-tag">python3</span> <span class="hljs-selector-tag">bodypix</span><span class="hljs-selector-class">.py</span> <span class="hljs-selector-tag">--h264</span> <span class="hljs-selector-tag">python3</span> <span class="hljs-selector-tag">bodypix</span><span class="hljs-selector-class">.py</span> <span class="hljs-selector-tag">--jpeg</span> |
还有我们开头提到的匿名模式,加入参数—anonymize,就可以不显示人物的身体特征和骨架,仅仅显示外部轮廓。
1 |
<span class="hljs-selector-tag">python3</span> <span class="hljs-selector-tag">bodypix</span><span class="hljs-selector-class">.py</span> <span class="hljs-selector-tag">--anonymize</span> |
关于谷歌Coral
谷歌在2019年初在TensorFlow开发者大会上推出的一系列边缘AI设备,不仅有类似于树莓派的开发板,还有AI加速计算棒。它们都内置了边缘TPU,比树莓派更适合做AI运算。
当时谷歌宣称,Coral开发板能够以每秒30帧的速度在高分辨率视频上运行深度神经网络。
现在,谷歌发布的Coral Bodypi针对Coral开发板上的iMX8MQ GPU和VPU进行优化,可以在平台上进行实时处理和渲染。
在项目主页中,谷歌表示优化后的Bodypix在Coral开发板上,即使以1280×720分辨率运行,也可以达到30fps,总算是兑现了当初的诺言。
开源地址:
https://github.com/google-coral/project-bodypix
— 完 —
量子位 QbitAI · 头条号签约
关注我们,第一时间获知前沿科技动态
Google人体图像分割模型Bodypix再次更新,720p/30fps流畅运行https://m.toutiaocdn.com/i6835835872978403844/?app=news_article×tamp=1591743187&use_new_style=1&req_id=20200610065307010014048141257B9A02&group_id=6835835872978403844&tt_from=android_share&utm_medium=toutiao_android&utm_campaign=client_share