Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

OpticalFlowPyrLK performance

mancita
Beginner
264 Views
We have executed the example 14-5 of the Manual Image Processing (vol.2) to test OpticalFlowPyrLK with the Yosemite (images of 252x316 pixels). We have used the following values for the input parameters:
(1) A Gaussian kernel of length 5: 151, 21186, 5319, 2186, 151
(2) Levels from 1 to 3 (numLevel)
(3) rate =2
(4) winSize of 3, 5 and 7
(5) numIter of 1,2 and 3
(6) Theshold=0
(7) prevPt is initialized by using:
for (i=0;i prevPt.x=i%roiSize.width; prevPt.y= i/roiSize.width;
}
Then, the flow is obtained for all the pixels.
(8) nextPt is equal than prevPt.
We obtain 2879.2 cycles per pixel (in the input image) with a Gaussian filter of length 5, numLevel=1, numIter=1, winSize=3 (cycles of the processor clock obtained with instruction rdtsc). This is a high value. With other combination the number of cycles is yet higher.
Nevertheless, with the IPPtest programps_ippcvem64t.exe we obtain 10 , 6, or 2 clocks per element (depends on the input parameters) for images of 256x256 pixels.
What are we doing wrong? Is the source code for ps_ippcvem64t.exe available? We cannot reproduce the clocks per element of this test (we suppose clocks per element are cycles per pixel in this context).

Thanks
0 Kudos
1 Reply
Igor_B_Intel1
Employee
263 Views
Hi,
IPPtest program ps_ippcvem64t.exe returns clocks per element (pixel) per feature point. So toreproduce it tou should devide your time by numFeat parameter.

Igor

0 Kudos
Reply