0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用光流 + CNN的方法来预测车辆的速度

新机器视觉 来源:新机器视觉 作者:Sharif Elfouly 2020-11-27 09:05 次阅读

导读

使用光流 + CNN的方法来预测车辆的速度,用PyTorch实现,有代码。

代码:https://github.com/SharifElfouly/vehicle-speed-estimation

我想要解决的问题是:在一辆车里有一个摄像头,我想知道车开得有多快。你显然不能看速度表,只能看视频片段本身。深度学习魔法应该能帮助我们。

数据

我有两个不同的视频。一个用于训练,另一个用于测试。训练视频有20399帧,测试视频有10797帧。视频下载地址:https://github.com/commaai/speedchallenge。下面是一些例子:

视频中的样本图像

训练视频的标签是a .txt文件,其中每一行对应于特定帧的速度。

方法

这个问题最有趣的地方是你的神经网络输入会是什么样子。仅从一个静态图像计算速度是不可能的。一种有效的方法是将两个或更多的图像堆叠在一起,或者像LSTM或Transformer那样连续地堆叠。另一个是计算光流,我决定用它。

什么是光流?它基本上是一种为每个像素计算矢量的方法,告诉你两幅图像之间的相对运动。有一个很棒的computerphile视频:https://www.youtube.com/watch?v=4v_keMNROv4,你可以了解更多细节。有一些“经典”的计算机视觉算法可以用来计算光流,但深度学习已经变得更好了(这一点也不奇怪)。那么什么是SOTA方法,让我们看看paperswithcode:

RAFT 看起来不错,它还有PyTorch的实现。我forked原始存储库,并使其更简单一些。我不需要训练,评估等等。我只会用它来推理。

计算光流

为了进行推断,网络将两幅图像拼接起来,并预测了一个维度为*(2, image_height, image_width)*的张量。如前所述,图像中的每个像素对应一个二维向量。我们将在实际训练中使用这些文件,因此我们将它们保存为.npy文件。如果你想象光流图像它会是这样的:

训练

记住我们训练的目的:

光流→模型→车速估计

我选择的模型是EfficientNet。我非常喜欢它,因为它的可扩展性。它有8个不同的版本供你选择,最大的一个,EfficientNet-B7仍然非常非常好。你可以从一个像B0这样的小变体开始,然后如果一切工作正常,你有一个足够好的GPU,你可以选择一个更大的。还有一个PyTorch库,我会使用它来非常容易地加载预先训练好的网络模型,地址:https://github.com/lukemelas/effecentnet-PyTorch。如果你打开[train.ipynb](https://github.com/sharifelfouly/vehicle-speed - estimate),你就可以看到训练是如何运作的。

我总是从B0开始,然后放大到B3,因为我的GPU只有6 GB内存。经过训练,我得到如下结果(loss为均方误差):

训练损失

验证损失

很好,看起来一切都很正常!训练和验证损失都在降低,网络没有过拟合。

结果如下:

虽然不完美,但它确实有一些用

总结

我通常不太喜欢特征工程,但我认为在这种情况下它做得很好。下一步是尝试一些序列化的东西,比如Transformer或LSTM。

英文原文:https://medium.com/@selfouly/vehicle-speed-estimation-from-video-using-deep-learning-18b41babda4c

责任编辑:xj

原文标题:使用深度学习从视频中估计车辆的速度

文章出处:【微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8434

    浏览量

    132875
  • 深度学习
    +关注

    关注

    73

    文章

    5511

    浏览量

    121376
  • cnn
    cnn
    +关注

    关注

    3

    文章

    353

    浏览量

    22278

原文标题:使用深度学习从视频中估计车辆的速度

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    车辆电子档案系统

    在高阶自动驾驶场景和MaaS(Mobility as a Service)业务中,自动驾驶车辆的状态直接关系到整体运营的安全和效率。因此,拥有一套多维度预测、分析车辆指标的电子档案系统显得尤为重要
    的头像 发表于 01-10 11:52 724次阅读
    <b class='flag-5'>车辆</b>电子档案系统

    基于移动自回归的时序扩散预测模型

    在人工智能领域,目前有很多工作采用自回归方法来模拟或是替代扩散模型,其中视觉自回归建模(Visual AutoRegressive modeling,简称 VAR)就是其中的典型代表,该工作利用自
    的头像 发表于 01-03 14:05 159次阅读
    基于移动自回归的时序扩散<b class='flag-5'>预测</b>模型

    理解ECU数据的分析方法

    随着汽车电子化程度的提高,ECU在车辆中扮演的角色越来越重要。它们不仅控制着发动机管理、变速箱、制动系统等关键功能,还涉及到车辆的舒适性和安全性。 ECU数据分析的重要性 故障诊断 :通过
    的头像 发表于 11-05 11:07 512次阅读

    一种创新的动态轨迹预测方法

    本文提出了一种动态轨迹预测方法,通过结合历史帧和历史预测结果提高预测的稳定性和准确性。它引入了历史预测
    的头像 发表于 10-28 14:34 483次阅读
    一种创新的动态轨迹<b class='flag-5'>预测</b><b class='flag-5'>方法</b>

    晶闸管电路中采用什么的方法来实现过保护

    晶闸管(Thyristor)是一种四层三端半导体器件,也称为硅控整流器(SCR)。它具有单向导电性,常用于交流电路中的整流、调压、无触点开关等应用。由于晶闸管在导通后不受控制,因此需要采取过
    的头像 发表于 09-30 17:09 515次阅读

    THS4551是否可以通过在Vocm引脚处接入电阻调整分压比例的方法来配置输出共模电压?

    引脚处接入电阻调整分压比例的方法来配置输出共模电压。 打个比方,比如 Vs+ = 5V,Vs- = 0V (PD常On)时,是否可以如下图所示,通过在Vocm和Vs-间接入300k电阻将输出信号共模电压调整值1.66V左右。
    发表于 08-06 07:14

    低成本微控芯片的加工与键合方法

    的微控芯片加工方法。其中,使用SU—8光刻胶作为模具对PDMS进行模塑成型较为常见,将SU—8光刻胶旋涂在硅片上并进行光刻,根据不同型号SU—8光刻胶和旋涂速度的控制,其厚度可以在十几到一两百微米范围内自由调节;将PDMS主剂
    的头像 发表于 07-23 16:46 815次阅读
    低成本微<b class='flag-5'>流</b>控芯片的加工与键合<b class='flag-5'>方法</b>

    CNN的定义和优势

    卷积神经网络(Convolutional Neural Networks, CNN)作为深度学习领域的核心成员,不仅在学术界引起了广泛关注,更在工业界尤其是计算机视觉领域展现出了巨大的应用价值。关于
    的头像 发表于 07-05 17:37 4372次阅读

    干货分享 数据记录仪自动测量与记录加速度:振动,颠簸,冲击和定位

    什么是加速度数据记录仪?我们如何记录振动?颠簸或冲击是什么意思?我们可以使用什么方法来检测因冲击而造成的货物损坏?“快速峰值”是什么意思?一篇文章让你弄懂所有问题!
    的头像 发表于 07-04 14:46 426次阅读
    干货分享  数据记录仪自动测量与记录加<b class='flag-5'>速度</b>:振动,颠簸,冲击和定位

    cnn卷积神经网络分类有哪些

    卷积神经网络(CNN)是一种深度学习模型,广泛应用于图像分类、目标检测、语义分割等领域。本文将详细介绍CNN在分类任务中的应用,包括基本结构、关键技术、常见网络架构以及实际应用案例。 引言 1.1
    的头像 发表于 07-03 09:28 690次阅读

    常见的电机速度控制方法

      电机速度控制是电机应用领域的核心技术之一,它直接关系到电机运行效率、稳定性和使用寿命。随着电机技术的不断发展,电机速度控制方法也日益多样化。本文将从电机速度控制的基本原理出发,详细
    的头像 发表于 06-19 11:50 1875次阅读

    使用psoc 4100s控制器和capsense csx测量方法来实现传感器,如何从Capsense调谐器读取idac值?

    我使用 psoc 4100s 控制器和 capsense csx 测量方法来实现传感器。 到目前为止,代码和其他一切正常。 为了计算 idac 电流, ,我需要 idac 值和 idac 增益因子
    发表于 05-30 06:08

    AD8338有没有可行的方法来测量大增益?

    AD8338是一款VGA芯片,可变增益范围为-10dB至70dB。然而,理论上的70dB增益过大,导致来自源的输入信号非常小,容易受到干扰,导致70dB增益未得到验证。有没有可行的方法来测量大增益?
    发表于 05-21 07:06

    如果是使用六步方波的方法来控制电机,要如何实现过电流保护?

    请问一下如果是使用六步方波的方法来控制电机,要如何实现过电流保护? 以免电流过大造成板子损坏
    发表于 04-22 08:10

    看一下通过采用HPC方法来解决汽车行业工程挑战的两个具体实例

    大家可能都知道,将Ansys解决方案与高性能计算(HPC)相结合,可带来巨大的投资回报(ROI)。接下来,让我们来看一下通过采用HPC方法来解决汽车行业工程挑战的两个具体实例。
    的头像 发表于 03-12 14:29 615次阅读