## Main Design of ERF-IMCS
### Vision-Based Topological Mapping  
During the topological mapping, we steer the robot through all parts of the indoor environment, recording the images and odometry information to search keyframes by CNN-based feature representation. A threshold of the similarity is adopted to judge whether the query image matches to the keyframes in database. The query image will be added into the database if it does not match the keyframes in database. And a link between the query image and the previous keyframes will be added to the link graph. In the case of finding a match in the database, the query image will not be added, only the link is constructed. This creates a loop in the topological structure. In the process of topological localization, the robot is located to the closest node by means of comparing the currently captured image with the keyframes in topological nodes. Therefore, the selection of keyframes is the main issue in constructing topological map, which should fulfill following principles: (1) the similarity between the selected keyframes should be greater than a certain threshold to ensure the discriminative ability and representativeness; and, (2) for collected images with few local visual features, more keyframes should be selected nearby to avoid instability during the localization process. To this end, the feature representation of the keyframes is quite crucial. In order to obtain a compact representation of the keyframes, we characterize the images by a set of most relevant features of the environment. In each topological node, an object detection CNN are adopted to extract the features and object categories of keyframes for the robot to perform image retrieval.  
The flowchart of the topological mapping is shown in Figure 2. For the current image captured by robot, we compute the similarity between the current image and the existing keyframes in topological map based on the image matching method in Section 3.2. We construct a new topological node when the similarity between the current image and the existing keyframes in topological map is greater than a certain threshold, inserting the current image as a new keyframe. Furthermore, an edge is added between the current node and previous node, which represents the connectivity between different nodes. Since the path of capturing keyframes in a topological mapping is completely guided by a human, the edges in a topological map are regarded as the reference for path planning. After that, a topological map is constructed. As shown in Figure 3, the keyframe images and robot pose are stored in each topological node. The keyframe images in each node are responsible for providing  
Figure 1: Architecture of ERF-IMCS.  
the visual semantic information of local scene, such as visual features and observed object category for the robot. The visual features of images in the database are transformed to binary hash codes to facilitate efficient image matching, in real-time, for global localization. In this way, it is conductive to perform navigation flexibly in a human-like mechanism for the mobile robot which is not available in conventional metric-based navigation method. For example, when the target coordinates where human commands the robot to navigate is occupied, the robot will continuously search around the target location, even though it has already arrived the goal in metric-based navigation. In contrast, the proposed vision-based topological navigation system provides the robot with the capability to navigation flexibly without requiring specific coordinates of target location.