This project implements two concatenated deep neural networks which perform joint object detection and depth estimation. We used Mask R-CNN for object detection network, and MiDaS network for depth estimation. This project was done for EE-SUT deep learning course.
You can install the dependencies by running: pip install -r requirements.txt
Both of the networks(object detector and depth estimator) were pretrained on large dataseta. We fine-tuned them using [NYU Depth Dataset V2](NYU Depth Dataset V2) dataset.
We used following transforms as augmentation:
- Random crop
- Random horizontal flip
- Brightness change
- Random affine rotation (5 to 10 degree)
You can see some test images in the following plots:
Etimated Depth | Detected Objects with Estimated Depth |
---|---|
You can use the networks by GUI. First, install the depenedncies and the run the follosing command from the project main directory:
ptyhon3 GUI/main.py
. You can load more images to the app and move between the results using the slider placed at the bottom of the app page. Note that you shoud first train the models and save them in the ./Models directory. For saving or loading the models, change the load_model and save_model boolians in the train.ipynb Configs section.