Performance Indicator

This section provides you with instructions on how to use the VP performance data testing platform and shows you the performance data result statistics for reference.

Test Platform

Test conditions (hardware and software platform requirements):

  • Test development board: J6 development board.
  • System software: LNX5.10_REL_CS_PL3.0_2022081003 release.
  • OpenCV version: 3.4.5.
  • OpenCV runtime environment: A78 single-threaded.

Test Method

  • Performance test method: Since the time consumed to run the operator will fluctuate, here we take the average performance data of 100 runs of the operator.
  • Test time with steady_clock.
std::chrono::duration_cast<std::chrono::microseconds>(std::chrono::steady_clock::now().time_since_epoch()).count();
  • Data description:
    • Task time: from the creation of the containing task (e.g. hbVPBilateralFilter) to the end of the releasing task (hbUCPReleaseTask).
    • Baseline Time: OpenCV execution time
    • Ratio: Baseline Avg / Task Avg
  • Error assessment: the error is mainly caused by the interpolation implementation in the algorithm, edge processing, and the type of computational data is different from some of the processes, the following metrics can be used to assess the error.
    • MaxAbsDev: absolute deviation of the maximum pixel value.
    • SumAbsDev: sum of absolute deviations of pixel values.
    • MSE: Mean square error of pixel value.

Performance Comparison

Note

The image size used for DSP GDC test is 1080P(1920x1080), Codec(3840x2160), Lkof(1080P), Stitch(Input 2 sheets 320x320, Output 640x640), Pyramid(Input 1080P, Output 960x540). The performance of pyramid core 2 is about 2/3 of core 0/1.

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--