As per my understanding, while learning the features, the Convolution part of the CNN works-on and preserves the 'spatial relationship' between the pixels.

But, I want to identify object(s) in my image whose definition might be all scattered throughout the image.
By scattered I mean - The identity of object may exist in separate disconnected islands of pixel-sets. Where each of these island in itself is a connected component of pixels.

In other words- my 'Cat' exists, not as a whole, but is broken up into pieces.

Would traditional CNN still identify my 'Cat'?

If yes, upto what level? If my Cat is broken into 4 pieces? 100 pieces?
If not, what adjustment(s) do I need to make so that I can solve this problem?


  • $\begingroup$ The lower layers of your CNN will detect the components. If you don't expect them to be composed in a particular way (as they naturally would) you can probably use a smaller network. Try it and see. $\endgroup$
    – Emre
    Jun 2, 2017 at 21:24

1 Answer 1


This should not be a problem, the convolutional kernels will have bigger and bigger receptive fields when you get deeper, and either there will be kernels at the end that will combine all the components over the whole input if the receptive field is big enough, or if you use a fully connected layer at the end it will learn that specific combinations of components combine into a specific class. The number of pieces it will be able to recognize depends on the expressiveness of your network, the amount of training samples and on the difficulty of your problem.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.