Answers.Body: <p>As I know about the YOLO, its algorithm splits the whole picture into many small frames and performs classification and boundaries detection at once for every frame, so that the location of the object does not matter.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-01-18T02:08:00.937Z
Answers.LastActivityDate: 2022-01-26T09:18:52.473Z
Answers.LastEditDate: 2022-01-26T09:18:52.473Z
Answers.UserDisplayName: Văn Quyền Nguyễn
Answers.Body: <p>As you said, a CNN would be able to detect objects in different positions if the dataset contains enough examples of such cases, though the network is able to generalize and should be able to detect objects in slightly changed positions and orientations.</p>
  <p>The term &quot;translation invariance&quot; does not mean that translating an object in the image would yield the same output for this object, but that translating the whole image would yield the same result. So the relative position of object IS important, modern CNN's takes decisions on the whole image (with strong local cues, of course).</p>
  <p>To maximize the ability of your CNN to detect multiple orientation, you can train with data augmentation that rotate the images.</p>
  <p>the same reasoning can be applied to partial occlusions: if there are enough samples with occlusion in the training set the network should be able to detect those ones. The network ability to generalize should also help a little when occlusions are small, and still be able to detect the object.</p>
  <p>Some papers tried different experiment to demonstrate the robustness to occlusion and translation, for instance by looking at the network activation when artificially occluding a portion of the image with a gray rectangle, though I do not have a paper name in mind.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-04-22T15:22:28.883Z
Answers.LastActivityDate: 2021-04-22T15:22:28.883Z
Answers.UserDisplayName: Louis Lac
Answers.Body: <p>This is a good question because unlike Faster R-CNN RPN YOLO &quot;proposals&quot; arise from a fully connected layer instead of a convolutional one</p>
  <p>The parameters of each &quot;7x7 feature map&quot; in the 7x7x30 YOLO detection layer are not shared which implies an image should be translated to present each of its objects to each of the 7x7 positions to ensure translation invariance</p>
  <p>This is related to its extensive requirement for data augmentation including translations, scaling, exposure and saturation where the R-CNN family of algorithms just use random horizontal flips</p>
  <p>This was modified in <a href="https://arxiv.org/pdf/1612.08242.pdf" rel="nofollow noreferrer">Darknet-19</a> in which the last layer is convolutional when modified for detection</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-18T17:56:36.007Z
Answers.LastActivityDate: 2022-06-18T18:10:51.303Z
Answers.LastEditDate: 2022-06-18T18:10:51.303Z
Answers.UserDisplayName: Matias Haeussler
Body: <p>I have the following question about You Only Look Once (YOLO) algorithm, for object detection.</p>
  <p>I have to develop a neural network to recognize web components in web applications - for example, login forms, text boxes, and so on. In this context, I have to consider that the position of the objects on the page may vary, for example, when you scroll up or down.</p>
  <p>The question is, would YOLO be able to detect objects in &quot;different&quot; positions? Would the changes affect the recognition precision? In other words, how to achieve translation invariance? Also, what about partial occlusions?</p>
  <p>My guess is that it depends on the relevance of the examples in the dataset: if enough translated / partially occluded examples are present, it should work fine.</p>
  <p>If possible, I would appreciate papers or references on this matter.</p>
  <p>(PS: if anyone knows about a labeled dataset for this task, I would really be grateful if you let me know.)</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-08-20T13:57:48.583Z
Comments.Text: think of any classification and localization tasks : objects are never at the same position, but the network is able to find these objects well. Why sould it be different for your task ? :)
Comments.UserDisplayName: Jérémy Blain
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-04-22T13:23:18.170Z
Comments.Text: You can check this playlist for the needed information: https://www.youtube.com/playlist?list=PLKHYJbyeQ1a3tMm-Wm6YLRzfW1UmwdUIN
Comments.UserDisplayName: Amr Khaled
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-01-17T18:43:30.647Z
Comments.Text: Some authors distinguish between translational invariance (the network's output isn't affected by the object appearing in a different part of the image, at an image classification task) from translational equivariance (the identified bounding box moves along with the moved image).
Comments.UserDisplayName: NikoNyrh
Tags: <convolutional-neural-networks><reference-request><datasets><object-detection><yolo>
Title: Would YOLO be able to detect objects in "different" positions?
UserDisplayName: giada
ThreadText: # Would YOLO be able to detect objects in "different" positions?
  
  (Asked by: username_0 on 2018-08-20)
  
  I have the following question about You Only Look Once (YOLO) algorithm, for object detection.
  
  I have to develop a neural network to recognize web components in web applications - for example, login forms, text boxes, and so on. In this context, I have to consider that the position of the objects on the page may vary, for example, when you scroll up or down.
  
  The question is, would YOLO be able to detect objects in "different" positions? Would the changes affect the recognition precision? In other words, how to achieve translation invariance? Also, what about partial occlusions?
  
  My guess is that it depends on the relevance of the examples in the dataset: if enough translated / partially occluded examples are present, it should work fine.
  
  If possible, I would appreciate papers or references on this matter.
  
  (PS: if anyone knows about a labeled dataset for this task, I would really be grateful if you let me know.)
  
  **Tags:** convolutional-neural-networks, reference-request, datasets, object-detection, yolo
  > **Comments:**
  > **username_1**: think of any classification and localization tasks : objects are never at the same position, but the network is able to find these objects well. Why sould it be different for your task ? :)  
  > **username_2**: You can check this playlist for the needed information: https://www.youtube.com/playlist?list=PLKHYJbyeQ1a3tMm-Wm6YLRzfW1UmwdUIN  
  > **username_3**: Some authors distinguish between translational invariance (the network's output isn't affected by the object appearing in a different part of the image, at an image classification task) from translational equivariance (the identified bounding box moves along with the moved image).  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_4 on 2022-01-18. Score: 1
  
  As I know about the YOLO, its algorithm splits the whole picture into many small frames and performs classification and boundaries detection at once for every frame, so that the location of the object does not matter.
  
  
  ---
  
  ### Answer by username_5 on 2021-04-22. Score: 0
  
  As you said, a CNN would be able to detect objects in different positions if the dataset contains enough examples of such cases, though the network is able to generalize and should be able to detect objects in slightly changed positions and orientations.
  
  The term "translation invariance" does not mean that translating an object in the image would yield the same output for this object, but that translating the whole image would yield the same result. So the relative position of object IS important, modern CNN's takes decisions on the whole image (with strong local cues, of course).
  
  To maximize the ability of your CNN to detect multiple orientation, you can train with data augmentation that rotate the images.
  
  the same reasoning can be applied to partial occlusions: if there are enough samples with occlusion in the training set the network should be able to detect those ones. The network ability to generalize should also help a little when occlusions are small, and still be able to detect the object.
  
  Some papers tried different experiment to demonstrate the robustness to occlusion and translation, for instance by looking at the network activation when artificially occluding a portion of the image with a gray rectangle, though I do not have a paper name in mind.
  
  
  ---
  
  ### Answer by username_6 on 2022-06-18. Score: 0
  
  This is a good question because unlike Faster R-CNN RPN YOLO "proposals" arise from a fully connected layer instead of a convolutional one
  
  The parameters of each "7x7 feature map" in the 7x7x30 YOLO detection layer are not shared which implies an image should be translated to present each of its objects to each of the 7x7 positions to ensure translation invariance
  
  This is related to its extensive requirement for data augmentation including translations, scaling, exposure and saturation where the R-CNN family of algorithms just use random horizontal flips
  
  This was modified in [Darknet-19](https://arxiv.org/pdf/1612.08242.pdf) in which the last layer is convolutional when modified for detection
  
  
  ---
  
  