Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ideas on quadrangle/rectangle detection using convolutional neural networks

Tags:

I'v been trying to do quadrangle detection and localization for weeks, my goal is to have a robust way of getting the 4 points of an quadrangle(rectangle), so I can apply projective transform to an Image then attach it to the source image. I have try the classic opencv contour method, and also using hough transform to find lines then calculate intersections, those two methods is unusable when apply it to real life images. quadrangle detection

So I turn to CNN for help, but currently i haven't find any one try to use CNN to solve this simple problem.

My first attempt is to use state-of-art object detection and localization methods to get quadrangle's bounding box so i can narrow the search of 4 points, then use image processing & computer vision methods to further the search for 4 points. but after trying YOLOv2 and Faster-RCNN, the prediction accuracy is not ideal.

So I'm wondering if there is any idea i can do this end to end, training and feedforward all using a single neural network. it also must be able to deal with occlusion reasonably well.

Currently my idea is to remove the fc-layers and make a huge activation map that has the same width and height as the first input layer(eg. 448x448) then optimize the 4 most highly activated areas, using argmax to get the position. but this method only works for one quadrangle it doesn't work well with corner occlusions as well.

I'll be appreciated if anyone can provide any suggestions. Thanks a lot!

like image 641
Eisneim Avatar asked Jun 01 '17 13:06

Eisneim


1 Answers

You are absolutely right about the first methods you mentioned. Hough transform like methods are old and not useful for images in the wild. And of course, computer vision field turned its face to object detection and recognition with rise of deep learning.

However, there is a very nice discussion came up recently. Have we forgotten about Geometry in Computer Vision?

My suggestion would be contour detection and then apply Hough transform(use state of the art) methods to detect rectangles you want, about the occlusion, you can set parameters for Hough transform to be more forgiving for missing edge pixels with parameters. You can for example check most recent contour detection methods as in recent CVPR paper.

like image 134
Semih Korkmaz Avatar answered Sep 21 '22 11:09

Semih Korkmaz