Как стать автором
Обновить
5
0
ComBox Technology @ComBox

инженер-программист

Отправить сообщение

Все что вы отметили верно и к сожалению имеет место быть. Но предлагаю не ограничивать науку из-за политики, если последняя может оказаться недобросовестной. В этом случае правильно ограничивать «политику». Риторический вопрос о вилке — это полезный столовый прибор или опасное оружие «один удар — четыре дырки». Нам как разработчикам, совсем не хотелось бы останавливать «полезный» прогресс из-за рисков его негативного использования. Спросите в чем польза? Она безусловно есть! Многие люди не курят и совсем не хотят, чтобы они и тем более их дети были пассивными курильщиками. Детекция курения поможет пресекать факты курения в неположенных, а это как раз общественные, местах. Для этого и законы соответствующие принимались. Можно вести предупредительно-разъяснительную работу, хотя штрафы, зачастую эффективнее… Так мы устроены. Но для чего мы принимаем запреты, если люди не уважающие окружающих и законы, могут эти запреты спокойно нарушать? Многое зависит от общества. Недавно общался с западными коллегами и они считают, что такой детектор им не очень нужен, так как люди очень законопослушны, и закон это скорее договоренность, а не запрет. Бывает и по-другому, когда правовой нигилизм это предмет гордости, вседозволенность — извращённое понимание свободы, а неуважение прав и интересов окружающих — признак личного превосходства. И как с этим справляться? Я понимаю и уважаю вашу озабоченность и тоже не приветствую злоупотребления. Но в таком случае, всё-таки, предлагаю бороться не с разработками которые позволяют принести пользу, а с их недобросовестным использованием. И это вопрос нашей гражданской позиции и личной ответственности.

Я недавно как раз писал статью про разные эмбедед платформы: на RPi4 скорость работы Mobilnet 300*300 примерно 110ms (если v1, или если под какими-нибудь ускоренными фреймворками то быстрее).
Понятно, что ssd чуть медленнее, чем бэкбон. Но кадров 5-6 в секунду даст.
Честно говоря не понимаю зачем вам больше. 5fps для трекинга хватит, само событие кашля тоже не длится быстрее полусекунды.
5-6 FPS полностью загрузит процессор, а нужно еще запускать логику. Сетки работают каскадом, лица -> кашель -> поза (сейчас ее нет, но, возможно она будет) -> логика оценки в динамике. Эти все вычисления достаточно тяжелые, так что нет, 110 мс это ничтожно мало, запаса не дает совсем.
Как человек по отдельному кадру кашля без руки не может понять что происходит — так и система не сможет. Или вы хотите сказать что мобилнет вытаскивает больше человека? Вам тут больше классов особо не поможет.
Человек такие штуки отличает по динамике. И вы либо будете генерировать ложняки на речь, либо будете пропускать весь кашель без руки (которого большинство).
Кашель без руки — самый опасный! Определяется детектором по характерной мимике. По вторичным признакам — отфильтровка.
Где вы достанете датасет реально кашляющих людей?:) Вы же понимаете что покашлять на камеру и реальный кашель — это принципиально по-разному выглядит и звучит? И тут не хватит 100-200 кадров чтобы существующий детектор оттюнинговать.
Ради науки люди готовы на многое :) А если серьезно, готового датасета мы, конечно же, не нашли и подготовили первичный по выборке с интернета, а далее, с большой долей ошибок забирали и вручную формировали с камер пилотного проекта (по предварительной договоренности).
Ну и да, про ошибки первого второго рода. Вот, предположим, доведёте вы их до уровня что всего на каждом десятом говорящем будет прокать детектор. И всего десять процентов кашляющих пропустит. Скорее всего всё будет сильно хуже, конечно. И что вы с этим сделаете?:) Как вам это поможет решить реальную проблему?
Человека увидели, проверили температуру пирометром, как вариант. Тут любое снижение возможности заражения важно, каждую цепочку заражений прервать стоит дорого. Выкладывали цены во сколько обходится лечение, каждый тяжелый пациент — до 200 т.р./сутки.
Да и камера вам, поди, не одна нужна. От неё человек сможет отвернуться, зайти за другого человека, разрешения не хватить уже метрах в 7-8.
Как и все системы ИИ, эта система призвана помочь людям. Перед ней вовсе не стоит задача поймать всех кто кашлянул. Напротив, помочь найти тех, кто находится в толпе людей с симптомами ОРВИ. Это и люди будут делать тоже, и до введения самоизоляции делали.
— Ну и да, главное — это глобальная оправданность. Кашель есть далеко не у всех. Как я понимаю когда кашель есть, тем более постоянный — это уже всё плохо совсем. Температура куда чаще встречается.
Судя по тому, что говорят врачи, чем более явно проявляются симптомы заболевания, тем выше вероятность заразить окружающих (возможно, просто большее количество вирионов вокруг человека). Обнаружение людей с симптомами может без преувеличения спасти жизни и снизить нагрузку на систему здравоохранения. Если это не оправданность, то где же она?

Что плохого в развитии и прогрессе?


Если так мыслить, то можно сказать, что все автомобили опасны, так как автомобилисты потенциально вышли на дороги, чтобы давить других людей. Запретить! Но мир почему-то развивается по другому сценарию. И это хорошо. Так почему же вы думаете, что в детекторе курения есть что-то плохое? Курить в общественных местах нельзя, как и возле школ и детских садов. А там курят. И стандартными датчиками эти нарушения не выявить никак. А по видеоаналитике можно.  


Также есть причинно-следственная связь. Штрафы вводятся не для обогащения, а для минимизации нарушений. Штрафуем -> меньше нарушают -> больше ТС в эксплуатации и больше довольных клиентов -> выше лояльность к бренду. Здесь нет идеологии цифрового концлагеря и тем более презумпции виновности. Здесь могут быть ошибки, которые нужно и будут обрабатывать, но вручную обрабатывать весь поток событий намного сложнее и вероятность получить ошибки при ручной обработке выше, чем при рассмотрении конкретных инцидентов. Чем не понравится подход?

И это, кстати, один из векторов атаки. Подробно писали недавно на Хабре про one pixel attack — https://m.habr.com/ru/post/498114/. На примере применяемых повсеместно ResNet50.

Объекты разбивали на 4 класса, поэтому кашель с рукой и без руки можно отделить от смеха, например. Ошибок 1/2 рода много, но это вопрос выборки и размерности исходного датасета. На курении получилось очень даже неплохо.

Звук — сложно. Область применения: вокзалы, аэропорты. Выделить нужная частоту от шума не получится. Да и для определения звука нужен направленный микрофон и фильтрация посторонних шумов, что сильно повышает сложность изделия и его развертывание.

Для распознавания видеопотока через каскад сеток типа Mobilenet RPi не хватит совсем, про Jetson — возможно, но мы пользуемся богатым стеком собственных наработок на базе OpenVINO. При 25 кадрах это 40 мс на фрейм, включая декодирование, инференс и логическую обработку. На RPi таких цифр нет.

Объекты разбивали на 4 класса, поэтому кашель с рукой и без руки можно отделить от смеха, например. Ошибок 1/2 рода много, но это вопрос выборки и размерности исходного датасета. На курении получилось очень даже неплохо.


Звук — сложно. Область применения: вокзалы, аэропорты. Выделить нужная частоту от шума не получится. Да и для определения звука нужен направленный микрофон и фильтрация посторонних шумов, что сильно повышает сложность изделия и его развертывание.


Для распознавания видеопотока через каскад сеток типа Mobilenet RPi не хватит совсем, про Jetson — возможно, но мы пользуемся богатым стеком собственных наработок на базе OpenVINO. При 25 кадрах это 40 мс на фрейм, включая декодирование, инференс и логическую обработку. На RPi таких цифр нет.

Ну на тестовой произвольной выборке уже работает. Есть куда стремиться, но решается пополнением датасета. Сейчас это 4 типа классификации по 2к объектов. Разметку и датасет после запуска проекта планируется выложить в опенсорс. Собирали сами, так как готового нет (то есть часть есть с кагл и от предыдущей выборки для детектора курения, но это без внешних признаков симпотматики для уравновешивания). Возрастная выборка 20-50, возможно будет ветка от возраста после его классификации на первом шаге. Сейчас ее нет (там только детекция зоны лица, ее расширение и трекинг), используется общая выборка.


На звук смотрели. Для определения звука нужен направленный микрофон и фильтрация посторонних шумов, что сильно повышает сложность изделия и его развертывание.

Не, так уж слишком жестоко :) Наличие и длительность, повторяемость симптомов. Мы отслеживаем время начала/окончания события и их количество. На основе этого формируем нужно ли давать уведомление.

Разные сферы и области применения. В этом посте рассказывали об адаптации детектора курения к применению в каршеринге. До этого был пост о решении в целом и преимуществах метода в сравнении со стандартными датчиками и газоанализаторами — habr.com/ru/company/intel/blog/493726. Там как раз внизу под спойлером более подробно о сферах, где гос сектор тоже присутствует (школы, сады, метрополитен и т.п.).
С подходом, описанным вами в начале — можно сказать стоп всем инновациям и прогрессу, в принципе. Они несут зло в массы, но это же не так. Мы за развитие и прогресс и описанная технология не подразумевает, что в нашем решении будут какие-то другие сетки детекции, таргетирования или классификации, кроме заявленных в описании. И переход от автоматизированных систем к автоматическим должен и будет происходить под строгим контролем людей. Конечную цель вы описали верно, она не в штрафа, а в предотвращении запрещенных действий.

Это уже вопрос условий самой компании, владельца сервиса. Но так как есть некурящие и им не приятно сидеть в машинах, где прокурено предыдущим водителем, то вряд ли такая схема будет массово применяться. В крайнем случае, сами автомобили можно делить как для курящих и не курящих. Но машин ещё не так много, чтобы их разделять на два непересекающихся пула. И на уровне государства мы всё-таки боремся с курением (рестораны, номера в отелях и т.д.). Поэтому в машинах вряд ли дадут сделать исключение, даже если это будет востребовано.

Стоп. Если так мыслить, то можно сказать, что все автомобилисты опасны и потенциально вышли на дороги, чтобы давить других людей. И люди опасны, так как вышли уничтожать других людей. Возможность же такая есть? Есть! Но мир почему-то развивается по другому сценарию. И это хорошо. Так почему же вы думаете, что в детектор курения будут ставить что-то еще априори?

Также есть причинно-следственная связь. Штрафы вводятся не для обогащения, а для минимизации нарушений. Штрафуем -> меньше нарушают -> больше ТС в эксплуатации и больше довольных клиентов -> выше лояльность к бренду. Здесь нет идеологии цифрового концлагеря и тем более презумпции виновности. Здесь могут быть ошибки, которые нужно и будут обрабатывать, но вручную обрабатывать весь поток событий намного сложнее и вероятность получить ошибки при ручной обработке выше, чем при рассмотрении конкретных инцидентов. Чем не понравится подход?
Немного не так. Я дословно написал «Изначально все пилоты запускаются под контролем людей. То есть используется частичная автоматизация. В зависимости от результатов планово идет переход в полностью автоматический режим.».

Доказать реально все. Есть событие, фиксация факта нарушения, есть фото и видео в архиве, по которым можно сделать проверку конкретного инцидента. Если ошибки единичны, то проще проверять инциденты, а не каждое событие, которых гораздо больше, чем инцидентов.

Мы все-таки говорим о коммерческом секторе и основной доход у них не со штрафов за курение, а с аренды автомобилей. Курение в салоне сказывается на основном направлении бизнеса (жалобы, скидки для новых клиентов, кто взял машину с прокуренным салонам, химчистка и т.д.). Цель не штрафовать всех подряд, а пресечь и снизить число нарушений правил, четко описанных в договорах аренды.

Второе опасение — сказочное и не законное. Также и ноутбук может следить за своим пользователем через фронтальную камеру и делать тоже самое. Но ведь не делает… И тут вопрос имиджа бренда (что будет если узнают, что делает — большой имиджевый риск и потенциальный ущерб). Но если договор аренды будет разрешать собирать такие метрики с пользователей и пользователь будет осведомлен об этом, то это уже его право соглашаться с указанными условиями и брать автомобиль в аренду или отказаться.
Ну, конкретно такие — точно нет, это все-таки аналитика по камерам видеонаблюдения… А в аэропортах, на вокзалах, рядом с детскими садами и школами, в машинах и поездах — легко.
Почему? Что плохого в детекции курения и дооснащении, в том числе, существующих комплексов новыми видами аналитики? Почему, если в машине курить нельзя и это явно прописано в договоре аренды, то это можно нарушать и не нужно за это штрафовать?

В будущем — да. При пилотировании — с участием человека в автоматизированном режиме (просмотр и одобрение событий фиксации фактов нарушений). Оператору отображается фрейм с максимальным значением вероятности плюс ролик для просмотра в архиве -15+15 секунд всего события.


Перекрытие камер — да, можно отслеживать. И, например, отправлять соответствующее сообщение пуш-уведомлением на телефон, с которого была осуществлена аренда. В договорах можно вводить штрафные санкции за наличие множества таких нарушений (отправлено 3 и более уведомлений при исправной работе самой камеры).

Так я, в принципе, это и написал. По отдельным фреймам с разным освещением без единого преобразования картинки, результаты так себе. При хорошем освещении они будут значительно лучше. Савочек станет савочком, а не сигаретой или вейпом, хотя внешнее сходство у них и есть :) А на потоке с адаптацией под условия эксплуатации — минимизируются ошибки ложных срабатываний. Плюс практический опыт и частота появления совочков в реальных условиях тоже сильно помогает. Думаю, что на следующей неделе попробуем показать потоки с живых авто с детектором (по согласованию с водителями, разумеется) и дадим возможность в бот загружать видео, чтобы детекция была полноценной, а не по отдельному фрейму, вырванному из контекста.

Леденцы, карандаши и прочие подобные предметы мы проверили и отсекаем. И там нет дыма, как важного признака. Повторюсь, что анализируется лицо (OpenVINO face_detection 0001/0004 с расширение полигона), наличие сигареты/вейпа, дыма. Часто влияет освещение, что, в принципе, видно на примере работы бота, когда у всех разные камеры и условия съемки, но в рамках конкретных внедрений сетку можно (нужно) дообучать.
Да, семечка нас подвела :) Посмотрели тестовые загруженные фото, часть из них неверно классифицируются после конвертации модели TF -> OpenVINO, но параметры конвертации можно подобрать. Посмотрим в эту сторону. Возможно, детекция по фото не столь показательна, как на потоке, когда действия повторяются и в них есть общая уверенность за счет анализа множества кадров. Суть в том, что одна ошибка на конкретном кадре не дает ошибки в анализе множества (потоке). Возможно, доработаем бота на тест с обработкой роликов. Благо, на это есть тестовый NUC и AAEON.
В кадре должна быть сигарета/вейп (предмет), лицо, дым и событие должно повторяться во времени. Экспериментов с семечками и выдыхаемым паром мы, конечно, не делали, но с высокой долей вероятности все будет хорошо. Но с наступлением зимы обязательно проверим такой сценарий…

Ссылка на демку с распознаванием по фото (бот в Телеге) указана в статье. Можно на ней экспериментировать. Мы со своей стороны, периодически будем обновлять сетку и улучшать параметры детекции и классификации.

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность