Femto Bolt has invalid color camera intrinsics

The Femto Bolt camera I received recently (firmware v1.0.3) has invalid color camera intrinsics. E.g. ppx is 0, fx & fy are also 0. This causes errors, like the ones in the log below. Please advise, how to fix this issue?

[2023-10-18 19:23:37.831] [error] [t=7952] C:\Users\daiyin\Desktop\K4a-Wrapper\OrbbecSDK-K4A-Wrapper\src\transformation\intrinsic_transformation.c (284): fx > 0.f && fy > 0.f returned failure in transformation_unproject_internal()
[2023-10-18 19:23:37.833] [error] [t=7952] C:\Users\daiyin\Desktop\K4a-Wrapper\OrbbecSDK-K4A-Wrapper\src\transformation\intrinsic_transformation.c (288): transformation_unproject_internal(). Expect both fx and fy are larger than 0, actual values are fx: 0.000000, fy: 0.000000.
[2023-10-18 19:23:37.833] [error] [t=7952] C:\Users\daiyin\Desktop\K4a-Wrapper\OrbbecSDK-K4A-Wrapper\src\transformation\intrinsic_transformation.c (345): transformation_unproject_internal(camera_calibration, point2d, point3d, valid) returned failure in transformation_unproject()
[2023-10-18 19:23:37.833] [error] [t=7952] C:\Users\daiyin\Desktop\K4a-Wrapper\OrbbecSDK-K4A-Wrapper\src\transformation\transformation.c (204): transformation_unproject( &calibration->color_camera_calibration, source_point2d, source_depth, target_point3d, valid) returned failure in transformation_2d_to_3d()
[2023-10-18 19:23:37.833] [error] [t=7952] C:\Users\daiyin\Desktop\K4a-Wrapper\OrbbecSDK-K4A-Wrapper\src\transformation\transformation.c (521): transformation_2d_to_3d(calibration, point2d, 1.f, camera, camera, point3d, &valid) returned failure in transformation_init_xy_tables()
[2023-10-18 19:23:37.833] [error] [t=7952] C:\Users\daiyin\Desktop\K4a-Wrapper\OrbbecSDK-K4A-Wrapper\src\transformation\transformation.c (565): transformation_init_xy_tables(calibration, camera, *buffer, &xy_tables_data_size, xy_tables) returned failure in transformation_allocate_xy_tables()
[2023-10-18 19:23:37.833] [error] [t=7952] C:\Users\daiyin\Desktop\K4a-Wrapper\OrbbecSDK-K4A-Wrapper\src\transformation\transformation.c (605): transformation_allocate_xy_tables(&transformation_context->calibration, K4A_CALIBRATION_TYPE_COLOR, &transformation_context->memory_color_camera_xy_tables, &transformation_context->color_camera_xy_tables) returned failure in transformation_create()

You can download the latest Orbbec K4A wrapper from orbbec websites to test.

These messages are from the latest K4A wrapper (v1.8.1).

This is part of the raw camera calibration json that comes from the sensor (returned by ob_device_get_raw_data()-method of Orbbec SDK). See the first 4 numbers (cx, cy, fx, fy). These wrong values cause the issue in the K4A-wrapper. By the way, the same values for Mega look very different.

                "Intrinsics": {
                    "ModelParameterCount": 14,
                    "ModelParameters": [
                        0.00026041666666666666,
                        0.49593349032931855,
                        0,
                        0,
                        0.07838775217533112,
                        -0.10702186077833176,
                        0.04423115774989128,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0.0004238738620188087,
                        -0.0004479083581827581
                    ],
                    "ModelType": "CALIBRATION_LensDistortionModelRational6KT"
                },
                "Location": "CALIBRATION_CameraLocationPV0",
                "Purpose": "CALIBRATION_CameraPurposePhotoVideo",

So, I suppose the error is either in the device’s firmware or in Orbbec SDK. On the other hand, Orbbec Viewer v1.8.1 reports correct RGB camera intrinsics, but its reported depth camera intrinsics are wrong.

You can contact Orbbec to request upgrade latest FW version

1 Like

If need upgrade FemtoBlot FW version, you can visit https://github.com/orbbec/OrbbecFirmware/releases/tag/Femto-Bolt-Firmware;

1 Like