Defining a custom class for YOLO loss

It is equivalent to yolo_body(). it’s the layers of the model itself, not the post processing of the model output. NOTE in the darknet code used in the Autonomous Driving exercise, the output of the model is contained in the variables feats - short for features. The final layer of activations are performed in the utility function yolo_head in this section

    box_confidence = K.sigmoid(feats[..., 4:5])
    box_xy = K.sigmoid(feats[..., :2])
    box_wh = K.exp(feats[..., 2:4])
    box_class_probs = K.softmax(feats[..., 5:])

I do that inside my loss function instead.

My y_train came from Berkeley Deep Drive data https://bdd-data.berkeley.edu/ that I preprocessed myself to get into YOLO input format. I used 8 anchor boxes, so it was (m,19,19,8,6)

detector_mask and matching_true_boxes are then subsets of y_train…not vice versa

Covered in this thread… Deriving YOLO anchor boxes

1 Like