47 美元的工具。11,000 美元的账单。同一个月。
一台摄像头就能数清汽车、行人、箱子——你指向的任何东西。上个月它在 6 个地点运行,我只碰过它两次。

一帧画面。6 个物体在 40 毫秒内被框选并标记。
大多数人认为这需要博士学位和一堆 GPU。实际上,它只需要一个网络摄像头和一个周末。
那些明白这一点的人,正悄无声息地向本地企业每月收取 1,800 美元,用来数那些过去需要人工清点的东西。
以下是完整的构建方案。
它到底是什么
一个摄像头对准某个目标。模型框选出每个物体,标记它,并计数。
企业只为这一个数字付费:数量。多少辆车进入,多少人走进来,多少个箱子被移动。
这个数字过去需要一个人拿着写字板。现在只需要一个文件,放在一台每月 6 美元的服务器上。
这就是整个系统。
端到端的处理流程

摄像头推送 RTSP 流:实时 YOLO11 检测:每帧 40 毫秒 ByteTrack 分配 ID:实时 计数器记录到 CSV:即时 Streamlit 提供仪表盘:全天候
总构建时间:一个周末。总运行成本:每月 47 美元。你实际需要编辑的行数:一行。
第一步:安装技术栈
1pip install ultralytics supervision opencv-python
在终端里输入一行命令。YOLO11 负责检测,supervision 负责计数,opencv 负责读取视频。
不是程序员? 这是整个构建中唯一的设置命令。粘贴一次,它会安装所有东西。然后你只需克隆一个文件并修改一行:你的摄像头链接。
第二步:用 4 行代码检测任何物体

1from ultralytics import YOLO23model = YOLO("yolo11n.pt")4results = model("street.jpg")5results[0].show()
YOLO11 出厂即识别 80 种物体:人、汽车、自行车、卡车、狗、瓶子。把它指向任何图像,它就能框选出来。无需训练。
修改一行: 把 "street.jpg" 换成你自己的照片。这就是全部的编辑工作。
第三步:在摄像头上实时运行
1from ultralytics import YOLO23model = YOLO("yolo11n.pt")4model.predict(source=0, show=True) # 0 = 网络摄像头,或粘贴 RTSP 地址
把 0 换成 RTSP 链接,它就能读取建筑内的任何安防摄像头。这时客户就会开始感兴趣。
修改一行: 把客户的摄像头链接粘贴到 0 的位置。其他所有内容保持不变。
第四步:追踪和计数,而不仅仅是检测

仅靠检测会在每一帧重复计数同一辆车。ByteTrack 为每个对象分配一个 ID,并在帧间保持追踪,这样你就能在物体穿过一条线时,对每个物体只计数一次。
1import cv22from ultralytics import YOLO3import supervision as sv45model = YOLO("yolo11n.pt")6tracker = sv.ByteTrack()7line = sv.LineZone(start=sv.Point(0, 500), end=sv.Point(1920, 500))8annot = sv.LineZoneAnnotator()910cap = cv2.VideoCapture("traffic.mp4")11while True:12 ok, frame = cap.read()13 if not ok:14 break15 result = model(frame, conf=0.5)[0]16 detections = sv.Detections.from_ultralytics(result)17 detections = tracker.update_with_detections(detections)18 line.trigger(detections)19 frame = annot.annotate(frame, line_counter=line)20 cv2.imshow("count", frame)21 if cv2.waitKey(1) == 27:22 break
line[dot]in_count 和 line[dot]out_count 保存着实时总数。这就是产品本身。你直接复制整个代码块,不需要自己编写。
我的第一个演示在这里失败了。摄像头把影子当成了人,所以停车场的客户看到一个空地上有 400 辆车。修复方法是 conf=0.5,也就是上面代码中已有的那一行:忽略模型置信度低于 50% 的任何东西。提高这个值,鬼影就消失了。客户第二天就签了约。
第五步:教会它数你的特定物体
默认的 80 个类别涵盖了汽车和人。当客户想要清点托盘、酒瓶或牛群时,Roboflow 可以在浏览器中完成繁重的工作。你拖入 200 张照片,在物体周围点击框选,然后点击训练。无需代码。

在 Roboflow 中标记自定义类别。点击,命名,完成。
1from ultralytics import YOLO23model = YOLO("yolo11n.pt")4model.train(data="dataset.yaml", epochs=50, imgsz=640)
在免费的 Colab GPU 上训练 50 个周期需要 20 分钟。无论哪种方式,相同的流程现在可以数你展示给它的任何东西。这就是标题中提到的关键点。
第六步:记录每一个数字
1import csv, datetime23def log_count(label, count):4 with open("counts.csv", "a", newline="") as f:5 csv.writer(f).writerow([datetime.datetime.now(), label, count])
每个事件对应一行 CSV 记录。这个文件能把脚本变成企业可读的报告。它已经集成在我将要发给你的文件里了。
第七步:把它放到仪表盘后面
1import streamlit as st2import pandas as pd34df = pd.read_csv("counts.csv", names=["time", "object", "count"])5st.metric("今日总计", int(df["count"].sum()))6st.line_chart(df, x="time", y="count")
运行 streamlit run app[dot]py,将一个域名指向服务器,然后把链接发给客户。他们登录后就能看到自己的数据实时变化。这个链接就是你收费的东西。
成本对比
旧方式 vs 本方案:
- 模型 - 计算机视觉团队,6 个月 → YOLO11,免费,5 分钟
- 标注 - 标注公司 → Roboflow,指向并点击
- 硬件 - 现场 GPU 盒子,4,000 美元 → 云服务器,每月 46 美元
- 仪表盘 - 外包开发,8,000 美元 → Streamlit,免费
- 域名 - 代理机构月费 → 每年 12 美元,约每月 1 美元
服务器加域名总计每月 47 美元。一个客户的费用就能覆盖 38 倍。
如何拿下第一个客户
跳过演示文稿。走进一家已经装有摄像头但仍在手动计数的企业。停车场、健身房、咖啡馆、小型仓库。
索要他们的 RTSP 链接或 2 分钟的摄像头画面。当场在你的笔记本电脑上运行文件。向他们展示他们自己的门口,上面有实时数字。
看着自己的摄像头为自己计数,比任何幻灯片都更能促成交易。我的前 3 个客户都是在同一次拜访中签约的。
如何实现每月 11,000 美元

你卖的是数字,不是代码。
第一个月
- 在我的笔记本电脑上构建。第一个客户:一个需要每小时车流量的停车场。每月 500 美元。
第三个月
- 3 个客户:停车场、零售店门禁计数器、追踪高峰时段的健身房。每月 4,500 美元。
第六个月
- 6 个客户,平均每月 1,800 美元。一个仓库清点托盘,一个咖啡馆统计客流量,一个共享单车追踪停放架。每月 11,000 美元。
第十二个月
- 停止销售安装服务,开始销售登录权限。每个客户一个仪表盘,按月定价。收入超过每月 20,000 美元,而成本仍低于 60 美元。
工作只做一次。账单却每月重复。
从这里开始
技术栈是免费的。摄像头已经挂在墙上了。你只需编辑一行代码,运行一个文件。
评论 "DETECT",我会把完整的文件发给你:摄像头链接放在顶部,其他一切自动运行。训练笔记本和 dataset[dot]yaml 模板也一并附上。
你街上的企业今天还在手动计数。除非有人带着摄像头链接出现,否则他们明天还会继续这样做。





