Computer vision, Machine Learning

Использование Computer Vision при обнаружении корпоративного мошенничества

Время прочтения: 3 мин.

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

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

Для этого нам необходимо определять человека и положение его рук в зонах где расположены материальные ценности и роботизированные комплексы по пересчету наличных. Особенностью такой ситуации является то, что анализ видео необходимо проводить как минимум с 2-х камер, так как с одной камеры хорошо видно только человека, но не видно его рук. Поэтому в данной ситуации необходимо искать с одного ракурса человека, и как только человек определен, автоматически переключаться на поток со второй камеры и уже анализировать положение рук. У вас, наверное, появился вопрос, а почему бы сразу не искать руки со второго ракурса? А ответ очень прост. Дело в том, что, когда в зоне пересчета ценностей не находится человек, то там работает робот, и его механизированная рука очень схожа с человеческой, что сбивает модель. Для решения такой задачи, необходимо использовать SSD 300 (Single Shot MultiBox Detector). 300 это размер изображения (300х300) на входе в сеть.

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

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

Далее, объявляем «опасную» зону, и как только середина bounding-box’а туда попадает, то сразу начинается запись видеоотрезка.  Как только рука покидает «опасную» зону и следующие 50 кадров туда не попадают, то запись видео заканчивается.

Так же все записанное видео заносится в базу для удобства его обработки при помощи pyodbs.

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

Советуем почитать