Cone Calibration unsuccessful

Dear ImFusion Support,

I am using the Cone Calibration plugin for 2 perpendicular sweeps with a linear probe.
However, I get the error: [ConeCalibrationAlgorithm] RANSAC didn’t find any calibration.

I mention that I compile the plugin and then in the GUI I select the 2 US sweeps and choose Ultrasound > Cone Calibration (github). I run the algorithm with the default parameters.

These are the full logs:

[Python] No python version specified, please configure one in the settings.
[AlgorithmFactory] Cannot register algorithm CT;Reconstruction. Algorithm with same name has already been registered.
[Base.Framework] Available Plugins: ImFusionRGB-D, ImFusionSeg, ImFusionVision, ImFusionImageMath, ImFusionAS, ImFusionClarius, ImFusionPython, ImFusionReg, ImFusionStream, ImFusionLiveUS, TorchPlugin, ImFusionCT, ImFusionNDITracking, ImFusionAtracsys, ImFusionDicom, ImFusionUS, ImFusionML.
[Base.Framework] Available Plugins: ImFusionRGB-D, ImFusionSeg, ImFusionVision, ImFusionImageMath, ImFusionAS, ImFusionClarius, ImFusionPython, ImFusionReg, ImFusionStream, ImFusionLiveUS, TorchPlugin, ImFusionCT, ImFusionNDITracking, ImFusionAtracsys, ImFusionDicom, ImFusionUS, ImFusionML, libConeCalibrationPlugin.
OpenGL: 4.5.0 NVIDIA 510.85.02
Vendor: NVIDIA Corporation
GPU: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2
Memory: 9.966 GB of 11 GB available
[ML.ModelConfiguration] Loading config file cones.yaml
[TorchEngine] TORCH loading: cones.pt, cuda: Available
[TorchEngine] Created Torch model from file cones.pt
[ConeCalibrationAlgorithm] Model inference: 21.144 s
[ConeCalibrationAlgorithm] Segmentation processing: 50.654 s
[ConeCalibrationAlgorithm] Detected 20 cones
[ConeCalibrationAlgorithm] Found tip at position 22.5785 -43.098       0, height 100.442 on frame 166(frames: 73 0)
[ConeCalibrationAlgorithm] Skipped cone because it had only 2 detections
[ConeCalibrationAlgorithm] Found tip at position  29.6029 -38.0866        0, height 94.6362 on frame 268(frames: 60 0)
[ConeCalibrationAlgorithm] Skipped cone because it had only 2 detections
[ConeCalibrationAlgorithm] Found tip at position -38.6343  -18.041        0, height 64.6251 on frame 492(frames: 158 0)
[ConeCalibrationAlgorithm] Found tip at position  20.5715 -3.00684        0, height 50.4931 on frame 512(frames: 132 0)
[ConeCalibrationAlgorithm] Found tip at position -1.50523 -64.1459        0, height 114.679 on frame 687(frames: 94 0)
[ConeCalibrationAlgorithm] Found tip at position -49.6726  26.0593        0, height 27.8159 on frame 694(frames: 66 0)
[ConeCalibrationAlgorithm] Skipped cone because it had only 5 detections
[ConeCalibrationAlgorithm] Skipped cone because it had only 7 detections
[ConeCalibrationAlgorithm] Found tip at position 13.5471 2.00456       0, height 51.7556 on frame 779(frames: 62 0)
[ConeCalibrationAlgorithm] Found tip at position -48.6692  13.0296        0, height 41.3389 on frame 785(frames: 58 0)
[ConeCalibrationAlgorithm] Skipped cone because it had only 2 detections
[ConeCalibrationAlgorithm] Found tip at position 55.6936  25.057       0, height 26.882 on frame 1059(frames: 37 0)
[ConeCalibrationAlgorithm] Found tip at position  1.50523 -59.1345        0, height 95.7904 on frame 1131(frames: 62 0)
[ConeCalibrationAlgorithm] Skipped cone because it had only 2 detections
[ConeCalibrationAlgorithm] Found tip at position 3.51221 -50.114       0, height 81.1771 on frame 1231(frames: 65 0)
[ConeCalibrationAlgorithm] Skipped cone because it had only 2 detections
[ConeCalibrationAlgorithm] Found tip at position  -21.575 -36.0821        0, height 65.9407 on frame 1353(frames: 91 0)
[ConeCalibrationAlgorithm] Skipped cone because it had only 2 detections
[ML.ModelConfiguration] Loading config file cones.yaml
[TorchEngine] TORCH loading: cones.pt, cuda: Available
[TorchEngine] Created Torch model from file cones.pt
[ConeCalibrationAlgorithm] Model inference: 15.979 s
[ConeCalibrationAlgorithm] Segmentation processing: 53.168 s
[ConeCalibrationAlgorithm] Detected 16 cones
[ConeCalibrationAlgorithm] Found tip at position  15.5541 -57.1299        0, height 104.444 on frame 162(frames: 82 1)
[ConeCalibrationAlgorithm] Found tip at position 8.52964 20.0456       0, height 22.8015 on frame 175(frames: 24 1)
[ConeCalibrationAlgorithm] Skipped cone because it had only 3 detections
[ConeCalibrationAlgorithm] Found tip at position 22.5785 -18.041       0, height 56.6284 on frame 278(frames: 94 1)
[ConeCalibrationAlgorithm] Found tip at position 27.5959 -68.155       0, height 95.6608 on frame 403(frames: 94 1)
[ConeCalibrationAlgorithm] Found tip at position  3.51221 -57.1299        0, height 79.9286 on frame 711(frames: 74 1)
[ConeCalibrationAlgorithm] Found tip at position  5.51918 -66.1504        0, height 115.996 on frame 841(frames: 54 1)
[ConeCalibrationAlgorithm] Skipped cone because it had only 2 detections
[ConeCalibrationAlgorithm] Found tip at position -5.51918 -41.0935        0, height 88.6178 on frame 912(frames: 136 1)
[ConeCalibrationAlgorithm] Found tip at position -20.5715 -47.1071        0, height 75.3529 on frame 1189(frames: 197 1)
[ConeCalibrationAlgorithm] Skipped cone because it had only 3 detections
[ConeCalibrationAlgorithm] Skipped cone because it had only 3 detections
[ConeCalibrationAlgorithm] Found tip at position -21.575 -18.041       0, height 48.072 on frame 1322(frames: 92 1)
[ConeCalibrationAlgorithm] Skipped cone because it had only 1 detections
[ConeCalibrationAlgorithm] Found tip at position -12.5436 -38.0866        0, height 62.6197 on frame 1422(frames: 60 1)
[ConeCalibrationAlgorithm] Skipped cone because it had only 1 detections
[ConeCalibrationAlgorithm] Matched cones with heights: 94.6362 95.6608
[ConeCalibrationAlgorithm] Matched cones with heights: 64.6251 62.6197
[ConeCalibrationAlgorithm] Matched cones with heights: 50.4931 48.072
[ConeCalibrationAlgorithm] Matched cones with heights: 114.679 115.996
[ConeCalibrationAlgorithm] Matched cones with heights: 95.7904 95.6608
[ConeCalibrationAlgorithm] Matched cones with heights: 81.1771 79.9286
[ConeCalibrationAlgorithm] Got 6 matches
[ConeCalibrationAlgorithm] Ransac took 57.536 s
[ConeCalibrationAlgorithm] RANSAC didn't find any calibration
Algorithm computed in 3 minutes and 19 seconds

@matteo_ronchetti, would it be possible for you to help me in this matter?

Thank you!

Best,
Miruna

Hi Miruna, thanks for trying the Cone Calibration algorithm.
Looking at the log, I see that some cone detections have height >6cm this is probably incorrect because the cones in the 3D printed model don’t exceed this height. I suspect this is caused by an error in the spacing.
Could you please send me the two sweeps so that I can further investigate?

Thanks,
Matteo

The unit here is mm.