Visual based 3D map construction