您现在的位置是:主页 > 汽车电子 >


嵌入式平台下的车辆跟踪系统设计

2020-04-22 23:53汽车电子 人已围观

简介基于NVIDIAJetsonTX2的车辆跟踪系统设计与以往的车辆跟踪系统设计有很大的不同,在本设计中实现超高清4K视频实时编码和传输,在视频编码中使用了高效率视频编码(HighEfficiencyVideoCodin...

  基于NVIDIAJetsonTX2的车辆跟踪系统设计与以往的车辆跟踪系统设计有很大的不同,在本设计中实现超高清4K视频实时编码和传输,在视频编码中使用了高效率视频编码(HighEfficiencyVideoCoding,HEVC),HEVC在相同的主观条件下与H.264/AVC相比,编码码率可以节省50%以上。硬件编码器编码速率也要比PC端x265编码器大超过3个数量级。因此,本设计的跟踪系统更加能适用于以后的智能交通发展。
  
  本设计充分利用了HEVC编码的优势来为后续的检测跟踪带来优质的视频资料,再利用YoloV2、Meanshift、Kalman算法实现对车辆的准确跟踪。同时,在检测跟踪的质量和实时性方面也能够满足目前市场的应用需求。
  

  1开发平台介绍

  
  1.1硬件平台
  
  2017年3月8日,NVIDIA发布了JetsonTX2,JetsonTX2作为JetsonTX1的升级版与TX1相比最大的性能优势就是采用了NVIDIA最新研发的TegraParker处理器。在前代的基础上增加了2个自主研发的NVIDIADenver2CPU核心,能够支持实时超高清视频编解码。它具备JetsonTX1模块的所有功能。因其强大的性能、低功耗、外形小巧,非常适合基于嵌入式的多媒体领域。

  1.2软件平台

  JetsonTX2的软件平台包含了很多种标准硬件接口,可以在包含高性能计算与低功耗的应用场合下更方便灵活地进行平台扩展和设计。该软件平台由内核、根文件、应用软件等构成。
  

  2系统实现

  
  2.1环境搭建
  
  先搭建JetsonTX2的开发环境。本文所使用的开发环境为:PC使用64位Ubuntu16.04操作系统,JetsonSDK的版本为JetPack3.2。首先在Ubuntu主机端运行JetsonSDK,进行下载工作,再进行烧写,最后检验JetsonTX2上的系统开发环境是否已经搭建完毕。
  
  2.2系统设计
  
  设计并实现了NVIDIA嵌入式平台上的车辆跟踪检测系统,系统总体框图如图1所示。
  图1 系统总体框图
  图1 系统总体框图
  
  利用JetsonTX2的板载相机获取YUV420格式帧率为60f/s的视频数据,送给TegraParker的硬件HEVC编码器将其压缩为H265码流;对输出码流进行实时传输协议(Real-timeTransportProtocol,RTP)打包,打包完成后通过用户数据报协议(UserDatagramProtocol,UDP)广播发送,然后进行接收和解码。根据设计功能的需求,本设计的车辆图像处理算法主要分为两部分,第一部分是对视频中的车辆进行检测操作,使用的是YoloV2检测算法;第二部分是在检测到的车辆基础上进行跟踪操作,跟踪的算法使用的是Kalman位置预测与Meanshift跟踪相配合的方法。
  
  2.3功能模块实现
  
  2.3.1获取视频数据
  
  本文选择利用Argus来获取原始视频数据,Argus可以输出EGL-Stream图像数据或者DMABuffer文件描述符,可以把DMABuffer看做一块共享内存。Argus还可以调用ISP进行图像的去噪、边缘增强等图像预处理工作。本文利用Argus捕获视频数据的流程图如图2所示。
 
  图2 Argus相机数据采集
  图2 Argus相机数据采集
  
  2.3.2HEVC编码器配置
  
  TegraParker处理器内有一个视频编码器,相对于H.264在同等清晰度的前提下少一半的码率,从而节省存储空间和带宽,可以减少投入的成本,而速度是其200倍以上,且能
  
  够支持帧率为60f/s的HEVC实时编码。存储设计视频编码器的输入输出的缓存队列长度都设置为10。HEVC视频编码器只支持YUV420M的格式,输入缓存队列使用存储于DMAbuffer的视频数据,输出的缓存队列输出CPUbuffer。流程图如图3所示。
 
  图3 HEVC编码器流程图
  图3HEVC编码器流程图
  
  2.3.3RTP封装
  
  H.265码流RTP协议是一种实时传输标准,其设计的目的是为了支持网络实时传输服务。H.265码流由NALU序列组成,RTP协议封装和传输H.265码流实际上就是NALU的封装和传输。链路层的载荷数据有最大传输单元限制,当传输的数据超过这个最大输出单元时,将无法进行正常的传输,按照以太网对RTP包大小的限制,正常情况下不能超过1472B,超过1472B后将无法正常进行传输。
  
  2.3.4上位机取流解码

  本设计利用Gstreamer来开发接收、解码、播放程序。Gstreamer程序从网口接收RTP数据包,接收到数据包之后传送到HEVC上进行软件解码后播放显示。
  
  UDP接收RTP数据包,进行解包,经过解包后的数据为H.265原始码流,利用H265parse对码流分析,再将H.265原始码流送给avdec_H265解码。最后,将解码后的视频数据送到xvimagesink实现视频播放。
  
  2.3.5车辆的检测与跟踪
  
  针对之前一系列处理得到的视频影像,需要进行算法程序的操作,对视频中的汽车先进行检测,此时使用YoloV2检测算法,将检测到的汽车轮廓信息作为后续跟踪算法的输入。经过YoloV2检测完成后,得到了一个序列,将这个序列作为基础序列,针对跟踪检测算法,首先监测出一个汽车轮廓,针对已有的汽车轮廓使用Meanshift方法得到当前车辆的真实位置,如图4所示。
  图4 车辆的检测与跟踪设计
  图4车辆的检测与跟踪设计
  
  进入到视频中的汽车,系统首先对汽车的外框信息保存到跟踪器中,再提取一个汽车的外框与之前保存的外框信息进行相似度比对,如果信息重叠则立即更新Kalman预测模型,预测此车辆的大体活动位置,再利用Meanshift得到正确的位置,在视频中用框标注出跟踪汽车,直到汽车消失在视频中,系统会自动删除其外框信息。如果在相似度对比时跟踪器中没有与此汽车信息相同的外框信息,则把此信息自动添加到跟踪器中,进行后续操作。设定Xi(i=1…n)为目标车辆外框空间坐标,根据利用Meanshift将得到目标车辆的外框信息直方图及候选车外框的坐标直方图分别表示为p=[p1p2p3…pm]T、q(z)=[q1(z)q2(z)q3(z)…qm(z)]T,m为颜色空间直方图区间个数。目标车辆外框信息的直方图公式为:
  
  公式1
  
  其中,u=1,2,…,m,g(x)是核函数,h为框半径,δui是克罗内克函数,Ch是归一化常量,满足
  
  公式
  
  为候选目标坐标,它的直方图公式为:
  
  公式2
  
  其中,z(x,y)为候选目标的坐标。S(z)是巴氏系数,具有如下公式:
  
  公式3
  
  根据式(1)~式(3)计算出S(z),S(z)的值在0~1之间,S(z)值越大,两个模型越相似。

Tags:

标签云