我必须做一个项目,尝试扫描车辆的形状并检测它是什么类型的车辆,扫描将使用称为“车辆扫描仪”的传感器进行,它们只有 50 束光,每束都有接收器和发射器如图所示:
我从传感器获得每个光束的原始状态(阻挡或解锁),通过连续扫描,我们可以创建可能非常低分辨率的车辆图像。
我的问题是我可以使用什么算法/技术来检测和识别车辆的形状,我们想要计算车轮的数量,如果可以的话,尝试识别该形状是汽车、卡车还是皮卡等,在至少我们想数一下轮子。
我正在考虑训练一个神经网络,但也许是一种我可以使用但我不知道的模式检测的更简单的方法。
任何其他建议/建议将不胜感激
标准神经网络将是一个合理的选择并且可以工作,但是卷积神经网络(CNN)可能是最好的选择(请参阅此快速解释 http://deeplearning.net/tutorial/lenet.html)。 CNN 非常适合图像识别,因为它们的稀疏连接允许空间局部相关性(即它们考虑了彼此非常接近的输入之间的关系)这意味着它们比标准神经网络更有效地推广到新的数据集,并且训练速度也更快。
为了检测车轮的数量,可以将低分辨率输入分成许多重叠的“车轮大小”的补丁,然后使用每个补丁作为已被训练来检测车轮的 CNN 的输入。由于 CNN 有可能对同一个轮子周围的多个补丁返回 true,因此需要实现邻近检查器,以便每个本地“真实”补丁仅导致总计数器的一次增量。这可以通过识别具有最高输出节点激活的本地补丁,并防止该补丁周围的任何其他补丁影响总计数器来完成。
事实上,识别汽车或卡车的形状是一项更简单的任务,因为整个图像可以输入到 CNN 中,并在一系列预先分类的车辆图像上进行训练。可以通过以下方式解决速度的挤压/拉伸效应扩充训练数据集具有随机挤压/拉伸变形。有关如何在 CNN 中设置参数的建议,请参阅如何确定用于图像分类的卷积神经网络的参数。 https://stackoverflow.com/questions/24509921/how-do-you-decide-the-parameters-of-a-convolutional-neural-network-for-image-cla/25421946#25421946
作为 CNN 有效性的证明,请查看以下结果:2012 年大规模视觉识别挑战赛 (LSVRC) http://www.image-net.org/challenges/LSVRC/2012/results.html。 LSVRC 是一项图像分类竞赛,参赛者竞相在任意选择的 256x256 图像上实现最低的分类错误。获胜的网络名为 Supervision,通过使用 CNN 模型,其误差几乎是其最接近的竞争对手的一半。 CNN 还保持着许多文本识别任务的最高精度记录,例如MNIST数字识别任务 http://yann.lecun.com/exdb/mnist/该模型的准确率达到 99.8%,这一准确率可与人类识别率相媲美。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)