9
$\begingroup$

I'm going through Andrew NG's course, which talks about YOLO, but he doesn't go into the implementation details of anchor boxes.

After having looked through the code, each anchor box is represented by two values, but what exactly are these values representing?

As for the need for anchor boxes, I'm also a little confused about that -- As far as I understand, the ground truth labels have around 6 variables :

  1. $P_o$ checks if it's an object or background,
  2. $B_x$ and $B_y$ are the center coordinates
  3. $B_h$ and $B_w$ are the height and width of the box
  4. $C$ is the object class, which depends on how many classes you have, so you can have multiple $C$

As for creating the bounding box,

$B_h$ is divided by 2, with one half from the center points ($B_x, B_y$) to the top, and the other half to the bottom.

If we train our classifier, wouldn't the prediction boxes be close to the ground truth labels as training progresses? So, if our ground truth label has a high height, small width as boxes for some images, and low hight and large width for other images, wouldn't our classifier automatically learn to differentiate between when to use one over the other, as it is being trained? If so then what is the use of anchor boxes? And what are those numbers representing anchor boxes representing?

$\endgroup$
1
  • $\begingroup$ Please, next time ask only 1 question per post. If you have multiple questions, even though they are about the same model or topic, split them into multiple posts, so that people can focus on 1 question/problem at a time. $\endgroup$
    – nbro
    Jan 28, 2021 at 23:21

1 Answer 1

1
$\begingroup$

Not an pro but I think I know some answers to your questions.

If we train our classifier, wouldn't the prediction boxes be close to the ground truth labels as training progresses

I think that's what YOLO v1 did. According to Andrew NG's video the bounding boxes are introduced to solve multiple objects inside the same grid cell. And according to this post anchor boxes assignment ensures that an anchor box predicts ground truth for an object centered at its own grid center, and not a grid cell far away (like YOLO may)

what are those numbers representing anchor boxes representing?

They are just width and height (shape). In YOLO v2 it is used to compute IOU assuming all boxes are placed at the same location (ignoring the location), you could think of it just tries to match the shape. And it uses (1-IOU) as the distance when applying the K-means clustering.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .