性能指标

本章节为您提供VP性能测试说明,并为您展示性能数据结果统计供参考。

测试平台

测试条件(硬件及软件平台要求):

  • 测试开发板:J6开发板,linux操作系统。
  • 系统软件:LNX-PL4.0-DB-20240822 release 20240822-222755。
  • OpenCV版本:3.4.5。
  • OpenCV运行环境:A78单线程。

测试方法

  • 性能测试方法:因算子运行耗时会有波动,所以这里我们取用算子运行100次的平均值性能数据。
  • 使用steady_clock测试时间
std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::steady_clock::now().time_since_epoch()).count();
  • 数据说明:
    • Task时间:从包含任务创建(例如:hbVPBilateralFilter)到释放任务结束(hbUCPReleaseTask)
    • Baseline时间:OpenCV执行时间
    • Ratio:Baseline Avg / Task Avg
  • 误差评估:误差主要是由算法中的插值实现、边缘处理以及计算数据类型与部分过程不同而导致,如下几个指标可用于对误差进行评估。
    • MaxAbsDev:最大像素值绝对值偏差
    • SumAbsDev:像素值绝对值偏差总和
    • MSE: 像素值均方误差

性能对比

注解

DSP GDC 测试用的图像尺寸为1080P(1920x1080),Codec(3840x2160)、Lkof(1080P)、Stitch(输入 2 张 320x320,输出 640x640 )、Pyramid(输入1080p, 输出 960x540)。其中pyramid core 2 的性能约为core 0/1 的 2/3。

AlgorithmParametersVision processes(us)           OpenCV 3.4.5 A78(us)Ratio(default DSP)             
bilateralFilter1920x1080 Y, kernelSize=5, sigmaColor=15, sigmaSpace=240005517613.8
boxFilter1920x1080 Y, kernelHW=3x351019563.833
cornerHarris1920x1080 Y, blockSize=3, sensitivity=0.04, kernelSize=33624272137.509
cvtColor1920x1080 RGB, dst: y93920662.2
dilate1920x1080 Y, kernelHW=3x35376081.1
equalizeHist1920x1080 Y87153006.084
erode1920x1080 Y, kernelHW=3x35346101.1
filter2D1920x1080 Y, kernelHW=5x511442288720.0
flip1920x1080 Y, y-axis49511272.28
gaussianBlur1920x1080 Y, kernelSize=3, sigmaX=0, sigmaY=050824604.8
integral1920x1080 Y, y-axis110112931.175
laplacianFilter1920x1080 Y, kernelSize=3, normalize=083653346.37
lkof1920x1080 nv12, pyrLevel=5, winSize=7, criteriaEpsilon=0, maxIteration=5, minEigThreshold=1e-477874299.5
medianBlur1920x1080 Y, maskWidth=724632778323.16
pyrDown1920x1080 nv12, DSP:interpolation=gaussian PYM:interpolation=HB_VP_INTER_LINEARDSP: 839
PYM(normal): 1996
PYM(low): 2905
5253DSP: 6.258
PYM(normal): 2.6
PYM(low): 1.8
pyrUp1920x1080 Y107568496.366
remap1920x1080 nv12, interpolation=HB_VP_INTER_LINEARDSP: 10646
GDC: 3569
20287DSP: 1.9
GDC: 5.3
resize1920x1080 Y, xScale=1.5 yScale=1.5,
interpolation=HB_VP_INTER_LINEAR
96026922.8
rotate1920x1080 Y, rotateCode=HB_VP_ROTATE_90_CLOCKWISE55833826.06
sepFilter2D1920x1080 Y, kernelHW=1x55511283123.2
sobel1920x1080 Y, kernelSize=3, scale=1, delta=0, dx=1, dy=0118518401.55
transpose1920x1080 Y55723164.15
warpAffine1920x1080 nv12, scale=1.0, rotate=45, translate=0106454335.1
warpPerspective1920x1080 Y, interpolation=HB_VP_INTER_LINEAR, transformMatrix=[0.9, 0.05, 15.0, 0.05, 0.9, 15.0, 0.0001, 0.0001, 1.1]19232043510.6
stitch640x480 nv12, stitch num=4369969Stitch:2.6
jpegDecode3840x2160 src: jpg, dst: nv127398127983Codec: 17.3
jpegEncode3840x2160 src: nv12, dst: jpg9271212206Codec: 22.9
H265Decode3840x2160 src: h.265, dst: nv129390--
H265Encode3840x2160 src: nv12, dst: h.26510800--
H264Decode3840x2160 src: h.264, dst: nv1211104--
H264Encode3840x2160 src: nv12, dst: h.26410251--