Hi!
Hi I am very new to computer vision and currently testing with OAK-D-PRO-POE-AF
I got a few weeks ago, and tried to use it for image analysis and capture.
In my use case, I don't need a higher resolution but I require the highest possible fps, so I set the RGB camera to THE_1080_P
(which, to my knowledge, is the lowest resolution for the OAK-D-PRO-POE-AF
).
However, I tried several pipelines and found that the fps is not always 60.
Could you help me to check if it’s expected or I did something wrong?
You can find each scenario’s test code here:
Scenario 1:
cam_rgb.video.link(xout_rgb.input)
, use video as input, and the FPS is around 30 only.Scenario 2:
cam_rgb.preview.link(xout_rgb.input)
, a very simple RGB preview, fps is around 60.Scenario 3: Save encoded video stream into mp4 container, basically follow the example here, and the result
video.mp4
is 60 fps.(I verify with following commandffprobe -v error -select_streams v:0 -count_packets -show_entries stream=avg_frame_rate -of default=noprint_wrappers=1:nokey=1 ./video.mp4
, and the result is: 250000000/4163437 = 60 fps)Scenario 4: similar to scenario 3 as I still save encoded video stream into mp4 container, but I add mono left, mono right camera and also create two XLinkOuts to preview their streamings. The
video.mp4
is around 35 fps only, and on left mono camera preview window I can see its fps is around 30.
Scenario 5: similar to scenario 4 but I add
stereo_depth
after left mono and right mono cameras. Thevideo.mp4
is around 40 fps only, and on depth preview window the fps is around 30.
My desired use case:
Higher fps, resolution doesn't need to be too high (I know that
OAK-D Pro PoE OV9782
should better fit my use case)
Ability to save video only when an object is detected, for example: save 5 seconds before AND after when a person is detected walking by
Need to determine the depth of this object
If you have any better suggestions for pipeline design, please let me know!