A PointNet-Based Solution for 3D Hand Gesture Recognition
Mirsu R, Simion G, Caleanu C D, et al. A pointnet-based solution for 3d hand gesture recognition[J]. Sensors, 2020, 20(11): 3226.
- 在Kaggle上公开了手势数据集
- 使用PCA进行手前臂分割
- 使用基于直方图的邻域策略规范化点云大小
- 使用PointNet架构完成3D DRGB图的手势识别
多级手部分割
预处理
由于分类时直接对3D点云使用了深度学习,因此预处理好点云数据也很重要。详细工作可参考之前的paper[28]。
过滤平滑:使用中值滤波来去除斑点噪声。
筛选出手部区域:默认手部是屏幕最近的物体。因此从最近点开始,选取一个深度区间7cm左右的所有点。同时进行计数。若这个区间的点总数小于阈值,则说明最近的点是一个离群点,不可靠。因此将区间往后移动重新划分。
区域内聚类: 通过区域,中心,等方式进行计算聚类。如果有多个类,则选择左上方的作为手部区域。
手前臂分割:通过PCA找到数据的对称轴。
并且利用一个手部检测窗口,一个手腕检测窗口来找到手腕分界线:计算两个窗口内点数的比例,找到一个比例极值处作为手腕分界线。
采样压缩点云:移除邻居最多的点,或者保留邻域最小的点
参考文献
[28] Simion, G.; Caleanu, C. Multi-stage 3D segmentation for ToF based gesture recognition system. In Proceedings of the 2014 11th International Symposium on Electronics and Telecommunications (ISETC), Timisoara, Romania, 15–16 November 2014; pp. 1–4.