What it does

We wanted to come up with a process to detect strong connected regions in images. The application can be used to quickly pregenerate regions for common occurrences in images such as cars, animals and humans.

How I built it

We used Google's DeepLab API and a Fast R-CNN pretrained model to segment images into different structures. Then, we used a simply Canny edge detector with automated thresholding to only detect strong regions.

Challenges I ran into

Many of the existing edge detection methods (especially the non-ML variants) weren't suited to the task at hand. They detected far too many small regions and the larger regions were often unconnected, which would lead to an issue when trying to close them. One of the latest innovations in edge detection "Holistically Nested Edge Detection" or HED worked to some extent but we weren't quite satisfied with the results.

What I learned

While we weren't able to use many of them due to the time constraints, we were able to learn about many of the existing Deep learning based models (semantic edge detection - STEAL, SED, object contour detection etc.). We were also able to see where traditional computer vision tricks work and fail.

What's next for EdgeDetector

Given more time, we could most certainly train a CNN model on the SBD and Cityscapes dataset in addtion to preannotating our own data to prepare a model for more accurate edge detection.

Built With

Share this project:

Updates