# Indoor-Guided Navigation for People Who Are Blind: Crowdsourcing for Route Mapping and Assistance
## 4 Bringing Forth Current R&D Challenges
### Data Structure  
At the current R&D stage, the buildings' 2D floor plans and SLAM trajectories are stored in a local server for online working mode and in the mini PC (such as Intel Nuc) for offline working mode. The points of interest and information about them are stored there as well. Web connection is needed for synchronization. However, at the later stages of the prototype R&D, we plan to store information in the web cloud server, using an enterprise platform for internal and external users with an application, core, and service layers. The structure of information storage will employ relational, file, and object databases.  
The main projected data flows and storage are depicted in Figure 6. However, in the current R&D stage, we are testing stand-alone modes and modalities using a simple Wi-Fi connection with a portable mini PC (Intel Nuc) and a server.  
Figure 6: Main communication, data flows and storage.  
For the functional prototype development, we used software packages with their databases or libraries such as:  
* Facial recognition mode's (Verilook, [[https://www.neurotechnology.com/verilook.html](https://www.neurotechnology.com/verilook.html)]([https://www.neurotechnology.com/verilook.html](https://www.neurotechnology.com/verilook.html)), accessed on 20 October 2021) database is stored in the server;
* SLAM database of points of interest, location, routes, and maps is stored in the server;
* accurate open-source Visual SLAM Library
* [[https://arxiv.org/abs/2007.11898](https://arxiv.org/abs/2007.11898)]([https://arxiv.org/abs/2007.11898](https://arxiv.org/abs/2007.11898)); [[https://github.com/UZ-SLAMLab/ORB_SLAM3](https://github.com/UZ-SLAMLab/ORB_SLAM3)]([https://github.com/UZ-SLAMLab/ORB_SLAM3](https://github.com/UZ-SLAMLab/ORB_SLAM3)), accessed on 20 October 2021);
* scene description--image caption model, based on Google Tensorflow \"im2 txt\" models;
* specific object detection database is stored in the server;
* for object classes (such as doors, lifts, stairs, etc.) classification and recognition we used Faster RCNN resnet101, resnet 50, ssd mobilenet training and validation sets based on our own and open source databases;
* for obstacle recognition, we used the Point Cloud library
* [[https://pointclouds.org/](https://pointclouds.org/)]([https://pointclouds.org/](https://pointclouds.org/)), [[https://pcl.readthedocs.io/en/latest/cluster_extraction.html](https://pcl.readthedocs.io/en/latest/cluster_extraction.html)]([https://pcl.readthedocs.io/en/latest/cluster_extraction.html](https://pcl.readthedocs.io/en/latest/cluster_extraction.html)) (accessed on 20 October 2021);
* for OCR we employed Google OCR API ([[https://cloud.google.com/vision/docs/ocr](https://cloud.google.com/vision/docs/ocr)]([https://cloud.google.com/vision/docs/ocr](https://cloud.google.com/vision/docs/ocr)); (accessed on 20 October 2021));
* for Social Networking we are employing audio-video streaming to a web browser (Android Apps integrated with WEB Cloud DB).  
The communication protocol is handled by ROS topics(ROS nodes, topics, and messages! ROS Robotics By Example--Second Edition (packtpub.com; accessed on 10 October 2021); Practical Example--ROS Tutorials 0.5.2 documentation (clearpathrobotics.com; accessed on 10 October 2021)), which organizes the data flow and ROS service interaction.