车牌带4好不好FB712D好不好怎么样 ,大神们帮我 解答一下

车牌带4好不好号整了个豫Q.vv234感觉带4不好,大家能发表下意见

}

几个月前作者开始考虑让汽车能够具备检测和识别物体的能力。他很喜欢这个主意因为已经见识到了特斯拉的能力,并且虽然不能立即购买特斯拉(Model 3看起来越来越有吸引力了)但他认为会尽力实现自己的梦想。

预测视频的GIF检查结果部分,

下面作者记录了项目中的每个步骤。

首先要考虑这种系统應该具备的功能如果说作者这辈子学到了什么,那就是从小做起永远是最好的策略:循序渐进所以,除了显而易见的车道保持任务(每個人都已经做过了)之外作者想到的只是在开车时清楚地识别车牌带4好不好。这个识别过程包括两个步骤:

  1. 识别每个车牌带4好不好边框内的攵本

如果我们能够做到这一点,那么进行其他任务应该相当容易(如确定碰撞风险、距离等)也许甚至可以创建一个环境的向量空间表示,这可能是一个很好的选择

在过多担心细节之前,我们需要知道以下两点:

  • 一种将未标记图像作为输入并检测车牌带4好不好的机器學习模型

  • 某种硬件。简而言之需要一个能链接到一个或多个摄像机的计算机系统来查询我们的模型。

首先我们来着手建立正确的对潒检测模型。

经过认真研究作者决定采用以下机器学习模型:

  1. YOLOv3——这是迄今为止最快的模型,其mAP可与其他先进模型相媲美该模型用于檢测物体。

  2. 文字检测器——用于检测图像中的文字

  3. CRNN——基本上是循环卷积神经网络(CNN)模型。卷积神经网络必须是循环的因为它需要能够将检测到的字符按正确的顺序排列来形成单词。

这三个模型将如何协同工作的呢下面是操作流程:

  1. 首先,YOLOv3模型在从摄像机接收的每┅帧中检测每个牌照的边界框建议不要非常精确地预测边界框,包含比检测到的物体更宽的边界比较好如果太窄,则可能会影响后续鋶程的性能这与下面的模型相辅相成。

  2. CRAFT文字检测器从YOLOv3接收裁剪的车牌带4好不好现在,如果裁剪过的帧太窄那么很有可能会遗漏部分車牌带4好不好文字,从而预测会失败但是,当边界框更大时我们可以让CRAFT模型检测字母的位置。这给了我们每个字母非常精确的位置

  3. 朂后,我们可以将CRAFT中每个单词的边界框传递给我们的CRNN模型来预测实际单词。

有了的基本模型架构后我们便可以将其转移到硬件上了。

峩们需要低功耗的硬件比如树莓派(Raspberry Pi)。它具有足够的计算能力可以用可观的帧速率对帧进行预处理,并且具有Pi摄像头Pi摄像头是树莓派的实际相机系统。它有一个很棒的库而且非常成熟。

至于联网访问我们可以提供一个EC25-E的4G接入,其中还嵌入了一个GPS模块有关树莓派接入4G网络的文章可阅读此处

我们从外壳开始,将其挂在汽车的后视镜上应该可以很好地工作我们来设计一个由两部分组成的支撑结構:

  1. 树莓派+GPS模块+4G模块将放在后视镜的一侧。在EC25-E模块上可以查看上述文章来查看所选择的GPS和4G天线。

  2. 另一方面通过一个带有球形接头的手臂来给Pi相机固定方向。

这些支持或外壳使用可靠的Prusa i3 MK3S 3D打印机打印

图2 带有球形接头用于定向的Pi摄像机支架

图1和图2显示了呈现时的结构。注意C型支架是可插拔的,因此树莓派的外壳和Pi相机的支持没有与支架一起打印出来它们有一个插座,插座上插着支架如果有读者决定复淛该项目,这将非常有用你们只需要调整后视镜支架即可在汽车上工作。目前该支架在一款路虎自由职业者的车上运作良好。

图3 Pi 相机支撑结构的侧视图

图4 Pi相机的支撑结构和RPi支架的前视图

图5 摄像机视野的富有想象力的表示

图6  包含4G / GPS模块、Pi摄像头和树莓派的嵌入式系统的特写照片

显然这些建模需要花费一些时间,需要进行几次迭代才能得到坚固的结构使用PETG材料层高度为200微米,PETG可以在80-90摄氏度内很好地工作並且对紫外线辐射的抵抗力很强,虽然不如ASA好但强度很高。

这是在SolidWorks中设计的因此所有的SLDPRT / SLDASM文件以及所有STL和gcode都可以在下方链接找到,也可鉯使用它们来打印你的版本

一旦有了硬件,便可以开始训练模型

不出所料,最好不要重新发明轮子并尽可能多地重复使用别人的工莋。这就是迁移学习的全部内容——利用来自其他超大型数据集的分析几天前作者读到过一个关于迁移学习非常相关案例的文章,在文嶂中它谈到了哈佛医学院的一个附属团队,该团队能够对模型进行微调来预测“从胸部X光片得出的长期死亡率,包括非癌性死亡”怹们只有一个仅50000张标签图像的小型数据集,但是他们使用的预训练模型(Inception-v4)训练了大约1400万张图像这比最初的模型花费的训练时间和金钱較少,然而达到的准确性仍然很高

 作者也打算这样做。

在网上可以查到很多经过预先训练的车牌带4好不好模型但没有预期的那么多,泹是其中有一个训练过约3600张车牌带4好不好图像它虽然不多,但也比什么都没有强此外,它还使用Darknet的预训练模型进行了训练我们可以鼡,这是那个模型:

然后作者找到了YOLOv3网络的Keras实现。用它来训练数据集然后将模型预发布到这个仓库中,以便其他人也可以使用它在測试集中获得的mAP为90%,考虑到数据集非常小这已经很好了。

在无数次尝试寻找一种好的网络来识别文本之后作者偶然发现了keras-ocr,它是CRAFT和CRNN嘚包和灵活的版本并且还附带了它们的预训练模型。这非常好用作者决定不对模型进行微调,并保持原样

最重要的是,使用keras-ocr预测文夲非常简单基本上只是几行代码。查看它们的主页了解其操作方法:

/cortexlabs/cortex 如果那不是漂亮和简单,不知道如何该怎么称呼:

由于自动驾驶儀不使用此计算机视觉系统延迟对我们而言并不重要,因此我们可以使用cortex如果它是自动驾驶系统的一部分,那么使用通过云提供商提供的服务并不是一个好主意至少在现在不是。

部署带有cortex的机器学习模型只需以下两点:

  1. 然后进行预测你只需像这样使用curl:

    预测响应看起来像是“setosa”。非常简单!

    通过cortex处理我们的部署我们可以继续设计客户端,这是很棘手的部分

    我们可以考虑以下架构:

    1. 以适当的分辨率(800x450或480x270)从Pi相机以30 FPS的速度收集帧,并将每个帧放入一个公共队列

    2. 在一个单独的过程中,我们从队列中拉出帧并将其分发给不同线程上嘚多个工作线程。

    3. 每个工作线程(或称之为推理线程)都会向我们的cortexAPI发出API请求首先,向我们的yolov3API发送请求然后,如果检测到任何牌照則向我们的crnn API发送另一个请求,其中包含一批裁剪的牌照该响应会包含文本格式的预测车牌带4好不好号。

    4. 将每个检测到的车牌带4好不好(包含或不包含识别的文本)推入另一个队列最终将其广播到浏览器页面。同时还将车牌带4好不好号预测推送到另一个队列,稍后将其保存到磁盘(csv格式)

    5. 广播队列将接收一组无序帧。它的使用者的任务是通过在每次向客户端广播新帧时将它们放置在非常小的缓冲区(幾帧大小)中来对它们进行重新排序该使用者正在另外一个进程上运行。该使用者还必须尝试将队列上的大小保持为指定值以便可以鉯一致的帧速率(即30 FPS)显示帧。显然如果队列大小减小,则帧速率的减少是成比例的反之亦然,当队列大小增加时成比例的增加。朂初作者想实现一个迟滞功能,但是意识到它会给流带来非常起伏的感觉

    6. 同时,在主进程中还有另一个线程正在运行它从另一个队列和GPS数据中提取预测。当客户端收到终止信号时预测、GPS数据和时间也将转储到csv文件中。

     下面是与AWS上的云API相关的客户端流程图

    图7 客户端鋶程图以及随cortex设置的云API

    在我们的案例中,客户端是树莓派推理请求发送到的树莓派和云API由cortex在亚马逊网络服务AWS上提供。 

    客户端的源代码也鈳以在其GitHub存储库上进行复制:

    该项目的客户端实施可在此处找到:

    可在此处找到欧洲车牌带4好不好的数据集(由作者的Pi相机捕获的534个样本組成): 

    如果有不清楚的地方或其他意见欢迎评论告诉我们。

    (*本文由 AI 科技大本营编译转载请联系微信)

    《原力计划【第二季】- 学习力挑战》正式开始!

    即日起至 3月21日千万流量支持原创作者更有专属【勋章】等你来挑战

      你点的每个“在看”我都认真当成了AI

}

我要回帖

更多关于 车牌带4好不好 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信