hovren / crisp

Camera-to-IMU calibration and synchronization toolbox
GNU General Public License v3.0
206 stars 74 forks source link

SVD did not converge error #5

Closed ayumizll closed 8 years ago

ayumizll commented 8 years ago

I'm running crisp with my own camera and gyro data, it raises an error:

/usr/lib/python2.7/dist-packages/pkg_resources/init.py:1224: UserWarning: /home/lili/.python-eggs is writable by group/others and vulnerable to attack when used with get_resource_filename. Consider a more secure location (set with .set_extraction_path or the PYTHON_EGG_CACHE environment variable). warnings.warn(msg, UserWarning) /usr/local/lib/python2.7/dist-packages/crisp-2.2-py2.7-linux-x86_64.egg/crisp/camera.py:181: RuntimeWarning: invalid value encountered in true_divide Traceback (most recent call last): File "gopro_dataset_example.py", line 75, in calibrator.initialize(gyro_rate=GYRO_RATE_GUESS) File "build/bdist.linux-x86_64/egg/crisp/calibration.py", line 127, in initialize File "build/bdist.linux-x86_64/egg/crisp/calibration.py", line 256, in find_initial_rotation File "build/bdist.linux-x86_64/egg/crisp/videoslice.py", line 52, in estimate_rotation File "build/bdist.linux-x86_64/egg/crisp/rotations.py", line 306, in estimate_rotation_procrustes_ransac File "build/bdist.linux-x86_64/egg/crisp/ransac.py", line 24, in RANSAC File "build/bdist.linux-x86_64/egg/crisp/rotations.py", line 289, in File "build/bdist.linux-x86_64/egg/crisp/rotations.py", line 72, in procrustes File "/home/lili/.local/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 1359, in svd u, s, vt = gufunc(a, signature=signature, extobj=extobj) File "/home/lili/.local/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 99, in _raise_linalgerror_svd_nonconvergence raise LinAlgError("SVD did not converge") numpy.linalg.linalg.LinAlgError: SVD did not converge

How can I solve this?

hovren commented 8 years ago

Hi! I am a bit confused since you say that you are "using my own camera and gyro data", while the script you are running is the one for our GoPro-dataset.

The first warning says

/usr/local/lib/python2.7/dist-packages/crisp-2.2-py2.7-linux-x86_64.egg/crisp/camera.py:181:
RuntimeWarning: invalid value encountered in true_divide

This seems to indicate that the camera model is not set up correctly, i.e. that the lgamma attribute is zero or otherwise invalid.

So, exactly what data (gyro and video sequence) are you using? What camera model?