我正在研究识别手势的Unity-Android应用程序。我用来训练模型的图像是50x50 黑白图像,手部通过HSV 值进行分割。现在,在测试模型时也进行了同样的操作,但问题是:当相机中没有手时,它仍然会检测到某些东西(任何东西 - 通过移动相机),因为 HSV 不准确,并且当图像(没有手) ) 被提供给模型,它仍然给出了80%+ 的准确率,并为其确定了一个随机类。训练模型的图像和代码被链接下来。我正在使用TensorflowSharp加载我的模型。对于 openCV,我使用OpenCV for Unity 我有4 个手势(4 个类),其中每个类有 4-4.5k 个图像,总共 17k 个图像。样本图片1级2级3级4级如果您需要任何其他信息,请告诉我,我们将不胜感激。我已经尝试过手部检测模型,因此它可以检测到什么时候没有手,但它们并不准确。我已经尝试从用户输入触摸他的手所在的位置,它工作正常但是当手被移开时它再次开始随机检测,因为 HSV。我尝试通过 SIFT 等进行特征匹配,但它们非常昂贵。我尝试了模板匹配,从我的角度来看,它应该有效,但给出了一些奇怪的结果。
1 回答
慕仙森
TA贡献1827条经验 获得超7个赞
根据我的说法,基本问题是您无法检测图像中是否存在手。你需要定位手。
首先,我们需要检测手是否存在。您可以尝试Siamese 网络来完成这些任务。我已经成功地使用它们来检测皮肤异常。您可以参考这个 -> Harshall Lamba https://link.medium.com/xrCQOD8ntV的“使用 Keras 的 Siamese 网络的一次性学习”和 Harshvardhan Gupta 的“PyTorch 中的 Siamese 网络的面部相似性” https://link.medium .com/htBzNmUCyV
网络将给出二进制输出。如果手存在,则将看到更接近 1 的值。否则,将看到接近零的值。
其他,像 YOLO 这样的 ML 模型用于对象定位,但 Siamese 网络简单而清醒。
Siamese 网络实际上使用相同的 CNN,因此它们是 siamese 或 conjoined。他们测量图像嵌入之间的绝对误差,并尝试近似图像之间的相似度函数。
之后,进行适当的检测,就可以进行分类。
- 1 回答
- 0 关注
- 70 浏览
添加回答
举报
0/150
提交
取消