
Комментарии 29
Фотофиксацию же, а не видео? И слать по ftp или email, а не в телегу.
можно чуть больше лткбеза? Где есть описание этого апи, чтобы научить бота слать внутренние события в телегу?
А еще лучше где-нибудь может есть информация по камерам, чтобы понять какая их них умеет детектировать отдельно лица, отдельно котиков и отдельно номера машин?
Ну там не всё просто. Серия AcuSense умеет отличать людей и транспорт, умеет отыскивать в кадре лица, делать их кроп. Но либо лица, либо люди и транспорт, все сразу не может.
Номера авто это серия ANPR, но это не совсем классические камеры, это камеры заточенные только под распознавание номеров. Там и матрица чувствительная, и WDR аппаратный мощный, чтоб избегать засветки от фар, и оптика не совсем классическая, встроенная мощная ИК подсветка.
Сейчас на рынке нет универсальных ip камер для распознавания или обнаружения всего подряд. Какие-то могут одно, какие-то другое. Встроенная в камеры аналитика по большей части создана для экономии места на дисках, чтоб не писать всё подряд, а не для всесторонних функций. Но встроенная аналитика может здорово помочь и для умных фишек. Например моя камера от xm на матрице imx307 умеет определять людей в кадре и отдавать это событие по onvif. Когда я получаю алярм, что человек в кадре, я делаю скриптом снапшот и отправляю его в DeepStack, который в докере на Synology. Дохлый старый Synology на атоме и 2Гб ОЗУ с помощью DeepStack может распознать лицо примерно за 12-15сек. Таким образои из старинного железа сделана распознавалка лиц, а без камеры которая дает кадр с готовым фейсом этого сделать не получилось бы. Вот такой профит от аналитики на дешовой камере за 30$.
Распознание птиц (как минимум породы) можно делать через tensorflow (https://www.tensorflow.org/)
Правда я делал в браузере, но мне кажется что можно адаптировать и под другие платформы. Вот пример: https://codepen.io/vmkazakoff/full/pmXbGy (осторожно, запросит разрешение на доступ к камере, но ничего никуда не отправляет, все работает только на клиенте) — надо сначала "научить" наведя камеру на три любых предмета по очереди и нажимая "это А" / "это В" и "это С". Потом можно навести на любой из предметов и "сфотать" уже кнопкой на картинке с камеры. Оно найдет максимально похожее и скажет что это.

На Андроиде работает? У меня что-то ничего не сработало, обучил на пачке таблеток, телефоне и собаке, софт на потом выдавал рандомный результат с уверенностью 33% или 66%.
Да. Я на Андроиде и проверял. Тут вопрос не платформы, а обучающей выборки — надо или много фоток делать, или делать их достаточно "однотипно". Возможно у вас менялся фон — по ощущениям, надо на каждый объект по 5-10 фоток на одном фоне. К счастью в данном кейсе и фон однороден и с выборкой проблем нет.
Спасибо! Надо попробовать.

Но в какой-то момент мы поняли, что за шум иногда по ночам возле дома. Оказалось, приходит семейство енотов, топая по карнизам
Для решения задачи с компьютерным зрением процессор не очень. Нужен либо GPU (любая старая видеокарта, которую сможете найти), либо TPU (Google Coral/ Nvidia Jetson… ). Их, кстати, можно по USB цепануть к той же Piшке и прямо на ней делать детекцию.
У меня давно есть делание сделать определение в кадре котов с последующим включением лая на динамики. Бо задолбали они все углы обсцыкать. ))))
Ну так есть готовое оффлайн решение — DeepStack. Он более двухсот объектов детектит из коробки. Там и предметы и животные, люди. Просто пуляете в него фото/видео, он выдает ответ в json. Правда железо надо какое-нибудь из того, что вы перечислили, GPU, TPU… На CPU тоже работает, но несколько сек на кадр уходит, видео не обработать.
P.S. А если начать считать деньги, то выгоднее покупать не умную ip камеру с какой-то там аналитикой, а простенькую ip камеру, которая может дать качественное изображение, пусть даже 720p, главное, чтоб стопкадр давала не смазанный, и к ней покупать Nvidia Jetson. Тогда можем вообще любую аналитику мутить, а не ждать, пока производитель поправит баги в прошивках.
У меня на 1080ti получилась, по моему, около 14 кадров в сек с детекцией и трассировкой движения. Какой-то Coral или jetson спокойно даст на пишке несколько кадров в сек, чего более чем достаточно. Далее уже просто собрать базу птиц, разметить картинки, я думаю их будет макс 10-15 групп, переобучить модель. И можно детектить. Я так с авто делал, мне интересно было, можно ли заставить скрипт различать проезжающие машины не по номерам, а по внешнему виду. Эксперимент можно назвать скорее неудачным, чем удачным, что было в общем предсказуемо, ибо отличить один черный ниссан, от другого нереально. А вот разные марки и, особенно, с каким-то отличительными особенностями (машины служб, нестандартные цвета и марки) детектило четко.
Хорошая статья, как раз, то над чем работаю сейчас. У меня на ютубе канал про аистов-трансляции из гнезда - это летом, а зимой мы переключаемся на кормушки.
Кормушка из сантехтруб не пошла. Прилетают воробьи и разбрасывают все семечки. Их заметает снегом и семечек уходит слишком много.
Сделал большой бункер с удаленной подачей на ESP и с сервоприводом. Добавил возможность включать кормушку зрителям канала. Надо просто перевести донат на Youmoney.
Трансляции веду через VPS. Можно круглосуточно , можно включать ежедневно. Те комп на месте вообще не нужен.
На VPS настроил FTP и на него камера по тревоге сбрасывает фото птичек. Получаются очень интересные кадры. Только их очень много.
Вот хотел подключить ИИ для отбора качественных фото и заодно распознать вид птички.

И тоже хотел это постить в канал в тлг. Уже сделал опрос подписчиков (10 тыс) - многим это интересно. Тут ваш скрипт очень кстати. Совсем не программист и много изучаю с нуля.
Пока только в самом начале пути, Ваша статья и еще одна, которая уже упоминалась в комментах будут отправной точкой.
Еще у меня в закладках большой гайд - https://towardsdatascience.com/smart-bird-watcher-customizing-pre-trained-ai-models-to-detect-birds-of-interest-dca1202bfbdf
Сделал чат в телеграмм для всех кому эта тема интересна. https://t.me/+hduzYdKvcj5kYTRi
Кормушка с видео в ленте телеграмма