littlebot
Published on 2025-04-17 / 0 Visits
0

【源码】基于Keras的多列卷积神经网络人群数量估计

项目简介

本项目基于Keras框架复现人群数量估计网络,参考论文"Single Image Crowd Counting via Multi Column Convolutional Neural Network"。目标是通过多列卷积神经网络(MCNN)对单张图像中的人群数量进行估计,并生成相应的热力图。

项目的主要特性和功能

  • 多列卷积神经网络(MCNN):采用多列卷积神经网络结构处理不同尺度图像特征,提升人群数量估计准确性。
  • 数据集处理:支持ShanghaiTech数据集预处理,可生成训练集、验证集和测试集的密度图和热力图。
  • 模型训练与测试:提供完整的训练和测试脚本,支持自定义训练和加载预训练模型测试。
  • 性能评估:以平均绝对误差(MAE)和均方误差(MSE)作为模型性能评估指标。
  • 热力图生成:能生成测试集的GT热力图,直观呈现人群分布情况。

安装使用步骤

假设用户已下载本项目的源码文件。

1. 复制项目

shell cd keras-mcnn

2. 安装依赖库

shell pip install -r requirements.txt

3. 数据配置

  1. 下载ShanghaiTech数据集:
  2. 创建数据存放目录: shell mkdir /opt/dataset/crowd_counting/shanghaitech/original
  3. part_A_finalpart_B_final存放到上述目录下。
  4. 生成测试集的ground truth文件: shell python create_gt_test_set_shtech.py [A or B]
  5. 生成训练集和验证集: shell python create_training_set_shtech.py [A or B]
  6. 生成热力图: shell python create_heatmaps.py [A or B]

4. 测试

  1. 下载训练模型:
  2. 测试模型: shell python test.py --dataset A --weight_path /tmp/mcnn-A.160.h5 --output_dir /tmp/mcnn_A python test.py --dataset B --weight_path /tmp/mcnn-B.035.h5 --output_dir /tmp/mcnn_B

5. 训练

shell python train.py [A or B]

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】