Novel Fast Motion Estimation for Frame RateStructure Conversion
- 格式:pdf
- 大小:291.43 KB
- 文档页数:4
一种去抖动的运动目标检测方法卢志茂;殷梦妮【摘要】在视频图像序列中,经常会遇到摄像机平移、晃动等抖动现象.这些抖动现象会严重干扰对运动目标检测的效果,为了解决这个问题,实现了一种改进的钻石搜索方法的快速块运动估计方法,再经过运动补偿实现了将动态背景向静止背景下的转化,转化后的图像再采用帧间差分法就可以得到运动目标.经实验证明,该方法不仅可以解决基于钻石搜索的块运动估计中存在的过搜索和欠搜索问题;而且还可以有效提高图像运动估计的精度,对运动目标进行准确的检测.%In the video image sequence, jittering is existed in the video, for example the camera shift and shaking. These phenomena seriously affect the delected effect of moving targets. In order to resolve this prohlem, this paper implemented a improved diamond search method to detect moving object. The motion compensation would realize the transformation from dynamic background to static background. Obtained the moving target by using frame differential method, and this experimental result showed that this method could effectively solve the search and owe search problem in the diamond search method, and effectively improved the accuracy of the motion estimation, for moving targets can accurately detect.【期刊名称】《哈尔滨商业大学学报(自然科学版)》【年(卷),期】2012(028)003【总页数】5页(P295-299)【关键词】运动目标检测;钻石搜索法;运动补偿;帧间差分法【作者】卢志茂;殷梦妮【作者单位】哈尔滨工程大学信息与通信工程学院,哈尔滨150001;哈尔滨工程大学信息与通信工程学院,哈尔滨150001【正文语种】中文【中图分类】TP391在视频监控系统中检测运动目标,是计算机视觉研究领域的一个重要课题.当前用于静止背景下运动目标检测的主流方法主要有3种:背景减除法、帧间差分法、光流法[1].但是在大多数情况下无法保证摄像机保持静止,例如风吹等原因造成摄像机发生偏移;当汽车路过,由于震动等原因造成摄像机发生晃动等情况,这些现象统称为视频抖动.由于抖动现象的存在,我们无法再用静止背景下的运动目标检测方法对目标进行检测.通常采用运动估计和运动补偿的方法来对目标进行检测.运动估计的方法是决定运动目标检测好坏的重要环节,当前运动估计的方法主要有以下几个方面:基于光流的方法、基于块的方法、基于特征的方法、像素递归的方法、最大后验概率密度估计方法等[2].其中基于块的运动估计方法由于具有实现简单、计算量小的特点而广泛应用[3].基于块的运动估计方法可以理解为将当前帧图像分为若干块,对当前帧中的每一块,在参考帧的搜索窗口内搜索得到最佳的匹配块.搜索最佳匹配块最准确的方法就是全搜索算法,但由于全搜索算法需对搜索块内所有的像素点进行计算,因此计算时间很长,很难保证实时性.因此,近些年来出现了很多基于块运动估计的改进方法,这些方法都是在保证效果尽量与全搜索方法差不多的情况下,使计算时间能有所提高.例如,文献[3]采用结合灰阶比特平面匹配和菱形搜索策略得到初步的估计结果,然后在其附近再以最小绝对差MAD为测度,使搜索结果更为准确.文献[4]采用将当前帧图像分块,取梯度值总数最大的一块作为背景特征区域块.然后对当前帧的背景特征块使用最小绝对差和匹配准则和3步法搜索策略在前后相邻帧中进行块匹配,以获得背景运动矢量.文献[5]首先将序列图像切分为r×c大小的视频窗口,然后提取窗口内区域图像累积帧间差矩阵的简单统计特征,针对每一帧序列图像,将视频窗口进行分类,把它们划分为运动目标窗口和非运动目标窗口(包括静止背景窗口和波动式干扰窗口),最后将运动目标窗口合并为运动目标.文献[6]在自适应十字搜索块匹配算法的基础上,根据小波域中各图像之间的相关性,提出一种分层块匹配算法——基于小波变换的改进的自适应十字模式搜索算法,该方法在小波变换域完成匹配块的搜索,有效地减少了匹配点的搜索个数.文献[7]采用一种块内降采样的新三步搜索算法,该算法利用图像的局部相似性特征,对搜索块的内部像素采用交叉采样方式做块匹配的运算以降低算法复杂度.尽管众多学者对基于块的运动估计方法进行了不同的改进,但是基于块的运动估计中大多数都是固定搜索模式步长的,若搜索步长太大,会引起不必要的过搜索,导致块运动估计精度下降;若搜索步长过小,则会导致搜索时间变慢.本文采用传统三步法的思想对钻石搜索法的块运动估计的方法进行改进,对具有抖动的视频进行运动目标检测.实验结果表明该方法可以有效解决搜索步长过大或过小,使估计精度提高,对具有抖动的视频目标进行有效检测.1 块运动估计模型运动估计可以理解为同一个目标在两帧图像之间的位置差.在基于块的运动估计中,我们假设块内的每个像素只做平移运动.实际上块内的每个像素点的运动不一定都相同,但是当块选取的较小时,就以将其视为只做平移的运动.1.1 块匹配算法块匹配算法就是将当前帧图像划分为块,针对每一个块,在参考帧中的某一搜索范围内搜索最佳匹配块.其具体做法如图1.图1 块匹配算法图1(A)为当前帧中选定的某一个块,其起始坐标为(p,q).在参考帧中的搜索范围内寻找一个同样大小的最佳匹配块,其运动的向量为(u,v).1.2 最佳匹配准则在搜索范围内寻找一个同样大小的匹配块,可能会不止一个,那么要确定一个最佳匹配块就需要确定最佳匹配块准则.可采用的最佳匹配准则有最小均方误差(MSE)准则和最小平均绝对值差(MAD)准则.1.2.1 最小均方误差(MSE)准则在上述公式中,块的大小为N×N,左上角的坐标为(p,q),运动向量为(u,v),I1和I2分别为当前帧和参考帧.在求得MSE后,最佳匹配块的运动向量为使MSE达到最小的向量,其公式如下:1.2.2 最小平均绝对值差(MAD)准则在实际的计算过程中,为了减少计算量,也经常采用MAD准则,其公式如下:其中变量的定义同上述公式(1),其运动向量(u,v)的定义如下:因最小平均绝对差值(MAD)准则较为简单,因此,本文中采用MAD准则来实现寻找最佳匹配块.1.3 全搜索块匹配算法及图像质量判定的标准全搜索块匹配算法,即在搜索范围内的所有的像素点计算块匹配误差MAD.寻找完最佳匹配块后,得到块运动向量(u,v),经过块运动补偿,来补偿当前帧的局部抖动.经过图像的运动估计和补偿后,可以得到去抖动后的视频图像.得到的视频图像质量的好坏评定标准如下式:上式中,Imax是图像视频信号的峰(最大值),一般取值为255.2 快速的块运动估计算法虽然全搜索块匹配算法在搜索最佳块匹配方面是最准确的[2],但是由于其需要计算每一个像素点的最小误差,耗费许多时间.为此出现了很多快速的块运动估计算法,它们仅仅在搜索的准确度上略微比全搜索块匹配算法有些下降,具体有:二维对数搜索法(2-D logarithmic search,LOGS)、3步搜索法(Three-step search,TSS)、新3步搜索法(New three-step search,NTSS)、4步法(Fourstep search,FSS)、菱形搜索法(Diamond search,DS)等[8].其中,DS 菱形搜索法因其计算快,效果较好等优点被MPEG-4VM所采用.2.1 3步搜索法3步搜索法(TSS),是一种快速的块运动估计算法.它的搜索过程如图2所示.如图2所示,3步搜索法的搜索过程为: 1)先在搜索范围内寻找原点(0,0),以最大搜索长度的一半为搜索步长,计算原点与周围临近8个点的匹配误差,并找到最小匹配误差.2)以此最小匹配误差的点为中心,步长减半,再在周围临近的点中寻找最小匹配误差.图2 3步搜索法示例图3)直到搜索的步长为1时,停止搜索.3步搜索法,在计算的第一步时计算的步长比较大,对于运动较大的序列能快速找到局部的极小值点,计算简单方便.2.2 菱形搜索法菱形搜索法(DS),也是一种快速、高效的块搜索方法.被广泛应用在MPEG-4VM 等应用设备当中.DS搜索方法有两种搜索模式,一种是大菱形块搜索(LDSP);另一种是小菱形块搜索(SDSP),详见图3(A)和(B).两种方法结合在一起使用.其搜索步骤如下所示:图3 菱形搜索法示例图1)将大菱形搜索模块(LDSP)的中心放在搜索范围的原点上,比较大菱形搜索模块(LDSP)上的九个点的匹配误差,如果中心点上的匹配误差最小,则转向步骤3.否则,如果匹配误差最小点在其他的点上,则转向步骤2.2)以上一步找到的匹配误差最小点为中心点,形成新的大菱形搜索模块(LDSP),此时只需再多计算3~5个新的匹配误差点即可.如果最小匹配误差点为中心点,则转向步骤3.否则,重复执行步骤2.3)将大菱形搜索模块(LDSP)转为小菱形搜索模块(SDSP),小菱形搜索模块(SDSP)上最小搜索误差点的坐标为最终求解的运动向量.菱形搜索法的搜索方法示意图如下图2(C)所示.菱形搜索法(DS),计算简单、高效、计算时间短.能广泛用于MPEG-4VM等应用设备当中.3 改进菱形搜索法运动估计虽然菱形搜索法(DS),能计算简单、高效.但若搜索方式和实际的运动图像序列不符时,就会出现过搜索或欠搜索现象.若搜索步长太大,会引起不必要的过搜索,导致块运动估计精度下降;若搜索步长过小,则会导致搜索时间变慢.同时,菱形搜索法在搜索运动步长较大的运动图像时,因其固定的搜索模式,导致菱形搜索法的效果变差.而3步搜索法因其搜索步长较大,所以在运动较快速的视频图像上效果较好,但是在运动速度较慢的视频图像上效果没有菱形搜索法的效果好.因此本文利用3步搜索法的思想来改进菱形搜索法来对含有抖动的图像进行运动估计,之后再采用运动补偿方式将图像去抖动,最后采用帧差法对视频图像进行运动目标检测.本文改进菱形搜索法的处理流程为:1)先在搜索范围内寻找原点(0,0),以最大搜索长度的一半为搜索步长,计算原点与周围临近8个点的匹配误差,并找到最小匹配误差.2)将大菱形搜索模块(LDSP)的中心放在最小匹配误差的点上,比较大菱形搜索模块(LDSP)上的九个点的匹配误差,如果中心点上的匹配误差最小,则转向步骤3.否则,如果匹配误差最小点在其他的点上,则转向步骤3.3)以上一步找到的匹配误差最小点为中心点,形成新的大菱形搜索模块(LDSP),此时只需再多计算3~5个新的匹配误差点即可.如果最小匹配误差点为中心点,则转向步骤4.否则,重复执行步骤3.4)将大菱形搜索模块(LDSP)转为小菱形搜索模块(SDSP),小菱形搜索模块(SDSP)上最小搜索误差点的坐标为最终求解的运动向量.4 实验结果与分析为验证本文提出算法的有效性和鲁棒性,本文选择的测试视频为某城市主干道的视频图像分辨率为320×240、摩托车的视频图像分辨率为176× 144和高速公路测试视频图像分辨率为320×240.本实验在T4200 2.00 GHz CPU、内存2 G的普通PC机上完成,图4~6为本实验采用方法的最终效果图.表1~3为实验分别通过3步搜索法、菱形搜索法与本文采用的方法在平均计算点数、PSNR及计算时间方面作对比.图6 高速公路视频去抖动运动目标检测表1 不同算法中的平均计算点数比较主干道摩托车高速公路TSS 30.4333 3 16.482 3 30.603 3 DS 15.763 3 15.974 1 23.010 0本文方法12.566 7 13.923 6 15.636 7表2 不同算法中的PSNR比较主干道摩托车高速公路TSS/dB 30.179 28.176 8 23.875 7 DS/dB 28.396 3 29.790 1 22.408 3本文方法/dB 30.730 7 29.840 5 25.690 8表3 不同算法中的计算时间比较主干道摩托车高速公路TSS/s 0.375 0 0.421 0 0.375 0 DS/s 0.250 0 0.610 0 0.563 0本文方法/s 0.401 0 0.710 0 0.592 0通过以上对比实验可以看出,虽然本文所采用的方法在计算时间上稍微比三步搜索法和菱形搜索法慢一些,但是在平均搜索点数及PSNR去抖动后的图像效果方面却大大增强.可以有效的去除抖动给视频带来的影响.5 结语针对具有抖动的视频图像不能采用静止背景运动目标检测方法有效的提取出运动目标,同时抖动严重影响了视频图像的质量,本文实现了一种改进的菱形块搜索方法对具有抖动的视频图像进行运动估计,再通过运动补偿有效的将“动”态图像序列转化为静态图像序列,通过帧间差分方法有效检测出运动目标.实验证明,该方法可以有效的去除抖动,同时与传统方法相比,更能有效的提高图像效果质量.参考文献:[1]代科学,李国辉,徐丹,等.监控视频运动目标检测减背景技术的研究现状和展望[J].中国图像图形学报,2006,11 (7):919-925.[2]禹晶,苏开娜.块运动估计的研究进展[J].中国图形图像学报,2007,12(12):2031-2041.[3]罗军,董鸿雁,沈振康.基于位平面匹配和卡尔曼滤波的视频稳定[J].红外与激光工程,2008,37(2):304-307.[4]陆军,李凤玲,姜迈.摄像机运动下的运动目标检测与跟踪[J].哈尔滨工程大学学报,2008,29(8):831-835.[5]周建锋,苏小红,马培军.一种解决波动式干扰影响的序列图像运动目标检测方法[J].电子与信息学报,2010,32 (2):388-393.[6]孙琰癑,何小海,宋海英,等.一种用于视频超分辨率重建的块匹配图像配准方法[J].自动化学报,2011,37(1):37-43.[7]许海峰,赵文庆,孙峥,等.一种基于降采样的块匹配三步搜索改进算法[J].复旦学报:自然科学版,2010,49(6): 653-659.[8]王伟,李伟.基于可变分块尺寸的多模板运动估计算法[J].自动化学报,2009,35(1):34-38.。
x264 core:142 r2431 ac76440Syntax: x264 [options] -o outfile infileInfile can be raw (in which case resolution is required),or YUV4MPEG (*.y4m),or Avisynth if compiled with support (yes).or libav* formats if compiled with lavf support (yes) or ffms support (yes). Outfile type is selected by filename:.264 -> Raw bytestream.mkv -> Matroska.flv -> Flash Video.mp4 -> MP4 if compiled with GPAC or L-SMASH support (lsmash)Output bit depth: 8 (configured at compile time)Options:-h, --help List basic options--longhelp List more options--fullhelp List all optionsExample usage:Constant quality mode:x264 --crf 24 -o <output> <input>Two-pass with a bitrate of 1000kbps:x264 --pass 1 --bitrate 1000 -o <output> <input>x264 --pass 2 --bitrate 1000 -o <output> <input>Lossless:x264 --qp 0 -o <output> <input>Maximum PSNR at the cost of speed and visual quality:x264 --preset placebo --tune psnr -o <output> <input>Constant bitrate at 1000kbps with a 2 second-buffer:x264 --vbv-bufsize 2000 --bitrate 1000 -o <output> <input> Presets:--profile <string> Force the limits of an H.264 profileOverrides all settings.- baseline:--no-8x8dct --bframes 0 --no-cabac--cqm flat --weightp 0No interlaced.No lossless.- main:--no-8x8dct --cqm flatNo lossless.- high:No lossless.- high10:No lossless.Support for bit depth 8-10.- high422:No lossless.Support for bit depth 8-10.Support for 4:2:0/4:2:2 chroma subsampling.- high444:Support for bit depth 8-10.Support for 4:2:0/4:2:2/4:4:4 chroma subsampling.--preset <string> Use a preset to select encoding settings [medium]Overridden by user settings.- ultrafast:--no-8x8dct --aq-mode 0 --b-adapt 0--bframes 0 --no-cabac --no-deblock--no-mbtree --me dia --no-mixed-refs--partitions none --rc-lookahead 0 --ref 1--scenecut 0 --subme 0 --trellis 0--no-weightb --weightp 0- superfast:--no-mbtree --me dia --no-mixed-refs--partitions i8x8,i4x4 --rc-lookahead 0--ref 1 --subme 1 --trellis 0 --weightp 1- veryfast:--no-mixed-refs --rc-lookahead 10--ref 1 --subme 2 --trellis 0 --weightp 1- faster:--no-mixed-refs --rc-lookahead 20--ref 2 --subme 4 --weightp 1- fast:--rc-lookahead 30 --ref 2 --subme 6--weightp 1- medium:Default settings apply.- slow:--b-adapt 2 --direct auto --me umh--rc-lookahead 50 --ref 5 --subme 8- slower:--b-adapt 2 --direct auto --me umh--partitions all --rc-lookahead 60--ref 8 --subme 9 --trellis 2- veryslow:--b-adapt 2 --bframes 8 --direct auto--me umh --merange 24 --partitions all--ref 16 --subme 10 --trellis 2--rc-lookahead 60- placebo:--bframes 16 --b-adapt 2 --direct auto--slow-firstpass --no-fast-pskip--me tesa --merange 24 --partitions all--rc-lookahead 60 --ref 16 --subme 11--trellis 2--tune <string> Tune the settings for a particular type of source or situationOverridden by user settings.Multiple tunings are separated by commas.Only one psy tuning can be used at a time.- film (psy tuning):--deblock -1:-1 --psy-rd <unset>:0.15- animation (psy tuning):--bframes {+2} --deblock 1:1--psy-rd 0.4:<unset> --aq-strength 0.6--ref {Double if >1 else 1}- grain (psy tuning):--aq-strength 0.5 --no-dct-decimate--deadzone-inter 6 --deadzone-intra 6--deblock -2:-2 --ipratio 1.1--pbratio 1.1 --psy-rd <unset>:0.25--qcomp 0.8- stillimage (psy tuning):--aq-strength 1.2 --deblock -3:-3--psy-rd 2.0:0.7- psnr (psy tuning):--aq-mode 0 --no-psy- ssim (psy tuning):--aq-mode 2 --no-psy- fastdecode:--no-cabac --no-deblock --no-weightb--weightp 0- zerolatency:--bframes 0 --force-cfr --no-mbtree--sync-lookahead 0 --sliced-threads--rc-lookahead 0--slow-firstpass Don't force these faster settings with --pass 1: --no-8x8dct --me dia --partitions none--ref 1 --subme {2 if >2 else unchanged}--trellis 0 --fast-pskipFrame-type options:-I, --keyint <integer or "infinite"> Maximum GOP size [250]-i, --min-keyint <integer> Minimum GOP size [auto]--no-scenecut Disable adaptive I-frame decision--scenecut <integer> How aggressively to insert extra I-frames [40]--intra-refresh Use Periodic Intra Refresh instead of IDR frames -b, --bframes <integer> Number of B-frames between I and P [3]--b-adapt <integer> Adaptive B-frame decision method [1]Higher values may lower threading efficiency. - 0: Disabled- 1: Fast- 2: Optimal (slow with high --bframes)--b-bias <integer> Influences how often B-frames are used [0]--b-pyramid <string> Keep some B-frames as references [normal]- none: Disabled- strict: Strictly hierarchical pyramid- normal: Non-strict (not Blu-ray compatible) --open-gop Use recovery points to close GOPsOnly available with b-frames--no-cabac Disable CABAC-r, --ref <integer> Number of reference frames [3]--no-deblock Disable loop filter-f, --deblock <alpha:beta> Loop filter parameters [0:0]--slices <integer> Number of slices per frame; forces rectangularslices and is overridden by other slicing options --slices-max <integer> Absolute maximum slices per frame; overridesslice-max-size/slice-max-mbs when necessary--slice-max-size <integer> Limit the size of each slice in bytes--slice-max-mbs <integer> Limit the size of each slice in macroblocks (max) --slice-min-mbs <integer> Limit the size of each slice in macroblocks (min) --tff Enable interlaced mode (top field first)--bff Enable interlaced mode (bottom field first)--constrained-intra Enable constrained intra prediction.--pulldown <string> Use soft pulldown to change frame rate- none, 22, 32, 64, double, triple, euro (requires cfr input)--fake-interlaced Flag stream as interlaced but encode progressive. Makes it possible to encode 25p and 30p Blu-Raystreams. Ignored in interlaced mode.--frame-packing <integer> For stereoscopic videos define frame arrangement - 0: checkerboard - pixels are alternatively from L and R- 1: column alternation - L and R are interlaced by column- 2: row alternation - L and R are interlaced by row- 3: side by side - L is on the left, R on the right- 4: top bottom - L is on top, R on bottom- 5: frame alternation - one view per frame Ratecontrol:-q, --qp <integer> Force constant QP (0-69, 0=lossless)-B, --bitrate <integer> Set bitrate (kbit/s)--crf <float> Quality-based VBR (0-51) [23.0]--rc-lookahead <integer> Number of frames for frametype lookahead [40]--vbv-maxrate <integer> Max local bitrate (kbit/s) [0]--vbv-bufsize <integer> Set size of the VBV buffer (kbit) [0]--vbv-init <float> Initial VBV buffer occupancy [0.9]--crf-max <float> With CRF+VBV, limit RF to this valueMay cause VBV underflows!--qpmin <integer> Set min QP [0]--qpmax <integer> Set max QP [69]--qpstep <integer> Set max QP step [4]--ratetol <float> Tolerance of ABR ratecontrol and VBV [1.0]--ipratio <float> QP factor between I and P [1.40]--pbratio <float> QP factor between P and B [1.30]--chroma-qp-offset <integer> QP difference between chroma and luma [0]--aq-mode <integer> AQ method [1]- 0: Disabled- 1: Variance AQ (complexity mask)- 2: Auto-variance AQ (experimental)--aq-strength <float> Reduces blocking and blurring in flat andtextured areas. [1.0]-p, --pass <integer> Enable multipass ratecontrol- 1: First pass, creates stats file- 2: Last pass, does not overwrite stats file - 3: Nth pass, overwrites stats file--stats <string> Filename for 2 pass stats ["x264_2pass.log"]--no-mbtree Disable mb-tree ratecontrol.--qcomp <float> QP curve compression [0.60]--cplxblur <float> Reduce fluctuations in QP (before curve compression) [20.0]--qblur <float> Reduce fluctuations in QP (after curve compression) [0.5]--zones <zone0>/<zone1>/... Tweak the bitrate of regions of the videoEach zone is of the form<start frame>,<end frame>,<option>where <option> is eitherq=<integer> (force QP)or b=<float> (bitrate multiplier)--qpfile <string> Force frametypes and QPs for some or all framesFormat of each line: framenumber frametype QPQP is optional (none lets x264 choose). Frametypes: I,i,K,P,B,b.K=<I or i> depending on open-gop settingQPs are restricted by qpmin/qpmax.Analysis:-A, --partitions <string> Partitions to consider ["p8x8,b8x8,i8x8,i4x4"]- p8x8, p4x4, b8x8, i8x8, i4x4- none, all(p4x4 requires p8x8. i8x8 requires --8x8dct.) --direct <string> Direct MV prediction mode ["spatial"]- none, spatial, temporal, auto--no-weightb Disable weighted prediction for B-frames--weightp <integer> Weighted prediction for P-frames [2]- 0: Disabled- 1: Weighted refs- 2: Weighted refs + Duplicates--me <string> Integer pixel motion estimation method ["hex"]- dia: diamond search, radius 1 (fast)- hex: hexagonal search, radius 2- umh: uneven multi-hexagon search- esa: exhaustive search- tesa: hadamard exhaustive search (slow)--merange <integer> Maximum motion vector search range [16]--mvrange <integer> Maximum motion vector length [-1 (auto)]--mvrange-thread <int> Minimum buffer between threads [-1 (auto)]-m, --subme <integer> Subpixel motion estimation and mode decision [7] - 0: fullpel only (not recommended)- 1: SAD mode decision, one qpel iteration- 2: SATD mode decision- 3-5: Progressively more qpel- 6: RD mode decision for I/P-frames- 7: RD mode decision for all frames- 8: RD refinement for I/P-frames- 9: RD refinement for all frames- 10: QP-RD - requires trellis=2, aq-mode>0- 11: Full RD: disable all early terminations --psy-rd <float:float> Strength of psychovisual optimization ["1.0:0.0"] #1: RD (requires subme>=6)#2: Trellis (requires trellis, experimental) --no-psy Disable all visual optimizations that worsenboth PSNR and SSIM.--no-mixed-refs Don't decide references on a per partition basis --no-chroma-me Ignore chroma in motion estimation--no-8x8dct Disable adaptive spatial transform size-t, --trellis <integer> Trellis RD quantization. [1]- 0: disabled- 1: enabled only on the final encode of a MB - 2: enabled on all mode decisions--no-fast-pskip Disables early SKIP detection on P-frames--no-dct-decimate Disables coefficient thresholding on P-frames--nr <integer> Noise reduction [0]--deadzone-inter <int> Set the size of the inter luma quantization deadzone [21]--deadzone-intra <int> Set the size of the intra luma quantization deadzone [11]Deadzones should be in the range 0 - 32.--cqm <string> Preset quant matrices ["flat"]- jvt, flat--cqmfile <string> Read custom quant matrices from a JM-compatible fileOverrides any other --cqm* options.--cqm4 <list> Set all 4x4 quant matricesTakes a comma-separated list of 16 integers. --cqm8 <list> Set all 8x8 quant matricesTakes a comma-separated list of 64 integers. --cqm4i, --cqm4p, --cqm8i, --cqm8p <list>Set both luma and chroma quant matrices--cqm4iy, --cqm4ic, --cqm4py, --cqm4pc <list>Set individual quant matricesVideo Usability Info (Annex E):The VUI settings are not used by the encoder but are merely suggestions tothe playback equipment. See doc/vui.txt for details. Use at your own risk.--overscan <string> Specify crop overscan setting ["undef"]- undef, show, crop--videoformat <string> Specify video format ["undef"]- component, pal, ntsc, secam, mac, undef--range <string> Specify color range ["auto"]- auto, tv, pc--colorprim <string> Specify color primaries ["undef"]- undef, bt709, bt470m, bt470bg, smpte170m,smpte240m, film, bt2020--transfer <string> Specify transfer characteristics ["undef"]- undef, bt709, bt470m, bt470bg, smpte170m,smpte240m, linear, log100, log316,iec61966-2-4, bt1361e, iec61966-2-1,bt2020-10, bt2020-12--colormatrix <string> Specify color matrix setting ["???"]- undef, bt709, fcc, bt470bg, smpte170m,smpte240m, GBR, YCgCo, bt2020nc, bt2020c--chromaloc <integer> Specify chroma sample location (0 to 5) [0]--nal-hrd <string> Signal HRD information (requires vbv-bufsize)- none, vbr, cbr (cbr not allowed in .mp4)--filler Force hard-CBR and generate filler (implied by--nal-hrd cbr)--pic-struct Force pic_struct in Picture Timing SEI--crop-rect <string> Add 'left,top,right,bottom' to the bitstream-level cropping rectangleInput/Output:-o, --output <string> Specify output file--muxer <string> Specify output container format ["auto"]- auto, raw, mkv, flv, mp4--demuxer <string> Specify input container format ["auto"]- auto, raw, y4m, avs, lavf, ffms--input-fmt <string> Specify input file format (requires lavf support) --input-csp <string> Specify input colorspace format for raw input- valid csps for `raw' demuxer:i420, yv12, nv12, i422, yv16, nv16, i444, yv24, bgr, bgra, rgb- valid csps for `lavf' demuxer:yuv420p, yuyv422, rgb24, bgr24, yuv422p,yuv444p, yuv410p, yuv411p, gray, monow, monob, pal8, yuvj420p, yuvj422p, yuvj444p, xvmcmc,xvmcidct, uyvy422, uyyvyy411, bgr8, bgr4,bgr4_byte, rgb8, rgb4, rgb4_byte, nv12, nv21, argb, rgba, abgr, bgra, gray16be, gray16le,yuv440p, yuvj440p, yuva420p, vdpau_h264,vdpau_mpeg1, vdpau_mpeg2, vdpau_wmv3,vdpau_vc1, rgb48be, rgb48le, rgb565be,rgb565le, rgb555be, rgb555le, bgr565be,bgr565le, bgr555be, bgr555le, vaapi_moco,vaapi_idct, vaapi_vld, yuv420p16le,yuv420p16be, yuv422p16le, yuv422p16be,yuv444p16le, yuv444p16be, vdpau_mpeg4,dxva2_vld, rgb444le, rgb444be, bgr444le,bgr444be, gray8a, bgr48be, bgr48le, yuv420p9be, yuv420p9le, yuv420p10be, yuv420p10le,yuv422p10be, yuv422p10le, yuv444p9be,yuv444p9le, yuv444p10be, yuv444p10le,yuv422p9be, yuv422p9le, vda_vld, gbrp, gbrp9be, gbrp9le, gbrp10be, gbrp10le, gbrp16be,gbrp16le, yuva420p9be, yuva420p9le,yuva422p9be, yuva422p9le, yuva444p9be,yuva444p9le, yuva420p10be, yuva420p10le,yuva422p10be, yuva422p10le, yuva444p10be,yuva444p10le, yuva420p16be, yuva420p16le,yuva422p16be, yuva422p16le, yuva444p16be,yuva444p16le, vdpau, xyz12le, xyz12be, nv16,nv20le, nv20be, yvyu422, rgba64be, rgba64le,bgra64be, bgra64le, 0rgb, rgb0, 0bgr, bgr0,yuva444p, yuva422p, yuv420p12be, yuv420p12le, yuv420p14be, yuv420p14le, yuv422p12be,yuv422p12le, yuv422p14be, yuv422p14le,yuv444p12be, yuv444p12le, yuv444p14be,yuv444p14le, gbrp12be, gbrp12le, gbrp14be,gbrp14le, gbrap, gbrap16be, gbrap16le,yuvj411p, bayer_bggr8, bayer_rggb8,bayer_gbrg8, bayer_grbg8, bayer_bggr16le,bayer_bggr16be, bayer_rggb16le, bayer_rggb16be, bayer_gbrg16le, bayer_gbrg16be, bayer_grbg16le, bayer_grbg16be--output-csp <string> Specify output colorspace ["i420"]- i420, i422, i444, rgb--input-depth <integer> Specify input bit depth for raw input--input-range <string> Specify input color range ["auto"]- auto, tv, pc--input-res <intxint> Specify input resolution (width x height)--index <string> Filename for input index file--sar width:height Specify Sample Aspect Ratio--fps <float|rational> Specify framerate--seek <integer> First frame to encode--frames <integer> Maximum number of frames to encode--level <string> Specify level (as defined by Annex A)--bluray-compat Enable compatibility hacks for Blu-ray support--avcintra-class <integer> Use compatibility hacks for AVC-Intra class- 50, 100, 200--stitchable Don't optimize headers based on video contentEnsures ability to recombine a segmented encode-v, --verbose Print stats for each frame--no-progress Don't show the progress indicator while encoding--quiet Quiet Mode--log-level <string> Specify the maximum level of logging ["info"]- none, error, warning, info, debug--psnr Enable PSNR computation--ssim Enable SSIM computation--threads <integer> Force a specific number of threads--lookahead-threads <integer> Force a specific number of lookahead threads --sliced-threads Low-latency but lower-efficiency threading--thread-input Run Avisynth in its own thread--sync-lookahead <integer> Number of buffer frames for threaded lookahead --non-deterministic Slightly improve quality of SMP, at the cost of repeatability--cpu-independent Ensure exact reproducibility across different cpus, as opposed to letting them select different algorithms--asm <integer> Override CPU detection--no-asm Disable all CPU optimizations--opencl Enable use of OpenCL--opencl-clbin <string> Specify path of compiled OpenCL kernel cache--opencl-device <integer> Specify OpenCL device ordinal--dump-yuv <string> Save reconstructed frames--sps-id <integer> Set SPS and PPS id numbers [0]--aud Use access unit delimiters--force-cfr Force constant framerate timestamp generation--tcfile-in <string> Force timestamp generation with timecode file--tcfile-out <string> Output timecode v2 file from input timestamps--timebase <int/int> Specify timebase numerator and denominator<integer> Specify timebase numerator for input timecode file or specify timebase denominator for other input--dts-compress Eliminate initial delay with container DTS hackFiltering:--vf, --video-filter <filter0>/<filter1>/... Apply video filtering to the input fileFilter options may be specified in <filter>:<option>=<value> format.Available filters:crop:left,top,right,bottomremoves pixels from the edges of the frameresize:[width,height][,sar][,fittobox][,csp][,method]resizes frames based on the given criteria:- resolution only: resizes and adapts sar to avoid stretching- sar only: sets the sar and resizes to avoid stretching- resolution and sar: resizes to given resolution and sets the sar - fittobox: resizes the video based on the desired constraints- width, height, both- fittobox and sar: same as above except with specified sar- csp: convert to the given csp. syntax: [name][:depth]- valid csp names [keep current]: i420, yv12, nv12, i422, yv16, nv16, i444, yv24, bgr, bgra, rgb- depth: 8 or 16 bits per pixel [keep current]note: not all depths are supported by all csps.- method: use resizer method ["bicubic"]- fastbilinear, bilinear, bicubic, experimental, point,- area, bicublin, gauss, sinc, lanczos, splineselect_every:step,offset1[,...]apply a selection pattern to input framesstep: the number of frames in the patternoffsets: the offset into the step to select a framesee: /mediawiki/Select#SelectEvery。
运动估计与运动补偿运动补偿是通过先前的局部图像来预测、补偿当前的局部图像,它是减少帧序列冗余信息的有效方法。
运动估计是从视频序列中抽取运动信息的一整套技术。
运动估计与运动补偿技术MPEG-4采用I-VOP、P-VOP、B-VOP三种帧格式来表征不同的运动补偿类型。
它采用了H.263中的半像素搜索(half pixel searching)技术和重叠运动补偿(overlapped motion compensation)技术,同时又引入重复填充(repetitive padding)技术和修改的块(多边形)匹配(modified block(polygon)matching)技术以支持任意形状的VOP区域。
此外,为提高运动估计算法精度,MPEG-4采用了MVFAST(Motion Vector Field Adaptive Search Technique)和改进的PMVFAST(Predictive MVFAST)方法用于运动估计。
对于全局运动估计,则采用了基于特征的快速顽健的FFRGMET(Feature-based Fast and Robust Global Motion Estimation Technique)方法。
编解码器用来减少视频序列中的空域冗余。
它也可以用来进行去交织(deinterlacing)的操作。
定义运动补偿是通过先前的局部图像来预测、补偿当前的局部图像,它是减少帧序列冗余信息的有效方法。
分类包括全局运动补偿和分块运动补偿两类。
运动补偿是一种描述相邻帧(相邻在这里表示在编码关系上相邻,在播放顺序上两帧未必相邻)差别的方法,具体来说是描述前面一帧(相邻在这里表示在编码关系上的前面,在播放顺序上未必在当前帧前面)的每个小块怎样移动到当前帧中的某个位置去。
这种方法经常被视频压缩/视频编解码器用来减少视频序列中的空域冗余。
它也可以用来进行去交织(deinterlacing)的操作。
快速运动去模糊摘要本文介绍了一种针对只几秒钟功夫的大小适中的静态单一影像的快速去模糊方法。
借以引入一种新奇的预测步骤和致力于图像偏导而不是单个像素点,我们在迭代去模糊过程上增加了清晰图像估计和核估计。
在预测步骤中,我们使用简单的图像处理技术从估算出的清晰图像推测出的固定边缘,将单独用于核估计。
使用这种方法,前计算高效高斯可满足对于估量清晰图像的反卷积,而且小的卷积结果还会在预测中被抑制。
对于核估计,我们用图像衍生品表示了优化函数,经减轻共轭梯度法所需的傅立叶变换个数优化计算过数值系统条件,可更加快速收敛。
实验结果表明,我们的方法比前人的工作更好,而且去模糊质量也是比得上的。
GPU(Graphics Processing Unit图像处理器)的安装使用程。
我们还说明了这个规划比起使用单个像素点需要更少的更加促进了进一步的提速,让我们的方法更快满足实际用途。
CR(计算机X成像)序列号:I.4.3[图像处理和计算机视觉]:增强—锐化和去模糊关键词:运动模糊,去模糊,图像恢复1引言运动模糊是很常见的一种引起图像模糊并伴随不可避免的信息损失的情况。
它通常由花大量时间积聚进入光线形成图像的图像传感器的特性造成。
曝光期间,如果相机的图像传感器移动,就会造成图像运动模糊。
如果运动模糊是移位不变的,它可以看作是一个清晰图像与一个运动模糊核的卷积,其中核描述了传感器的踪迹。
然后,去除图像的运动模糊就变成了一个去卷积运算。
在非盲去卷积过程中,已知运动模糊核,问题是运动模糊核从一个模糊变形恢复出清晰图像。
在盲去卷积过程中,模糊核是未知的,清晰图像的恢复就变得更加具有挑战性。
本文中,我们解决了静态单一图像的盲去卷积问题,模糊核与清晰图像都是由输入模糊图像估量出。
单一映像的盲去卷积是一个不适定问题,因为未知事件个数超过了观测数据的个数。
早期的方法在运动模糊核上强加了限制条件,使用了参数化形式[Chen et al. 1996;Chan and Wong 1998; Yitzhaky et al. 1998; Rav-Acha and Peleg2005]。
中国科学技术大学硕士学位论文第三章新一代视频编码标准——H264/AVC得多,从而实现更高效的数据压缩。
量化是一种有损压缩过程,实际上就是将变换的系数除以相应的量化步长后四舍五入取整数。
tt.264/AVC采用的一个重要变换方法是类似DCT变换的4X4整数变换“”:”…,是一种只需加法和移位运算即可实现的低复杂度的精确变换。
同时,H.264/AVC将变换过程的系数缩放运算并入量化过程,并将缩放系数与量化步长联合通过查表实现,既简化了核心变换运算,又避免了量化过程的除法运算。
3.3.1变换的类型H.264/Avc采用各种优化技术提高了预测的效果,但同时对预测误差的编码提出更高的要求,希望预测误差编码无漂移(Drift—Free)。
另外,为了适应更广泛的应用环境,H.264/AVC希望变换只需16一bit运算。
而4X4整数变换很好地满足了以上要求,是H.264/AVC最重要、晟基本的一种变换。
一当宏块采用Intra_16X16预测方式时,由于图象相对平滑,交换后大部分能量集中在Dc系数上。
为了进一步减小Dc系数之间的相关性,将16个(图3.3.1中编号O一15)4X4块的Dc系数构成一个4X4的DC系数块(图3.3.1中编号一1),再进行Hadamard变换处理,以进一步减,j,DC系数之间的相关性。
对于色度分量也作类似处理,得N2个2×25jDC系数块(图3.3.1中编号16—17),然后再进行Hadamard变换。
采用这种分级变换结构进一步提高了压缩效率。
图3.3.144块的扫描顺序以及Dc块的构成”1H.264/AVC共支持3种变换方式,即针对4X4差值信号块的整数变换、针对4X4。
SystemC 的验证方法和流程介绍1 引言当前集成电路制造技术迅速发展,SoC(system-on-chip)设计已经成为集成电路设计的发展方向。
随着SoC 设计的复杂度提高,在开发SoC 的过程中,验证工作越发重要和繁重,所占的开销占据总开销的40%70%。
SoC 设计的验证过程不但影响到芯片的成功设计,而且影响到芯片的上市时间,因此验证的正确性及其耗时的缩短成为了SoC 设计的关键。
传统设计中,系统级设计使用高级语言C/C++等描述功能模块的算法,验证的时候使用硬件描述语言(VHDL 或Verilog HDL)。
系统验证之前必须通过手工将原始的C/C++代码转换为VHDL/Verilog HDL 代码,这个转换过程耗时大并且容易产生错误。
在系统验证过程中,使用传统硬件描述语言对复杂模块的验证需要耗费大量时间。
为了提高系统级验证效率,本文针对视频芯片中的运动估计与补偿单元模块(MECU)提出了基于SystemC 的验证方法和流程。
该方法大大缩短了系统验证的搭建时间和系统验证过程的时间。
本文利用SystemC 支持设计者在不同抽象级建模的特点,给MECU 添加了低抽象级接口,使该单元能够和视频芯片内部其它模型通讯以便完成整个芯片的系统级验证。
本文最后的仿真结果证明了该设计流程的有效性。
2 SystemC 语言SystemC 是由C++衍生而来,本质是在C++的基础上添加了硬件扩展库和仿真核,这使SystemC 可以在不同抽象级对复杂电子系统建模。
它既可以描述纯功能的模型和系统体系结构,又可以描述软硬件的具体实现,进行软硬件的协同验证。
SystemC 包括以下建模元素:*模块(module)相当于C++的类定义,是一个可以多层次的实体。
一个模块可以嵌套其他模块和一些进程,是SystemC 里面最基本的单元。
*进程(process)用来描述模块的功能,包含于模块中。
进程是由事件(event)来触发的,这种触发的方式使进程可以并行执行,实现了硬件系统的并行特性,SystemC 包括三种不同的进程。
融合运动状态信息的高速相关滤波跟踪算法作者:韩锟杨穷千来源:《湖南大学学报·自然科学版》2020年第04期摘要:为解决相关滤波(Discriminative Correlation Filter,DCF)算法在快速运动、遮挡、尺度变化等复杂情景下的跟踪失败问题,提出一种融合运动状态信息的高速相关滤波目标跟踪算法. 在传统DCF算法基础上做出以下改进:(1)在跟踪框架中融入卡尔曼(Kalman)滤波器,利用目标运动状态信息对预测运动轨迹进行修正,以解决目标复杂运动时易跟丢问题,提高跟踪精度;(2)训练一个独立的尺度相关滤波器进行目标尺度预测,并利用主成分分析法(Principal Component Analysis,PCA)进行特征降维处理,提高跟踪速度;(3)提出一种高置信度更新策略判断是否对位置滤波器进行模板更新,以及是否采用Kalman滤波器预测位置作为目标位置. 最后在OTB-100数据集上进行算法测试,提出算法平均精度与成功率分别达到74.8%与69.8%,平均帧率为84.37帧/s. 相较其他几种主流算法,本文算法有效提高跟踪性能,并保证了跟踪速度,满足实时性要求,在遮挡、背景模糊、运动模糊等复杂情况下能够保持良好的跟踪效果.关键词:目标跟踪;相关滤波;卡尔曼滤波;尺度估计;高置信度更新中图分类号:TP391 文献标志码:AAbstract:In order to solve the problem of tracking failure caused by complex scenarios such as fast motion, occlusion and scale variation, a high-speed correlation filtering target tracking algorithm integrating motion state information is proposed. This paper makes three improvements based on the traditional Discriminative Correlation Filter:(1) The Kalman filter is added to the tracking process to modify the predicted position by using the motion state information, so as to deal with the tracking failure caused by fast motion and improve the tracking accuracy; (2) A separate filter for scale estimation is learned and the PCA method for dimension reduction of features is used toimprove the tracking speed. (3) A high-confidence update strategy is proposed to determine whether the position filter is updated and whether the predicted position is transferred to Kalman filter for correction. The algorithm is tested on OTB-100 platform with several state-of-the-art tracking algorithms. Experiments show that our algorithm's average precision and success rate can reach 74.8% and 69.8%, respectively, and the average speed is 84.37 frames per second. Compared with other algorithms, the proposed algorithm can effectively improve the tracking performance, guarantee the tracking speed, and keep good tracking effect under complex conditions such as occlusion,ambiguous background and fast motion.Key words:object tracking;correlation filter;Kalman filter;scale estimation;high-confidence update strategy目標跟踪技术是计算机视觉领域中的重要研究课题,被广泛应用于视频监控、人机交互、机器人等领域. 近年来,目标跟踪方法研究从传统的光流法、均值漂移、粒子滤波等跟踪算法向相关滤波与深度学习的方向发展. Bolme等[1]提出利用图像灰度特征的输出平方误差最小滤波器(Mosse)将相关滤波引入跟踪领域,突破了传统跟踪方法的束缚,以极高的准确性及运行速度受到广泛关注. 但该方法在训练分类器时只能获取有限的训练样本,在此基础上,核循环结构跟踪器[2](CSK)利用循环移位实现稠密采样,显著提高训练样本数量. 为构建更准确的目标表征模型,研究人员将梯度直方图[3](HOG)、颜色名[4](CN),颜色直方图[5](DAT)等人为特征代替灰度特征作为训练相关滤波器的显著特征,提高了算法跟踪稳健性. 为更进一步提高滤波器判别力,多特征融合类[6-7]方法、深度学习类[8-9]方法开始出现,Bhat 等[10]提出的释放深度特征的能量(UPDT)算法将深浅层特征分而治之,并通过最优化融合,得到最优定位结果,此方法有效地提高了算法跟踪性能,但由于计算数据量的增大导致跟踪速度大幅度下降.跟踪过程中在对目标进行准确定位的同时,还需保证跟踪尺度与目标尺度的一致性,自适应尺度变化核相关滤波器[11](Samf)与判别式尺度空间跟踪器[12](DSST)分别提出尺度池与尺度金字塔的思想进行目标尺度估计,提高算法跟踪成功率. 这两种尺度估计策略被广泛应用于后续跟踪算法[7-9]中. 此外在跟踪过程中出现严重遮挡、形变等干扰时,目标表征发生变化,易出现跟踪漂移现象,需及时对跟踪结果优劣进行判断并重新确定目标位置. Wang等[13]提出将平均峰值相关能量APEC(Average Peak-to-CorRelation Energy)与响应图最大峰值Fmax作为模型置信度判定指标,决定是否进行目标表征模板更新,有效抑制跟踪框漂移对跟踪精度的影响. Ma等[14]在跟踪中融入检测算法,判定跟踪失败时,对目标进行重检测,确定目标正确位置,以保证算法长时性的跟踪; 熊昌镇等[15]将重检测与上下文信息相融合提高算法稳定性.上述基于相关滤波跟踪算法的改进都取得了较好的跟踪效果,但同时牺牲了跟踪速度. 而卡尔曼滤波器能够综合利用目标运动状态信息对目标位置进行估计,且相较于多特征融合,深度卷积特征描述计算成本低. 因此本文提出将卡尔曼滤波器引入相关滤波框架,弥补其在由遮挡、超出视野等因素造成的目标丢失情况下跟踪性能的不足,提高跟踪精度,保证跟踪速度.基于以上分析,本文提出一种融合运动状态信息的高速目标跟踪算法,具体改进如下:(1)引入Kalman滤波算法对目标运动状态进行估计,在相关滤波跟踪失败时修正预测位置,提高算法跟踪精度;(2)针对尺度变化问题,训练两个独立的滤波器,即位置滤波器和尺度滤波器,分别实现目标的位置与尺度预测,并采用PCA分解对特征进行降维提高跟踪速度;(3)提出一种高置信度更新策略,采用最大响应Fmax与APEC两个指标衡量外观表征模型置信度,当指标同时达到更新条件时更新位置滤波器,反之则不更新,且将卡尔曼滤波预测位置作为新一帧目标位置. 通过对OTB-100数据集实验测试,证明本文算法相较于其他主流算法跟踪精度高,且具有显著实时性优势.1 相关滤波基本原理传统DCF算法原理为通过给定的一组目标表征样本,学习一个最优的相关滤波器进行相似度度量,来寻找新一帧中的目标位置. DCF算法利用循环矩阵特性进行密集采样,在提高算法精度的同时极大的降低了计算复杂度,同时通过在傅里叶域进行操作计算,使得訓练与检测过程更加高效. DCF跟踪算法主要包括分类器训练、目标位置快速预测、参数更新3部分.1.1 分类器训练相关滤波算法采用岭回归分类器进行位置预测,利用循环移位获取训练样本,提取HOG 特征,通过构建最小化代价函数训练得到最优滤波器h.1.2 快速检测为了更加精确地检测出目标位置,DCF以t-1帧目标位置为中心采集候选区域所有测试样本,通过分类器测试计算其与目标区域相似度,得到响应输出为:1.3 参数更新为保证跟踪滤波器的稳健性与准确性,相关滤波器需在每一帧以固定比例对模型参数进行更新,以适应跟踪过程中目标可能具有的平面旋转、形变等变化.2 算法本文针对DCF算法单一特征描述鲁棒性不强,无法应对目标尺度大幅度变化,在发生快速运动、运动模糊、遮挡等情境下跟踪失败问题,提出一种融合运动状态信息的高速相关滤波跟踪方法. 算法流程如图1所示,主要包括3部分:1)卡尔曼修正;2)快速尺度估计;3)高置信度模板更新. 为保证算法跟踪速度,本文采用PCA特征降维后的HOG特征对目标进行描述,首先利用位置滤波器与尺度滤波器在候选区域提取低维度特征对目标位置与尺度进行估计,并将预测位置作为观测值构建卡尔曼滤波器;再通过高置信度指标对位置预测结果可靠性进行判断,若满足置信度要求,则更新位置滤波器模板,反之不进行模板更新,且将卡尔曼滤波器估计结果作为目标新位置,提高定位精度.2.1 卡尔曼修正相关滤波类算法中没有利用目标的运动状态信息进行位置预测. 而Kalman滤波是一种对随机动态系统状态进行最优估计的方法,联合目标速度与加速度等信息对下一帧位置进行预测,当目标发生快速运动、运动模糊、遮挡等情况时,能更准确地预测出目标位置[17],该方法计算成本低,能实现目标快速跟踪. 本文算法中将相关滤波的预测位置作为观测值构建卡尔曼滤波器,以修正目标运动轨迹,在不影响跟踪速度的前提下提高跟踪精度.卡尔曼滤波器的预测思想为通过构建目标动力学模型,联合上一帧估计值对目标当前帧状态预测,并将当前帧观测值作为反馈对预测状态进行修正,得到最优估计. 在第一帧初始化Kalman滤波器,获取目标中心点真实坐标与坐标轴上的速度分量构建初始状态向量,Kalman 滤波器两个状态方程为:2.2 特征降维与尺度估计2.2.1 特征降维在DCF算法中,提取HOG特征(33维)对目标进行描述. 为提高算法跟踪速度,本文提出对特征进行降维处理. 降维问题可表述为对当前帧d维表征模型ut找到一个合适的降维映射矩阵Pt([d][~] × d),进而得到新的[d][~]维的特征描述向量[u][~]t . 通过对当前模型重建误差最小化构造[d][~] × d映射矩阵Pt .2.2.2 尺度估计在DCF算法中,目标跟踪框的大小是恒定不变的,运动过程中,目标尺度变大,固定尺寸的目标框只能获得目标局部特征,而目标尺度变小时,跟踪框内背景信息比例增大,将对目标表征信息产生干扰. 本文借鉴DSST[12]算法,构建一个一维尺度滤波器,单独对目标尺度进行预测,自适应调整目标框的大小.跟踪过程中在对目标进行准确定位的同时,还需保证跟踪尺度与目标尺度的一致性,自适应尺度变化核相关滤波器[11](Samf)与判别式尺度空间跟踪器[12](DSST)分别提出尺度池与尺度金字塔的思想进行目标尺度估计,提高算法跟踪成功率. 这两种尺度估计策略被广泛应用于后续跟踪算法[7-9]中. 此外在跟踪过程中出现严重遮挡、形变等干扰时,目标表征发生变化,易出现跟踪漂移现象,需及时对跟踪结果优劣进行判断并重新确定目标位置. Wang等[13]提出将平均峰值相关能量APEC(Average Peak-to-CorRelation Energy)与响应图最大峰值Fmax作为模型置信度判定指标,决定是否进行目标表征模板更新,有效抑制跟踪框漂移对跟踪精度的影响. Ma等[14]在跟踪中融入检测算法,判定跟踪失败时,对目标进行重检测,确定目标正确位置,以保证算法长时性的跟踪; 熊昌镇等[15]将重检测与上下文信息相融合提高算法稳定性.上述基于相关滤波跟踪算法的改进都取得了较好的跟踪效果,但同时牺牲了跟踪速度. 而卡尔曼滤波器能够综合利用目标运动状态信息对目标位置进行估计,且相较于多特征融合,深度卷积特征描述计算成本低. 因此本文提出将卡尔曼滤波器引入相关滤波框架,弥补其在由遮挡、超出视野等因素造成的目标丢失情况下跟踪性能的不足,提高跟踪精度,保证跟踪速度.基于以上分析,本文提出一种融合运动状态信息的高速目标跟踪算法,具体改进如下:(1)引入Kalman滤波算法对目标运动状态进行估计,在相关滤波跟踪失败时修正预测位置,提高算法跟踪精度;(2)针对尺度变化问题,训练两个独立的滤波器,即位置滤波器和尺度滤波器,分别实现目标的位置与尺度预测,并采用PCA分解对特征进行降维提高跟踪速度;(3)提出一种高置信度更新策略,采用最大响应Fmax与APEC两个指标衡量外观表征模型置信度,当指标同时达到更新条件时更新位置滤波器,反之则不更新,且将卡尔曼滤波预测位置作为新一帧目标位置. 通过对OTB-100数据集实验测试,证明本文算法相较于其他主流算法跟踪精度高,且具有显著实时性优势.1 相关滤波基本原理传统DCF算法原理为通过给定的一组目标表征样本,学习一个最优的相关滤波器进行相似度度量,来寻找新一帧中的目标位置. DCF算法利用循环矩阵特性进行密集采样,在提高算法精度的同时极大的降低了计算复杂度,同时通过在傅里叶域进行操作计算,使得训练与检测过程更加高效. DCF跟踪算法主要包括分类器训练、目标位置快速预测、参数更新3部分.1.1 分类器训练相关滤波算法采用岭回归分类器进行位置预测,利用循环移位获取训练样本,提取HOG 特征,通过构建最小化代价函数训练得到最优滤波器h.1.2 快速檢测为了更加精确地检测出目标位置,DCF以t-1帧目标位置为中心采集候选区域所有测试样本,通过分类器测试计算其与目标区域相似度,得到响应输出为:1.3 参数更新为保证跟踪滤波器的稳健性与准确性,相关滤波器需在每一帧以固定比例对模型参数进行更新,以适应跟踪过程中目标可能具有的平面旋转、形变等变化.2 算法本文针对DCF算法单一特征描述鲁棒性不强,无法应对目标尺度大幅度变化,在发生快速运动、运动模糊、遮挡等情境下跟踪失败问题,提出一种融合运动状态信息的高速相关滤波跟踪方法. 算法流程如图1所示,主要包括3部分:1)卡尔曼修正;2)快速尺度估计;3)高置信度模板更新. 为保证算法跟踪速度,本文采用PCA特征降维后的HOG特征对目标进行描述,首先利用位置滤波器与尺度滤波器在候选区域提取低维度特征对目标位置与尺度进行估计,并将预测位置作为观测值构建卡尔曼滤波器;再通过高置信度指标对位置预测结果可靠性进行判断,若满足置信度要求,则更新位置滤波器模板,反之不进行模板更新,且将卡尔曼滤波器估计结果作为目标新位置,提高定位精度.2.1 卡尔曼修正相关滤波类算法中没有利用目标的运动状态信息进行位置预测. 而Kalman滤波是一种对随机动态系统状态进行最优估计的方法,联合目标速度与加速度等信息对下一帧位置进行预测,当目标发生快速运动、运动模糊、遮挡等情况时,能更准确地预测出目标位置[17],该方法计算成本低,能实现目标快速跟踪. 本文算法中将相关滤波的预测位置作为观测值构建卡尔曼滤波器,以修正目标运动轨迹,在不影响跟踪速度的前提下提高跟踪精度.卡尔曼滤波器的预测思想为通过构建目标动力学模型,联合上一帧估计值对目标当前帧状态预测,并将当前帧观测值作为反馈对预测状态进行修正,得到最优估计. 在第一帧初始化Kalman滤波器,获取目标中心点真实坐标与坐标轴上的速度分量构建初始状态向量,Kalman 滤波器两个状态方程为:2.2 特征降维与尺度估计2.2.1 特征降维在DCF算法中,提取HOG特征(33维)对目标进行描述. 为提高算法跟踪速度,本文提出对特征进行降维处理. 降维问题可表述为对当前帧d维表征模型ut找到一个合适的降维映射矩阵Pt([d][~] × d),进而得到新的[d][~]维的特征描述向量[u][~]t . 通过对当前模型重建误差最小化构造[d][~] × d映射矩阵Pt .2.2.2 尺度估计在DCF算法中,目标跟踪框的大小是恒定不变的,运动过程中,目标尺度变大,固定尺寸的目标框只能获得目标局部特征,而目标尺度变小时,跟踪框内背景信息比例增大,将对目标表征信息产生干扰. 本文借鉴DSST[12]算法,构建一个一维尺度滤波器,单独对目标尺度进行预测,自适应调整目标框的大小.跟踪过程中在对目标进行准确定位的同时,还需保证跟踪尺度与目标尺度的一致性,自适应尺度变化核相关滤波器[11](Samf)与判别式尺度空间跟踪器[12](DSST)分别提出尺度池与尺度金字塔的思想进行目标尺度估计,提高算法跟踪成功率. 这两种尺度估计策略被广泛应用于后续跟踪算法[7-9]中. 此外在跟踪过程中出现严重遮挡、形变等干扰时,目标表征发生变化,易出现跟踪漂移现象,需及时对跟踪结果优劣进行判断并重新确定目标位置. Wang等[13]提出将平均峰值相关能量APEC(Average Peak-to-CorRelation Energy)与响应图最大峰值Fmax作为模型置信度判定指标,决定是否进行目标表征模板更新,有效抑制跟踪框漂移对跟踪精度的影响. Ma等[14]在跟踪中融入检测算法,判定跟踪失败时,对目标进行重检测,确定目标正确位置,以保证算法长时性的跟踪; 熊昌镇等[15]将重检测与上下文信息相融合提高算法稳定性.上述基于相关滤波跟踪算法的改进都取得了较好的跟踪效果,但同时牺牲了跟踪速度. 而卡尔曼滤波器能够综合利用目标运动状态信息对目标位置进行估计,且相较于多特征融合,深度卷积特征描述计算成本低. 因此本文提出将卡尔曼滤波器引入相关滤波框架,弥补其在由遮挡、超出视野等因素造成的目标丢失情况下跟踪性能的不足,提高跟踪精度,保证跟踪速度.基于以上分析,本文提出一种融合运动状态信息的高速目标跟踪算法,具体改进如下:(1)引入Kalman滤波算法对目标运动状态进行估计,在相关滤波跟踪失败时修正预测位置,提高算法跟踪精度;(2)针对尺度变化问题,训练两个独立的滤波器,即位置滤波器和尺度滤波器,分别实现目标的位置与尺度预测,并采用PCA分解对特征进行降维提高跟踪速度;(3)提出一种高置信度更新策略,采用最大响应Fmax与APEC两个指标衡量外观表征模型置信度,当指标同时达到更新条件时更新位置滤波器,反之则不更新,且将卡尔曼滤波预测位置作为新一帧目标位置. 通过对OTB-100数据集实验测试,证明本文算法相较于其他主流算法跟踪精度高,且具有显著实时性优势.1 相关滤波基本原理传统DCF算法原理为通过给定的一组目标表征样本,学习一个最优的相关滤波器进行相似度度量,来寻找新一帧中的目标位置. DCF算法利用循环矩阵特性进行密集采样,在提高算法精度的同时极大的降低了计算复杂度,同时通过在傅里叶域进行操作计算,使得训练与检测过程更加高效. DCF跟踪算法主要包括分类器训练、目标位置快速预测、参数更新3部分.1.1 分类器训练相关滤波算法采用岭回归分类器进行位置预测,利用循环移位获取训练样本,提取HOG 特征,通过构建最小化代价函数训练得到最优滤波器h.1.2 快速检测为了更加精确地检测出目标位置,DCF以t-1帧目标位置为中心采集候选区域所有测试样本,通过分类器测试计算其与目标区域相似度,得到响应输出为:1.3 参数更新为保证跟踪滤波器的稳健性与准确性,相关滤波器需在每一帧以固定比例对模型参数进行更新,以适应跟踪过程中目标可能具有的平面旋转、形变等变化.2 算法本文针对DCF算法单一特征描述鲁棒性不强,无法应对目标尺度大幅度变化,在发生快速运动、运动模糊、遮挡等情境下跟踪失败问题,提出一种融合运动状态信息的高速相关滤波跟踪方法. 算法流程如图1所示,主要包括3部分:1)卡尔曼修正;2)快速尺度估计;3)高置信度模板更新. 为保证算法跟踪速度,本文采用PCA特征降维后的HOG特征对目标进行描述,首先利用位置滤波器与尺度滤波器在候选区域提取低维度特征对目标位置与尺度进行估计,并将预测位置作为观测值构建卡尔曼滤波器;再通过高置信度指标对位置预测结果可靠性进行判断,若满足置信度要求,则更新位置滤波器模板,反之不进行模板更新,且将卡尔曼滤波器估计结果作为目标新位置,提高定位精度.2.1 卡尔曼修正相关滤波类算法中没有利用目标的运动状态信息进行位置预测. 而Kalman滤波是一种对随机动态系統状态进行最优估计的方法,联合目标速度与加速度等信息对下一帧位置进行预测,当目标发生快速运动、运动模糊、遮挡等情况时,能更准确地预测出目标位置[17],该方法计算成本低,能实现目标快速跟踪. 本文算法中将相关滤波的预测位置作为观测值构建卡尔曼滤波器,以修正目标运动轨迹,在不影响跟踪速度的前提下提高跟踪精度.卡尔曼滤波器的预测思想为通过构建目标动力学模型,联合上一帧估计值对目标当前帧状态预测,并将当前帧观测值作为反馈对预测状态进行修正,得到最优估计. 在第一帧初始化Kalman滤波器,获取目标中心点真实坐标与坐标轴上的速度分量构建初始状态向量,Kalman 滤波器两个状态方程为:2.2 特征降维与尺度估计2.2.1 特征降维在DCF算法中,提取HOG特征(33维)对目标进行描述. 为提高算法跟踪速度,本文提出对特征进行降维处理. 降维问题可表述为对当前帧d维表征模型ut找到一个合适的降维映射矩阵Pt([d][~] × d),进而得到新的[d][~]维的特征描述向量[u][~]t . 通过对当前模型重建误差最小化构造[d][~] × d映射矩阵Pt .2.2.2 尺度估计在DCF算法中,目标跟踪框的大小是恒定不变的,运动过程中,目标尺度变大,固定尺寸的目标框只能获得目标局部特征,而目标尺度变小时,跟踪框内背景信息比例增大,将对目标表征信息产生干扰. 本文借鉴DSST[12]算法,构建一个一维尺度滤波器,单独对目标尺度进行预测,自适应调整目标框的大小.跟踪过程中在对目标进行准确定位的同时,还需保证跟踪尺度与目标尺度的一致性,自适应尺度变化核相关滤波器[11](Samf)与判别式尺度空间跟踪器[12](DSST)分别提出尺度池与尺度金字塔的思想进行目标尺度估计,提高算法跟踪成功率. 这两种尺度估计策略被广泛应用于后续跟踪算法[7-9]中. 此外在跟踪过程中出现严重遮挡、形变等干扰时,目标表征发生变化,易出现跟踪漂移现象,需及时对跟踪结果优劣进行判断并重新确定目标位置. Wang等[13]提出将平均峰值相关能量APEC(Average Peak-to-CorRelation Energy)与响应图最大峰值Fmax作为模型置信度判定指标,决定是否进行目标表征模板更新,有效抑制跟踪框漂移对跟踪精度的影响. Ma等[14]在跟踪中融入检测算法,判定跟踪失败时,对目标进行重检测,确定目标正确位置,以保证算法长时性的跟踪; 熊昌镇等[15]将重检测与上下文信息相融合提高算法稳定性.上述基于相关滤波跟踪算法的改进都取得了较好的跟踪效果,但同时牺牲了跟踪速度. 而卡尔曼滤波器能够综合利用目标运动状态信息对目标位置进行估计,且相较于多特征融合,深度卷积特征描述计算成本低. 因此本文提出将卡尔曼滤波器引入相关滤波框架,弥补其在由遮挡、超出视野等因素造成的目标丢失情况下跟踪性能的不足,提高跟踪精度,保证跟踪速度.基于以上分析,本文提出一种融合运动状态信息的高速目标跟踪算法,具体改进如下:(1)引入Kalman滤波算法对目标运动状态进行估计,在相关滤波跟踪失败时修正预测位置,提高算法跟踪精度;(2)针对尺度变化问题,训练两个独立的滤波器,即位置滤波器和尺度滤波器,分别实现目标的位置与尺度预测,并采用PCA分解对特征进行降维提高跟踪速度;(3)提出一种高置信度更新策略,采用最大响应Fmax与APEC两个指标衡量外观表征模型置信度,当指标同时达到更新条件时更新位置滤波器,反之则不更新,且将卡尔曼滤波预测位置作为新一帧目标位置. 通过对OTB-100数据集实验测试,证明本文算法相较于其他主流算法跟踪精度高,且具有显著实时性优势.1 相关滤波基本原理。
MediaCoder全攻略教程安装后记得打上处理器性能提升的补丁。
虽然没测试过提升效率,总也聊胜于无打开后,去除热情的提醒,关掉弹出网页,主界面如下:如果有一定基础的,按照图中提醒,将界面模式调成专家模式。
完了点击settings,按照图中所示,将Scale Algorithm改为lanczos。
一般而言默认的Bilinear效率高一点,一般播放器都是用的bilinear算法。
但是画质并不完美。
如果是做DVDRip/BDRip,或者是其他高质量转码,还是建议用lanczosResize。
毕竟转码过程中,花在resize上的时间微不足道。
点击add添加文件,点击start开始转码这里就不多讲了。
下面挨个介绍地下那么多标签卡的设置选项:预览:就是让你边转码边看。
直接off掉,省的占用运算。
任务:默认即可,优先级一项可以选higher,并行优化不要动。
系统会自动分配多核心优化的视频:这个是重点。
我们一项一项来讲:首先点击启用是肯定的,随后在格式栏选择H.264,编码器取消“自动选择”和“GPU”选项,选择X264。
来源勾选自动选择就好紧接着讲一下X264两种不同模式:平均码率模式:设置一个平均码率,然后X264编码出来的文件会大致在那个码率下。
优点是便于控制文件体积大小。
缺点有两个:1、你不知道为片源分配多大码率合适;2、同码率下质量一般劣于固定质量模式。
所以,这里强力推荐大家选择固定质量模式。
接下来就是设置视频质量了。
这个数字越大,视频质量越好,文件体积一般也就越大,但是对于编码时间影响甚小。
在这个值固定前提下,视频质量随后续参数改变变化不大,但是文件体积较为依赖后续参数。
对于老鸟:这里的视频质量如果设定值为x,那么crf=50-x/2 对于新手这么讲: 一般设定为48-64是你想要看的。
更小更合适的范围是57-62。
如果想要绝对好的质量可以提高到68。
如果是做收藏级别的BDRip可以选用71甚至更高。