## 4 Artificial Intelligence Techniques
### Machine- or Deep-Learning Algorithms  
A lot of methods are currently available for developing tools based on navigation or object-detection tasks (see Table 8). In the field of navigation and wayfinding, the most popular methods in this survey are:  
* SLAM (Simultaneous Localization And Mapping) algorithms, which are used to construct maps of the encountered environment and localize the user within it. Several methods were investigated in the analyzed papers: semantic visual SLAM (ORB SLAM) in [21], 2-STEP Graph SLAM in [32], VSLAM in [29], and ORB-SLAM2 in [19].
* RANSAC (RANdom SAmple Consensus) is a method for detecting (and eliminating) outliers, and was developed to solve the Location Determination Problem (extracting feature points and localizing them on a projection).
* A* is a search algorithm for wayfinding that uses heuristics to determine the path with the smallest cost.
* The Kalman filter algorithm (Linear Quadratic Estimation) is a method to estimate unknown variables from the observation of a series of measurements that can be employed for many tasks, such as pose estimation [26], obstacle motion estimation [33], or error reduction [42].  
Other architecture is available for dealing with object recognition tasks, mostly used in the papers for the detection of obstacles and to describe scene content if needed:  
* YOLO (You Only Look Once) is a CNN designed for real-time object detection (it recognizes what objects are present in a scene, and where) created in 2015. Several updated versions are currently available (YOLOv1-v3).  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Scope of Systems** & **\% of Papers** & **Ref. to Papers** \\ \hline indoor & 30 & [16; 22; 23; 26; 24; 25; 26; 27; 28; 29; 30; 35; 34; 36; 37; 38; 39; 45] \\ outdoor & 10 & [24; 31; 36] \\ both & 43.3 & [20; 21; 25; 27; 28; 29; 30; 39; 42; 43; 44; 45; 46; 47; 48] \\ \hline \hline \end{tabular}
\end{table}
Table 7: Scope of assistive systems. Some studies do not clearly specify their targeted scope.  
VGG is a deep CNN architecture deriving from AlexNet, developed and already trained (on the ImageNet dataset) by Oxford University's Visual Geometry Group. It is mainly designed for image classification and object recognition tasks, and is adapted to the transfer-learning method. Two versions are available: VGG16 (16 convolutional layers) and VGG19 (19 layers).
* Inception is a CNN classifier developed by Google (and named after the movie) that serves the analysis of images and object detection. Among the several versions that have been released, only Inceptionv2 [42] and v3 [40,41] are used in the analyzed papers. Others are: Inceptionv1 (aka GoogLeNet), Inceptionv4 and InceptionResNetv1 and v2 (hybrid Inception and ResNet architecture).  
To perform the complex tasks needed to build navigation and object recognition assistive tools, encoder/decoder architecture is also a popular choice, as shown in [21,23,25,31,48]. Numerous algorithms and architectures are possible when developing navigation and object-detection systems, and only the most frequent (among the analyzed samples) have been described in this survey. Despite the wide range of possibilities currently available, some papers opted for the development of specific algorithms tailored to their research objectives. They are used to perform specific tasks of the overall development such as list construction and object detection in [33], or object extraction and obstacle avoidance in [47].