3
$\begingroup$

I want to create a simple object detection tool. So basically an image will be provided to the tool and from that, it has to detect the number of objects.

For example

An image of a dining table which has certain items present on it such as plates, cups, forks, spoons, bottles etc.

The tool has to only identify the number of objects irrespective of the type of object. After identifying it should return the position of the object with its size so that I can draw a border over it.

I don't want to use any library or API present such as Tenser Flow, OpenCV etc.

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 eg, it may ignore a napkin present in the table to be counted as an object.

$\endgroup$
1
  • $\begingroup$ Why the aversion to using tensorflow /opencv libraries? There is no point reinventing the wheel when your time could be better spent elsewhere. $\endgroup$
    – tehem
    Commented Aug 29, 2020 at 9:01

2 Answers 2

1
$\begingroup$

First, you have to have an object detector for recognizing different objects. After that, you have to post-process the outcomes of your detector to count the numbers. Basically, you cannot recognize all objects due to the fact that the number of labels that a detector finds is limited. I highly recommend you using built in models in the libraries you mentioned due to this reason that training detector models are very time consuming and need appropriate hardwre. If you want to learn something, take a look at papers that already exist and try to implement them. For this case there are numerous studies that I separate them in this way.

  1. Pixel-wise classification based techniques
  2. YOLO-based techniques

This is a general classification that there may not be any consensus on that but is something that shows you the mainstream directions.

I guess the ImageNet data-set contains the label clock. Try to use them alongside another label after implementing the model you want. Don't train your model using all the labels which takes to much time.

$\endgroup$
0
0
$\begingroup$

It depends on your education and the accuracy you're looking for. Let me give define the two different types of objects detection algorithms: 1. Proposal based object detection These algorithms consist of two parts, Proposal generation and then object classification. Examples of this approach are fast rcnn and faster rcnn .... etc. 2. The pixel / region based object detection These algorithms divide the image into cells / grid , then classify each part and then process all these recognitions. Yolo is an example of this category.

In general, when we evaluate an object detection, we care about performance and speed It is not really recommended to re-invent the wheel, but if you are really interested in learning and implementing your own solution, I recommend the following: 1- use an existing Proposal generation, I recommend Edge Box 2- train a classification model to classify the proposed regions

$\endgroup$

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.