Answers.Body: <p>This is a quite trivial problem and using a NN would be overkill for this. The symbol you used (triangle) is problematic, because it looks exactly the same in 3 different positions (rotated 0°, 120° and 240°).</p>
  
  <p>The easiest implementation would be using 2 distinguishable points with a fixed distance. To distinguish them you could color code them or give them different sizes. Those 2 points should be easy to identify in your picture using a pattern matching algorithm. Once you have the 2 points you calculate the vector between them and can then calculate the orientation of the vector, which basically tells you the orientation of the whole object your symbol is put on.</p>
  
  <hr>
  
  <p>Edit - Answering the first comment:</p>
  
  <p>The basic idea is the same, no matter what symbol you use. In case of the "L", your 2 points would be the end of both lines. You can easily find the symbol, calculate the vector between both points and use it to calculate the orientation using this vector. This approach can be used for every symbol that doesn't have radial symmetry. You can always define 2 points in this symbol and apply the method described.</p>
  
  <p>The reason why a NN is overkill is the simplicity of the problem. NNs are mostly used for problems that are easy to solve for humans but very hard to implement with a simple algorithm. Tasks like classifying images, identifying hand written or distorted letters and so on. But your problem is easily solvable with simple algorithms, therefore the complexity of a NN is not necessary.</p>
  
  <p>This doesn't mean that your task cannot be implemented with an NN. Actually it might be quite an interesting project to learn more about NNs. I would say your best bet is implementing it as a CNN, since this type of NN is good at detecting features in images like the direction of your symbol. I can recommend <a href="https://www.youtube.com/watch?v=vT1JzLTH4G4&amp;list=PL3FW7Lu3i5JvHM8ljYj-zLfQRF3EO8sYv" rel="nofollow noreferrer">this course from Stanford University</a>, if you want to learn more about CNNs.</p>
  
  <p>For a real world application, there is no need to take the complex route using NNs. My suggested algorithm can be implemented with a few dozen lines of code and should be very robust.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-28T17:23:19.790Z
Answers.Text: Hi. Thank you so much for your input. The symbol is yet really final. I just painted it triangle because its the first thing that popped to my head when i was drawing it haha. 
  
  Anyways, your suggestion is really nice and not that hard to implement. But let's assume the symbol is a shape of (L) or any shape that does not have the same problem as the triangle, how would you approach it? Thank you so much haha
  
  P.S. why do you think NN is overkill?
Answers.UserDisplayName: Jhon Christian Ambrad
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-28T21:33:17.180Z
Answers.Text: @JhonChristianAmbrad My answer to your question takes way more space than is available in the comment section, therefore I edited it in my original answer. Let me know if this clarifies my original approach concerning your remarks. I also added a recommendation for CNNs, which would be the way to go, if you want to stick with the neural net as your target architecture.
Answers.UserDisplayName: Demento
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-29T00:31:09.593Z
Answers.Text: Great perspective! I really appreciate how, while you point out the problem is trivial enough not to require NN, nonetheless it could be useful application to analyze an NN.
Answers.UserDisplayName: DukeZhou
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-29T07:43:19.507Z
Answers.Text: @Demento  I see. Thank you so much for helping out and giving some insight to my problem. I would try to implement both approach (pattern matching and NN) and see which is which. Though, i don't really aim it to be as effecient as possible in real world application. I just want to explore different approaches. Thank you so much :)
Answers.UserDisplayName: Jhon Christian Ambrad
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-27T18:33:36.273Z
Answers.LastActivityDate: 2017-08-28T21:28:39.497Z
Answers.LastEditDate: 2017-08-28T21:28:39.497Z
Answers.UserDisplayName: Demento
Body: <p>Hypothetically, the <strong>symbol</strong> (triangle) is sticked to an item and I need to <strong>find and recognize that symbol and try to calculate the orientation (in degrees) of the item</strong> it is sticked into.</p>
  <p>How would you guys suggest I approach this problem? Do I still need NN for this?</p>
  <p><a href="https://i.sstatic.net/vDcze.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/vDcze.png" alt="sample" /></a></p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-27T20:27:07.773Z
Comments.Text: In other words, you're interested conceptually in how NN or other forms of machine learning may be applied to this problem?  PS Welcome to AI!
Comments.UserDisplayName: DukeZhou
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-28T17:24:35.690Z
Comments.Text: @DukeZhou yes :)
Comments.UserDisplayName: Jhon Christian Ambrad
Tags: <neural-networks><image-recognition>
Title: How do I recognize and find the orientation of the item where the triangle is?
UserDisplayName: Jhon Christian Ambrad
ThreadText: # How do I recognize and find the orientation of the item where the triangle is?
  
  (Asked by: username_0 on 2017-08-27)
  
  Hypothetically, the **symbol** (triangle) is sticked to an item and I need to **find and recognize that symbol and try to calculate the orientation (in degrees) of the item** it is sticked into.
  
  How would you guys suggest I approach this problem? Do I still need NN for this?
  
  [![sample](https://i.sstatic.net/vDcze.png)](https://i.sstatic.net/vDcze.png)
  
  **Tags:** neural-networks, image-recognition
  > **Comments:**
  > **username_1**: In other words, you're interested conceptually in how NN or other forms of machine learning may be applied to this problem?  PS Welcome to AI!  
  > **username_0**: @DukeZhou yes :)  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2017-08-27. Score: 2 | Accepted answer
  
  This is a quite trivial problem and using a NN would be overkill for this. The symbol you used (triangle) is problematic, because it looks exactly the same in 3 different positions (rotated 0°, 120° and 240°).
  
  The easiest implementation would be using 2 distinguishable points with a fixed distance. To distinguish them you could color code them or give them different sizes. Those 2 points should be easy to identify in your picture using a pattern matching algorithm. Once you have the 2 points you calculate the vector between them and can then calculate the orientation of the vector, which basically tells you the orientation of the whole object your symbol is put on.
  
  ---
  
  Edit - Answering the first comment:
  
  The basic idea is the same, no matter what symbol you use. In case of the "L", your 2 points would be the end of both lines. You can easily find the symbol, calculate the vector between both points and use it to calculate the orientation using this vector. This approach can be used for every symbol that doesn't have radial symmetry. You can always define 2 points in this symbol and apply the method described.
  
  The reason why a NN is overkill is the simplicity of the problem. NNs are mostly used for problems that are easy to solve for humans but very hard to implement with a simple algorithm. Tasks like classifying images, identifying hand written or distorted letters and so on. But your problem is easily solvable with simple algorithms, therefore the complexity of a NN is not necessary.
  
  This doesn't mean that your task cannot be implemented with an NN. Actually it might be quite an interesting project to learn more about NNs. I would say your best bet is implementing it as a CNN, since this type of NN is good at detecting features in images like the direction of your symbol. I can recommend [this course from Stanford University](https://www.youtube.com/watch?v=vT1JzLTH4G4&list=PL3FW7Lu3i5JvHM8ljYj-zLfQRF3EO8sYv), if you want to learn more about CNNs.
  
  For a real world application, there is no need to take the complex route using NNs. My suggested algorithm can be implemented with a few dozen lines of code and should be very robust.
  
  > **Comments:**
  > **username_0**: Hi. Thank you so much for your input. The symbol is yet really final. I just painted it triangle because its the first thing that popped to my head when i was drawing it haha.   Anyways, your suggestion is really nice and not that hard to implement. But let's assume the symbol is a shape of (L) or any shape that does not have the same problem as the triangle, how would you approach it? Thank you so much haha  P.S. why do you think NN is overkill?  
  > **username_2**: @JhonChristianAmbrad My answer to your question takes way more space than is available in the comment section, therefore I edited it in my original answer. Let me know if this clarifies my original approach concerning your remarks. I also added a recommendation for CNNs, which would be the way to go, if you want to stick with the neural net as your target architecture.  
  > **username_1**: Great perspective! I really appreciate how, while you point out the problem is trivial enough not to require NN, nonetheless it could be useful application to analyze an NN.  
  > **username_0**: @Demento  I see. Thank you so much for helping out and giving some insight to my problem. I would try to implement both approach (pattern matching and NN) and see which is which. Though, i don't really aim it to be as effecient as possible in real world application. I just want to explore different approaches. Thank you so much :)  
  
  ---
  
  