Elevator button recognition is a significant challenge in multi-floor robot navigation. A large variety of button shapes and sizes, panel designs, label types, light conditions and specular reflections make it a very challenging problem.
- We detect buttons on the elevator panel from an image (yolonas is used for button detection). I implemented the yolonas model to improve inference times on robot CPUs like the jetson nano. Results have shown the model to be faster* than the Faster-RCNN architecture used before.
- We process the button patches and pass them onto an OCR model that returns the text on the buttons. The OCR model was taken from this drive folder that has trained models for this purpose.
These tasks have been achieved using the elevator button dataset after some processing and customizations.
-
Clone the repository and install the requirements mentioned in the requirements.txt file
-
Download the 'training-backup' folder from this google drive and place it in the repository.
-
inference.py loops over test images, records inference times for each image returns a summary of the times.
-
visual_inference.py can be used to visualize model results for selected range of images.
-
button_detection.py demonstrates results of the yolonas model on elevator panels.
-
character_recognition.py demonstrates results of OCR model on buttons.