如何设置YOLOv4 cfg文件中的filters参数?多值计算方法咨询
YOLO配置文件中filters参数的计算说明
首先明确:
filters = (classes + 5) * 3这个公式只适用于YOLO检测输出层([yolo]层)的前一个卷积层,其他所有卷积层的filters值和类别数无关。- 公式里的5对应每个锚框需要预测的基础参数:x、y(中心点坐标)、w、h(宽高)、confidence(置信度);3是每个检测头对应的锚框数量(YOLO系列默认每个输出头配3个锚框)。你设置32类的话,计算出来的111,只需要替换到靠近
[yolo]层的那个卷积层的filters值即可。
- 公式里的5对应每个锚框需要预测的基础参数:x、y(中心点坐标)、w、h(宽高)、confidence(置信度);3是每个检测头对应的锚框数量(YOLO系列默认每个输出头配3个锚框)。你设置32类的话,计算出来的111,只需要替换到靠近
你示例里的64、128、256这些filters数值,属于网络特征提取 backbone或者中间特征融合模块的通道数,是模型结构设计时就固定好的(比如YOLOv3/v4/v5的不同规模版本,这些通道数会对应不同的模型大小),用来提取不同层级的图像特征,和你要检测的类别数量没有关系,不需要修改这些数值。
实际修改示例:在你的cfg文件里,找到所有
[yolo]配置块,往上找对应的[convolutional]块,把它的filters改成111,其他所有卷积层的filters保持原有数值就可以正常训练32类的检测模型。
内容的提问来源于stack exchange,提问作者Keyvan Doostkam
相关产品推荐
相关产品推荐

