BACK
Edge AI · YOLOv5 · RK3588

Metro Gate Detection

基于 YOLOv5 的地铁闸机翻越检测系统,从模型训练到 RK3588 边缘设备部署的全链路实践,实现地铁场景下违规行为的实时识别与告警。

Role独立开发者
Duration2 months
HardwareRK3588
RK3588 Edge Deployment

地铁安全的 AI 守门人

地铁闸机翻越(或钻越)是城市轨道交通中最常见的违规行为之一,不仅造成票务损失,更存在严重的人身安全隐患。 传统方案依赖人工监控,效率低、漏检率高。本项目基于 YOLOv5 目标检测模型, 训练了一个专门识别闸机翻越行为的检测器,并将其部署到 Rockchip RK3588 边缘设备上, 实现了从视频流输入到违规告警输出的全链路实时推理。

场景挑战

地铁闸机场景的视觉检测面临多重挑战:

模型设计

基于 YOLOv5s 架构进行定制化改造。首先对 Backbone 进行轻量化,将 C3 模块中的标准卷积替换为 深度可分离卷积(Depthwise Separable Conv), 在保持特征提取能力的同时将参数量从 7.2M 降低到 4.1M。

数据集方面,我们从地铁站监控视频中采集了 8,000+ 帧图像,标注了三类目标:normal_pass(正常通行)、 climb_over(翻越闸机)和 crawl_under(钻越闸机)。采用 Mosaic + MixUp + 随机裁剪增强策略, 并针对翻越动作的时序特性,引入了相邻帧的光流特征作为辅助输入。

RK3588 硬件平台

Rockchip RK3588 是目前国产边缘 AI 芯片中性能最强的 SoC 之一,集成了四核 Cortex-A76 + 四核 Cortex-A55 CPU、 Mali-G610 GPU 以及独立的 6 TOPS NPU(Neural Processing Unit)。其 NPU 支持 INT8/INT16/FP16 混合精度推理, 特别适合部署量化后的 YOLO 系列模型。

我们选用的开发板配备了 8GB LPDDR5 内存和独立的 NPU 加速单元。相比 GPU 方案(如 Jetson Orin Nano), RK3588 的优势在于更低的功耗(典型 5-8W vs 15W)和更高的性价比,非常适合地铁站这种需要大规模部署的场景。 NPU 的 6 TOPS 算力对于 YOLOv5s 级别的模型绰绰有余,实测推理速度可达 60+ FPS。

部署流程

从 PyTorch 模型到 RK3588 NPU 部署,需要经过以下关键步骤:

推理优化

在 RK3588 上部署时,我们进行了多维度的推理优化:

RKNN 推理代码

rknn_infer.py
from rknnlite.api import RKNNLite
import cv2, numpy as np
rknn = RKNNLite()
rknn.load_rknn('yolov5s_gate.rknn')
rknn.init_runtime(core_mask=RKNNLite.NPU_CORE_0_1_2)
# Preprocess
frame = cv2.imread('gate_frame.jpg')
blob = cv2.resize(frame, (640, 640))
blob = blob[:, :, ::-1].transpose(2, 0, 1).copy()
# NPU inference
outputs = rknn.inference(inputs=[blob])
# Post-process: NMS + decode
detections = postprocess(outputs[0], conf_thres=0.5, iou_thres=0.45)
print(f"Detected {len(detections)} violations")

部署效果

62 FPS
NPU Inference
~6W
Power
<20ms
E2E Latency

系统在 RK3588 上实现了 62 FPS 的推理速度,端到端延迟(含预处理和后处理)低于 20ms, 完全满足地铁站实时监控的需求。INT8 量化后模型仅 3.8MB,在 6W 功耗下即可稳定运行, 适合大规模部署到各站点的闸机通道。