Answers.Body: <p>To use a convolutional net that isn't spatially invariant, you can make the convolution matrix of size equal to your input image size. Afterwards, just use any desired number of fully connected layers and your network should be able to learn your dataset.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-04-07T19:37:06.633Z
Answers.Text: I like this idea, but what if I wanted to still retain some degree of spatial invariance in the y-axis direction.  For this, I could add a kernel that parses the image's full size in addition to the standard ones that translate over the image.  I think that would work quite well.
Answers.UserDisplayName: qualiaMachine
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-04-07T17:06:03.280Z
Answers.LastActivityDate: 2017-04-07T17:06:03.280Z
Answers.UserDisplayName: aesthete
Body: <p>I am beginning an image analysis project to recognize images with a particular object centered on the image. If the object is at the center, I give the image a positive label, and if it is anywhere else, or simply not in the image, I give the image a negative label. The object, itself, has a complex pattern, such that statistical methods and basic image processing techniques are not able to detect it. The human eye, however, has no trouble detecting this object. Therefore, I am opting to develop a convolutional network that can parse the complexity of this pattern. The only issue, however, is that convolutional networks are inherently designed to be spatially invariant. Therefore, is it even possible to train the network to focus on the importance of the object being at the center simply by feeding the network many negative examples containing the object anywhere else but the center? Furthermore, is there perhaps a better or more direct way to go about incorporating this spatial aspect into the network's functionality?</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-04-06T12:27:39.157Z
Comments.Text: Just feed only the center of the image into your CNN.
Comments.UserDisplayName: BlindKungFuMaster
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-04-06T18:01:53.757Z
Comments.Text: Not a bad thought, but that unfortunately will not work for my purposes since this particular object exists relative to its surrounding environment.  The object is essentially a column of grouped together dots that shows up relative to background dots surrounding the object.  If there are many background dots, then a zoomed in window might confuse background information for a column of clustered dots.  In other words, it's the sudden increase in dot number, synchronized in a vertical fashion, that I am attempting to recognize.
Comments.UserDisplayName: qualiaMachine
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-04-07T08:26:42.603Z
Comments.Text: Ok, you can always just use a normal NN instead of a CNN, but this problem sounds like it might be solvable with a special purpose algorithm.
Comments.UserDisplayName: BlindKungFuMaster
Tags: <image-recognition><convolutional-neural-networks>
Title: Training a convolutional network to recognize object location
UserDisplayName: qualiaMachine
ThreadText: # Training a convolutional network to recognize object location
  
  (Asked by: username_0 on 2017-04-05)
  
  I am beginning an image analysis project to recognize images with a particular object centered on the image. If the object is at the center, I give the image a positive label, and if it is anywhere else, or simply not in the image, I give the image a negative label. The object, itself, has a complex pattern, such that statistical methods and basic image processing techniques are not able to detect it. The human eye, however, has no trouble detecting this object. Therefore, I am opting to develop a convolutional network that can parse the complexity of this pattern. The only issue, however, is that convolutional networks are inherently designed to be spatially invariant. Therefore, is it even possible to train the network to focus on the importance of the object being at the center simply by feeding the network many negative examples containing the object anywhere else but the center? Furthermore, is there perhaps a better or more direct way to go about incorporating this spatial aspect into the network's functionality?
  
  **Tags:** image-recognition, convolutional-neural-networks
  > **Comments:**
  > **username_1**: Just feed only the center of the image into your CNN.  
  > **username_0**: Not a bad thought, but that unfortunately will not work for my purposes since this particular object exists relative to its surrounding environment.  The object is essentially a column of grouped together dots that shows up relative to background dots surrounding the object.  If there are many background dots, then a zoomed in window might confuse background information for a column of clustered dots.  In other words, it's the sudden increase in dot number, synchronized in a vertical fashion, that I am attempting to recognize.  
  > **username_1**: Ok, you can always just use a normal NN instead of a CNN, but this problem sounds like it might be solvable with a special purpose algorithm.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2017-04-07. Score: 0 | Accepted answer
  
  To use a convolutional net that isn't spatially invariant, you can make the convolution matrix of size equal to your input image size. Afterwards, just use any desired number of fully connected layers and your network should be able to learn your dataset.
  
  > **Comments:**
  > **username_0**: I like this idea, but what if I wanted to still retain some degree of spatial invariance in the y-axis direction.  For this, I could add a kernel that parses the image's full size in addition to the standard ones that translate over the image.  I think that would work quite well.  
  
  ---
  
  