$47 en herramientas. $11,000 en facturas. El mismo mes.
Una cámara cuenta coches, personas, cajas, cualquier cosa a la que la apuntes. El mes pasado funcionó en 6 ubicaciones y yo la toqué dos veces.

un fotograma. 6 objetos encuadrados y etiquetados en 40 ms.
La mayoría piensa que esto requiere un doctorado y una granja de GPUs. Solo hace falta una webcam y un fin de semana.
Quienes lo descubrieron están facturando tranquilamente a negocios locales $1,800/mes cada uno por contar lo que antes contaba una persona a mano.
Aquí está todo el montaje.
Qué es realmente
Una cámara apunta a algo. El modelo encuadra cada objeto, lo etiqueta, lo cuenta.
El negocio paga por un solo número: cuántos. Cuántos coches entraron, cuántas personas pasaron, cuántas cajas se movieron.
Ese número antes necesitaba a una persona con un portapapeles. Ahora necesita un archivo en un servidor de $6.
Ese es el sistema.
El pipeline, de principio a fin

La cámara alimenta RTSP: en vivo YOLO11 detecta: 40 ms por fotograma ByteTrack asigna IDs: en tiempo real El contador registra en CSV: al instante Streamlit sirve el panel: 24/7
Tiempo total de montaje: un fin de semana. Coste total de ejecución: $47/mes. Líneas que realmente editas: una.
Paso 1: Instala el stack
1pip install ultralytics supervision opencv-python
Una línea en la terminal. YOLO11 detecta, supervision cuenta, opencv lee el video.
¿No eres programador? Este es el único comando de configuración en todo el montaje. Pégalo una vez, instala todo. A partir de aquí, clonas un archivo y cambias una línea: el enlace de tu cámara.
Paso 2: Detecta cualquier cosa en 4 líneas

1from ultralytics import YOLO23model = YOLO("yolo11n.pt")4results = model("street.jpg")5results[0].show()
YOLO11 viene con 80 objetos predefinidos: persona, coche, bicicleta, camión, perro, botella. Apúntalo a cualquier imagen y los encuadra. Sin entrenamiento aún.
Cambia una línea: reemplaza "street.jpg" por tu propia foto. Esa es toda la edición.
Paso 3: Ejecútalo en vivo en una cámara
1from ultralytics import YOLO23model = YOLO("yolo11n.pt")4model.predict(source=0, show=True) # 0 = webcam, o pega una URL RTSP
Cambia el 0 por un enlace RTSP y leerá cualquier cámara de seguridad del edificio. Este es el momento en que el cliente se interesa.
Cambia una línea: pega el enlace de la cámara del cliente donde está el 0. Todo lo demás se queda igual.
Paso 4: Rastrea y cuenta, no solo detectes

La detección por sí sola vuelve a contar el mismo coche en cada fotograma. ByteTrack asigna a cada objeto un ID único y lo mantiene entre fotogramas, así que cuentas cada cosa una vez al cruzar una línea.
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 y line[dot]out_count contienen los totales en vivo. Ese es el producto. Copias este bloque entero, no lo escribes.
Mi primera demo falló aquí. La cámara contaba sombras como personas, así que el cliente del parking vio 400 coches en un lote vacío. La solución fue conf=0.5, la línea que ya está en el código de arriba: ignora cualquier cosa de la que el modelo no esté 50% seguro. Súbela, los fantasmas desaparecen. El cliente firmó al día siguiente.
Paso 5: Enséñale a contar TU objeto
Las 80 clases por defecto cubren coches y personas. Cuando un cliente quiere palés, botellas de vino o ganado, Roboflow hace la parte difícil en el navegador. Arrastras 200 fotos, haces clic alrededor del objeto, pulsas entrenar. Sin código.

etiquetando una clase personalizada en Roboflow. clic, nombre, listo
1from ultralytics import YOLO23model = YOLO("yolo11n.pt")4model.train(data="dataset.yaml", epochs=50, imgsz=640)
50 épocas en una GPU gratuita de Colab toma 20 minutos. De cualquier forma, el mismo pipeline ahora cuenta cualquier cosa que le hayas mostrado. Esta es la línea del titular.
Paso 6: Registra cada número
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])
Una fila CSV por evento. Este archivo convierte un script en un informe que el negocio puede leer. Ya está integrado en el archivo que te envío.
Paso 7: Ponlo detrás de un panel
1import streamlit as st2import pandas as pd34df = pd.read_csv("counts.csv", names=["time", "object", "count"])5st.metric("Total hoy", int(df["count"].sum()))6st.line_chart(df, x="time", y="count")
Ejecuta streamlit run app[dot]py, apunta un dominio al servidor, envía al cliente un enlace. Inician sesión y ven sus propios números en movimiento. Ese enlace es por lo que cobras.
El coste
Forma antigua vs este montaje:
- Modelo - equipo de visión artificial, 6 meses → YOLO11, gratis, 5 minutos
- Etiquetado - empresa de anotación → Roboflow, apuntar y hacer clic
- Hardware - caja GPU local, $4,000 → servidor en la nube, $46/mes
- Panel - desarrollador por contrato, $8,000 → Streamlit, gratis
- Dominio - retención de agencia → $12/año, alrededor de $1/mes
Servidor + dominio suman $47/mes. Un solo cliente lo cubre 38 veces.
Cómo consigues el primer cliente
Sáltate la presentación. Entra en un negocio que ya tenga cámaras y cuente algo a mano. Un parking, un gimnasio, un café, un pequeño almacén.
Pide su enlace RTSP o 2 minutos de su feed de cámara. Ejecuta el archivo en tu portátil allí mismo. Muéstrales su propia entrada con números en vivo.
Ver que su propia cámara cuenta por ellos cierra el trato más rápido que cualquier diapositiva. Mis primeros 3 clientes firmaron en la misma visita.
Cómo se convierte en $11,000/mes

Vendes el número, no el código.
Mes 1
- Construido en mi portátil. Primer cliente: un parking que quería conteos de coches por hora. $500/mes.
Mes 3
- 3 clientes: parking, un contador de puerta para una tienda, un gimnasio midiendo horas punta. $4,500/mes.
Mes 6
- 6 clientes a $1,800 de media. Un almacén contando palés, un café contando tráfico peatonal, un servicio de bicicletas compartidas rastreando estaciones. $11,000/mes.
Mes 12
- Deja de vender instalaciones, vende accesos. Un panel por cliente, precio mensual. Superando los $20,000/mes con un coste aún por debajo de $60.
El trabajo se hace una vez. Las facturas se repiten.
Empieza aquí
El stack es gratuito. La cámara ya está en la pared. Editas una línea y ejecutas un archivo.
comenta "DETECT" y te enviaré el archivo completo: el enlace de la cámara va arriba, todo lo demás se ejecuta solo. Incluye el cuaderno de entrenamiento y la plantilla dataset[dot]yaml.
Los negocios de tu calle contaron a mano hoy. Lo harán de nuevo mañana a menos que alguien aparezca con el enlace de la cámara.





