A hierarchical mobile robot simultaneous localization and mapping (SLAM) method that allows us to obtain accurate maps of large environments is proposed. The local map level is composed of a set of local metric feature maps that are guaranteed to be statistically independent. The global level is a topological graph whose arcs are labeled with the relative location between local maps. An estimation of these relative locations is maintained with local map alignment algorithm, and more accurate estimation is calculated through a global minimization procedure using the loop closure constraint. The local map is built with Rao-Blackwellised particle filter (RBPF). The particle filter is used to extend the path posterior by sampling new poses that integrate the current observation which drastically reduces the uncertainty about the robot pose. The landmark position estimation and update is also implemented through Kalman filter. Omnidirectional vision mounted on the robot tracks the 3D natural point landmarks, which are structured with matching Scale Invariant Feature Transform (SIFT) feature pairs. The matching for multi-dimension SIFT features is implemented with a KD-Tree. Experimental results on real robot in a medium size, real indoor environment show the practicality and efficiency of our proposed method.