Answers.Body: <p>If you want to get experience, you should probably start with some easier task. Object detection and localization are relatively hard and writing a neural network and image processing pipeline from scratch will take you a long time.</p>
  <p>If you want to build up an intuition about how NN's work, you might want to code some simple task from scratch. <a href="http://jonathanweisberg.org/post/A%20Neural%20Network%20from%20Scratch%20-%20Part%201/" rel="nofollow noreferrer">This</a> is an example.</p>
  <p>When you got some intuition about how NN's work, then you should proceed to your task. In <a href="https://ai.stackexchange.com/a/7497/16929">here</a>, you have a similar question and answer provided. The current state-of-the-art approach for your task would probably be point 3, that is object detection network, like <a href="https://arxiv.org/abs/1506.02640" rel="nofollow noreferrer">YOLO</a> or <a href="https://arxiv.org/abs/1506.01497" rel="nofollow noreferrer">Faster-RCNN</a>.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-08-29T12:25:16.090Z
Answers.Text: Thank You very much for the answer and guidance. Will start with something easier and then move on to object detection. Thanks.
Answers.UserDisplayName: Rahulrr2602
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-08-29T08:00:05.877Z
Answers.LastActivityDate: 2020-09-12T15:31:57.207Z
Answers.LastEditDate: 2020-09-12T15:31:57.207Z
Answers.UserDisplayName: don_pablito
Body: <p>I want to create a simple object detection tool. So, basically, an image will be provided to the tool, and, from that image, it has to detect the number of objects.</p>
  <p>For example, an image of a dining table that has certain items present on it, such as plates, cups, forks, spoons, bottles, etc.</p>
  <p>The tool has to count the <strong>number of objects</strong>, irrespective of the type of object. After counting, it should return the position of the object with its size, so that I can draw a border over it.</p>
  <p>I would like not to use any library or API present such as TensorFlow, OpenCV, etc., given that I want to learn the details.</p>
  <p>If the process is very difficult to be created without using an API then the number of/type of objects which it will count as an object can also be limited but since this project will be for my educational/learning purpose can anyone help me understand the logic using which this can be achieved? For example, it may ignore a napkin present in the table to be counted as an object.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-09-12T18:29:17.640Z
Comments.Text: The math is simple but implementing an auto differentiator by scratch isn't worth the effort. The rest of what you want can be programmed in a day or so. Pytorch and TF models for YOLO really aren't that big
Comments.UserDisplayName: FourierFlux
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-08-28T08:49:09.517Z
Comments.Text: Why don't you want to use libraries like Tensorflow or OpenCv? Project that you described will probably take months or even years, if you want to write whole processing pipeline from scratch.
Comments.UserDisplayName: don_pablito
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-08-28T09:05:16.793Z
Comments.Text: @paffciu Thanks for the answer. I totally agree with your point. The reason I don't want to use a library is that I want to have an experience on this topic for educational purpose. I don't mind even if the object detection is not fast, not very much accurate or can identify very few objects be it 2-5 objects but that will add to my knowledge & experience. Can you please help with the logic on how an object is detected?
Comments.UserDisplayName: Rahulrr2602
Tags: <machine-learning><convolutional-neural-networks><python><object-detection><object-recognition>
Title: How can I develop an object detection system that counts the number of objects and determines their position in an image?
UserDisplayName: Rahulrr2602
ThreadText: # How can I develop an object detection system that counts the number of objects and determines their position in an image?
  
  (Asked by: username_0 on 2018-08-28)
  
  I want to create a simple object detection tool. So, basically, an image will be provided to the tool, and, from that image, it has to detect the number of objects.
  
  For example, an image of a dining table that has certain items present on it, such as plates, cups, forks, spoons, bottles, etc.
  
  The tool has to count the **number of objects**, irrespective of the type of object. After counting, it should return the position of the object with its size, so that I can draw a border over it.
  
  I would like not to use any library or API present such as TensorFlow, OpenCV, etc., given that I want to learn the details.
  
  If the process is very difficult to be created without using an API then the number of/type of objects which it will count as an object can also be limited but since this project will be for my educational/learning purpose can anyone help me understand the logic using which this can be achieved? For example, it may ignore a napkin present in the table to be counted as an object.
  
  **Tags:** machine-learning, convolutional-neural-networks, python, object-detection, object-recognition
  > **Comments:**
  > **username_2**: Why don't you want to use libraries like Tensorflow or OpenCv? Project that you described will probably take months or even years, if you want to write whole processing pipeline from scratch.  
  > **username_0**: @paffciu Thanks for the answer. I totally agree with your point. The reason I don't want to use a library is that I want to have an experience on this topic for educational purpose. I don't mind even if the object detection is not fast, not very much accurate or can identify very few objects be it 2-5 objects but that will add to my knowledge & experience. Can you please help with the logic on how an object is detected?  
  > **username_1**: The math is simple but implementing an auto differentiator by scratch isn't worth the effort. The rest of what you want can be programmed in a day or so. Pytorch and TF models for YOLO really aren't that big  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2018-08-29. Score: 4 | Accepted answer
  
  If you want to get experience, you should probably start with some easier task. Object detection and localization are relatively hard and writing a neural network and image processing pipeline from scratch will take you a long time.
  
  If you want to build up an intuition about how NN's work, you might want to code some simple task from scratch. [This](http://jonathanweisberg.org/post/A%20Neural%20Network%20from%20Scratch%20-%20Part%201/) is an example.
  
  When you got some intuition about how NN's work, then you should proceed to your task. In [here](https://ai.stackexchange.com/a/7497/16929), you have a similar question and answer provided. The current state-of-the-art approach for your task would probably be point 3, that is object detection network, like [YOLO](https://arxiv.org/abs/1506.02640) or [Faster-RCNN](https://arxiv.org/abs/1506.01497).
  
  > **Comments:**
  > **username_0**: Thank You very much for the answer and guidance. Will start with something easier and then move on to object detection. Thanks.  
  
  ---
  
  