看了yolo3的论文但是作者只是在文中说了一些他对于网络的改进,没有网络结构也没有损失函数,想着把代码看一下,看了一天,终于yolo有了一个很初步的了解,话不多说,一下是点击此处我用的yolov3代码,是基于tensorflow实现的,我用tensorboard可视化了整个网络,提取码bvvz,我将从网络和损失函数来分析。
作者在yolo3中搞了一个53层的darknet,代码如下:
可以看到作者在网络中用了类似于resnet的结构,并且输出了三个不同尺度的feature map,在这之后作者还将这三种不容尺度的feature map经行融合采用了一种多尺度的方法(一会介绍)。通过darknet之后我们会输出3中尺度的feature map大小分别为[52,52,256]、[26,26,512] 、[13,13,1024],我们称之为3,2,1,。然后1会在通过yolo_net和detection_layer最后输出大小为[ 13, 13, 255]的feature map1,这里的255 = 3*(4+1+80),因为feature map中的每个cell预测三个box,每个box有4个坐标还有一个置信度,coco数据集有80类。
接下来就是比较麻烦的剩下两张feature map产生的过程了,大家看一下网络结构图就一目了然了:
YOLOv3网络架构以及代码细节解析(一)
最新推荐文章于 2025-06-14 23:13:06 发布