Result! Data团队开发了一款名为Spobber的应用程序,它能够利用计算机视觉技术自动识别道路上的百米标志牌。这款应用通过用户的位置信息展示该区域收集到的物体数据,并允许用户查看数据库中的信息。用户还可以通过拍照或输入文本和数字在指定字段中添加新的信息到数据库。最新版本的应用还提供了移动物体检测的功能。通过物体检测,可以自动检查当前情况是否与数据库中存储的情况相匹配。如果物体缺失、被污染或者数据库中存在而实际上已经不存在的物体,应用可以检测到这些情况并自动发送警告。
构建了一个能够检测荷兰高速公路和国道上放置的百米标志牌的应用程序。百米标志牌每100米在高速公路上放置一个,每500米在国道上放置一个。标志牌上的文字指示了它的位置,以从道路起点的距离来衡量。它还指示了道路的名称以及所在的是哪一侧(左或右)。百米标志牌通常用于事故和事件的通知中,以便救援人员、维护承包商或修车的人可以轻松找到事件的位置。
百米标志牌非常典型且易于识别。缺点是标志牌相当小。目标是在以100公里每小时的速度行驶的汽车中识别百米标志牌。在这篇博客中,描述了使用四种现有的最先进的模型进行物体检测的过程,分别是YOLOv3、EfficientDet、YOLOv4和YOLOv5。
首先进行了数据收集和数据准备。数据准备的一部分是数据增强。这有助于构建更大更多样化的数据集。数据增强后,数据需要被准备好用作建模的输入。接下来的步骤是建模和测试模型。当模型表现良好时,就可以将模型应用于新数据集。最后一步是将模型用于网络摄像头或视频。
为了收集包含百米标志牌的图像,进行了一次沿着高速公路的行程。在汽车的挡风玻璃后面安装了一部智能手机(iPhone X)。相机指向路边,并稍微放大。在这次行程中,拍摄了400张图像,但并非所有图像都包含百米标志牌,因此这些图像被移除了。
使用LabelImg构建了一个围绕百米标志牌的边界框的注释数据集。LabelImg是一个免费的标记工具,可以从GitHub下载(可以在Roboflow的LabelImg教程中学习如何将其用于物体检测)。在大多数情况下,图像只包含一个百米标志牌,用于训练的集合包含了每张图像中有一个百米标志牌的样本。值得注意的是,有些图像包含多个标志牌,但为了简单起见,没有使用它们。
在这次行程中,条件相当稳定。但是当训练模型时,对图像执行不同的操作以模拟不同情况是很有用的。在情况下,进行了裁剪、旋转以及亮度、模糊和噪声的调整。总的来说,每张图像进行了3次增强。计算机视觉中的数据增强是关键,以充分利用数据集,最新的研究继续验证这一假设。图像增强从现有的训练数据中创建新的训练示例。不可能真正捕捉到模型可能被要求看到的每一个真实世界场景的图像。因此,调整现有的训练数据以泛化到其他情况,允许模型从更广泛的情况中学习。
为了防止过拟合,在训练阶段有一个训练集和一个验证集,以及一个测试集,其中包含在训练阶段保留的图像。测试集上的结果是一个模型强度的良好指标。这样就将数据分成了训练集、验证集和测试集。训练集由765张图像组成。
物体检测模型的性能和速度都在迅速提高。直到最近,YOLOv3(2018年4月8日发布)一直是一个受欢迎的选择。YOLO(You Only Look Once)将单个神经网络应用于整个图像。这个网络将图像划分为区域,并为每个区域预测边界框和概率。这些边界框由预测的概率加权。与早期模型相比,YOLO更快,比更快的R-CNN更快。然而,YOLOv3在检测小物体方面有困难。更快的R-CNN可以检测小物体,但它无法实时进行检测,而这正是想要的。
今年,谷歌大脑团队介绍了EfficientDet(2020年4月3日发布)。EfficientDet在模型大小方面表现出良好的性能。模型相对较小。在COCO数据集上,它优于其他基于ConvNet的架构。紧接着,YOLO的新版本YOLOv4(2020年4月23日发布)可用,它已被证明是COCO标准指标上的新物体检测冠军。更近的是(6月9日),YOLOv5发布。与YOLOv4相比,v5甚至更快、更轻量级。用v5训练了模型,训练时间从2小时缩短到20分钟。
在百米标志牌数据集上测试了这四种模型。训练模型需要大量的计算能力。GPU通常可以使训练更快。为了利用GPU,使用Google Colab来训练模型。
模型的真正实力在于现实生活情况:模型在图像中识别百米标志牌的效果如何,速度如何?将模型应用于一段沿着高速公路行驶的视频。以下是YOLOv4模型的结果:
YOLOv4 detecting road signs.
物体检测的世界发展迅速。昨天YOLOv3是最先进的,然后EfficientDet在短时间内提高了结果,但很快就被YOLOv4取代,紧接着是YOLOv5。对来说,YOLOv5是目前的赢家。但根据情况和需要的应用,拥有更多的模型总是有用的。对于自定义对象,构建一个新的物体检测模型相对容易。一个好的训练集是构建一个好的模型的关键。重要的是要构建一个多样化的训练集,包括不同的相机、不同的天气条件和不同的角度,以便模型后来可以适用于广泛的图像。有各种各样的模型可以用于物体检测。检测的结果取决于输入和模型的实际使用。与其他图像中的物体相比,百米标志牌相对较小,但新模型可以相对容易地处理这些物体。