Coder Social home page Coder Social logo

dso's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dso's Issues

Compile Error2

In the name of God
Hi, After unsuccessfully trying to compile the lib on my system, I tried it on another one(64bit hardware, 32 bit Ubuntu14.04, gcc 4.8.4) but got this error log:
make
[ 4%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/FullSystem.cpp.o
In file included from /media/oem/sda7/DSO/dso/src/FullSystem/CoarseTracker.h:32:0,
from /media/oem/sda7/DSO/dso/src/FullSystem/FullSystem.cpp:47:
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:121:11: error: ‘__m128’ does not name a type
const __m128 val)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:121:18: error: ISO C++ forbids declaration of ‘val’ with no type [-fpermissive]
const __m128 val)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:137:11: error: ‘__m128’ does not name a type
const __m128 val)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:137:18: error: ISO C++ forbids declaration of ‘val’ with no type [-fpermissive]
const __m128 val)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator11::updateSSE(int)’:
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:123:56: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:123:61: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:123:62: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator11::updateSSENoShift(int)’:
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:139:56: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:139:61: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:139:62: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator11::shiftUp(bool)’:
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:157:59: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:157:83: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:157:84: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:164:61: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:164:85: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:164:86: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h: At global scope:
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:283:11: error: ‘__m128’ does not name a type
const __m128 J0,const __m128 J1,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:283:18: error: ISO C++ forbids declaration of ‘J0’ with no type [-fpermissive]
const __m128 J0,const __m128 J1,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:283:27: error: ‘__m128’ does not name a type
const __m128 J0,const __m128 J1,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:283:34: error: ISO C++ forbids declaration of ‘J1’ with no type [-fpermissive]
const __m128 J0,const __m128 J1,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:284:11: error: ‘__m128’ does not name a type
const __m128 J2,const __m128 J3,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:284:18: error: ISO C++ forbids declaration of ‘J2’ with no type [-fpermissive]
const __m128 J2,const __m128 J3,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:284:27: error: ‘__m128’ does not name a type
const __m128 J2,const __m128 J3,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:284:34: error: ISO C++ forbids declaration of ‘J3’ with no type [-fpermissive]
const __m128 J2,const __m128 J3,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:285:11: error: ‘__m128’ does not name a type
const __m128 J4,const __m128 J5,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:285:18: error: ISO C++ forbids declaration of ‘J4’ with no type [-fpermissive]
const __m128 J4,const __m128 J5,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:285:27: error: ‘__m128’ does not name a type
const __m128 J4,const __m128 J5,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:285:34: error: ISO C++ forbids declaration of ‘J5’ with no type [-fpermissive]
const __m128 J4,const __m128 J5,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:286:11: error: ‘__m128’ does not name a type
const __m128 J6,const __m128 J7,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:286:18: error: ISO C++ forbids declaration of ‘J6’ with no type [-fpermissive]
const __m128 J6,const __m128 J7,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:286:27: error: ‘__m128’ does not name a type
const __m128 J6,const __m128 J7,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:286:34: error: ISO C++ forbids declaration of ‘J7’ with no type [-fpermissive]
const __m128 J6,const __m128 J7,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:287:11: error: ‘__m128’ does not name a type
const __m128 J8,const __m128 J9,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:287:18: error: ISO C++ forbids declaration of ‘J8’ with no type [-fpermissive]
const __m128 J8,const __m128 J9,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:287:27: error: ‘__m128’ does not name a type
const __m128 J8,const __m128 J9,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:287:34: error: ISO C++ forbids declaration of ‘J9’ with no type [-fpermissive]
const __m128 J8,const __m128 J9,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:288:11: error: ‘__m128’ does not name a type
const __m128 J10,const __m128 J11,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:288:18: error: ISO C++ forbids declaration of ‘J10’ with no type [-fpermissive]
const __m128 J10,const __m128 J11,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:288:28: error: ‘__m128’ does not name a type
const __m128 J10,const __m128 J11,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:288:35: error: ISO C++ forbids declaration of ‘J11’ with no type [-fpermissive]
const __m128 J10,const __m128 J11,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:289:11: error: ‘__m128’ does not name a type
const __m128 J12,const __m128 J13)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:289:18: error: ISO C++ forbids declaration of ‘J12’ with no type [-fpermissive]
const __m128 J12,const __m128 J13)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:289:28: error: ‘__m128’ does not name a type
const __m128 J12,const __m128 J13)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:289:35: error: ISO C++ forbids declaration of ‘J13’ with no type [-fpermissive]
const __m128 J12,const __m128 J13)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator14::updateSSE(int, int, int, int, int, int, int, int, int, int, int, int, int, int)’:
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:292:46: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:292:64: error: ‘_mm_mul_ps’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:292:65: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:292:66: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator14::shiftUp(bool)’:
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:565:68: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(SSEData1k+4i, _mm_add_ps(_mm_load_ps(SSEData+4i),_mm_load_ps(SSEData1k+4i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:565:96: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(SSEData1k+4
i, _mm_add_ps(_mm_load_ps(SSEData+4i),_mm_load_ps(SSEData1k+4i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:565:97: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(SSEData1k+4i, _mm_add_ps(_mm_load_ps(SSEData+4i),_mm_load_ps(SSEData1k+4i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:574:70: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(SSEData1m+4
i, _mm_add_ps(_mm_load_ps(SSEData1k+4i),_mm_load_ps(SSEData1m+4i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:574:98: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(SSEData1m+4i, _mm_add_ps(_mm_load_ps(SSEData1k+4i),_mm_load_ps(SSEData1m+4i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:574:99: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(SSEData1m+4
i, _mm_add_ps(_mm_load_ps(SSEData1k+4i),_mm_load_ps(SSEData1m+4i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::AccumulatorApprox::shiftUp(bool)’:
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:939:58: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(Data1k+i, _mm_add_ps(_mm_load_ps(Data+i),_mm_load_ps(Data1k+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:939:81: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(Data1k+i, _mm_add_ps(_mm_load_ps(Data+i),_mm_load_ps(Data1k+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:939:82: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(Data1k+i, _mm_add_ps(_mm_load_ps(Data+i),_mm_load_ps(Data1k+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:941:76: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(TopRight_Data1k+i, _mm_add_ps(_mm_load_ps(TopRight_Data+i),_mm_load_ps(TopRight_Data1k+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:941:108: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(TopRight_Data1k+i, _mm_add_ps(_mm_load_ps(TopRight_Data+i),_mm_load_ps(TopRight_Data1k+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:941:109: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(TopRight_Data1k+i, _mm_add_ps(_mm_load_ps(TopRight_Data+i),_mm_load_ps(TopRight_Data1k+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:943:76: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(BotRight_Data1k+i, _mm_add_ps(_mm_load_ps(BotRight_Data+i),_mm_load_ps(BotRight_Data1k+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:943:108: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(BotRight_Data1k+i, _mm_add_ps(_mm_load_ps(BotRight_Data+i),_mm_load_ps(BotRight_Data1k+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:943:109: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(BotRight_Data1k+i, _mm_add_ps(_mm_load_ps(BotRight_Data+i),_mm_load_ps(BotRight_Data1k+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:956:60: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(Data1m+i, _mm_add_ps(_mm_load_ps(Data1k+i),_mm_load_ps(Data1m+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:956:83: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(Data1m+i, _mm_add_ps(_mm_load_ps(Data1k+i),_mm_load_ps(Data1m+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:956:84: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(Data1m+i, _mm_add_ps(_mm_load_ps(Data1k+i),_mm_load_ps(Data1m+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:958:78: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(TopRight_Data1m+i, _mm_add_ps(_mm_load_ps(TopRight_Data1k+i),_mm_load_ps(TopRight_Data1m+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:958:110: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(TopRight_Data1m+i, _mm_add_ps(_mm_load_ps(TopRight_Data1k+i),_mm_load_ps(TopRight_Data1m+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:958:111: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(TopRight_Data1m+i, _mm_add_ps(_mm_load_ps(TopRight_Data1k+i),_mm_load_ps(TopRight_Data1m+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:960:78: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(BotRight_Data1m+i, _mm_add_ps(_mm_load_ps(BotRight_Data1k+i),_mm_load_ps(BotRight_Data1m+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:960:110: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(BotRight_Data1m+i, _mm_add_ps(_mm_load_ps(BotRight_Data1k+i),_mm_load_ps(BotRight_Data1m+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:960:111: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(BotRight_Data1m+i, _mm_add_ps(_mm_load_ps(BotRight_Data1k+i),_mm_load_ps(BotRight_Data1m+i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h: At global scope:
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1018:11: error: ‘__m128’ does not name a type
const __m128 J0,const __m128 J1,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1018:18: error: ISO C++ forbids declaration of ‘J0’ with no type [-fpermissive]
const __m128 J0,const __m128 J1,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1018:27: error: ‘__m128’ does not name a type
const __m128 J0,const __m128 J1,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1018:34: error: ISO C++ forbids declaration of ‘J1’ with no type [-fpermissive]
const __m128 J0,const __m128 J1,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1019:11: error: ‘__m128’ does not name a type
const __m128 J2,const __m128 J3,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1019:18: error: ISO C++ forbids declaration of ‘J2’ with no type [-fpermissive]
const __m128 J2,const __m128 J3,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1019:27: error: ‘__m128’ does not name a type
const __m128 J2,const __m128 J3,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1019:34: error: ISO C++ forbids declaration of ‘J3’ with no type [-fpermissive]
const __m128 J2,const __m128 J3,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1020:11: error: ‘__m128’ does not name a type
const __m128 J4,const __m128 J5,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1020:18: error: ISO C++ forbids declaration of ‘J4’ with no type [-fpermissive]
const __m128 J4,const __m128 J5,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1020:27: error: ‘__m128’ does not name a type
const __m128 J4,const __m128 J5,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1020:34: error: ISO C++ forbids declaration of ‘J5’ with no type [-fpermissive]
const __m128 J4,const __m128 J5,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1021:11: error: ‘__m128’ does not name a type
const __m128 J6,const __m128 J7,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1021:18: error: ISO C++ forbids declaration of ‘J6’ with no type [-fpermissive]
const __m128 J6,const __m128 J7,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1021:27: error: ‘__m128’ does not name a type
const __m128 J6,const __m128 J7,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1021:34: error: ISO C++ forbids declaration of ‘J7’ with no type [-fpermissive]
const __m128 J6,const __m128 J7,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1022:11: error: ‘__m128’ does not name a type
const __m128 J8)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1022:18: error: ISO C++ forbids declaration of ‘J8’ with no type [-fpermissive]
const __m128 J8)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1089:11: error: ‘__m128’ does not name a type
const __m128 J0,const __m128 J1,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1089:18: error: ISO C++ forbids declaration of ‘J0’ with no type [-fpermissive]
const __m128 J0,const __m128 J1,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1089:27: error: ‘__m128’ does not name a type
const __m128 J0,const __m128 J1,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1089:34: error: ISO C++ forbids declaration of ‘J1’ with no type [-fpermissive]
const __m128 J0,const __m128 J1,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1090:11: error: ‘__m128’ does not name a type
const __m128 J2,const __m128 J3,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1090:18: error: ISO C++ forbids declaration of ‘J2’ with no type [-fpermissive]
const __m128 J2,const __m128 J3,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1090:27: error: ‘__m128’ does not name a type
const __m128 J2,const __m128 J3,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1090:34: error: ISO C++ forbids declaration of ‘J3’ with no type [-fpermissive]
const __m128 J2,const __m128 J3,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1091:11: error: ‘__m128’ does not name a type
const __m128 J4,const __m128 J5,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1091:18: error: ISO C++ forbids declaration of ‘J4’ with no type [-fpermissive]
const __m128 J4,const __m128 J5,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1091:27: error: ‘__m128’ does not name a type
const __m128 J4,const __m128 J5,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1091:34: error: ISO C++ forbids declaration of ‘J5’ with no type [-fpermissive]
const __m128 J4,const __m128 J5,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1092:11: error: ‘__m128’ does not name a type
const __m128 J6,const __m128 J7,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1092:18: error: ISO C++ forbids declaration of ‘J6’ with no type [-fpermissive]
const __m128 J6,const __m128 J7,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1092:27: error: ‘__m128’ does not name a type
const __m128 J6,const __m128 J7,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1092:34: error: ISO C++ forbids declaration of ‘J7’ with no type [-fpermissive]
const __m128 J6,const __m128 J7,
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1093:11: error: ‘__m128’ does not name a type
const __m128 J8, const __m128 w)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1093:18: error: ISO C++ forbids declaration of ‘J8’ with no type [-fpermissive]
const __m128 J8, const __m128 w)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1093:28: error: ‘__m128’ does not name a type
const __m128 J8, const __m128 w)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1093:35: error: ISO C++ forbids declaration of ‘w’ with no type [-fpermissive]
const __m128 J8, const __m128 w)
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator9::updateSSE(int, int, int, int, int, int, int, int, int)’:
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1025:46: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1025:64: error: ‘_mm_mul_ps’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1025:65: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1025:66: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator9::updateSSE_eighted(int, int, int, int, int, int, int, int, int, int)’:
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1097:4: error: ‘__m128’ was not declared in this scope
__m128 J0w = _mm_mul_ps(J0,w);
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1097:11: error: expected ‘;’ before ‘J0w’
__m128 J0w = _mm_mul_ps(J0,w);
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:46: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:59: error: ‘J0w’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:65: error: ‘_mm_mul_ps’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:66: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:67: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1108:11: error: expected ‘;’ before ‘J1w’
__m128 J1w = _mm_mul_ps(J1,w);
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1109:59: error: ‘J1w’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J1w,J1))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1118:11: error: expected ‘;’ before ‘J2w’
__m128 J2w = _mm_mul_ps(J2,w);
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1119:59: error: ‘J2w’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J2w,J2))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1127:11: error: expected ‘;’ before ‘J3w’
__m128 J3w = _mm_mul_ps(J3,w);
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1128:59: error: ‘J3w’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J3w,J3))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1135:11: error: expected ‘;’ before ‘J4w’
__m128 J4w = _mm_mul_ps(J4,w);
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1136:59: error: ‘J4w’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J4w,J4))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1142:11: error: expected ‘;’ before ‘J5w’
__m128 J5w = _mm_mul_ps(J5,w);
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1143:59: error: ‘J5w’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J5w,J5))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1148:11: error: expected ‘;’ before ‘J6w’
__m128 J6w = _mm_mul_ps(J6,w);
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1149:59: error: ‘J6w’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J6w,J6))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1153:11: error: expected ‘;’ before ‘J7w’
__m128 J7w = _mm_mul_ps(J7,w);
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1154:59: error: ‘J7w’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J7w,J7))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1157:11: error: expected ‘;’ before ‘J8w’
__m128 J8w = _mm_mul_ps(J8,w);
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1158:59: error: ‘J8w’ was not declared in this scope
_mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J8w,J8))); pt+=4;
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator9::shiftUp(bool)’:
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1327:68: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(SSEData1k+4i, _mm_add_ps(_mm_load_ps(SSEData+4i),_mm_load_ps(SSEData1k+4i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1327:96: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(SSEData1k+4
i, _mm_add_ps(_mm_load_ps(SSEData+4i),_mm_load_ps(SSEData1k+4i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1327:97: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(SSEData1k+4i, _mm_add_ps(_mm_load_ps(SSEData+4i),_mm_load_ps(SSEData1k+4i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1336:70: error: ‘_mm_load_ps’ was not declared in this scope
_mm_store_ps(SSEData1m+4
i, _mm_add_ps(_mm_load_ps(SSEData1k+4i),_mm_load_ps(SSEData1m+4i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1336:98: error: ‘_mm_add_ps’ was not declared in this scope
_mm_store_ps(SSEData1m+4i, _mm_add_ps(_mm_load_ps(SSEData1k+4i),_mm_load_ps(SSEData1m+4i)));
^
/media/oem/sda7/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:1336:99: error: ‘_mm_store_ps’ was not declared in this scope
_mm_store_ps(SSEData1m+4
i, _mm_add_ps(_mm_load_ps(SSEData1k+4i),_mm_load_ps(SSEData1m+4i)));
^
make[2]: *** [CMakeFiles/dso.dir/src/FullSystem/FullSystem.cpp.o] Error 1
make[1]: *** [CMakeFiles/dso.dir/all] Error 2
make: *** [all] Error 2

dso_dataset exception on mac

I previously submitted a patch for dso to work on mac. The build went smoothly and I've got impressive results on a linux machine. But it turned out that dso_dataset cannot run on mac. The following log messages are given for your reference:

Tianweis-Macbook:bin STW$ ./dso_dataset files=/Users/STW/Downloads/sequence_38/images calib=/Users/STW/Downloads/sequence_38/camera.txt gamma=/Users/STW/Downloads/sequence_38/pcalib.txt vignette=/Users/STW/Downloads/sequence_38/vignette.png preset=0 mode=0
loading data from /Users/STW/Downloads/sequence_38/images!
loading calibration from /Users/STW/Downloads/sequence_38/camera.txt!
loading gammaCalib from /Users/STW/Downloads/sequence_38/pcalib.txt!
loading vignette from /Users/STW/Downloads/sequence_38/vignette.png!

=============== PRESET Settings: ===============
DEFAULT settings:

  • no real-time enforcing
  • 2000 active points
  • 5-7 active frames
  • 1-6 LM iteration each KF
  • original image resolution
    ==============================================
    PHOTOMETRIC MODE WITH CALIBRATION!
    Reading Calibration from file /Users/STW/Downloads/sequence_38/camera.txt ... found!
    found ATAN camera model, building rectifier.
    Input resolution: 1280 1024
    In: 0.535719 0.669567 0.493249 0.500409 0.897966
    Out: Crop
    Output resolution: 640 480
    finding CROP optimal new model!
    initial range: x: -1.1372 - 1.1901; y: -0.8311 - 0.8292!
    iteration 00001: range: x: -1.1315 - 1.1841; y: -0.8311 - 0.8292!
    iteration 00002: range: x: -1.1258 - 1.1782; y: -0.8311 - 0.8292!
    iteration 00003: range: x: -1.1258 - 1.1782; y: -0.8270 - 0.8251!
    iteration 00004: range: x: -1.1258 - 1.1782; y: -0.8228 - 0.8209!
    iteration 00005: range: x: -1.1258 - 1.1782; y: -0.8228 - 0.8209!

Rectified Kamera Matrix:
277.34 0 312.234
0 291.402 239.777
0 0 1

Reading Photometric Calibration from file /Users/STW/Downloads/sequence_38/pcalib.txt
Reading Vignette Image from /Users/STW/Downloads/sequence_38/vignette.png
Successfully read photometric calibration!
got 3330 images and 3330 timestamps and 3330 exposures.!
ImageFolderReader: got 3330 files in /Users/STW/Downloads/sequence_38/images!
using pyramid levels 0 to 3. coarsest resolution: 80 x 60!
START PANGOLIN!
2016-11-15 15:09:17.588 dso_dataset[34151:3705298] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'nextEventMatchingMask should only be called from the Main Thread!'
*** First throw call stack:
(
0 CoreFoundation 0x00007fffc56316fb __exceptionPreprocess + 171
1 libobjc.A.dylib 0x00007fffd9e38a2a objc_exception_throw + 48
2 AppKit 0x00007fffc394450c -[NSApplication(NSEvent) shouldBeTreatedAsInkEvent:] + 0
3 libpangolin.dylib 0x000000010d6d737f -[PangolinNSApplication run_step] + 79
4 libpangolin.dylib 0x000000010d6d6d7c _ZN8pangolin9OsxWindowC2ERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEiib + 300
5 libpangolin.dylib 0x000000010d6d6b80 _ZN8pangolin19CreateWindowAndBindENSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEEiiRKNS_6ParamsE + 384
6 dso_dataset 0x000000010d55f4d5 _ZN3dso6IOWrap17PangolinDSOViewer3runEv + 133
7 libboost_thread-mt.dylib 0x000000010d611c14 _ZN5boost12_GLOBAL__N_112thread_proxyEPv + 164
8 libsystem_pthread.dylib 0x00007fffda92caab _pthread_body + 180
9 libsystem_pthread.dylib 0x00007fffda92c9f7 _pthread_body + 0
10 libsystem_pthread.dylib 0x00007fffda92c221 thread_start + 13
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6

It seems that the problem involves pangolin. Any idea how to fix it?

Very low FPS in Visual Studio

Hey guys. I managed to compile DSO with visual studio2013, but DSO(release) ran at a very low FPS( 4 fps after initialization).
While compiling the release version of DSO, visual studio stuck in "generating code" with Optimization /O2 on. SO I disabled optimization. Is there any way to turn on /O2?
by the way, My CPU is i7-3610QM.

Wrong boost library installation

To install boost library, we need to use the command:
sudo apt-get install libboost-all-dev
intead of
sudo apt-get install libboost-dev
The libboost-dev is lacking of system and thread library which is used in this project and will make the build failed.

run dso with myself dataset, read camera.txt error

hi,
I want to run the dos with myself dataset, the dataset conclude a folder of images and a camera.txt,
it format is
763.250 765.168 310.936 230.990 0.09475 0.02371 -0.002102 0.001759
640 480 crop 640 480
then execute the command
./dso_dataset files=/mypath/DSO/bagfile/img/ calib=/mypath/DSO/bagfile/camera.txt mode=1

but it appearance a error like this
loading data from /mypath/DSO/bagfile/img/!
loading calibration from /mypath/DSO/bagfile/camera.txt!
PHOTOMETRIC MODE WITHOUT CALIBRATION!
Reading Calibration from file /mypath/DSO/bagfile/camera.txt ... found!
found OpenCV camera model, building rectifier.
Input resolution: 640 480
In: 763.250000 765.168000 310.936000 230.990000 0.094750 0.023710 -0.002102 0.001759
Out: Failed to Read Output pars... not rectifying.
Segmentation fault (core dumped)

anyone can give some helps?

cheers

Error building with Visual Studio 2015, probably Boost

I get an error building dso-slam with Visual Studio 2015. The problem may be the usage of the Boost library.
The first error messages are as follows:

Error C2061 syntax error: identifier 'function' dso C:\XXX\dso-slam\dso\src\util\IndexThreadReduce.h 76

Line 76 of IndexThreadReduce.h:
inline void reduce(boost::function<void(int,int,Running*,int)> callPerIndex, int first, int end, int stepSize = 0)

The next error is:

Error C2143 syntax error: missing ';' before '<' dso C:\XXX\dso-slam\dso\src\util\IndexThreadReduce.h 156

Corresponding code line is:
boost::function<void(int,int,Running*,int)> callPerIndex;

CMake (3.8) finds Boost:

Boost version: 1.63.0
Found the following Boost libraries:
system
thread
chrono
date_time
atomic

I had to add include_directories(${Boost_INCLUDE_DIRS}) after find_package(Boost COMPONENTS system thread) in CMakeLists.txt, otherwise the compiler could not include boost/thread.h.

Actually, I don't know where to start to fix this issue. Maybe someone more experienced does have a hint on this. I will provide further information if needed.

Kind regards

how to save the pointcloud

if you do not have realize the function of saving pointcloud ,can you tell me which variables have save the pointcloud.

inspection robot inside a pipe

Hello,

I am trying to test DSO with a dataset recorded by an inspection robot inside a pipe. It fails to generate any trajectory but, It seems that it's doing not so bad at detecting some features and points.

Do you have any recommendation for me?

here is a sample from the dataset:

image

Thanks for sharing the code.

Compiling with Boost thread on Mac

When compiling the dso_dataset binary on Mac, I encountered the following error:

ld: library not found for -lboost_thread
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [bin/dso_dataset] Error 1
make[1]: *** [CMakeFiles/dso_dataset.dir/all] Error 2
make: *** [all] Error 2

Hint on how to add support for rolling shutter cameras?

Hi,

Thanks for publishing this amazing work, my team and I are looking forward to running it in real time ourselves!

It's clear that the algorithm is best suited for global shutter cameras. At the same time, in current mobile devices these are hard to find.

Theoretically it should be possible to add support for rolling shutter cameras, since the optimization is done on both the photometric and geometric error, and the geometric distortion caused by a rolling shutter is well known for a projection of a 3D point when

  • the 3D point is known (well enough)
  • the camera's pose is known
  • the sensor readout time is known (usually a simple function of the frame rate)
  • the readout-direction of the sensor is known (bottom-to-top or top-to-bottom, in my experience usually it's the first)
  • the camera's rotational and positional velocity are known

(where the term 'is known' can be replaced by 'is being estimated', depending on the context)

The first two are already present somewhere in the optimization, and the third and fourth are constant. Can you estimate if it is feasible to compute the velocities as well? Then the location of the projection of the 3D point, depending on its Y-location on the sensor can be estimated completely (or conversely: the camera's rotational and positional velocities can be estimated, thereby accounting for the rolling shutter distortion).

That would make the system even more revolutionary than it already is!

BR,
Lex

How to add imu to solve monocular scale problem

Thanks for your great work. I want to add imu to solve monocular scale problem. But I donot how to use it , only use imu preintergation (between two image ) to predict next image alignment position .
Can you give me any clue or advice or how to combine dso with imu ,or any relevant paper you think might help. Thank you very much.

Error while linking executable

Hello I'm having some trouble with the last part of the installation. Here's the error:

[ 96%] Linking CXX static library lib/libdso.a
[ 96%] Built target dso
[ 96%] Building CXX object CMakeFiles/dso_dataset.dir/src/main_dso_pangolin.cpp.o
[ 96%] Linking CXX executable bin/dso_dataset
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFReadRGBAStrip@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFReadDirectory@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFWriteEncodedStrip@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFIsTiled@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFWriteScanline@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libsoxr.so.0: undefined reference to `GOMP_parallel@GOMP_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFGetField@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFNumberOfStrips@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFScanlineSize@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFReadEncodedTile@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFReadRGBATile@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFClose@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFRGBAImageOK@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFOpen@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFReadEncodedStrip@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFSetField@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFSetWarningHandler@LIBTIFF_4.0'
/opt/ros/kinetic/lib/libopencv_imgcodecs3.so.3.2.0: undefined reference to `TIFFSetErrorHandler@LIBTIFF_4.0'
collect2: error: ld returned 1 exit status
CMakeFiles/dso_dataset.dir/build.make:165: recipe for target 'bin/dso_dataset' failed
make[2]: *** [bin/dso_dataset] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/dso_dataset.dir/all' failed
make[1]: *** [CMakeFiles/dso_dataset.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Thank you in advance

Error 9 reading archive sequence_01/images.zip!

Hello, I built the dso package successfully and downloaded sequence_01 from tum's mono_dataset.. However when I run dso_dataset, it gives me Error 9 reading archive sequence_01/images.zip. I have extracted the sequence in dso/build/bin/ folder.

Please let me know if I am doing something wrong.

Regards,
Chirag

`bin/dso_dataset files=sequence_01/images.zip calib=sequence_01/camera.txt gamma=sequence_01/pcalib.txt vignette=sequence_01/vignette.png preset=0 mode=0
loading data from sequence_01/images.zip!
loading calibration from sequence_01/camera.txt!
loading gammaCalib from sequence_01/pcalib.txt!
loading vignette from sequence_01/vignette.png!

=============== PRESET Settings: ===============
DEFAULT settings:

  • no real-time enforcing
  • 2000 active points
  • 5-7 active frames
  • 1-6 LM iteration each KF
  • original image resolution
    ==============================================
    PHOTOMETRIC MODE WITH CALIBRATION!
    ERROR 9 reading archive sequence_01/images.zip!
    `

Error building dso-slam with Visual Studio

I get an error building dso-slam with Visual Studio 2015. The first error message is as follows:

Error C2976 'std::deque': too few template arguments dso C:\XXX\dso-slam\dso\src\FullSystem\FullSystem.h 310

Line 310 of FullSystem.h:
std::deque<FrameHessian*> unmappedTrackedFrames;

Is this related to the the definition of struct FrameHessian in HessianBlacks.h?

Actually, I'd like to fix this issue but I don't know where to start searching. Maybe there is someone more experienced that may give a hint on this. What would be useful information to look at?

Kind regards

PS: And why does boost come into play? May this be a hint for an incompatibility to my current boost version (1.63)?

C:\XXX\dso-slam\dso\src\FullSystem/FullSystem.h(310): error C2976: 'std::deque': too few template arguments
C:\libs\boost\v1.63.0\boost/detail/container_fwd.hpp(131): note: see declaration of 'std::deque'

Inv. response function U is not monotonic

Hello there, thanks for open-source.
I have a question that the inverse response function U is not monotonic based on my dataset (more than 1000 images, static scene and different exposure time from 0.05ms to 20ms). You said in this case, "it" should be smoothed or perturbed on your paper, and what is "it"?
I have modified some code like "G[255]" to "Gmax"(which is the max value in the G[]), is there some other codes I need to modified?
I'm sure that there are many different objects in the static scene, and the exposure time are incremental. Are there some processing like adding blur or noise while capturing the images? Look forward to your response and help. Thank you.

Best wishes.

Adding More docs and/or Doxygen

Hi, I really appreciate your work, and the good willing behind sharing it.
If you like more people use your code, you may like to add more description about how the code is written, files, functions, variables, etc...
I had some questions and don't know if it is the write place to ask them.
You can add answers to these questions to somewhere in docs or in doxygen.
If you like I am also ready to help writing the Doxygen doc...

Compiling DSO on ARM processor

I found that you use SSE optimization, which is not supported in ARM devices...

Do you have any ideas/suggestions for workaround if I would like to compile it on ARM devices (e.g. Odroid)?

BTW, Thank a lot for sharing your source code! It's super cool !! 👍

Compile Error

Hi
I encountered an error in compilation. I work with ubuntu 16.04, gcc 5.4, boost 1.58.0, opencv 2.4.9.1
I installed Pangolin as mensioned in the documentation successfully.
here is the error(and warnings if important):
/home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp: In member function ‘dso::Vec3f dso::CoarseInitializer::calcResAndGS(int, dso::Mat88f&, dso::Vec8f&, dso::Mat88f&, dso::Vec8f&, dso::SE3, dso::AffLight, bool)’:
/home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:469:18: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
acc9.updateSSE(
^
In file included from /usr/lib/gcc/i686-linux-gnu/5/include/x86intrin.h:31:0,
from /usr/include/i386-linux-gnu/c++/5/bits/opt_random.h:33,
from /usr/include/c++/5/random:50,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from /usr/include/eigen3/Eigen/Core:232,
from /home/oem/Desktop/DSO/DSO/dso/src/util/NumType.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h: In member function ‘void dso::Accumulator11::shiftUp(bool)’:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:971:1: error: inlining failed in call to always_inline ‘void _mm_store_ps(float*, __m128)’: target specific option mismatch
_mm_store_ps (float __P, __m128 __A)
^
In file included from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:28:0,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/home/oem/Desktop/DSO/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:157:85: error: called from here
_mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k)));
^
In file included from /usr/lib/gcc/i686-linux-gnu/5/include/x86intrin.h:31:0,
from /usr/include/i386-linux-gnu/c++/5/bits/opt_random.h:33,
from /usr/include/c++/5/random:50,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from /usr/include/eigen3/Eigen/Core:232,
from /home/oem/Desktop/DSO/DSO/dso/src/util/NumType.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:181:1: error: inlining failed in call to always_inline ‘__m128 _mm_add_ps(__m128, __m128)’: target specific option mismatch
_mm_add_ps (__m128 __A, __m128 __B)
^
In file included from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:28:0,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/home/oem/Desktop/DSO/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:157:17: error: called from here
_mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k)));
^
In file included from /usr/lib/gcc/i686-linux-gnu/5/include/x86intrin.h:31:0,
from /usr/include/i386-linux-gnu/c++/5/bits/opt_random.h:33,
from /usr/include/c++/5/random:50,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from /usr/include/eigen3/Eigen/Core:232,
from /home/oem/Desktop/DSO/DSO/dso/src/util/NumType.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:922:1: error: inlining failed in call to always_inline ‘__m128 _mm_load_ps(const float
)’: target specific option mismatch
_mm_load_ps (float const __P)
^
In file included from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:28:0,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/home/oem/Desktop/DSO/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:157:17: error: called from here
_mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k)));
^
In file included from /usr/lib/gcc/i686-linux-gnu/5/include/x86intrin.h:31:0,
from /usr/include/i386-linux-gnu/c++/5/bits/opt_random.h:33,
from /usr/include/c++/5/random:50,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from /usr/include/eigen3/Eigen/Core:232,
from /home/oem/Desktop/DSO/DSO/dso/src/util/NumType.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:922:1: error: inlining failed in call to always_inline ‘__m128 _mm_load_ps(const float
)’: target specific option mismatch
_mm_load_ps (float const __P)
^
In file included from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:28:0,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/home/oem/Desktop/DSO/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:157:17: error: called from here
_mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k)));
^
In file included from /usr/lib/gcc/i686-linux-gnu/5/include/x86intrin.h:31:0,
from /usr/include/i386-linux-gnu/c++/5/bits/opt_random.h:33,
from /usr/include/c++/5/random:50,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from /usr/include/eigen3/Eigen/Core:232,
from /home/oem/Desktop/DSO/DSO/dso/src/util/NumType.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:971:1: error: inlining failed in call to always_inline ‘void _mm_store_ps(float
, __m128)’: target specific option mismatch
_mm_store_ps (float __P, __m128 __A)
^
In file included from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:28:0,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/home/oem/Desktop/DSO/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:164:87: error: called from here
_mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m)));
^
In file included from /usr/lib/gcc/i686-linux-gnu/5/include/x86intrin.h:31:0,
from /usr/include/i386-linux-gnu/c++/5/bits/opt_random.h:33,
from /usr/include/c++/5/random:50,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from /usr/include/eigen3/Eigen/Core:232,
from /home/oem/Desktop/DSO/DSO/dso/src/util/NumType.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:181:1: error: inlining failed in call to always_inline ‘__m128 _mm_add_ps(__m128, __m128)’: target specific option mismatch
_mm_add_ps (__m128 __A, __m128 __B)
^
In file included from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:28:0,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/home/oem/Desktop/DSO/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:164:17: error: called from here
_mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m)));
^
In file included from /usr/lib/gcc/i686-linux-gnu/5/include/x86intrin.h:31:0,
from /usr/include/i386-linux-gnu/c++/5/bits/opt_random.h:33,
from /usr/include/c++/5/random:50,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from /usr/include/eigen3/Eigen/Core:232,
from /home/oem/Desktop/DSO/DSO/dso/src/util/NumType.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:922:1: error: inlining failed in call to always_inline ‘__m128 _mm_load_ps(const float
)’: target specific option mismatch
_mm_load_ps (float const __P)
^
In file included from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:28:0,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/home/oem/Desktop/DSO/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:164:17: error: called from here
_mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m)));
^
In file included from /usr/lib/gcc/i686-linux-gnu/5/include/x86intrin.h:31:0,
from /usr/include/i386-linux-gnu/c++/5/bits/opt_random.h:33,
from /usr/include/c++/5/random:50,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from /usr/include/eigen3/Eigen/Core:232,
from /home/oem/Desktop/DSO/DSO/dso/src/util/NumType.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:27,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/usr/lib/gcc/i686-linux-gnu/5/include/xmmintrin.h:922:1: error: inlining failed in call to always_inline ‘__m128 _mm_load_ps(const float
)’: target specific option mismatch
_mm_load_ps (float const *__P)
^
In file included from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.h:28:0,
from /home/oem/Desktop/DSO/DSO/dso/src/FullSystem/CoarseInitializer.cpp:32:
/home/oem/Desktop/DSO/DSO/dso/src/OptimizationBackend/MatrixAccumulators.h:164:17: error: called from here
_mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m)));
^
make[2]: *** [CMakeFiles/dso.dir/src/FullSystem/CoarseInitializer.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....

kitti vo dataset seq00 result

image
Above is ground truth & ORB trajectories of kitti vo dataset seq00.

When I apply dso on this, I got below..

image

Each row shows resulting trajectories and camera.txt used..
(I used mode=1 & preset=0)

As you can see.. resulting trajectories are quite different from that of GT.

What should I do to refine this? : )

(I followed below for calibration.
#12)

Running on Euroc MAV dataset

Hi,

how did you manage to run dso on the Euroc MAV dataset? I was about to attempt but then I realized I wouldn't be able to get the gamma and vignette calibration since they don't provide that kind of calibration data.

Thanks,

Bounty

Whereas

Your project and research is awesome

Findings

It's incredibly useful and is being immediately used in technology that not only makes the human experience better, but also is already being used to save lives.

Therefore

Do you have a bounty page or paypal or anything?

Muchos gratitude

Israel

Extracting point cloud

Hi, I've been trying to extract the final point clound from dso, to later use it in a visualizer (meshlab). I looked around publishKeyframes() but it only seems to be talking about pointHessians, and not the actual point cloud.
The results I get from extracting the content of the buffer in refreshPC() doesn't represent the final result either, it may be because I'm not sure how to use the camToWorld projection matrix.
Has anyone managed to get pass this issue ?

Error: camera.txt not found (core dumped)

Hello, I built the dso package successfully and downloaded sequence_26 from tum's mono_dataset..
But I couldn't figure out why the program can't get the camera.txt as an input.
I have extracted the sequence in dso/build/bin/ folder.

'bin/dso_dataset files=../sequence_26/images calib=../sequence_26/camera.txt gamma=../sequence_26/pcalib.txt vignette=../sequence_26/vignette.png preset=0 mode=0'

loading data from ../sequence_26/images!
loading calibration from ../sequence_26/camera.txt!
loading gammaCalib from ../sequence_26/pcalib.txt!
loading vignette from ../sequence_26/vignette.png!

=============== PRESET Settings: ===============
DEFAULT settings:

  • no real-time enforcing
  • 2000 active points
  • 5-7 active frames
  • 1-6 LM iteration each KF
  • original image resolution
    ==============================================
    PHOTOMETRIC MODE WITH CALIBRATION!
    Reading Calibration from file ../sequence_26/camera.txt ... not found. Cannot operate without calibration, shutting down.
    Segmentation Fault (core dumped)

My file configuration is like this.
2017-05-24 16-06-27

Can anyone help about this?
Thank You.

long int interpreted as 32 bit in 32 bit systems...

Hi
long data type is 32 bit in 32 bit systems and 64bit in 64 bit ones.
Compiling the code in 32 bit systems causes a lot of warning like:
"warning: right shift count >= width of type"
The problem is real as shifting 32 bit variables has different result than 64 bit variables.
Replacing all "long" and "long int" variables by int64_t (except in DatasetReader.h) solved the problem.

Eigen Assertion Error in Initialization

@JakobEngel, any suggestions for the following error? Much Appreciated.

dso_error

Links to here:
http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html

`Following their suggestion of:

gdb ./my_program # Start GDB on your program
run # Start running your program
... # Now reproduce the crash!
bt # Obtain the backtrace`

I get:

dso_error2

It comes from the initialization of an identity quaternion in SO(3) from Sophus.
If you, or anyone else is not have this issue, I suspect it's likely a compiler issue...

Test dso on KITTI Dataset 00

I want try to use dso on KITTI dataset, and I have tested it on KITTI sequence 00
set camera.txt as
0.5793 1.9119 0.4893 0.4926 0
none
1241 376

then run dso by ./bin/dso_dataset files=$path/image_0 calib=$path/camera.txt preset=0 mode=2
and do not set pcalib and vignette.

and got an error

/home/shikw/Documents/Dataset/00_gray/
loading data from /home/shikw/Documents/Dataset/00_gray//image_0!
loading calibration from /home/shikw/Documents/Dataset/00_gray//camera.txt!

=============== PRESET Settings: ===============
DEFAULT settings:

  • no real-time enforcing
  • 2000 active points
  • 5-7 active frames
  • 1-6 LM iteration each KF
  • original image resolution
    ==============================================
    PHOTOMETRIC MODE WITH PERFECT IMAGES!
    Reading Calibration from file /home/shikw/Documents/Dataset/00_gray//camera.txt ... found!
    found OpenCV camera model, building rectifier.
    Input resolution: 1241 376
    In: 0.579300 1.911900 0.489300 0.492600 0.000000 0.000000 0.000000 0.000000
    Out: Full
    Output resolution: 1241 376

Rectified Kamera Matrix:
718.911 0 606.721
0 718.874 184.718
0 0 1

NO PHOTOMETRIC Calibration!
Reading Photometric Calibration from file
PhotometricUndistorter: Could not open file!
set timestamps and exposures to zero!
set EXPOSURES to zero!
got 403 images and 0 timestamps and 0 exposures.!
ImageFolderReader: got 403 files in /home/shikw/Documents/Dataset/00_gray//image_0!
using pyramid levels 0 to 0. coarsest resolution: 1241 x 376!

===============WARNING!===================
using not enough pyramid levels.
Consider scaling to a resolution that is a multiple of a power of 2.

===============WARNING!===================
I need higher resolution.
I will probably segfault.
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted (core dumped)

when try
then run dso by ./bin/dso_dataset files=$path/image_0 calib=$path/camera.txt preset=2 mode=2 to allow low resolution,
/home/shikw/Documents/Dataset/00_gray/
loading data from /home/shikw/Documents/Dataset/00_gray//image_0!
loading calibration from /home/shikw/Documents/Dataset/00_gray//camera.txt!

=============== PRESET Settings: ===============
FAST settings:

  • 5x real-time enforcing
  • 800 active points
  • 4-6 active frames
  • 1-4 LM iteration each KF
  • 424 x 320 image resolution
    ==============================================
    PHOTOMETRIC MODE WITH PERFECT IMAGES!
    Reading Calibration from file /home/shikw/Documents/Dataset/00_gray//camera.txt ... found!
    found OpenCV camera model, building rectifier.
    Input resolution: 1241 376
    In: 0.579300 1.911900 0.489300 0.492600 0.000000 0.000000 0.000000 0.000000
    Out: Full
    Output resolution: 424 320
    ERROR: rectification mode none requires input and output dimenstions to match!

bebop camera calibration

Hey,
I got dso_ros running with parrot bebop - however, the dso slam is not able to extract translation - I can provide the screencast video if required. I think I am not updating the calibration parameters correctly. Could you please guide me through how to generate the calibration file from bebops default calibration?
Regards,
Chirag.
bebop_camera_calib.txt

Algorithm details and optimization

Very pleased to see your code!
But this code is not very good to be understood.
I need your help!

  1. Can you write the documentation that derive the Jacobian matrix In the optimization process ?
  2. How can I understand your code? For example, optimizing section! Do you have any advice?

Thank you!

Maybe it's a bug in CoarseInitializer::calcResAndGS()

line 506 and 511, should E be EAlpha?

498: // calculate alpha energy, and decide if we cap it.
499: Accumulator11 EAlpha;
500: EAlpha.initialize();
501: for(int i=0;i<npts;i++)
502: {
503: 	Pnt* point = ptsl+i;
504: 	if(!point->isGood_new)
505: 	{
506: 		E.updateSingle((float)(point->energy[1]));
507: 	}
508: 	else
509: 	{
510: 		point->energy_new[1] = (point->idepth_new-1)*(point->idepth_new-1);
511: 		E.updateSingle((float)(point->energy_new[1]));
512: 	}
513: }
514: EAlpha.finish();
515: float alphaEnergy = alphaW*(EAlpha.A + refToNew.translation().squaredNorm() * npts);

Cal File Bug

I started experimenting with DSO this morning, very impressive!

In camera.txt, I found the the string "Equidistant" in the instructions must be "EquiDistant" with a capital "D" in order to be parsed. Additionally, the "UndistortEquidistant function should have a capital "D" to match.

The snprint on line 762 (nPars == 8) had 10 floating point inputs and not 8. Didn't test to see if that mattered.

Cheers!

Can not declared "EIGEN_ALIGN32"

When I make dso, it has errors about not declared EIGEN_ALIGN32 in FullSystem/CoarseInitializer.cpp. How to fix this? Thank you.

Compilation on Jetson TK1

I am trying to compile DSO on jetson tk1 (armhf) . But sse flags are enabled. So the compilation of Optimaztion code is failed. Is any work around available ?

[ 4%] [ 8%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/FullSystem.cpp.o Building CXX object CMakeFiles/dso.dir/src/FullSystem/FullSystemOptimize.cpp.o In file included from /home/ubuntu/autoboat/packs/dso/src/FullSystem/CoarseTracker.h:32:0, from /home/ubuntu/autoboat/packs/dso/src/FullSystem/FullSystem.cpp:47: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:121:11: error: ‘__m128’ does not name a type const __m128 val) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:121:18: error: ISO C++ forbids declaration of ‘val’ with no type [-fpermissive] const __m128 val) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:137:11: error: ‘__m128’ does not name a type const __m128 val) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:137:18: error: ISO C++ forbids declaration of ‘val’ with no type [-fpermissive] const __m128 val) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator11::updateSSE(int)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:123:56: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val)); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:123:61: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val)); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:123:62: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val)); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator11::updateSSENoShift(int)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:139:56: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val)); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:139:61: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val)); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:139:62: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val)); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator11::shiftUp(bool)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:157:59: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:157:83: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:157:84: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:164:61: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:164:85: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:164:86: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: At global scope: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:283:11: error: ‘__m128’ does not name a type const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:283:18: error: ISO C++ forbids declaration of ‘J0’ with no type [-fpermissive] const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:283:27: error: ‘__m128’ does not name a type const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:283:34: error: ISO C++ forbids declaration of ‘J1’ with no type [-fpermissive] const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:284:11: error: ‘__m128’ does not name a type const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:284:18: error: ISO C++ forbids declaration of ‘J2’ with no type [-fpermissive] const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:284:27: error: ‘__m128’ does not name a type const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:284:34: error: ISO C++ forbids declaration of ‘J3’ with no type [-fpermissive] const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:285:11: error: ‘__m128’ does not name a type const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:285:18: error: ISO C++ forbids declaration of ‘J4’ with no type [-fpermissive] const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:285:27: error: ‘__m128’ does not name a type const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:285:34: error: ISO C++ forbids declaration of ‘J5’ with no type [-fpermissive] const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:286:11: error: ‘__m128’ does not name a type const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:286:18: error: ISO C++ forbids declaration of ‘J6’ with no type [-fpermissive] const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:286:27: error: ‘__m128’ does not name a type const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:286:34: error: ISO C++ forbids declaration of ‘J7’ with no type [-fpermissive] const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:287:11: error: ‘__m128’ does not name a type const __m128 J8,const __m128 J9, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:287:18: error: ISO C++ forbids declaration of ‘J8’ with no type [-fpermissive] const __m128 J8,const __m128 J9, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:287:27: error: ‘__m128’ does not name a type const __m128 J8,const __m128 J9, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:287:34: error: ISO C++ forbids declaration of ‘J9’ with no type [-fpermissive] const __m128 J8,const __m128 J9, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:288:11: error: ‘__m128’ does not name a type const __m128 J10,const __m128 J11, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:288:18: error: ISO C++ forbids declaration of ‘J10’ with no type [-fpermissive] const __m128 J10,const __m128 J11, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:288:28: error: ‘__m128’ does not name a type const __m128 J10,const __m128 J11, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:288:35: error: ISO C++ forbids declaration of ‘J11’ with no type [-fpermissive] const __m128 J10,const __m128 J11, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:289:11: error: ‘__m128’ does not name a type const __m128 J12,const __m128 J13) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:289:18: error: ISO C++ forbids declaration of ‘J12’ with no type [-fpermissive] const __m128 J12,const __m128 J13) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:289:28: error: ‘__m128’ does not name a type const __m128 J12,const __m128 J13) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:289:35: error: ISO C++ forbids declaration of ‘J13’ with no type [-fpermissive] const __m128 J12,const __m128 J13) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator14::updateSSE(int, int, int, int, int, int, int, int, int, int, int, int, int, int)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:292:46: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:292:64: error: ‘_mm_mul_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:292:65: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:292:66: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator14::shiftUp(bool)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:565:68: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData1k+4*i, _mm_add_ps(_mm_load_ps(SSEData+4*i),_mm_load_ps(SSEData1k+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:565:96: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData1k+4*i, _mm_add_ps(_mm_load_ps(SSEData+4*i),_mm_load_ps(SSEData1k+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:565:97: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData1k+4*i, _mm_add_ps(_mm_load_ps(SSEData+4*i),_mm_load_ps(SSEData1k+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:574:70: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData1m+4*i, _mm_add_ps(_mm_load_ps(SSEData1k+4*i),_mm_load_ps(SSEData1m+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:574:98: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData1m+4*i, _mm_add_ps(_mm_load_ps(SSEData1k+4*i),_mm_load_ps(SSEData1m+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:574:99: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData1m+4*i, _mm_add_ps(_mm_load_ps(SSEData1k+4*i),_mm_load_ps(SSEData1m+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::AccumulatorApprox::shiftUp(bool)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:939:58: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(Data1k+i, _mm_add_ps(_mm_load_ps(Data+i),_mm_load_ps(Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:939:81: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(Data1k+i, _mm_add_ps(_mm_load_ps(Data+i),_mm_load_ps(Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:939:82: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(Data1k+i, _mm_add_ps(_mm_load_ps(Data+i),_mm_load_ps(Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:941:76: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(TopRight_Data1k+i, _mm_add_ps(_mm_load_ps(TopRight_Data+i),_mm_load_ps(TopRight_Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:941:108: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(TopRight_Data1k+i, _mm_add_ps(_mm_load_ps(TopRight_Data+i),_mm_load_ps(TopRight_Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:941:109: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(TopRight_Data1k+i, _mm_add_ps(_mm_load_ps(TopRight_Data+i),_mm_load_ps(TopRight_Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:943:76: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(BotRight_Data1k+i, _mm_add_ps(_mm_load_ps(BotRight_Data+i),_mm_load_ps(BotRight_Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:943:108: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(BotRight_Data1k+i, _mm_add_ps(_mm_load_ps(BotRight_Data+i),_mm_load_ps(BotRight_Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:943:109: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(BotRight_Data1k+i, _mm_add_ps(_mm_load_ps(BotRight_Data+i),_mm_load_ps(BotRight_Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:956:60: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(Data1m+i, _mm_add_ps(_mm_load_ps(Data1k+i),_mm_load_ps(Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:956:83: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(Data1m+i, _mm_add_ps(_mm_load_ps(Data1k+i),_mm_load_ps(Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:956:84: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(Data1m+i, _mm_add_ps(_mm_load_ps(Data1k+i),_mm_load_ps(Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:958:78: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(TopRight_Data1m+i, _mm_add_ps(_mm_load_ps(TopRight_Data1k+i),_mm_load_ps(TopRight_Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:958:110: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(TopRight_Data1m+i, _mm_add_ps(_mm_load_ps(TopRight_Data1k+i),_mm_load_ps(TopRight_Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:958:111: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(TopRight_Data1m+i, _mm_add_ps(_mm_load_ps(TopRight_Data1k+i),_mm_load_ps(TopRight_Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:960:78: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(BotRight_Data1m+i, _mm_add_ps(_mm_load_ps(BotRight_Data1k+i),_mm_load_ps(BotRight_Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:960:110: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(BotRight_Data1m+i, _mm_add_ps(_mm_load_ps(BotRight_Data1k+i),_mm_load_ps(BotRight_Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:960:111: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(BotRight_Data1m+i, _mm_add_ps(_mm_load_ps(BotRight_Data1k+i),_mm_load_ps(BotRight_Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: At global scope: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1018:11: error: ‘__m128’ does not name a type const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1018:18: error: ISO C++ forbids declaration of ‘J0’ with no type [-fpermissive] const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1018:27: error: ‘__m128’ does not name a type const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1018:34: error: ISO C++ forbids declaration of ‘J1’ with no type [-fpermissive] const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1019:11: error: ‘__m128’ does not name a type const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1019:18: error: ISO C++ forbids declaration of ‘J2’ with no type [-fpermissive] const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1019:27: error: ‘__m128’ does not name a type const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1019:34: error: ISO C++ forbids declaration of ‘J3’ with no type [-fpermissive] const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1020:11: error: ‘__m128’ does not name a type const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1020:18: error: ISO C++ forbids declaration of ‘J4’ with no type [-fpermissive] const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1020:27: error: ‘__m128’ does not name a type const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1020:34: error: ISO C++ forbids declaration of ‘J5’ with no type [-fpermissive] const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1021:11: error: ‘__m128’ does not name a type const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1021:18: error: ISO C++ forbids declaration of ‘J6’ with no type [-fpermissive] const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1021:27: error: ‘__m128’ does not name a type const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1021:34: error: ISO C++ forbids declaration of ‘J7’ with no type [-fpermissive] const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1022:11: error: ‘__m128’ does not name a type const __m128 J8) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1022:18: error: ISO C++ forbids declaration of ‘J8’ with no type [-fpermissive] const __m128 J8) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1089:11: error: ‘__m128’ does not name a type const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1089:18: error: ISO C++ forbids declaration of ‘J0’ with no type [-fpermissive] const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1089:27: error: ‘__m128’ does not name a type const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1089:34: error: ISO C++ forbids declaration of ‘J1’ with no type [-fpermissive] const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1090:11: error: ‘__m128’ does not name a type const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1090:18: error: ISO C++ forbids declaration of ‘J2’ with no type [-fpermissive] const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1090:27: error: ‘__m128’ does not name a type const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1090:34: error: ISO C++ forbids declaration of ‘J3’ with no type [-fpermissive] const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1091:11: error: ‘__m128’ does not name a type const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1091:18: error: ISO C++ forbids declaration of ‘J4’ with no type [-fpermissive] const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1091:27: error: ‘__m128’ does not name a type const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1091:34: error: ISO C++ forbids declaration of ‘J5’ with no type [-fpermissive] const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1092:11: error: ‘__m128’ does not name a type const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1092:18: error: ISO C++ forbids declaration of ‘J6’ with no type [-fpermissive] const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1092:27: error: ‘__m128’ does not name a type const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1092:34: error: ISO C++ forbids declaration of ‘J7’ with no type [-fpermissive] const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1093:11: error: ‘__m128’ does not name a type const __m128 J8, const __m128 w) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1093:18: error: ISO C++ forbids declaration of ‘J8’ with no type [-fpermissive] const __m128 J8, const __m128 w) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1093:28: error: ‘__m128’ does not name a type const __m128 J8, const __m128 w) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1093:35: error: ISO C++ forbids declaration of ‘w’ with no type [-fpermissive] const __m128 J8, const __m128 w) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator9::updateSSE(int, int, int, int, int, int, int, int, int)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1025:46: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1025:64: error: ‘_mm_mul_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1025:65: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1025:66: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator9::updateSSE_eighted(int, int, int, int, int, int, int, int, int, int)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1097:4: error: ‘__m128’ was not declared in this scope __m128 J0w = _mm_mul_ps(J0,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1097:11: error: expected ‘;’ before ‘J0w’ __m128 J0w = _mm_mul_ps(J0,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:46: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:59: error: ‘J0w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:65: error: ‘_mm_mul_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:66: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:67: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1108:11: error: expected ‘;’ before ‘J1w’ __m128 J1w = _mm_mul_ps(J1,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1109:59: error: ‘J1w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J1w,J1))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1118:11: error: expected ‘;’ before ‘J2w’ __m128 J2w = _mm_mul_ps(J2,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1119:59: error: ‘J2w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J2w,J2))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1127:11: error: expected ‘;’ before ‘J3w’ __m128 J3w = _mm_mul_ps(J3,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1128:59: error: ‘J3w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J3w,J3))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1135:11: error: expected ‘;’ before ‘J4w’ __m128 J4w = _mm_mul_ps(J4,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1136:59: error: ‘J4w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J4w,J4))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1142:11: error: expected ‘;’ before ‘J5w’ __m128 J5w = _mm_mul_ps(J5,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1143:59: error: ‘J5w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J5w,J5))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1148:11: error: expected ‘;’ before ‘J6w’ __m128 J6w = _mm_mul_ps(J6,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1149:59: error: ‘J6w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J6w,J6))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1153:11: error: expected ‘;’ before ‘J7w’ __m128 J7w = _mm_mul_ps(J7,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1154:59: error: ‘J7w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J7w,J7))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1157:11: error: expected ‘;’ before ‘J8w’ __m128 J8w = _mm_mul_ps(J8,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1158:59: error: ‘J8w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J8w,J8))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator9::shiftUp(bool)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1327:68: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData1k+4*i, _mm_add_ps(_mm_load_ps(SSEData+4*i),_mm_load_ps(SSEData1k+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1327:96: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData1k+4*i, _mm_add_ps(_mm_load_ps(SSEData+4*i),_mm_load_ps(SSEData1k+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1327:97: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData1k+4*i, _mm_add_ps(_mm_load_ps(SSEData+4*i),_mm_load_ps(SSEData1k+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1336:70: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData1m+4*i, _mm_add_ps(_mm_load_ps(SSEData1k+4*i),_mm_load_ps(SSEData1m+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1336:98: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData1m+4*i, _mm_add_ps(_mm_load_ps(SSEData1k+4*i),_mm_load_ps(SSEData1m+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1336:99: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData1m+4*i, _mm_add_ps(_mm_load_ps(SSEData1k+4*i),_mm_load_ps(SSEData1m+4*i))); ^ make[2]: *** [CMakeFiles/dso.dir/src/FullSystem/FullSystem.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/dso.dir/all] Error 2 make: *** [all] Error 2

Eigen assert fails: UnalignedArrayAssert

I'm using Eigen3.2 on an Ubuntu 14.04 32bit system.

First, I had the issue #40 and worked around it by replacing EIGEN_ALIGN32 with EIGEN_ALIGN_TO_BOUNDARY(32).
While I doubt that this is related (which is why I created a new issue), I'm not entirely sure.

Building works fine now, but when I run the dso_dataset binary, I get an "UnalignedArrayAssert" failure from Eigen, which is explained here:
http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html
Detailed error below [1].
Does anyone get the same error or can report that the dso_dataset binary runs fine on the current master with a given Eigen version (which one?)?

I tried rolling back to the december version, but that didn't change anything.

I tested it on the sequence_09 and sequence_11 datasets.

I can work around this error by disabling multithreading (by using nomt=1 as cmdline parameter for dso_dataset)

[1]: Error thrown after less than a second runtime:
dso_dataset: /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:78: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 16>::plain_array() [with T = float; int Size = 4; int MatrixOrArrayOptions = 0]: Assertion (reinterpret_cast<size_t>(eigen_unaligned_array_assert_workaround_gcc47(array)) & 0xf) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed.

lowest gdb backtrace frame which is in the dso code:
dso::EnergyFunctional::resubstituteF_MT (this=this@entry=0x83920c0, x=..., HCalib=HCalib@entry=0x823ed80, MT=MT@entry=true) at dso/src/OptimizationBackend/EnergyFunctional.cpp:282

Complete stacktrace here: http://pastebin.com/0vzLQGQR

Project exits automatically and can not save the result

I have learned the DSO based ROS to read the camera, and transform the the project into NO_ROS version.It can be used normally, but will automatically exit encountered the following conditions :
(1)The camera has a violent shake.In fact, sometimes a slight shake also makes it exit;
(2)Running time is little longer.
(3)Light intensity changes suddenly;
And I try to use "while(cvWaitKey(33) != 's')" to close the main loop and save the result, but this code don't work. I think the reason is that this GUI window isn't created by OpenCV.
So I want to know how to improve the project's stability and how to save the result.
Thanks a lot!

Confused about ‘rotDelta’

in src/FullSystem/FullSystem.cpp,line 315
for(float rotDelta=0.02; rotDelta < 0.05; rotDelta++),
and I changed that to for(float rotDelta=0.02; rotDelta < 0.05; rotDelta+=0.01),
then ran the same image sequence twice,the two spent similar time.But,the latter has more possibilities.
I wanna know what the moviation you choose the former.thanks

the initialization of dso

After I read the code, I am really confused about the initialization of dso, can somebody give a brief introduction or is there a related paper? Thank you very much!

API document

Will you provide the additive API document of this code?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.