О том, как мы в Macroscop попробовали применить современные нейросетевые технологии, ...

О том, как мы в Macroscop попробовали применить современные нейросетевые технологии, чтобы находить каски на головах людей

О том, как мы в Macroscop попробовали применить современные нейросетевые технологии, чтобы находить каски на головах людей

Видеонаблюдение \\ 09.02.2018 12:32 \\ Macroscop \\ Пермь

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



Раньше все свои интеллектуальные модули мы строили на традиционных алгоритмах видеоанализа (далее мы будем называть их «классическими»). О нейросетях мы, конечно, знали, и пробовали их применять еще в далеком 2008. В частности, сравнивать изображения людей по кластерам. Но результаты не были выдающимися (в том числе из-за невысокого уровня развития нейросетей). И мы на многие годы стали приверженцами «классики» машинного зрения. А все нейросети были у нас в головах :) 

С появлением сверточных нейросетей появилась и надежда, что они смогут хорошо показать себя в решении задач видеоанализа: во-первых, дать точность выше в тех же условиях, в которых мы применяли прежние алгоритмы, во-вторых, расширить диапазон этих самых условий работы. 

Вдобавок ко всему, этот способ разработки представлялся гораздо более надежным – он сразу позволяет сделать вывод «пойдет или не пойдет»: когда начинаешь работать с «классическим» алгоритмом, сразу не понимаешь, правильно выбран путь или нет, получится решить задачу так или нет. И требуется какое-то (часто существенное) время, чтобы дойти до результата, который можно оценить. Так, например, мы около месяца возились со стереонасадкой для камеры, чтобы реализовать новый подсчет посетителей, но в итоге не получили с ней ничего дельного (см. статью «Рождение сверхновой: как появляются новые функции на примере 3D-подсчета посетителей»). А с нейросетями все нагляднее: уже по маленькой выборке из нескольких картинок можно оценить, пойдет или не пойдет. Если не идет – поменять выборку и проверить снова. Найти правильный тип данных и подход получается намного быстрее, а дальше надо просто улучшать выборку, чтобы получать все более высокие результаты.

Когда появилась задача создать детектор отсутствия касок (подробнее о том, как она появилась в статье «Custdev в разработке продуктов для видеонаблюдения»), сходу у нас не было понимания, как можно решить ее традиционными методами. Мы решили проверить, удастся ли сделать это с применением нейросетей. И вообще так ли хороши современные нейронные сети, как о них говорят?..

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

Заранее нейросеть не знает, что ей нужно отличать два вида людей именно по наличию каски. Всё, что у неё есть – два набора изображений (люди в касках и без них), и она старается найти на них признаки, по которым эти два набора можно различить. Она знает, какая картинка какому набору соответствует, но не знает, почему, и стремится подобрать свои параметры так, чтобы самостоятельно как можно чаще давать правильные ответы.

I способ

Сначала мы подавали на нейросеть изображения, на которых люди попали в кадр в полный рост. У нас сразу были опасения, что достаточной точности мы так не получим, но если бы сработало, то разработка прошла бы максимально быстро и просто. 

 

Опасения подтвердились: на таких картинках нейросеть не смогла толком обучиться – точность нахождения касок на новом тестовом наборе составляла порядка 70%. Она была совершенно неприемлема для работы модуля, но в то же время, это доказывало, что решить задачу с применением нейросетей можно! 

Вообще, точность детектора касок складывается из чувствительности (отвечает за «ловлю» людей без касок) и процента ложных срабатываний (отвечает за ошибочную «ловлю» людей в касках). В условиях реального предприятия, где будет применяться детектор, люди в большинстве случаев ходят в касках, поэтому даже небольшой процент ложных срабатываний превратится в большой объем неправильных данных в выдаче. 

За начальный ориентир была принята точность: не менее 60% чувствительности и не более 3% ложных срабатываний. И на самом деле это были нешуточные требования.

Обучая по изображениям людей в полный рост такой точности достичь не получилось. Возможно, здесь повлияло то, что на таких картинках помимо головы человека в каске или без каски, много прочих элементов, на которые нейросеть «отвлекается», принимая за существенные признаки то, что на самом деле ими не является.

II способ

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


Кстати, практика показала, что не так важно, сколько в нейросети слоев и нейронов, и вообще ее параметры не так важны. Главное – качество обучающей выборки. На большой и разнообразной выборке есть хороший шанс на успех, на маленькой – нейросеть просто запомнит правильные ответы, но не приобретет способность к обобщению и не сможет дать правильные ответы на новых для неё картинках.

Наша выборка была среднего размера (несколько тысяч картинок голов в касках и без касок), она включала каски разного цвета и немного отличающиеся по форме. Чтобы улучшить результаты и избежать переобучения, нам пришлось всерьёз заняться техниками аугментации (искусственного расширения обучающей выборки) и регуляризации (ограничения параметров нейросети). В результате на тестовой выборке точность дошла до 85-88%. Это хороший показатель, но, чтобы еще снизить ошибки, мы сделали пост-обработку: решение о том, что человек без каски и надо выводить «тревогу» принимается не по одному кадру, а по результатам анализа каждого отдельного человека на нескольких кадрах подряд. 

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

Для своей нейросети мы взяли классическую сверточную архитектуру, которая хорошо себя зарекомендовала в задачах классификации. Но пробовали разные архитектуры, в том числе самые современные и сложные — из сотни слоев с сотней миллионов параметров. Принципиально с усложнением нейросети результат не улучшился. На своем опыте мы подтвердили, что теорема Вапника-Червоненкиса работает: сложность классификатора должна соответствовать сложности задачи. Если классификатор будет слишком сложный, то он просто запомнит все ответы и не будет работать. Если он будет слишком простой – не сможет обучиться. 

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

Второй способ оказался наиболее действенным. В итоге мы решили задачу и

1) за 2,5 месяца разработали работающий модуль, который пошел на первые объекты для тестового использования. По нашей оценке, разработка классическими методами у нас бы заняла не меньше полугода. 

2) используем в детекторе отсутствия касок 2 набора нейросетей, обученных на разных данных. Первый находит головы людей в кадре, а второй – определяет, в каске эта голова или нет. 

3) достигли заявленного порога точности — более 60% чувствительности на 1,5% ложных срабатываний.

Вывод: применять нейросети для решения задач видеоанализа, в частности, детектирования отсутствия каски на человеке можно и даже нужно. 

Первый успешный опыт ставит закономерный вопрос: теперь все модули видеоанализа разрабатывать с применением нейросетей? И пока ответить на него однозначно трудно. 
Есть модули, в переводе которых на нейросети сейчас мы не видим смысла. Потому что там итак все хорошо решается классическими методами. Например, подсчет посетителей (особенно в новой 3D-реализации). Сейчас на классических методах машинного зрения он работает очень хорошо и достигает точности 98%. И если бы мы применили нейросети, еще не известно, сработали бы они так или нет. А вот для детекции дыма и огня нейросети точно подходят.

Если выводить критерий применимости нейросетей в видеоанализе, его можно сформулировать как-то так: если заранее понятно, как и какие признаки использовать, то можно обойтись «классикой», в противном случае – можно попробовать нейросети.

В 3D-подсчете есть хороший признак – это расстояние до точки. Или в детекторе оставленных предметов, например, тоже легко его найти – особая точка на границе предмета, за которой можно следить и сравнивать ее, или контур. А вот в огне непонятно, что за признаки брать. Цвет? — всегда найдется что-нибудь такого же цвета, как огонь. Форма? — огонь может быть самой разнообразной формы. Мерцание во времени? — но непонятно, какое именно оно должно быть. Придумывать признаки заранее здесь — гиблое дело, поэтому пусть лучше это делает нейросеть. 

Но вернемся к нашей задачи.

Итак, она решена. Ответ и соответствующие выводы получены:

Статьи Видеонаблюдение

Custdev в разработке продуктов для видеонаблюдения

Custdev в разработке продуктов для видеонаблюдения

Видеонаблюдение \\ 01.02.2018 15:42 \\ Macroscop \\ Комментарии()

Надо стремиться разрабатывать только то, что реально будет полезно и применимо на практике большим количеством людей. Но как найти такую функцию? В решении этого вопроса мы сделали ставку на customer development.

Рождение сверхновой: как появляются новые функции на примере 3D-подсчета посетителей

Рождение сверхновой: как появляются новые функции на примере 3D-подсчета посетителей

Видеонаблюдение \\ 25.12.2017 14:15 \\ Macroscop \\ Комментарии()

Разработка нового решения – это не всегда непроглядное написание кода. Искать, читать, пробовать, печатать на 3D-принтере, приносить что-то из дома, чтобы проверить свою теорию – вот настоящий процесс разработки. И зачастую чтобы создать что-то прорывное, новое, надо отойти от привычных моделей.

Один на всех: как разорвать замкнутый круг сложностей при разработке коробочного продукта

Один на всех: как разорвать замкнутый круг сложностей при разработке коробочного продукта

Видеонаблюдение \\ 22.11.2017 10:00 \\ Macroscop \\ Комментарии()

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

Глубокий расчет.  Как 3D-технологии помогают считать людей и делают жизнь проще?

Глубокий расчет. Как 3D-технологии помогают считать людей и делают жизнь проще?

Видеонаблюдение \\ 08.11.2017 12:18 \\ Macroscop \\ Комментарии()

По нашей оценке, при работе с интеллектуальными модулями во главу угла пользователи ставят точность и простоту управления функцией. Когда мы приняли концепцию развития продукта Macroscop через его упрощение, одной из локальных вех этого упрощения стала переработка популярного подсчета посетителей.

IDIS рассказал SourceSecurity о результативности технологий Машинного Обучения и Искусственного интеллекта

IDIS рассказал SourceSecurity о результативности технологий Машинного Обучения и Искусственного интеллекта

Видеонаблюдение \\ 03.11.2017 16:17 \\ IDIS Russia \\ Комментарии()

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

Особенности проектирования видеонаблюдения с IP-камерами fish-eye

Особенности проектирования видеонаблюдения с IP-камерами fish-eye

Видеонаблюдение \\ 15.09.2017 12:57 \\ Видеомакс, ООО \\ Комментарии()

Камеры типа fish-eye стоят особняком среди других камер — знают про них многие, но особенности их применения мало кому известны

Видеонаблюдение в кафе от 3С ГРУПП. Как выбрать видеонаблюдение в кафе, бар, ресторан?

Видеонаблюдение в кафе от 3С ГРУПП. Как выбрать видеонаблюдение в кафе, бар, ресторан?

Видеонаблюдение \\ 29.08.2017 15:34 \\ 3С ГРУПП \\ Комментарии()

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

3D-подсчет посетителей: чем обусловлена высокая точность?

3D-подсчет посетителей: чем обусловлена высокая точность?

Видеонаблюдение \\ 25.08.2017 15:27 \\ Macroscop \\ Комментарии()

Для того, чтобы минимизировать настройку и сделать работу для пользователя максимально простой и удобной, в 3D-подсчете реализован ряд сложных технологий обработки и анализа данных с видеокамеры.

Видеонаблюдение для квартиры от 3С ГРУПП. Как выбрать камеры видеонаблюдения для квартиры?

Видеонаблюдение для квартиры от 3С ГРУПП. Как выбрать камеры видеонаблюдения для квартиры?

Видеонаблюдение \\ 14.08.2017 12:10 \\ 3С ГРУПП \\ Комментарии()

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

Разработка в собственном соку или как мы поняли, что занимаемся не совсем тем, что нужно пользователям

Разработка в собственном соку или как мы поняли, что занимаемся не совсем тем, что нужно пользователям

Видеонаблюдение \\ 17.07.2017 12:34 \\ Macroscop \\ Комментарии()

Вы когда-нибудь задумывались над тем, что тысячи компаний создают свои продукты и технологии в отрыве от пользовательских потребностей и решают самостоятельно придуманные проблемы, которые слабо коррелируют с реально существующими?

Книги

Системы охранной, пожарной и охранно-пожарной сигнализации

ISBN: 978-5-7695-6218-1
Год: 2010 (май)
Страниц: 512

 

 

Учебное пособие представляет собой 5-е издание, дополненное и переработанное. Книга незаменима при обучении специалистов по монтажу любых видов сигнализаций: пожарных, охранных и охранно-пожарных. Представлены также общие сведения об организации охраны на объекте.

Технические средства охраны

Системы охранной сигнализации: основы теории и принципы построения

ISBN: 978-5-9912-0025-7
Год: 2008
Страниц: 496

 

Учебное пособие поможет при прохождении теоретических курсов специалистами в области охраны. Здесь есть всё об эксплуатации технических средств охраны. Это второе, дополненное издание, созданное на основе лекций.

Технические средства охраны

Системы контроля и управления доступом

Год: 2010
Страниц: 272

 

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

 

Технические средства охраны

вверх