第一部分-自我介绍
第二部分-项目介绍
1、大空间多人手势识别项目是什么,你是怎么做的。
这是实验室的项目,实现了基于三台leapmotion设备的手势跟踪和识别演示系统,完成了一个基本的演示demo,可以与unity场景结合,实现基本的虚拟现实人机交互的操作。
- 怎么做的
1)首先前期的手势理论算法研究,在进行实现前,做了该方面的调研以及各种识别算法的试错,寻求哪个算法效果更好,最后选择通过LSTM深度学习模型与Leap Motion设备结合,实现手势的实时识别。 (2)其次完成基于双目红外传感器的手势识别研讨系统的原型设计、算法融合和详细设计工作 。 (3)硬件选择,测试。对以下硬件均进行了实际测试,包括Hololens、HTC VIVE、Cosmos、oculus、meta2。 (4)终期选择电子沙盘为展示系统,以Unity3D为前端开发软件,Dell Visor+zed mini为基础硬件,以C# socket为基础完成网络通信。最终完成增强现实协同研讨系统原理性演示系统。 (5)实现兵力部署,仿真推进等基础功能,参与该项目总结报告的撰写工作。
2、哪些方面的调研以及各种识别算法的试错,为什么选这个算法?
- Unity3D中使用Leap Motion进行手势控制
- LeapMotion下手的移动和手势的识别
- 基于 Leap Motion 静态手势识别方法
- 基于 Leap Motion 的动态手势识别方法
- 包括使用常规的RGB图像进行3维手部姿态估计的方法:
论文一共用了三个网络结构进行手部节点的位置预测,首先用一个网络提取手部区域,并重新resize手部区域的大小,然后用一个网络定位2D手部关节点的位置,在根据2D的节点位置和先验知识恢复出3D节点位置。 - 基于基于深度学习的手势识别及其在虚拟实验中的应用研究
选用这个算法: LSTM的优点:我们选用的是LSTM完成动态手势分类,手势具有连续性,上一时刻的手势状态对当前时刻有较大的影响,针对手势的时序特性,因此利用长短时记忆网络模型进行加速度手势识别分类,并构建了基于深度卷积长短时记忆网络加速度手势分类模型。 获取到的手势特征输入到手势识别分类层中,手势识别分类层由两层LSTM构成,LSTM长期记忆特性能够很好的处理时序数据,经过手势识别分类得到数据维度为(batch_size,128)。输出层中采用Softmax函数作为特征分手势分类,最终输出手势分类结果。 使用LSTM的优点是它可以识别由少量移动定义的手势,例如“驱动”手势。或另一个示例将是检测“停止”手势和“波动”手势之间的差异。
3、数据集有多大,怎样训练的?
数据集包含各种手势的leap motion捕捉数据,以及表示正在执行的手势的标签 实验数据的录制采样由10人完成,每个人对每种手势进行40组采样,每组手势的400组样本数据按照3:1比例随机分成300组数据作为LSTM模型的训练数据和100组数据作为LSTM模型的测试数据 训练数据通过record.py记录为CSV。在exploration-many2one.ipynb中的数据上对该模型进行了训练。
4、训练的时间是多少?
第三部分-基础知识
1、红黑树?
2、哈希表?
3、你知道几种排序算法?
冒泡排序、 快速排序、 选择排序、 堆排序、 归并排序、 插入排序、 希尔排序
4、object有个克隆方法,是深拷贝还是浅拷贝
-
Object类中一个clone()的方法,并且是protected关键字修饰的本地方法(使用native关键字修饰),我们完成克隆需要重写该方法。 注意:按照惯例重写的时候一个要将protected修饰符修改为public,这是JDK所推荐的做法,还是推荐写成public。 -
我们重写的clone方法一个要实现Cloneable接口。虽然这个接口并没有什么方法,但是必须实现该标志接口。 如果不实现将会在运行期间抛出:CloneNotSupportedException异常
3.Object中本地clone()方法,默认是浅拷贝
浅拷贝
浅拷贝:拷贝出来的对象内部的引用类型变量和原来对象内部引用类型变量是同一引用(指向同一对象)。 但是我们拷贝出来的对象和新对象不是同一对象。
简单来说,**新(拷贝产生)、旧(元对象)对象不同**,但是内部如果有引用类型的变量,新、旧对象引用的都是同一引用。
深拷贝
深拷贝:全部拷贝原对象的内容,包括内存的引用类型也进行拷贝
|