人群计数:SFCN--Learning from Synthetic Data for Crowd Counting in the Wild

Now, there is a serious problem, the scarce data led many methods suffer from over-fitting to a different extent.

**

contribution:

**

  1. We are the first to develop a data collector and labeler for crowd counting, which can automatically collect and annotate images without any labor costs. By using them, we create the first large-scale, synthetic and diverse crowd counting dataset.

  2. We present a pretrained scheme to facilitate the original method’s performance on the real data, which can more effectively reduce the estimation errors compared with random initialization and ImageNet model. Further, through the strategy, our proposed SFCN achieves the state-of-the-art results.

  3. We are the first to propose a crowd counting method via domain adaptation, which does not use any label of the real data. By our designed SE Cycle GAN, the domain gap between the synthetic and real data can be significantly reduced. Finally, the proposed method outperforms the two baselines.

**

GCC dataset:

**
The full name of GCC is GTA5 Crowd Counting. It has four highlights:

  1. free collection and annotation
  2. larger data volume and higher resolution
  3. more diversified scenes
  4. more accurate annotations

The process of getting a image for training:
a) select a location and setup the cameras
b) segment Region of interest (ROI) for crowd
c) set weather and time.
Place persons:
a) create persons in the ROI and get the head positions
b) obtain the person mask from stencil
c) integrate multiple images into one image
d) remove the positions of occluded heads.

How to use GCC ?

  1. Random splitting the training set and testing set.
  2. Cross-camera splitting: as for a specific location, one surveillance camera is randomly selected for testing and the others for training.
  3. Cross-location splitting: we randomly choose 75/25 locations for training/testing.

This table shows the advantage of using GCC to pretrain their model:

在这里插入图片描述

**

generating density map:

**
There are two ways to estimate the destiny map:
1. superised crowd counting: pretrained GCC model on finetuning real dataset.
2. Crowd Counting via Domain Adaptation: learning mapping between the synthetic domain S and the real-world domain R, then training the SFCN just on GCC.

The relationship of them is shown in below:
在这里插入图片描述

superrised crowd counting:

A spatial encoder via a sequence of convolution on the four directions (down, up, left-to-right and right-to-left). After the spatial encoder, a regression layer is added, which directly outputs the density map with input’s 1/8 size.

We design a spatial FCN (SFCN) to produce the density map, which adopt VGG-16 or ResnNet-101 as the backbone. We modify the stride size to 1 in conv4 x of ResNet-101 backbone, which makes conv4 x output the feature maps with 1/8 size of the
input image.在这里插入图片描述

Crowd Counting via Domain Adaptation:

Propose a crowd counting method via domain adaptation learns specific patterns or features from the synthetic data and transfers them to the real world.
To be specific, we present a SSIM Embedding (SE) Cycle GAN to transform the synthetic image to the photo-realistic image. Then we will train a SFCN on the translated data. No finetune on the real dataset. Then we get a satisfactory result:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:这里给出如何使用Detector_YOLOv5类对图像进行目标检测。首先加载模型,然后创建检测器实例。接着,读取图像,执行检测并可视化结果(在图像上绘制边界框、类别标签和置信度)。最后,将标注后的图像保存到文件。这里讲解如何使用已经训练好的YOLOv5 ONNX模型进行目标检测。首先加载模型并创建检测器实例: model = './yolov5s_no.onnx'; % 模型位置 yolov5 = Detector_YOLOv5(model, 'networks_yolov5sfcn'); \[1\] 引用\[2\]:(2)YOLOv5训练代码和测试代码(Pytorch) 整套YOLOv5项目工程的训练代码和测试代码支持高精度版本yolov5s训练和测试支持轻量化版本yolov5s05_320和yolov5s05_416训练和测试项目源码自带训练好的模型文件,可直接运行测试Demo根据本篇博文说明,简单配置即可开始训练 \[2\] 引用\[3\]:本文详细介绍了YOLOv5目标检测算法的原理、网络结构及其在实际应用中的优化方法。YOLOv5作为一个高效、实时的目标检测算法,在各种场景中都表现出较好的性能。首先介绍了YOLOv5的背景知识,包括YOLO系列算法的发展历程和YOLOv5相较于前代算法的改进。接着,详细阐述了YOLOv5的网络结构和损失函数设计,并通过实际代码实现展示了如何使用YOLOv5进行目标检测。最后,讨论了针对实际应用场景的优化方法,以提高YOLOv5在各种场景中的目标检测能力。总的来说,YOLOv5是一个值得学习和应用的目标检测算法。通过对其进行一定程度的调整和优化,可以使其更好地满足实际应用场景的需求,提高目标检测的效果和效率。\[3\] 回答: 如果你想让YOLOv5代码只检测一类目标,你可以在训练阶段将其他类别的标注信息从数据集中移除,只保留你想要检测的类别的标注信息。这样,在训练过程中,模型就只会学习和预测这一类目标。另外,你还可以在测试阶段,只保留你感兴趣的类别的预测结果,忽略其他类别的预测结果。这样就可以实现只检测一类目标的效果。具体的实现方法可以参考YOLOv5的训练代码和测试代码,根据你的需求进行相应的修改和调整。\[2\] #### 引用[.reference_title] - *1* *3* [基于YOLOv5的目标检测系统详解(附MATLAB GUI版代码)](https://blog.csdn.net/qq_32892383/article/details/130472314)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码)](https://blog.csdn.net/guyuealian/article/details/128099672)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值