AI 拍照计数先统计检测候选,再由人核对漏检和误检。本文用一张静态照片中的行人示范,输出的是这张图里的 person 候选数,不是视频累计客流,也不是任意商品的精确库存。
选一张能手工数清的照片
准备自有或获得授权的 people.jpg,先人工数出清晰可见的人,另外记录远处、只露半身或遮挡严重的人。这样模型输出不同数字时,才知道分歧来自哪里。安装 ultralytics,使用 Python 3.11 独立环境和 CPU;权重首次运行需要下载。

python -m pip install ultralytics
保留两档门槛的框和数量
保存为 count_people.py,运行 python count_people.py。
from collections import Counter
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
for threshold in (0.25, 0.5):
result = model.predict("people.jpg", conf=threshold, device="cpu",
verbose=False)[0]
labels = [result.names[int(c)] for c in result.boxes.cls.cpu().tolist()]
counts = Counter(labels)
result.save(filename=f"people_check_{threshold}.jpg")
print("threshold", threshold, "person_candidates", counts.get("person", 0))
两档门槛只是对照实验,不是推荐的通用计数阈值。用 result.names 按类别名称统计,避免把类别编号硬写成固定业务含义。本文未运行该模型,没有给这张照片编造人数或准确率。
计数验收要拆成四个数字
分别记录人工可见人数、模型候选数、误检框数和漏检人数。打开两张 people_check 图片逐框核对:是否把海报人物计入、是否把同一个人分成两个框、边缘行人是否漏掉。
把门槛调低后候选数增加,不等于计数更准确;把门槛调高后数量变少,也不等于去掉的全是误检。选门槛时应在一组有人工答案、拍摄条件相近的照片上比较误差。
换成商品计数前先做什么
查看预训练类别表是否包含目标物品。通用检测权重不保证识别木材、水产或堆叠零件;拥挤遮挡还会让一个框与一件物品失去对应。若关键数量用于库存或结算,保留人工复核,不直接采用候选数。
视频中的同一人会出现在多帧,不能逐帧相加当成总人数。跟踪 ID 与过线规则是另一项任务。部署时应核对 Ultralytics 的许可选项。
资料与适用范围
本文依据 2026 年 10 月 1 日读取的项目资料编写。安装后请记录实际依赖版本;版本升级时先用小样本核对接口和输出。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30677.html