marek-simonik / record3d

Accompanying library for the Record3D iOS app (https://record3d.app/). Allows you to receive RGBD stream from iOS devices with TrueDepth camera(s).
https://record3d.app/
GNU Lesser General Public License v2.1
382 stars 55 forks source link

Strange LiDAR intrinsics #18

Closed blackccpie closed 3 years ago

blackccpie commented 3 years ago

Hi,

I have a strange behavior with my iPad Pro when inspecting the intrinsics of LiDAR frames I receive through USB streaming: the fx, fy, tx & ty parameters are not constant over time, they change depending on the scene... which I find quite strange. Is that a normal behavior? Also, the frame resolution is 192x256, and the tx/ty values are around 366 and 476 respectively, which is also strange because the should not exceed frame resolution. Am I missing something?

In comparison, with FaceID camera, intrinsincs are consistent compared to frame resolution, and constant over time.

Thanks for your help,

Regards

Albert

PS: I'm using C++ Record3DStream class.

marek-simonik commented 3 years ago

Hi Albert,

thank you for reporting this bug, it has been fixed now — please update to Record3D 1.6 or newer and download the newest version of the record3d library.

In the newest update of Record3D and the record3d library, the provided intrinsic parameters are the intrinsic parameters of the RGB image. In case you would stream with the "Higher-quality LiDAR recording" option enabled (turn on/off in the Settings tab), you will need to either:

Let me know in case it would not work for you.

Best regards, Marek

blackccpie commented 3 years ago

Hi Marek,

Thanks for the new release, everything is working fine now. As discussed with you, the non-constant intrinsics values may be related to camera autofocus. Do you think autofocus enable/disable could be an option included in the record3d app?

Regards

Albert

marek-simonik commented 3 years ago

Hi Albert,

yes, in a future update, I will add a switch into the Settings section, which will allow you to toggle autofocus.

Best regards, Marek

saurabheights commented 12 months ago

@marek-simonik As per your comment above, shouldnt documentation for get_intrinsic_mat be "Returns the intrinsic matrix of current rgb frame." instead of "Returns the intrinsic matrix of current Depth frame."

See https://github.com/marek-simonik/record3d/blob/master/python-bindings/src/PythonBindings.cpp#L46