Загрузка
Научи обычную камеру понимать, что происходит в бизнесе. Простой вход в Computer Vision: берем 20 фото товара, дообучаем модель YOLO в облаке и настраиваем мгновенные уведомления в Telegram. Узнай, как детектировать конкретные предметы (или VIP-клиентов) без сложного кода, серверов и дорогого оборудования.

Привет. Я тот парень, который повесил камеры в вашей любимой кофейне. Не для того, чтобы следить, сколько раз бариста вышел покурить, а чтобы понять, почему в среду утром у нас очередь, а выручки нет.
Мы хотели знать: что люди берут чаще, когда заканчиваются стаканчики и кто из гостей — наш VIP, которому положен бесплатный круассан.
Сначала я думал, что Computer Vision (CV) — это для ребят из Google. Оказалось, чтобы научить камеру отличать латте от капучино, не нужно писать диссертацию. Достаточно 20 фотографий и арендованной видеокарты на Qubu. Сейчас покажу, как это работает, на пальцах.
Что нам понадобится:
Аккаунт на Qubu: Нам нужен доступ к Notebooks и GPU.
20-30 фото твоего объекта: Сфотографируй свой товар (или своего кота) с разных ракурсов.
Telegram: Чтобы получать уведомления "Шеф, пришел VIP-клиент!".
Теория на пальцах:
Как нейросеть «видит»?
Представь, как ты учишь ребенка отличать кошку от собаки. Ты же не говоришь: «Смотри, расстояние между ушами 5 см, а длина шерсти 2 см». Ты говоришь: «Смотри, острые ушки, усы, делает мяу».
Нейросеть работает так же. Она не смотрит на каждый пиксель отдельно. Она ищет паттерны.
Сначала она видит линии и круги (контуры чашки).
Потом объединяет их в фигуры (форма стакана).
Потом смотрит на текстуру (пенка vs жидкость).
Если совпало — она кричит: «Эврика! Это Капучино!».
Мы будем использовать архитектуру YOLO (You Only Look Once). Она как опытный охранник: бросает один взгляд на картинку и сразу видит всё и всех. Это быстро и идеально для реал-тайма.
Пошаговая инструкция:
Шаг 1: Готовим фото (Датасет)
Нейросети учатся на примерах.
Сделай 20 фото объекта (например, чашка кофе).
Сделай 20 фото без объекта (пустой стол, прилавок). Это нужно, чтобы сеть знала, как выглядит "ничего".
Загрузи все фото в папку на Qubu в раздел «Датасеты» (или просто закинь в папку data внутри ноутбука).
Шаг 2: Запускаем обучение (Qubu Notebook)
Идем в «Обучение» -> «Ноутбуки», создаем новый, выбираем GPU (хватит даже базовой T4 или 3090).
Мы используем библиотеку Ultralytics — это "Lego" в мире компьютерного зрения.
Вставь этот код в ячейку и нажми Play:
# Устанавливаем библиотеку (делается 1 раз)
!pip install ultralytics
from ultralytics import YOLO
import cv2
from matplotlib import pyplot as plt
# 1. Скачиваем "предобученный мозг"
# yolov8n.pt - это маленькая, но шустрая модель. Она уже знает, что такое "человек", "стул" и т.д.
model = YOLO('yolov8n.pt')
# 2. Дообучаем на твоих данных (Fine-tuning)
# Представь, что мы показываем модели твои фотки и говорим: "Забудь про стулья, смотри на кофе!"
# В реальности для этого нужен файл data.yaml с путями к фото,
# но для теста мы попробуем запустить распознавание того, что модель УЖЕ знает (например, чашка - 'cup')
print("Модель готова к работе!")
Шаг 3: Проверяем зрение
Давай скормим ей картинку и посмотрим, что она найдет.
# Загрузи фото проверки как 'test_coffee.jpg' в файлы ноутбука
results = model('test_coffee.jpg')
# Показываем результат
for result in results:
boxes = result.boxes # Координаты найденных объектов
probs = result.probs # Уверенность (от 0 до 1)
result.show() # Покажет картинку с рамочками
Если модель обвела чашку рамочкой и написала cup 0.89 — поздравляю, у тебя есть рабочий глаз!
Шаг 4: Прикручиваем уведомления в Telegram
Самое вкусное. Пусть бот пишет тебе, когда видит объект.
Создай бота в Telegram через @BotFather, получи токен.
Узнай свой chat_id (напиши боту @userinfobot).
Добавь этот код в ноутбук:
import requests
def send_telegram(text):
token = "ТВОЙ_ТОКЕН"
chat_id = "ТВОЙ_ID"
url = f"https://api.telegram.org/bot{token}/sendMessage"
requests.post(url, data={'chat_id': chat_id, 'text': text})
# Имитация работы камеры
# Проверяем: если на фото найдена чашка (класс 41 в COCO датасете - это cup)
for result in results:
for box in result.boxes:
if int(box.cls) == 41: # 41 - ID чашки. Для человека это будет класс 0.
print("Вижу кофе!")
send_telegram("☕ Шеф, готов новый заказ: Капучино детекед!")
Можем наткнуться на одну из проблем:
Проблема "Чихуахуа или Маффин". Это классика CV. Если ты учил модель только на фото капучино сверху (белый круг), она может спутать его с белой тарелкой.
Решение: Делай фото под углом 45 градусов, где видно ручку чашки и высоту стакана.
Свет решает всё. Модель, обученная при дневном свете у окна, ослепнет вечером при искусственном освещении кофейни.
Решение: Добавь в датасет "шумные", темные и смазанные фото. Это называется аугментация.
Лица и закон. Если ты решил распознавать постоянных клиентов (Face Recognition), помни про 152-ФЗ. Хранить биометрию (фото лица) без письменного согласия нельзя.
Лайфхак: Распознавай не лицо, а уникальный QR-код на карте лояльности, который клиент показывает камере. Технология та же, проблем меньше.
Теперь у тебя есть прототип. Вместо того чтобы покупать дорогую систему аналитики, ты собрал её на коленке за стоимость чашки кофе.
В этом материале нет файлов для просмотра.