Neural Network: output representation (output layer)

10 views (last 30 days)
I have more of a high-level question. I’m trying to design a neural network for flower detection. The images are 440x440x3 pixels (RGB) and are taken by drone so flowers are white dots (of radius up to 10 px).
I have already annotated over 2000 images but I’m having trouble with the data representation for the output layer. For now, each flower is represented as x-y coordinates representing its centre. Each image contains a different number of flowers. This is not a standard classification/regression task and that's why I’m a bit lost.
I planned to use CNN but I don’t know how to define the output. For now, the input X is: 440 x 440 x 3 x N matrix (height x width x channels x index). This is pretty standard and there's an input layer already defined for that.
However, it gets tricky when I’m trying to design the output layer. I was thinking about representing output Y as: 440 x 440 x 1 x N matrix of binary images where 1 represents a flower (0 otherwise; according to the coordinates from annotated data). However, this approach seems hard to implement. Do you know how would I implement this in MATLAB? Has anyone heard of such an approach?
My other thought was to have flowers annotated as before (x-y coordinates) and have 2 outputs (one for x and one for y coordinates). These would work as probabilities for each of the coordinates and if they’re both acceptably high then we would predict a flower.
Are there any other ways to represent the output for this particular task? Any help would be greatly appreciated :)

Accepted Answer

Maria Duarte Rosa
Maria Duarte Rosa on 2 Jan 2018
Edited: Maria Duarte Rosa on 2 Jan 2018
Can you treat the problem as an object detection one? If so, then this example might help:
Or perhaps as a semantic segmentation (pixel classification) problem:

More Answers (0)

Categories

Find more on Image Data Workflows in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!