前言
似乎很久没有写博客了……所以赶紧写个博客冒冒泡,也顺便压压惊。最近导师让我使用realsense深度摄像头做android端的避障功能,首先,遍历图像中所有深度数据并进行过滤似乎是比较需要大量的计算量,在查找了一些资料之后,因为项目也用到了语义分割功能,何不使用语义分割后的图像进行轮廓、区域、质心提取,再计算质心坐标的深度值来进行避障呢?
说干就干,由于语义分割是在android端采集的,采用了deeplabv3算法,其中该算法工程参考:
https://github.com/wonderit/indoor-segmentation-android
处理图像使用opencv就行了,由于移动端相对来说比较麻烦,还要移植opencv,所以我先把deeplab获得的分割图像存入电脑,在电脑端使用C++和opencv对其进行处理,得到最后的质心。
获取语义分割图
下图是未经处理的rgb图:
下图是经过deeplab算法得到的语义分割图,可以看到不同的颜色代表着不同的东西,其中暗红色代表地面,灰色代表墙,深灰色代表凳腿右下角的箱子,紫色代表凳子,要进行避障,就得把这些区域的质心提取出来。