0
$\begingroup$

I have got raster images of the spatial distribution of categorical data. For each pixel of the image, I know which single category (A to F) is present in that pixel.

Each image belongs to a class depending on the spatial distribution of the categories in the image, and I would like to classify new images based on known images.

My first thought is to use a neural network with at least a 2D convolution layer (Conv2D layer) next to the input layer. However, it seems to me that Conv2D filters make use of information that is embedded in values to each an order can be attributed, such as the intensity of a channel. For comparison, in image processing a Sobel filter can detect edges by approximating the gradient of the image intensity, which has an order (lower values vs higher values)

In the present case, however, there is no order between the categories A to F, i.e., we cannot say that A < B < C for example.

Can I use a Conv2D layer in that case, and how should I color encode the categories so I do not introduce a piece of information (order) which is not present in the orginal dataset?

$\endgroup$
1
  • 1
    $\begingroup$ You need to have one output node for each outcome, A,B ... F, in total 6 output nodes, as your categories are not ordered. You may get inspiration from: M. Egmont-Petersen, U. Schreiner, S.C. Tromp, T. Lehmann, D.W. Slaaf, T. Arts. "Detection of leukocytes in contact with the vessel wall from in vivo microscope recordings using a neural network," IEEE Transactions on Biomedical Engineering, Vol. 47, No. 7, pp. 941-951, 2000. You can download this article from internet. $\endgroup$ Commented Aug 26, 2020 at 8:27

1 Answer 1

1
$\begingroup$

Ideally, you would "one-hot code" your raster input, such that it's an array of size H by W by 6, and each of 6 "channels" is binary (1 if that pixel falls in category, else 0).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.