【AI编程】yolo人流量统计: 如何知道同一个人的进入和离开
2026/7/7 13:51:33 网站建设 项目流程

首先

用 YOLO 只能“检测到有人”,不能直接知道“同一个人进还是出”。要做人流量统计,需要加 目标跟踪 tracking。

核心流程

  1. YOLO 检测人
    每一帧检测出 person 框。

  2. 跟踪算法给每个人分配 ID
    常用:

    • ByteTrack
    • DeepSORT

    例如画面里某个人会被持续标记为 ID=12。

  3. 设置一条/多条虚拟线或区域
    比如门口画一条线:

    外部区域
    -------- 统计线
    内部区域

  4. 根据同一个 ID 的移动方向判断进出
    记录这个人的中心点轨迹:

    ID=12: y 从 300 -> 260 可能是进入
    ID=15: y 从 260 -> 310 可能是出去

    判断逻辑通常是:

    if old_center 在门外 and new_center 在门内:
    enter += 1

    if old_center 在门内 and new_center 在门外:
    exit += 1

  5. 同一个 ID 只统计一次
    每个跟踪 ID 维护状态,避免一个人在门口徘徊被重复计数。

    counted_ids = set()

    if track_id not in counted_ids and crossed_line:
    counted_ids.add(track_id)

关键点是:不是 YOLO 判断同一个人,而是 tracker 判断同一个人。

如果只是单摄像头门口统计,推荐:

YOLOv26/YOLOv11 + ByteTrack

如果人容易被遮挡、丢失后又出现,推荐:

YOLO + DeepSORT

因为它们会结合外观特征 ReID,能更好地判断“是不是同一个人”。

实际工程

实际工程里一般这样判断:

检测人 -> 分配 track_id -> 记录轨迹 -> 判断是否跨越门线 -> 根据方向统计进入/出去

下一个疑问点

如果是多个摄像头之间判断同一个人,那就需要 行人重识别 ReID,只靠 YOLO 和普通跟踪不够。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询