本文主要针对yolo模型的实现细节进行一些记录,前半部分不讨论yolo模型,直接将yolo模型当做黑盒子进行使用,讨论模型外的预处理以及输出表现等部分。
Yolo外部关键点
1.boxes阈值过滤
该部分主要用于将对各个boxes进行打分,根据阈值对boxes进行过滤。
1 2 3 4 5 6 7 8
| def yolo_filter_boxes(box_confidence, boxes, box_class_probs, threshold = .6): box_scores = box_confidence*box_class_probs box_classes = K.argmax(box_scores,-1) box_class_scores = K.max(box_scores,-1) filtering_mask = box_class_scores>threshold scores = tf.boolean_mask(box_class_scores,filtering_mask) boxes = tf.boolean_mask(boxes,filtering_mask) classes = tf.boolean_mask(box_classes,filtering_mask)
|
bbox信息(x,y,w,h)为物体中心位置相对于格子位置的偏移、高度和宽度,均被归一化
置信度反映了是够包含物体以及包含物体情况下的为位置准确性,定义为