【深度学习】手部分割问题的尝试与总结

前言

手部分割这个问题出现了很多年了,从深度学习流行之前就有人去做,如今AR/VR的兴起更是成为一个相对热门的研究方向。有效地分割手既能进行很多姿态的判断,又能用于身份认证,应用面还是很广。
我做手部分割有一段时间了,虽然还是没有得到比较好的成果,基本也都是在研究前人的成果,这里还是总结一些心得与体会。
简单概括一下,已经尝试了四种方法了,分别作出总结。

1、基于深度图的手部分割

这种方法简单来说在很多应用中手放在距离摄像头最近的地方,那么将这个区域的图像分割出来即可实现手部的分割。而且其应用比这还是要广泛很多,能做很多别的物体的分割,可以理解为一种前景分割。

(1)传统方法

用传统方法生成深度图采用了双目摄像头,经过标定计算深度结果进行测距。但是效果其实不是很好,一方面是设备本身标定的精确度限制,另一方面设备的噪点比较多,很容易出现问题。对于很多区域都无法得到值,而距离的测定也并不准确,误差在10cm这个数量级,所以是难以进行准确分割的,异常点也很多。
假如能够进行比较准确的分割,那么可以对页面进行扫描,将距离摄像头最近的区域在一定的波动范围内分割出来,预期的效果应该不错。但这都建立在较为精准的深度图上。

(2)深度学习方法

深度图与三维重建现在很多采用深度学习方法来做,甚至不需要对摄像头进行标定,这自然也无法进行测距了。StereoNet的效果还不错,源码也找得到,但是也是存在很多噪点,并且具体方面难以标定。其对设备要求不高,普通的光学摄像头拍到的两幅画面即可。有待继续尝试吧,毕竟前景分割还是很有应用价值的。另外深度学习方法相对计算量较大,所以实时还需要研究轻量级网络。

总结一下,该方法应用广,而且思路也比较理想,但是对深度图的要求较高,容易出现噪点,因为设备的原因暂时还没有实现。

2、基于帧差法与肤色的手部分割

这个方法主要是传统方法,基于一篇论文来做的。思路也比较简单,因为帧差法容易将运动的但是无关的内容分割进来,而基于肤色容易将身体其他部位分割进来,如果两个mask进行结合就能够将手部分割出来,当然前提是身体不能动。
这里主要有几个问题,第一肤色通过简单的颜色进行分割出错率还是很高的,手部很容易残缺,如果手经过脸那么也会将脸分割进来,周围的环境一旦有接近肤色的都容易出问题。简单的来说,需要的部分可能失败不出来,因为光线角度等原因,而不需要的部分却很容易进来。即使通过形态学操作进行修正,也很难有理想的效果。但是把阈值范围设置的大一点然后加上运动就能够实现吗?这就是第二个问题,就像刚才说的,运动分割过程中身体的其他部位容易误测,而且手滑动过程很有可能只能识别到残缺的轮廓,扩充以后也并不理想,也容易误测。不过如果提前拍摄伸手前的画面,也很难保证身体的其他部位不动,如果放在AR上,背景也是很容易改变的,所以基本是不可行的。
总的来说,这种方法健壮性与稳定性都很差,而且需要针对性调参,很容易检测不完整,只能在一定程度上检测出残缺的手部区域。这种方法受限于运动本身而容易出现不完整,而肤色也会有限制,改进难度较大。

3、基于手部检测与肤色的手部分割

这个方法和上面的其实挺像的,也是需要通过肤色检测,这样肤色检测有的问题也就都有了。区别是为了减少误测,通过手部目标检测的深度学习模型进行框选,先不说框的全不全,但很容易检测不到手,而阈值设置的比较低一些其他部分又容易被检测出来,手部检测往往是不连续的,即使检测到了也受限于肤色检测。所以我觉得根据颜色来检测本身就存在很多问题,科研究性不高,尤其是画面中有干扰色,健壮性会特别差。
但是如果通过一些类似于插值的方法使手部检测连续呢,对很多特殊情况还是存在问题,如同函数本身可能是很曲折的,但是通过对几个点差值得到的是很平滑的曲线。最重要的问题是这样会使手部检测成为其效果的上限。
如果想提升效果,一方面对手部检测的效果进行提升,另一方面肤色模型也足够精确。

4、基于语义分割的手部分割

这个方法仍然是基于深度学习,通过语义分割的方式来分割手,使用一些像素级标记手的mask数据集进行训练,然后通过比较比较好的模型设计来学习最终用于预测。
深度学习是一种高维的模式识别,所以还是对样本依赖较大,尽管训练的mIoU已经很高了,但对于日常一般场景或者说自己的图片效果还是很差,这个在之前一篇博文有提到原因,但是处于数据集本身来自于一个普通视频片段,场景较为单一,所以泛化能力确实不高,距离实际应用一方面是因为泛化能力,另一方面则是预测速度。
要解决这个问题可以扩充数据集,使之包括各种类型的数据,数量和训练难度上也大大增大,另一方面则是使用轻量级的模型,使之具有实时性。模型设计上即使把mIoU弄到100,但是泛化能力仍然不够。

后记

最后我觉得应用场景其实是视频片段,如果仅仅从图片出发那么不断的去拟合还是受限于数据,也仍然会出现问题。应当从视频帧的关系中学习,动态地去理解外界,而不是单单通过一张图片。既然我们检测的时候也是视频,那么为何非要使用一张图片的信息?下个阶段我想还是从视频出发,以及在深度图测距再进行一定的研究。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值