1. Mask R-CNN
核心功能
实例分割:同时检测图像中的目标并生成像素级语义掩码(Segmentation)。
目标检测:输出目标类别和边界框(Bounding Box)。
技术特点
两阶段架构:
区域提议网络(RPN):生成候选区域(Region Proposal)。
ROI Align:对齐候选区域与特征图,避免特征错位。
分类与分割头:并行预测类别概率和掩码(ResNet-50/101/152为骨干网络)。
高精度:
在COCO数据集上达到 38.6 mAP(Mask AP),兼顾检测和分割性能。
通过逐像素预测实现精确的实例分割。
计算复杂度:
速度较慢(FPS约10-20),适合对实时性要求不高的场景(如医疗影像分析)。
需要大量显存(如Mask R-CNN-FPN在8GB GPU上运行)。
应用场景:
自动驾驶(道路障碍物分割)。
工业质检(产品缺陷定位)。
医学影像(肿瘤区域标注)。
import torch
import torchvision.models.detection as det_models
初始化Mask R-CNN
model = det_models.maskrcnn_resnet50_fpn(pretrained=True)
model.eval()
输入图像(HWC格式,归一化到[0,1])
image = torch.rand(3, 800, 800) # (C, H, W)
前向传播
with torch.no_grad():
predictions = model([image])
解析输出:boxes, labels, masks
boxes = predictions[0][0].cpu().numpy() # 边界框坐标
labels = predictions[0][1].cpu().numpy() # 类别标签
masks = predictions[0][2].cpu().numpy() # 掩码矩阵
2. Fast-ReID
核心功能
行人重识别(Re-ID):通过特征匹配关联不同摄像头/时间点的同一行人。
特征提取:生成鲁棒的人体特征向量,用于跨帧/跨摄像头匹配。
技术特点
轻量化设计:
基于 OSNet(Oriented Spatial Pyramid Pooling Network)骨干网络,减少计算量。
使用 Label Smoothing 和 Hard Negative Mining 优化分类损失。
高效推理:
在GPU上实现 200+ FPS(输入尺寸为256×128时),适合实时跟踪。
特征维度低(如128-D),内存占用小。
鲁棒性:
对遮挡、光照变化、姿态差异具有较强适应性。
支持多尺度特征融合(如PSPNet结构)。
应用场景:
多目标跟踪(MOT)系统。
人群密度估计。
安防监控(跨摄像头追踪嫌疑人)。
py
import torch
import torchreid.models as reid_models
# 初始化Fast-ReID
model = reid_models.osnet_osnetv2(
num_classes=1000, # 根据数据集调整类别数
pretrained="imagenet",
norm_layer=torch.nn.BatchNorm2d
).eval()
# 输入图像(裁剪为行人区域,归一化到[-1, 1])
patch = torch.rand(3, 256, 128) # (C, H, W)
# 特征提取
with torch.no_grad():
feat = model(patch) # shape: (1, 512)(假设输出维度为512)
- 对比总结

4. 结合使用场景
在多目标跟踪(MOT)系统中,二者协同工作:
Mask R-CNN:检测目标并分割出人体区域。
Fast-ReID:提取人体特征,匹配跨帧/跨摄像头的相同目标。
python
示例流程
py
frames = [...] # 视频帧列表
detectors = MaskRCNN(...) # 实例分割检测器
reid_model = FastReID(...) # 行人重识别模型
tracks = []
for frame in frames:
# 检测与分割
detections = detectors(frame)
# 提取行人特征(需裁剪人体区域)
features = [reid_model(extract_patch(detection)) for detection in detections]
# 使用DeepSort等跟踪器关联特征
tracks = deepsort.update(features, detections)
5. 选择建议
需要高精度分割 → 选 Mask R-CNN(如自动驾驶场景)。
需实时跟踪 → 选 Fast-ReID(如安防监控)。
两者结合 → 用于复杂场景的多目标跟踪系统(如机场枢纽)。
6. 其他选择
增加人员步态识别,以识别穿着相同的人员,这样更加精准