## 1 Introduction  
The problem of estimating the indoor position of a person or an object (as an example, a wearable device or a moving robot, etc. ), also known as indoor localization, has gained a lot of interest in the last decades. Lots of researchers have focused their efforts on this topic to develop solutions exploiting new technologies or to improve the performance of existing ones, mainly in terms of accuracy and reliability. Many surveys and review papers on this topic that address the different proposed technologies and compare their performances are now available in the literature. Examples [1; 2; 3; 4; 5] and others there referenced. Indoor localization has become a fundamental task in many different fields; for example, everywhere Location-Based Services (LBS), context-aware applications and location-based Internet of Things services are provided. Examples of applications exploiting solutions of indoor localization are security, healthcare, environmental exploration, and recently, gaming, and automated storage [7]. Places where there is a need for localization are shopping malls, stores, warehouses, hospitals, airports, subways, universities and campuses, public office buildings, cultural places such as museums and art galleries, public and botanical gardens, cities, etc. Looking at the localization methodology, the different solutions can be subdivided into five main classes (each having related subclasses): Proximity Detection, Triangulation, Fingerprinting, Dead-Reckoning, and Hybrid Localization. Details on these methodologies, their performances (together with the main adopted performance indexes), advantages, and drawbacks are discussed in [1; 2; 3; 4; 5; 6; 7]. Proximity detection-based methodologies localize the monitored target by sensing whether it is close to a well-known location or an area. The sensing can be performed by physical contact, as in the cases where touch sensors or pressure capacitive sensors are employed, or by checking whether the monitored target is in the range of anchor devices such as Wi-Fi access points or near-field communication readers. The advantages of such an approach are simplicity and easy implementation, but they can only sense the location within a limited area, and the achieved localization accuracy is low. Localization approaches based on triangulation estimate the location of the target by using geometry properties of triangles formed from known points (generally transmitters, e.g., Wi-Fi access points, GSM towers, Bluetooth beacons) to the mobile target. Triangulation can be subdivided into two subcategories using different measurements: lateration and angulation. While lateration is a distance-based technique, which uses measurements of the Time of Arrival (ToA), Time Difference of-Arrival (TDoA), Received Signal Strength (RSS) or Round-Trip time-of-Flight (RToF), angulation is a direction-based technique that is used in the Angle of Arrival (AoA) approach and in the camera pose method, which estimates the location by calculating the pose of the camera carried by the monitored target. The main idea underpinning the fingerprinting methodology is matching a set of measurements from a localization signal (for example, RSS measurements from visible access points) at a certain location, called a fingerprint, with a set of pre-collected fingerprints stored in a database. Such an approach requires a training phase to build the fingerprint database with a given level of granularity. The finer the granularity, the better the accuracy but requires more time to collect the fingerprints. During the localization phase, the location of the monitored target is computed by comparing the collected fingerprint with the fingerprints in the database using deterministic or probabilistic algorithms. Depending on the localization signals, fingerprinting can be categorized as wireless, magnetic and visual fingerprinting.