Keras YOLOv3代码详解(三):目标检测的流程图和源代码+中文注释

Keras YOLOv3源代码下载地址:https://github.com/qqwweee/keras-yolo3

YOLOv3论文地址:https://pjreddie.com/media/files/papers/YOLOv3.pdf

关于darknet53网络的图像识别,请查看源文件:

keras-yolo3-master\yolo.py

keras-yolo3-master\yolo3\model.py

keras-yolo3-master\yolo3\utils.py

上一周,我们介绍了YOLOv3的目标识别原理,请参考:

Keras YOLOv3代码详解(二):目标检测原理解析

 

这篇文章的主要内容包括:(一)目标检测的核心函数,(二)目标检测流程图,(三)源代码+中文注释。

(一)目标检测的核心函数

YOLOv3的目标检测源代码,核心的函数包括:

detect_image()

generate()

yolo_eval()

yolo_model()

yolo_boxes_and_scores()

yolo_head()

yolo_correct_boxes()

等。

其中,yolo_model()已经在前面的文章中详细介绍过,请参考:

Keras YOLO v3代码详解(一):darknet53网络结构分析+Netron工具

 

(二)目标检测流程

YOLOv3的目标识别的源代码流程大致如下:

(1)设置缺省值并初始化:

(2)detect_image()将图片缩放成416x416大小,调用yolo_model(),生成13x13、26x26与52x52等3个feature map的输出,对这3个feature map进行预测,调用yolo_eval()函数得到目标框、目标框得分和类别,然后使用Pillow对发现的每一类对象的每一个目标框,绘制标签、框和文字:

(3)在yolo_eval()函数中调用yolo_boxes_and_scores()得到目标框、目标框得分和类别。而在yolo_boxes_and_scores()函数中,先调用yolo_head()函数计算每一个网格的目标对象的中心点坐标box_xy和目标框的宽与高box_wh,以及目标框的置信度box_confidence和类别置信度box_class_probs;然后调用yolo_correct_boxes(),将box_xy, box_wh转换为输入图片上的真实坐标,输出boxes是框的左下、右上两个坐标(y_min, x_min, y_max, x_max):

(4)完整的代码流程图如下图所示:

 

(三)源代码+中文注释

(3.1)yolo.py

class YOLO(obje
  • 60
    点赞
  • 315
    收藏
    觉得还不错? 一键收藏
  • 33
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值