Компания: | СпецЛаб |
Начало (http://www.goal.ru/left/news_1226610000_1026.html)
Изначальные настройки аналитических алгоритмов выбраны так, что подойдут в подавляющем числе случаев, но этот урок для профессионалов, которым хочется понимать, что к чему. Итак, приступаем к более точной настройке видеоаналитики, чтобы она нам выдавала только значимые моменты, но и, само собой, не пропускала их. Естественно, вероятность ошибок будет, но незначительная для того, чтобы отказаться от подавляющих достижений компьютерного разума.
Итак, первое, с чем придется бороться, как только мы выйдем из благоустроенной лаборатории, это всеразличные помехи, коих не сосчитать на открытом уличном пространстве. И вообще, это главная тема, почему видеоаналитика невозможна в принципе. Извините, была невозможна. Просто сейчас на рынке очень много систем с заявленной видеоаналитикой, которая красиво демонстрируется в офисах и на выставках, но не работает в жизни. Люди справедливо организуют политические движения против такой аналитики, выкатывая волну гневного возмущения.
Поэтому давайте не обращать внимания на похожие названия. Та видеоаналитика, что сегодня демонстрируется во многих компаниях, в СпецЛабе не только пройдена, но и забракована практикой применения. Причем много лет назад. Подавляющее большинство известных систем базируется на жестких алгоритмах, которые в СпецЛабе еще на ранних стадиях этого развития прозвали: «не ходи туда – не ходи сюда». Появление объектов заданного размера, их конкретного количества, движение в строго заданном направлении и т.д. – это все жесткие принципы, которые можно найти только в стерильных лабораторных условиях. На реальном объекте оптика с детекцией редко сможет отличить двух человек от двух рук одного и того же человека, близко летящую птичку от далекого автомобиля, пересечение схожих по параметрам зон и многое-премногое другое.
Факт в том, что СпецЛаб уже перешел на более совершенную - гибкую - логику. Для видеоаналитики «Внимание!» (http://www.goal.ru/components/videoanalytics.htm) нет необходимости задавать точные размеры объекта, которого надо считать опасным – все равно в реальной жизни детектор с оптикой ошибутся: при разном освещении, при разной скорости ветра, при разной интенсивности движения, при разном фоне, разной амплитуде качания веток деревьев в кадре, при разном расстоянии до объекта и прочем будут определяться совершенно непредсказуемые размеры одного и того же объекта. Для видеоаналитики «Внимание!» (http://www.goal.ru/components/videoanalytics.htm) нет необходимости задавать точное количество объектов как признак опасности - все равно в реальной жизни детектор с оптикой ошибутся: всякий раз один и тот же объект будет определяться разным количеством зон, и из-за оптической перспективы невозможно даже предугадать предполагаемый размер, который можно считать за самостоятельный объект. Для видеоаналитики «Внимание!» (http://www.goal.ru/components/videoanalytics.htm) нет необходимости задавать точное направление движения как признак опасности (хотя это и возможно в GOALcity) - все равно в реальной жизни детектор с оптикой ошибутся: всякий раз один и тот же объект будет пересекаться или соприкасаться с другими похожими объектами или сливаться с помехами других направленных движений, например, птиц или теней. Видеоаналитика «Внимание!» (http://www.goal.ru/components/videoanalytics.htm) построена на самообучении, она сама набирает статистику поведения и следит за отклонениями. Она изучает объект при появлении, выдав инфу о самом факте такового, и контролирует отклонение его параметров во время всего периода нахождения в кадре. Ее прозвище: «Пользователю лучше не вмешиваться». Поэтому эта тема для профессионалов, которые не могут не вмешиваться.
Продолжительные помехи.
Надеюсь, дилетанты и любители фантастики, наконец, отсеялись, поговорим теперь откровенно. Надо трезво понимать, что никакая машина не отличит толпу пьяных подростков от мухи, ползающей по объективу камеры. Поэтому задавать какие-либо жесткие параметры опасных объектов и их поведения просто бессмысленно. Или только для показа на демостенде - но тема не о том, как продать воздух. Так как помехи распознать можно лишь гипотетически, а не практически, то и не будем заниматься этим не для наших умов научным трудом. В СпецЛабе сделали проще: применили закон разности, взятый из первого класса начальной школы. Вместо борьбы с помехами их просто решили вычитать, причем друг из друга. В остатке получаем ноль. (А никто и не утверждал, что не все гениальное просто).
SLA (SpecLab Analytics) постоянно анализирует все движения в кадре и сравнивает происходящее с предыдущим, вычитая из «после» то, что было «до». Таким образом, помехи, которые в этом кадре присутствуют всегда, вычитаются сами из себя. А все рукотворные движения, созданные привнесенными в кадр объектами, остаются в сухом остатке. В СпецЛабе решили не задаваться вопросом, что значит та или иная помеха (пусть об этом думают электронщики), не разбираясь с сущностью, тупо вычитаются все постоянно существующие за определенный период времени движения (параметральные каникулсы). Поэтому, паук, свивший себе кроватку на объективе камеры, не будет причиной тревоги. SLA выдаст только одно предупреждение – появился новый объект. На этом заткнется и не станет каждые 5 секунд кричать: «Внимание! Огромная толпа нападает на офис!». (И так пока в понедельник ни приедут монтажники с вышкой и ни протрут камеру).
В общем, феноменальная память того, чему учили в первом классе, помогла избавиться от 70-90% постоянно или периодически присутствующих в кадре продолжительных помех. Результат не стопроцентный, но без этого нельзя было бы вообще выйти из лаборатории в реальные условия. И к тому же мало ОНО у кого вообще есть, мягко сказать. Грубо говоря, просто такие системы и не встречались. Остальные 10-30% продолжительных помех составляют так называемые суперсложные помехи.
Суперсложные помехи.
Хотя изначальные настройки SLA выставлены довольно практично, в обзоре камеры может быть столько неприятных факторов, что видеодетектору не будет покоя никогда. И все бы ничего, но есть помехи, которые повторяются крайне редко, а посему аналитика принимает их за рукотворные. Например, редкий солнечный день во время зимы может наплодить неповторимых зайчиков в оптике камеры. А раз они не повторяются даже с погрешностью, то их уже самих из себя не вычтешь. Или ночные прожекторы в тумане, особенно с инфракрасной подсветкой, дают такие эффекты, что и человек не сразу разберется, откуда эти гуманоиды. До анализа ли тут? Чтобы мозги компьютера тоже не сходили с ума, существует алгоритм нереакции на постоянно продолжающееся действие с харизматичными параметрами – в том числе, и подпадающими под заданные условия реакции. За него частично отвечает настройка – «Период отсутствия движения». По умолчанию он равен 10 секундам, это значит: если «танец слонов» никогда не останавливается более чем на 9 секунд, то и повторной реакции на него никогда не будет. Но проблема как раз в том, что помехи могут приостанавливать свое тлетворное влияние на довольно продолжительный срок. Поэтому в сложных помеховых условиях (камера направлена в сторону солнца, жаркий тропический климат с густо населенной мошкарой, хорошо различимые ветки деревьев, которые могут амплитудно качаться во время ветра и т.д.) есть смысл увеличить данный показатель до 40 – 60 секунд и более, что сразу на порядок снизит число ложных кадров.
Конечно, это немного снизит и уровень поиска значимых моментов, но его можно компенсировать другими алгоритмами. Дело в том, что ПОД есть у каждого алгоритма. Если наша камера в упор смотрит в дерево, где все время качается крупная ветка, через которую видны солнечные зайчики, то ПОД достаточно выставить только в «Опасной площади». Появление человека на фоне этой ветки будет отслежено «Опасным количеством» или «Детектором объектов». Таким образом, этой настройкой можно абстрагироваться от суперсложных помех. Естественно, будем реалистами - не стопроцентно. Но и суперсложные встречаются не каждый день.
Быстрые помехи.
Гораздо чаще на ложное детектирование влияют так называемые быстрые помехи. Их перечень огромен от пролетающих птиц до включения света в соседней комнате, бросающей тень на обзор камеры. Надо сказать, по статистике «быстрые помехи» составляют львиную долю в видеонаблюдении. И с ними надо бороться даже не на 70, а на все 99%. Иначе об аналитике придется забыть!
Именно поэтому в настройках каждого аналитического алгоритма есть параметр – «Начальная задержка». По умолчанию она выставлена на 5 кадров, это означает, что любое действие, длящееся меньше, чем оцифровывается 5 кадров, не влияет на сработку аналитики. Это не значит, что первые 5 кадров будут совсем пропущены. Нет, они также анализируются во всем комплексе алгоритмов, но все вычисления сбрасываются в нуль, если на шестом кадре отсутствует движение.
Конечно, по месту это значение, уже понимая смысл, можно регулировать. Такая математика позволяет на 99% избавиться от быстрых помех. Сами понимаете, у профессионалов не бывает понятий типа 100%.
Разница настроек в помещении и на улице.
Не везде и не всегда существует жесткая помеховая обстановка, как на обычной российской улице. В помещениях, как правило, нет подавляющего большинства атмосферных помех, реже летают мухи, еще реже птицы. Но те же самые настройки, что стоят изначально, не требуют особых корректировок по одной причине – не внешние настройки рулят процессами спецлабовской видеоаналитики, главный механизм внутри – и он основывается на адаптации к видеообзору объекта. Не будем говорить высокопарных фраз об искусственном интеллекте, это просто система с самообучением, она подстраивается к тому, что видит. В помещениях продолжительные и суперсложные помехи продолжают обрабатываться только при их постоянном наличии. Например, в обзор камеры попадают настенные часы. Через некоторое время работы SLA перестанет реагировать на постоянно движущуюся стрелку по циферблату.
Но! Некоторые наши клиенты думают, что при этом происходит элементарное исключение из обработки зон движения. И они ошибаются. Если в этой же зоне из часов вылетит кукушка, то произойдет сработка опасного алгоритма. То есть SLA никогда не отключает зоны анализа, она фильтрует сам характер движения. К сожалению, такой вид действий, как кукушка, относится к суперсложной помехе. И причем из неуловимых. Хотя на первый взгляд легко отслеживается повторяющимся периодом срабатывания, но криминальные действия тоже могут находиться в точном периоде повторения. Возможно, это недостаток сегодняшней SLA, над этим еще будет вестись работа, пока SLA имеет не слишком долгосрочную статистику для самообучения. Поэтому пока лучше не вешать часы с кукушкой там, куда смотрит камера. Иначе раз в час вы будете лицезреть тревожный кадр. Но, заметьте, это меньше, чем 3600 кадров от движения часовой стрелки за тоже самое время.
По последней разнице вы можете оценить полезноспособность SLA: 1 к 3600. Вместо 3600 кадров GOALcity предложит посмотреть ТОЛЬКО ОДИН. То же самое и с поведением людей, к которому мы плавно переходим, разобрав главную тему, почему невозможна видеоаналитика на жесткой логике – помехи! Как бы банально это ни звучало, но именно естественные для нашей жизни и, может быть, невидимые на первый взгляд помехи сводят все сегодняшние демонстрации супераналитики на нет. Любая попытка что-то анализировать без мощной системы фильтрации помех, скорее всего, обречена. Вот поэтому СпецЛаб так много сил выделяет на войну с помехами. Кстати, прежде чем заниматься видеоаналитикой, следует избавиться от большого числа помех административно-техническими методами (http://www.goal.ru/left/news_1203368400_868.html).
Как в действиях людей выделять криминал?
В поведении людей тоже львиную долю составляют кадры с одним и тем же характером действий: одного и того же размера объекты, одной и той же скорости движения, одного и того же направления…
Продолжение следует…
Источник: http://www.goal.ru/left/news_1227128400_1029.html