Our goal is to build an app that can guide a visually impaired user toward a Montreal bus shelter using image recognition and navigation assistance. The application aims to address the problems faced by the visually impaired community surrounding their mobility in modern urban environments. We seek to tackle bus shelter identification in Montreal, in addition to providing accurate navigational guidance, as there exists no current solution that can efficiently and reliably identify these crucial landmarks.
Full demo on YouTube: https://youtube.com/shorts/tjjbdm7UCZ8
![Screenshot 2024-04-09 at 10 36 38 AM](https://private-user-images.githubusercontent.com/68878155/320888682-5df70a5d-679a-4553-ad5f-0d272495080a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0MTk0NzgsIm5iZiI6MTczOTQxOTE3OCwicGF0aCI6Ii82ODg3ODE1NS8zMjA4ODg2ODItNWRmNzBhNWQtNjc5YS00NTUzLWFkNWYtMGQyNzI0OTUwODBhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDAzNTkzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRmOTYxNjY3NzQ5YTZhMDVhMDFmNWZhYjZkYTA1YzllMTY3MDg0NTA4ZGM1NGYyOWY2MzQ0MDE2YTIyMTYyOGQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.rhmgkk328d5ridra5J1UkGsdslEz6l0Cidy7IvycRos)
Our custom dataset of 5,264 images features various bus shelter types from around Montreal, and can be found here:
Process:
- Collected videos of bus shelters
- Extracted frames from the videos (using the splitvideo.ipynb file from the ExtractFrames folder)
- Set bounding boxes for bus shelters in frame (using website https://www.makesense.ai/)
To train a new YOLO model (yolov8n), please use the following Google Collab - you can either use our dataset (from RoboFlow) or your own:
- Xcode 10.3+
- iOS 13.0+
git clone https://github.com/tucan9389/ObjectDetection-CoreML
-
You can download a pretrained Yolo model from the official wiki or alternatively you can train your own: YoloV8 Ultralytics
yolo export model=yolov8n.pt format=coreml nms
By default, the project uses a bus shelter detecting yolov8s
model. If you want to use another model, you can replace the model file in the project. Please navigate to to the "mlmodel" folder and paste your model.