Pull to refresh

Comments 9

Только один вопрос «в пространство»: если человек подавился, его сразу запишут в симптоматики?

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

Молодцы, если заработает — позволит разгрузить и людей и аппаратуру, уменьшит очереди где они не нужны.
А каких объемов был датасет? Сами собирали-размечали? Давали примеры с некашляющими людьми? Брали людей разных полов, национальностей и возрастов?
Ну и самый очевидный вопрос — не проще использовать звук? :)

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


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

Пару вопросов. А если человек не прикрывает рукой рот?:) А если человек разговаривает/смеётся?
Мне кажется что ошибок первого и второго рода будет дофига, что сильно понижает осмысленность такого решения.

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

И несколько непонятно зачем Intel и OpenVino тащить. В них нет ничего плохого, я их сам нежно люблю для некоторых их задач, но для SSD Mobilenet хватит и RPi, и JetsonNano, это сильно дешевле, по продуктовости может даже лучше (там есть хорошие корпуса, потребления меньше).
Объекты разбивали на 4 класса, поэтому кашель с рукой и без руки можно отделить от смеха, например. Ошибок 1/2 рода много, но это вопрос выборки и размерности исходного датасета. На курении получилось очень даже неплохо.

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

Для распознавания видеопотока через каскад сеток типа Mobilenet RPi не хватит совсем, про Jetson — возможно, но мы пользуемся богатым стеком собственных наработок на базе OpenVINO. При 25 кадрах это 40 мс на фрейм, включая декодирование, инференс и логическую обработку. На RPi таких цифр нет.
Я недавно как раз писал статью про разные эмбедед платформы: на RPi4 скорость работы Mobilnet 300*300 примерно 110ms (если v1, или если под какими-нибудь ускоренными фреймворками то быстрее).
Понятно, что ssd чуть медленнее, чем бэкбон. Но кадров 5-6 в секунду даст.
Честно говоря не понимаю зачем вам больше. 5fps для трекинга хватит, само событие кашля тоже не длится быстрее полусекунды.

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

Боюсь что нет.
  1. Как человек по отдельному кадру кашля без руки не может понять что происходит — так и система не сможет. Или вы хотите сказать что мобилнет вытаскивает больше человека? Вам тут больше классов особо не поможет.
    Человек такие штуки отличает по динамике. И вы либо будете генерировать ложняки на речь, либо будете пропускать весь кашель без руки (которого большинство).
  2. Где вы достанете датасет реально кашляющих людей?:) Вы же понимаете что покашлять на камеру и реальный кашель — это принципиально по-разному выглядит и звучит? И тут не хватит 100-200 кадров чтобы существующий детектор оттюнинговать.
  3. Ну и да, про ошибки первого второго рода. Вот, предположим, доведёте вы их до уровня что всего на каждом десятом говорящем будет прокать детектор. И всего десять процентов кашляющих пропустит. Скорее всего всё будет сильно хуже, конечно. И что вы с этим сделаете?:) Как вам это поможет решить реальную проблему?


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

Да и камера вам, поди, не одна нужна. От неё человек сможет отвернуться, зайти за другого человека, разрешения не хватить уже метрах в 7-8.

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

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


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


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

Sign up to leave a comment.

Articles