我必须做一个项目,试图扫描车辆的形状并检测它是哪种类型的车辆,扫描将通过一个名为“车辆扫描仪”的传感器执行。它们只有50束光,每束光都有接收器和发射器,如图所示:

我从传感器得到每个光束的原始状态(方块或非方块),通过这种连续扫描,我们可以创建一个可能非常低分辨率的车辆图像。
我正在考虑训练一个神经网络,但也许可以是一种更简单的方法来进行这种模式检测,我可以使用这种方法,但我不知道。如有任何其他建议/建议,我们将不胜感激
发布于 2014-08-22 15:40:54
标准神经网络将是一个合理的选择并且可以工作,但是卷积神经网络(CNN)可能是最佳选择(see this for a quick explanation)。CNN对于图像识别非常有用,因为它们的稀疏连接性允许空间局部相关性(即,它们考虑了彼此紧密接近的输入之间的关系),这意味着它们比标准神经网络更有效地概括到新的数据集,并且训练速度也更快。
为了检测轮子的数量,可以将低分辨率输入分割成许多重叠的“轮子大小”的补丁,然后将每个补丁作为CNN的输入,该CNN经过训练以检测轮子。由于对于同一轮子周围的多个补丁,CNN有可能返回true,因此将需要实现接近度检查器,使得每个局部'true‘补丁仅导致总计数器的单个递增。这可以通过识别具有最高输出节点激活的局部补丁,并通过防止该补丁周边内的任何其他补丁影响总计数器来实现。
事实上,识别汽车或卡车的形状将是一项更简单的任务,因为整个图像可以输入到CNN,该CNN对选定的预先分类的车辆图像进行了训练。可以通过用随机的挤压/拉伸变形来增大训练数据集,从而绕过速度的挤压/拉伸效果。有关如何在CNN中设置参数的建议,请参阅how do you decide the parameters of a convolutional neural network for image classification.
为了证明CNN的有效性,看看Large Scale Visual Recognition Challenge 2012 (LSVRC)的结果。LSVRC是一个图像分类竞赛,参赛者在任意选择256x256图像的情况下进行竞争,以获得最低的分类错误。获胜的网络,名为监督,通过使用CNN模型实现了关闭竞争对手的几乎一半的误差。在许多文本识别任务中,CNN还保持着最高准确率的记录,例如,在MNIST digit recognition task中,模型的准确率达到99.8% -这一准确率可与人类识别率相媲美。
发布于 2014-08-21 07:04:27
你应该能够得到车辆,高度(最大高度),也许轮子的数量,窗户的位置/形状(如果梁穿过窗户)和一般的形状。
您可能只有一个模板(或几个模板),用于表示汽车、卡车、货车等的侧面轮廓。然后,您可以将每个模板拉伸到尺寸,测量并从模板形状中减去记录的形状。差异最小的模板是最接近的匹配。这可以通过允许形状更具可变性来改进。例如,引擎盖的高度可以根据引擎盖高度与屋顶高度的最小/最大记录比率在一定程度上向上或向下移动。如果您有这样的比率(或实际记录值,如果您在网上找到它们)和模板的集合,那么您应该能够做得足够好。你可以简单地通过分析大量的车辆照片来获得这些比率。
如果你有好的、有代表性的模板,并且不想太具体地说明车辆是什么,那么总体来说,这应该会很好地工作。
编辑:
实际上,您可以使用单个模板,只有几个可调点(最多10个这样的点),这些点的配置可以用于对车辆进行分类。下面是几个例子:
hood
结果将是一个块状但相当精确的车辆形状。这些点的大致位置以及它们是否存在,对于告诉车辆类型应该是有用的。然而,有固定的模板会简单得多,如果一辆货车被列为卡车,你可能会使用该货车作为货车的额外模板。
发布于 2014-08-21 15:27:01
你主要关心的是车辆的速度,因为更快的车辆会给你更少的观察次数,这将是不准确的。以下是检查的方法:
算法:
1. Height is accurate metric to check as it is not affected by speed
2. get a median of all the heights you get , that would be close to exact height.
3. you can also evaluate the width which is not correct as speed can change.
4. ratio height/width can be checked.
5. there are certain ranges of height/width ratio for car,truck etc.
6. height can mostly classify between truck and cars.
7. ratio of height/width can be used to scale the image to correct range.
8. After scaling you might give that image to neural network which you trained.
9. train neural network with already gathered real life observations if you can.
10. May be you can also create a simulation by 3d modelling and animation.https://stackoverflow.com/questions/25413458
复制相似问题