Марат и его записки программиста
287 subscribers
82 photos
1 video
63 links
Коротко о сложном: Инжиниринг данных, бэкенд, ИИ и личный опыт.
Автор: Марат, 15 лет в разработке
Vk: https://vkvideo.ru/@club231048746
GitHub: https://github.com/MaratNotes/marat_notes
Download Telegram
🏖 ПЭТ-ПРОЕКТ ДЛЯ СВОЕГО ПЭТА ИЛИ ЧТО БЫ ПОДЕЛАТЬ В ОТПУСКЕ))

Моя любимая овчарка Герда решила, что пока я сплю - можно безнаказанно осваивать диван. Прямых доказательств нет (она мастер маскировки!), но шерстяные улики говорят сами за себя 🕵️‍♂️🐕‍🦺. Знакомьтесь:

🔍 ПРОЕКТ: "ЧТО СНИТСЯ СОБАКЕ"
Автоматизированная система борьбы с диванными рейдами!

🚀 КЛЮЧЕВЫЕ ФУНКЦИИ:
Компьютерное зрение: детекция овчарки в режиме реального времени
Голосовой модуль с МОИМИ командами: "Герда, ЭЭЭ! С дивана!" (Так как ЭЭЭ, запрятная команда в нашей дрессировке)
Фотофиксация нарушений с отправкой в Telegram

Технологический стек отпускной разработки:
- Python + OpenCV → видеозахват с ноутбука
- YOLO → распознавание "диванных диверсантов"
- Aiogram → тревожные оповещения в телегу
- Записанный голос → психологическое воздействие

Как это работает:
1️⃣ Камера ноутбука → непрерывный мониторинг запретной зоны
2️⃣ Детектор → идентифицирует овчарку на моем диване)
3️⃣ Система → проигрывает аудиокоманду
4️⃣ Бот → отправляет фото-доказательство с временной меткой

Задумка есть, осталось малое - реализовать☺️

#отпускпрограммиста #ЧтоСнитсяСобаке #Python #OpenCV
👍31🔥1
🏖 ПЭТ-ПРОЕКТ "ЧТО СНИТСЯ СОБАКЕ". Часть 1.
Автоматизированная система борьбы с диванными рейдами ☺️

Напомню, основную причину старта этого проекта: Моя любимая овчарка Герда решила, что пока я сплю - можно безнаказанно осваивать диван. Прямых доказательств нет (она мастер маскировки!), но шерстяные улики говорят сами за себя 🕵️‍♂️🐕‍🦺.

Изначально я думал о реализации с использованием ноутбука с OpenCV и нейросетями, для детектирования "овчарки на диване" как особо опасного диверсанта. Но реальность внесла коррективы:

🔍 Три важных факта, которые всё изменили:

• Мои старые ноутбуки слишком медленные, а возиться с настройкой ОС слишком долго и лень
• Обучать модель ради одной задачи — из пушки по воробьям. Ведь в комнате в это время кроме Герды никого не зафиксируешь.
•Настоящая задача — не распознавание образов, а обнаружение значительных изменений в кадре. То есть — "а кто это прыгнул на мой диван?!"

В итоге я выбрал повидавший виды Redmi Note 8 Pro — как раз лежал без дела. И превратил его в умную камеру слежения за нарушителем.

🛠 РЕАЛИЗАЦИЯ НА ANDROID

IP Webcam — превращает телефон в веб-камеру с HTTP-стримом
Pydroid 3 — полноценная Python-среда на Android, использовал следующие модули:
OpenCV + PIL — для анализа изображений
Pygame — чтобы проигрывать мой голос (самое страшное оружие!
Герда в курсе запрещённых команд — должно сработать 😉)
Requests — забираем кадры с камеры
🎯 Архитектура системы:

Телефон (камера)Анализ кадровОбнаружение изменений
Проигрывание звука и Сохранение фото

🔧 Ключевые особенности:

• Сравнение пикселей с игнорированием мелких изменений (тени, блики)
• Асинхронное воспроизведение звука через pygame.mixer
• Автоматическое сохранение фото-доказательств
• Настройка чувствительности (по умолчанию — 15% изменений)
• 30-секундная пауза между срабатываниями (чтобы не тревожить мирный сон)

📝 Основной алгоритм (упрощённо):

# Сравнение кадров по изменению пикселей
change_percent = calculate_change_percent(prev_frame, current_frame)
if change_percent > THRESHOLD:
play_sound_pygame() # Мой голос с командой: "Ээээ!"
save_photo() # Сохраняем фото с временной меткой


Сейчас сравниваю с предыдущим кадром — это просто и работает. Но в будущем, планирую перейти на фиксированный "базовый фон", чтобы избежать накопления шумов.

🌅 Первый тестовый запуск:
Утром включил систему и ушёл на пробежку. Вернулся — тишина. Ни звука, ни фото, ни логов.
Видимо, Герда что-то заподозрила😁 Или ей просто не хотелось спать. Собачья психология — она тонка…
Но когда я сам сел на диван — система сработала идеально:
🔊 «Ээээ!» — голос из телефона с командами на 15 секунд.
📸 — Фото сохранено
📄 — Запись в логах

Победа! 🎉

📊 Результаты:
Детекция работает стабильно
Звук проигрывается без задержек
Фото сохраняются в /sdcard/Pydroid3_photos/
Логирование в файл /sdcard/dog_camera.log
Система работает в фоне

🔊 Голос записан в .mp3, громкость на максимум — и да, Герда не понимает что происходит, пока я тестирую систему на воспроизведение звука))

🎯 Что дальше? Планы и тесты:

🔍 Реальные испытания:

Ночное наблюдение (включу свет в этой комнате)
Сценарий "Герда не уходит" — как система отреагирует?

🛠 Улучшения:

Сделать "базовое фото" при запуске — как эталон фона
Возможно, динамическая настройка порога по средней яркости кадра

💡 Полезные наблюдения:
Даже этот MVP уже работает! Система чувствительна, звук пугает — и это реальное решение реальной проблемы. Теперь Герда будет знать: диван — не безнаказанная зона.

Кстати, заметил, что она теперь обходит телефон стороной😁. Видимо, технологический контроль работает. 🤖🐕

🐾 Пэт-проекты — это круто. Особенно когда они решают бытовые задачи.

📸 Что в альбоме:
1. Герда — главная героиня проекта
2. Основные технические инструменты проекта.)
3. IP Webcam на страже
4. Pydroid 3 и реализация на Python
5. Герда попала в объектив, после этого поднял камеру выше
6. А вот и я тестирую систему

Как бы вы улучшили эту систему? Делитесь идеями в комментариях! 👇
#ЧтоСнитсяСобаке #Python #OpenCV
🔥54