Variations-of-SFANet-for-Crowd-Counting代码复现

前文对Variations-of-SFANet-for-Crowd-Counting做了一点基础梳理,并对开源框架的可视化代码进行了验证,链接如下:

Variations-of-SFANet-for-Crowd-Counting记录-CSDN博客

Variations-of-SFANet-for-Crowd-Counting可视化代码-CSDN博客

这里对训练和测试代码进行相关复现。

train.py代码测试

(1)预训练权重

由于训练代码有预训练权重,来自:GitHub - ZhihengCV/Bayesian-Crowd-Counting: Official Implement of ICCV 2019 oral paper Bayesian Loss for Crowd Count Estimation with Point Supervision

根据文献Bayesian Loss for Crowd Count Estimation with Point Supervision:https://arxiv.org/abs/1908.03684所述

预训练是在ImageNet 上进行的

(2)训练模型

由于本文改进了SegNet和SFA两个模型,因此在训练的时候要选择不同的模型

regression_trainer.py中,注意选择不同的模型

<1>M_SFANet_UCF_QNRF

注意模型选择和路径的选择

UCF_QNRF数据集经过贝叶斯处理的流程同前文记录

预训练权重在前文链接中可以下载

处理好了就可以开始训练

训练报错记录

RuntimeError: Error(s) in loading state_dict for Model:

详细报错如下

python 复制代码
RuntimeError: Error(s) in loading state_dict for Model:
        Missing key(s) in state_dict: "vgg.conv1_1.conv.weight", "vgg.conv1_1.conv.bias", "vgg.conv1_2.conv.weight", "vgg.conv1_2.conv.bias", "vgg.conv2_1.conv.weight", "vgg.conv2_1.conv.bias", "vgg.conv2_2.conv.weight", "vgg.conv2_2.conv.bias", "vgg.conv3_1.conv.weight", "vgg.conv3_1.conv.bias", "vgg.conv3_2.conv.weight", "vgg.conv3_2.conv.bias", "vgg.conv3_3.conv.weight", "vgg.conv3_3.conv.bias", "vgg.conv3_4.conv.weight", "vgg.conv3_4.conv.bias", "vgg.conv4_1.conv.weight", "vgg.conv4_1.conv.bias", "vgg.conv4_2.conv.weight", "vgg.conv4_2.conv.bias", "vgg.conv4_3.conv.weight", "vgg.conv4_3.conv.bias", "vgg.conv4_4.conv.weight", "vgg.conv4_4.conv.bias", "vgg.conv5_1.conv.weight", "vgg.conv5_1.conv.bias", "vgg.conv5_2.conv.weight", "vgg.conv5_2.conv.bias", "vgg.conv5_3.conv.weight", "vgg.conv5_3.conv.bias", "vgg.conv5_4.conv.weight", "vgg.conv5_4.conv.bias", "spm.assp.aspp1.atrous_conv.weight", "spm.assp.aspp2.atrous_conv.weight", "spm.assp.aspp3.atrous_conv.weight", "spm.assp.aspp4.atrous_conv.weight", "spm.assp.global_avg_pool.1.weight", "spm.assp.conv1.weight", "spm.can.scales.0.1.weight", "spm.can.scales.1.1.weight", "spm.can.scales.2.1.weight", "spm.can.scales.3.1.weight", "spm.can.bottleneck.weight", "spm.can.bottleneck.bias", "spm.can.weight_net.weight", "spm.can.weight_net.bias", "spm.reg_layer.0.weight", "spm.reg_layer.0.bias", "spm.reg_layer.2.weight", "spm.reg_layer.2.bias", "dmp.conv1.conv.weight", "dmp.conv1.conv.bias", "dmp.conv2.conv.weight", "dmp.conv2.conv.bias", "dmp.conv3.conv.weight", "dmp.conv3.conv.bias", "dmp.conv4.conv.weight", "dmp.conv4.conv.bias", "dmp.conv5.conv.weight", "dmp.conv5.conv.bias", "dmp.conv6.conv.weight", "dmp.conv6.conv.bias", "dmp.conv7.conv.weight", "dmp.conv7.conv.bias", "conv_out.conv.weight", "conv_out.conv.bias".
        Unexpected key(s) in state_dict: "features.0.weight", "features.0.bias", "features.2.weight", "features.2.bias", "features.5.weight", "features.5.bias", "features.7.weight", "features.7.bias", "features.10.weight", "features.10.bias", "features.12.weight", "features.12.bias", "features.14.weight", "features.14.bias", "features.16.weight", "features.16.bias", "features.19.weight", "features.19.bias", "features.21.weight", "features.21.bias", "features.23.weight", "features.23.bias", "features.25.weight", "features.25.bias", "features.28.weight", "features.28.bias", "features.30.weight", "features.30.bias", "features.32.weight", "features.32.bias", "features.34.weight", "features.34.bias", "reg_layer.0.weight", "reg_layer.0.bias", "reg_layer.2.weight", "reg_layer.2.bias", "reg_layer.4.weight", "reg_layer.4.bias".

网上查的都不好使,这里注意预训练权重的文件里不要放多个权重文件,只放UCF_QNRF对应的预训练权重就好

这里用了5个epoch,训练集和测试集各用了5张图片数据来验证网络能否跑通,训练日志如下。不要在意指标大小。

<2>M_SFANet_UCF_QNRF

注意模型选择和路径的选择

输出日志

其他的效仿上述代码就好了

test.py代码测试

这里直接用仓库提供的权重进行测试,然后改改路径,同样用了5张图片数据测试

这里只用M_SFANet_UCF_QNRF测试,输出如下,其他同理,就不再赘述

相关推荐
AndrewHZ2 分钟前
【图像处理基石】GIS图像处理入门:4个核心算法与Python实现(附完整代码)
图像处理·python·算法·计算机视觉·gis·cv·地理信息系统
掘金安东尼6 分钟前
Google+禁用“一次性抓取100条搜索结果”,SEO迎来变革?
人工智能
FIN666813 分钟前
射频技术领域的领航者,昂瑞微IPO即将上会审议
前端·人工智能·前端框架·信息与通信
小麦矩阵系统永久免费23 分钟前
短视频矩阵系统哪个好用?2025最新评测与推荐|小麦矩阵系统
大数据·人工智能·矩阵
Mr.Lee jack25 分钟前
【vLLM】源码解读:高性能大语言模型推理引擎的工程设计与实现
人工智能·语言模型·自然语言处理
IT_陈寒32 分钟前
Java性能优化:这5个Spring Boot隐藏技巧让你的应用提速40%
前端·人工智能·后端
MicroTech202541 分钟前
微算法科技(NASDAQ:MLGO)开发延迟和隐私感知卷积神经网络分布式推理,助力可靠人工智能系统技术
人工智能·科技·算法
喜欢吃豆1 小时前
多轮智能对话系统架构方案(可实战):从基础模型到自我优化的对话智能体,数据飞轮的重要性
人工智能·语言模型·自然语言处理·系统架构·大模型·多轮智能对话系统
文火冰糖的硅基工坊1 小时前
[嵌入式系统-83]:算力芯片的类型与主流架构
人工智能·重构·架构
视觉语言导航3 小时前
ICRA-2025 | 阿德莱德机器人拓扑导航探索!TANGO:具有局部度量控制的拓扑目标可穿越性感知具身导航
人工智能·机器人·具身智能