Darknet: YOLO is struggling to detect the nested objects

Created on 4 Mar 2019  ·  3Comments  ·  Source: AlexeyAB/darknet

@AlexeyAB

I am trying to detect the custom objects i.e. geometry shapes (square and circle as of now) from an image.

I have trained yolov3 on the data set (which consist of 1000 images for each object class) with the AVG Loss 0.0568 for 10000 iterations on GPU.

Square data

square

Circle data

circle

The model detects the individual objects very well.

output

But when I tried to detect the objects when one object is the nested object of another, it detects the innermost object only.

output2

As per my understanding, class probability map should look like this for the given image.

test-11

Now, if we take a closer look at the class probability map it seems that the outer object's class probability cells are getting overlapped with the inner object's class probability cells.

test-11-2

Whereas the inner object gets the class probability something like this.

test-11-3

I think this is the reason why only the inner object gets detected.

Can you please suggest how should I approach to detect both of the objects?

Solved

Most helpful comment

Well train your network with the combination which fails - and label accordingly.

From my understanding your network has never seen a combination of both and fails for this reason.

 

Gesendet: Montag, 04. März 2019 um 11:43 Uhr
Von: "Siddharth Bhavsar" notifications@github.com
An: AlexeyAB/darknet darknet@noreply.github.com
Cc: Subscribed subscribed@noreply.github.com
Betreff: [AlexeyAB/darknet] YOLO is struggling to detect the nested objects (#2519)

@AlexeyAB

I am trying to detect the custom objects i.e. geometry shapes (square and circle as of now) from an image.

I have trained yolov3 on the data set which consist of 1000 images for each object class with the AVG Loss 0.0568 for 10000 iterations on GPU.
e.g.

Square data

Circle data

The model detects the individual objects very well.

But when I tried to detect the objects when one object is the nested object of another, it detects the innermost object only.

As per my understanding, class probability map should look like this for the given image.

Now, if we take a closer look at the class probability map it seems that the outer object's class probability cells are getting overlapped with the inner object's class probability cells.

Whereas the inner object gets the class probability something like this.

I think this is the reason why only the inner object gets detected.

Can you please suggest how should I approach to detect both of the objects?


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

All 3 comments

Well train your network with the combination which fails - and label accordingly.

From my understanding your network has never seen a combination of both and fails for this reason.

 

Gesendet: Montag, 04. März 2019 um 11:43 Uhr
Von: "Siddharth Bhavsar" notifications@github.com
An: AlexeyAB/darknet darknet@noreply.github.com
Cc: Subscribed subscribed@noreply.github.com
Betreff: [AlexeyAB/darknet] YOLO is struggling to detect the nested objects (#2519)

@AlexeyAB

I am trying to detect the custom objects i.e. geometry shapes (square and circle as of now) from an image.

I have trained yolov3 on the data set which consist of 1000 images for each object class with the AVG Loss 0.0568 for 10000 iterations on GPU.
e.g.

Square data

Circle data

The model detects the individual objects very well.

But when I tried to detect the objects when one object is the nested object of another, it detects the innermost object only.

As per my understanding, class probability map should look like this for the given image.

Now, if we take a closer look at the class probability map it seems that the outer object's class probability cells are getting overlapped with the inner object's class probability cells.

Whereas the inner object gets the class probability something like this.

I think this is the reason why only the inner object gets detected.

Can you please suggest how should I approach to detect both of the objects?


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@siddharth2395

But when I tried to detect the objects when one object is the nested object of another, it detects the
innermost object only.

You should train on the nested objects.

Thank you @holger-prause & @AlexeyAB. After training on combinations model has started detecting nested objects.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Mididou picture Mididou  ·  3Comments

jetsonnano2020 picture jetsonnano2020  ·  3Comments

HilmiK picture HilmiK  ·  3Comments

jasleen137 picture jasleen137  ·  3Comments

qianyunw picture qianyunw  ·  3Comments