CNN Training for Detecting Curvature Extrema of Object Contours in Real Images
Curvature extrema along contours and their surrounding image regions are interesting local image features. Their detection in real images generally requires the following main steps: edge detection, edge refinement, edge tracing, and curvature extrema detection. Due to the complexity of this process, the objective of this work was to develop an equivalent detector based on a Convolutional Neural Network (CNN). The idea is to use real images as inputs and to directly determine score maps as outputs, which describe how likely each pixel is a keypoint. This requires two steps: generating a training dataset and integrating an appropriate CNN architecture. High-quality edge images and their corresponding real images have been used from a public dataset. The dataset has then been processed with an edge tracing and curvature extrema detection method from GET Lab to generate the training data. Here, one of the key challenges was to determine meaningful and coherent object contours. This is also the main contribution of this work. Different CNN architectures have then been tested and compared.