6

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

在此处输入图像描述

我从传感器获取每个光束的原始状态(阻挡或解除阻挡),通过连续扫描,我们可以创建可能非常低分辨率的车辆图像。

我的问题是我可以使用哪些算法/技术来检测和识别车辆的形状,我们想要计算车轮,如果可以,尝试识别该形状是汽车还是卡车或皮卡等,在至少我们要数轮子。

我正在考虑训练一个神经网络,但对于这种我可以使用但我不知道的模式检测来说,这可能是一种更简单的方法。任何其他建议/建议将不胜感激

4

3 回答 3

5

标准神经网络将是一个合理的选择并且可以工作,但是卷积神经网络 (CNN)可能是最佳选择(请参阅此快速解释)。CNN 非常适合图像识别,因为它们的稀疏连接允许空间局部相关性(即它们考虑到彼此非常接近的输入之间的关系),这意味着它们比标准神经网络更有效地泛化到新数据集,并且训练也更快。

为了检测轮子的数量,可以将低分辨率输入拆分为多个重叠的“轮子大小”块,然后将每个块用作已训练用于检测轮子的 CNN 的输入。由于 CNN 有可能针对同一个轮子周围的多个补丁返回 true,因此需要实施接近度检查器,以便每个本地“真实”补丁仅导致总计数器的单个增量。这可以通过识别具有最高输出节点激活的本地补丁来完成,并防止该补丁周围的任何其他补丁影响总计数器。

将形状识别为汽车或卡车实际上是一项更简单的任务,因为整个图像可以被输入到经过选择的预分类车辆图像训练的 CNN。通过随机压缩/拉伸变形来增加训练数据集,可以解决速度的压缩/拉伸效应。有关如何在 CNN 中设置参数的建议,请参阅如何确定用于图像分类的卷积神经网络的参数。

为了证明 CNN 的有效性,请查看2012 年大规模视觉识别挑战赛 (LSVRC)的结果。LSVRC 是一项图像分类竞赛,参赛者在任意选择的 256x256 图像上竞争以实现最低分类错误。获胜的网络名为 Supervision,通过使用 CNN 模型,其误差几乎是其紧密竞争对手的一半。CNN 在许多文本识别任务中也保持着最高准确率的记录,例如MNIST 数字识别任务,该模型的准确率达到了 99.8%——准确率可以与人类识别率相媲美。

于 2014-08-22T07:40:54.160 回答
1

您应该能够获得车辆、高度(最大高度)、车轮数量、窗户的位置/形状(如果光束穿过窗户)和一般形状。

对于汽车、卡车、货车等的侧面轮廓,您可能只需要一个模板(或几个模板)。然后,您可以将每个模板拉伸到尺寸测量值,并从模板形状中减去记录的形状。差异最小的模板是最接近的匹配。这可以通过允许形状更加可变来改善。例如,可以根据记录的引擎盖高度与屋顶高度的最小/最大比率将引擎盖的高度向上或向下移动到一定程度。如果您有这样的比率(或实际记录的值,如果您在网上找到它们)和模板的集合,那么您应该能够做得足够好。您只需分析大量车辆照片即可获得这些比率。

如果您有良好的、有代表性的模板并且不想过于具体地说明车辆是什么,那么这应该可以很好地工作。例如,考虑到您的系统是如何工作的,找到可以用来区分跨界车和厢式货车的模板可能很困难,但如果您对跨界车有一点余地,应该可以正常工作归类为。

编辑:

实际上,您可以使用单个模板,并且只需几个可调整的点(最多大约 10 个这样的点),其配置可用于对车辆进行分类。几个例子:

  • 引擎盖的开始
  • 引擎盖/挡风玻璃交叉口
  • 屋顶/挡风玻璃交叉口
  • 轮胎/车身交叉点(每个轮胎 2 个这样的点)

结果将是一个块状但相当准确的车辆形状。这些点的大致位置以及它们是否存在应该有助于判断车辆类型。虽然,拥有固定模板会简单得多,如果说货车被列为卡车,您可能可以将该货车用作货车的附加模板。

于 2014-08-20T23:04:26.857 回答
0

您主要关心的是车辆的速度,因为更快的车辆会给您更少的观察次数,这是不准确的。以下是检查方法:-

算法 :-

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.
于 2014-08-21T07:27:00.887 回答