性能指标

本章节为您提供VP性能数据测试平台的使用方法说明,并为您展示性能数据结果统计供参考。

测试平台

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

  • 测试开发板:J6开发板。
  • 系统软件:LNX-PL4.0-DB-20240517 release 20240517-185435 release。
  • 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)             
flip1920x1080 Y, y-axis101411371.1
cvtColor1920x1080 Y, rgb dst: y179520691.2
resize1920x1080 Y, xScale=1.5 yScale=1.5,
interpolation=HB_VP_INTER_LINEAR
188227131.4
boxFilter1920x1080 Y, kernelHW=3x3115819921.7
canny1920x1080 Y, kernelSize=3, threshold1=100, threshold2=40011298213711.9
remap1920x1080 nv12, interpolation=HB_VP_INTER_LINEARDSP: 10646
GDC: 3569
20287DSP: 1.9
GDC: 5.3
transpose1920x1080 Y112923322.1
medianBlur1920x1080 Y, maskWidth=732670676812.1
warpAffine1920x1080 nv12, scale=1.0, rotate=45, translate=0236049182.1
gaussianBlur1920x1080 Y, kernelSize=3, sigmaX=0, sigmaY=0114924902.2
equalizeHist1920x1080 Y134935072.6
stitch640x480 nv12, stitch num=4369969Stitch:2.6
pyrUp1920x1080 Y255168572.7
rotate1920x1080 Y, rotateCode=HB_VP_ROTATE_90_CLOCKWISE113436093.2
laplacianFilter1920x1080 Y, kernelSize=3, normalize=0150153463.6
pyrDown1920x1080 nv12, DSP:interpolation=gaussian PYM:interpolation=HB_VP_INTER_LINEARDSP: 1211
PYM(normal): 1996
PYM(low): 2905
5243DSP: 4.3
PYM(normal): 2.6
PYM(low): 1.8
lkof1920x1080 nv12, pyrLevel=5, winSize=7, criteriaEpsilon=0, maxIteration=5, minEigThreshold=1e-4127677016.0
cornerHarris1920x1080 Y, blockSize=3, sensitivity=0.04, kernelSize=34616297376.442
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]2085204579.8
sepFilter2D1920x1080 Y, kernelHW=1x511811291510.9
bilateralFilter1920x1080 Y, kernelSize=5, sigmaColor=15, sigmaSpace=245745561012.2
filter2D1920x1080 Y, kernelHW=5x514522293815.8
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--