Отслеживание объектов на видео

    Чешский студент из британского университета Суррея Зденек Катал (Zdenek Kalal) в рамках практической части кандидатской диссертации разработал алгоритм Tracking-Learning-Detection (aka Predator) для отслеживания объектов в видеопотоке с самообучением (точность распознавания улучшается с каждым фреймом).

    Демо проекта

    Исходные коды на github: 1, 2, 3, 4, 5



    Программа нормально работает в одном потоке Intel Core 2 Duo 2,4 ГГц, 2 ГБ RAM.

    На страничке Зденека на Youtube можно найти и другие видеоролики.

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

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

    Вообще-то, вряд ли эта технология настолько уникальна, как считает автор. Насколько мне известно, нечто похожее делают российские разработчики из Intel R&D в Нижнем Новгороде (на одной из конференций Intel показывали демку их системы).

    См. также:
    Подробности о прорывном ИИ в Kinect

    UPD 05.04.2011 12:23. Статья возымела эффект и российские разработчики тоже зашевелились. Этот алогиртм от Германа Бухарова выглядит не так впечатляюще, зато может работать даже на смартфонах.



    UPD2 05.04.2011 18:14. Система компьютерного зрения от компании Rhonda Software (Владивосток). via
    Метки:
    Поделиться публикацией
    Комментарии 79
    • +62
      image
      • +1
        Мне тоже стало страшно.
        • +12
          Зашел увидеть этот комментарий, но не думал, что он будет первым )
          • –3
            А за что плюсуют? За то, что хабр превращается в двач?
            • +2
              Не.
              • 0
                Ума на более подробный ответ не хватило? Или это тоже двачестиль?
                Тупые малолетки.
          • +1
            Не будучи специалистом, правильно ли я понял, что в основе лежит идея в слабой изменяемости объекта слежения за короткий промежуток времени (судя по фреймам с объектами в правой части видео)?
            • +2
              определенно, да.
              • НЛО прилетело и опубликовало эту надпись здесь
              • +17
                Определенно будет работать в Google
                • +4
                  Выглядит классно, жаль нет хотя бы общего описания. А главное не показаны видео с ошибками распознавания (а то одни удачные примеры).

                  Теоретически, по крайней мере то чем я сам подумываю заняться, достаточно при успешном определении кадра (определенное пороговое значение) добавлять этот кадр в обучающую выборку и провести дополнительное обучение.
                  • 0
                    Ошибки распознавания видны на части ролика относящейся к пальцам, там видно что трекинг прекращался но возобновлялся при возвращении пальцев в начальное положение. И из-за обучения в процессе улучшался дальнейший трекинг.
                    • +4
                      'не распознавание' это такая хорошая ошибка, легкая… гораздо гаже 'ошибочное распознавание'… скорость радует.
                    • +1
                      На ютубе там у него ролики есть с процессом обучения, и там как раз прилично ложных срабатываний есть
                      • 0
                        >> Выглядит классно, жаль нет хотя бы общего описания.
                        А на сайт его вы заходили? Там PDF-ки есть
                      • –14
                        Нобеля ему!
                        • +9
                          За что? За то что он заюзал OpenCV либу? Или SURF?
                          • +1
                            За протокол, который можно использовать в аэропортах бля отслеживания террористов и просто преступников. А также вокзалах и других общественных местах.
                            А еще можно поставить в Верховной Раде и смотреть какой депутат пришел а какой нет.
                            • +3
                              рука дрогнула? или подсознание вмешалось? ;-)
                              • 0
                                Оно самое. И шо интересно — телик не смотрю вообще.
                              • 0
                                Вот только засада в том, что преступникам и террористам надо предварительно хорошенько покрутиться на камерах общественных мест.
                                К тому же под вопросом, как подействует на алгоритм добавление например очков и накладных усов, бороды.
                          • +4
                            Распознавать фиксированный образ не проблема.
                            Но мне вот интересно как он масштабирование образа делает. Судя по всему, у него это шустро выходит.
                            • +2
                              Это через SURF алгоритм, скорее всего. На этом алгоритме даже такой проект есть www.tineye.com/ — будет искать вам похожие изображения в разных разрешениях и цветах. У парня просто в динамике это сделано.
                              • +1
                                Сомнения у меня есть в том, что это SURF. Быстродействие уж очень у него большое. Камера примерно 800*600 и 30 fps. Для описанных параметров машины, мне кажется что SURF не потянет.
                                • НЛО прилетело и опубликовало эту надпись здесь
                                  • 0
                                    кто сказал, что автор запустил просчёт сцены не через кадр?
                                    • 0
                                      дык там же снизу и написано — 8-10 фпс
                                • НЛО прилетело и опубликовало эту надпись здесь
                                • +9
                                  На его сайте есть ряд пдфок. Читая их и связанные с ними по референсам выяснилось, что он использует фичи 2bit Binary Patterns (2bitBP). Суть в том что это квантированные до 2х2 градиенты. В общем почти то же самое что LBP но вместо 3х3, используется окрестность 2х2, это дает возможность быстро считать их значения на различных масштабах через интегральную матрицу. Подробнее тут: info.ee.surrey.ac.uk/Personal/Z.Kalal/Publications/2009_olcv.pdf
                                  • +1
                                    О, это уже больше похоже на правду. Спасибо за наводку, почитаем :)
                                • +6
                                  по сути — ничего революционного, но коммерческий успех его творение приобретет
                                  • 0
                                    Там есть видео с ошибками (про чашку)
                                    • 0
                                      Очень интересный алгоритм. Применить бы его на поиск людей среди толпы, по предварительно загруженной фотографии, а еще лучше группы людей. Или поиск людей по частям тела, с высоты птичьего полета над зоной бедствия. И очень не хотелось бы такую вещь в военных целях (авто наведение).
                                      • +2
                                        Так в том, то и дело, что по фотографии он ничего не найдет. Ведь он обучается на множестенной выборке.
                                        • +3
                                          Новое поколение киллеров будет уничтожать целей по аватарке не выходя из дома.
                                          • +1
                                            Название у проекта уже подходящее, чтобы ставить систему на турели :)
                                        • +9
                                          То, что делают российские разработчики из Intel R&D в Нижнем Новгороде, это замечательно. Но то, что сделал этот парень не имея большой команды и финансирования, завораживает.
                                          • НЛО прилетело и опубликовало эту надпись здесь
                                            • +2
                                              А что он сделал? Подключил либу с реализацией SURF алгоритма? На ютубе полно таких примеров, чем этот чел круче других?
                                              • +3
                                                Насколько я помню SURF в чистом виде не может адаптивно обучаться. Думаю тут немного посложнее все.
                                                Возможно он создает словари позитив/негатив фич и потом их модифицирует за счет каких-либо эвристик(например, предметы не склонны телепортироваться). Надо будет поискать его работы. Вроде интересно, но не революционно конечно.
                                              • +2
                                                Сейчас у нас в УПИ в распознавании в одной работе получили результаты, превосходящие мировые. Будем ждать публикацию…
                                              • –3
                                                Чувствую, что парень заработает не хилую кучу бабла.
                                                • 0
                                                  Хм, интересно. Оказывается у чехов не только пиво классное.
                                                  • +4
                                                    Ну там вуз английский, консультант из Майкрософта — разработчик Кинекта, и много чего еще )
                                                  • +8
                                                    OpenCV в динамике?
                                                    • 0
                                                      Я далек от технологий распознавания образов и по-этому для меня это ВАУ. Но неужели ещё не было реализаций такой системы (коммерческая, научная, военная)? И может кто-нибудь популярно объяснит в чем фишка конкретно этого алгоритма (в прикладной реализации)?
                                                      • 0
                                                        Наверняка что-то подобное реализовано в военных целях, но не разглашается по определённым причинам.
                                                        • 0
                                                          Захваты цели, никогда на видео у амеров не видели как квадратик точно на цель обращен?
                                                          • 0
                                                            да что тут разглашать? :)
                                                            захват, наведение и сопровождение цели :)
                                                          • 0
                                                            фишка в том что алгоритм не надо обучать на сотнях тестовых изображений одного ключевого предмета в разных ракурсах, он сам по мере налюдения заполняет базу этим варинатами. Собственно идея свежая и полезная в определенных случаях. Но обучение с учителем конечно надежнее, сложные задачи которые решает kinect, предложенным способом не решить
                                                          • 0
                                                            Смотреть ключевое слово surf algorithm на ютубе www.youtube.com/results?search_query=surf+algorithm&aq=1
                                                            • 0
                                                              Фамилии руководителей небезызвестные в мире распознавания образов — Mikolajczyk и Fua. Подробности реализации должны быть в публикациях, ссылки на которые есть на его странице.
                                                              • +1
                                                                В полнейшем шоке… Красавец. Это же блин надо еще и разработать систему самообучения. Панда вообще шокировала :).
                                                                • +2
                                                                  а если 2 панды?
                                                                  • 0
                                                                    ну у него идет слежка и проработка алгоритма на один объект. С двумя объектами будет посложнее, но думаю не проблема. По сути можно запустить просто 2 процесса параллельно, но он будет ошибаться когда 2 панды будут пересекаться. Но думаю если понадобится, он напишет :)
                                                                    • +1
                                                                      У него есть видео с двумя как минимум сильно похожими объектами www.youtube.com/watch?v=eNqk-eN5BV8 — все хорошо
                                                                  • +2
                                                                    Парень молодец!
                                                                    И видео интересное и динамичное получилось.
                                                                    • +1
                                                                      по видео видно — он одержимый. по хорошему естественно
                                                                      • 0
                                                                        Интересно, а если картинка с 2-х камер или больше идет, по этим данным можно одно, но более стабильное изображение получить. То есть сращивать 2 картинки.
                                                                        • 0
                                                                          Можно, зная расстояние между двумя камерами.
                                                                        • +2
                                                                          Я наверно буду гореть в аду, но рано или поздно это будет стоять в ракете!
                                                                          • –1
                                                                            Гореть в аду будут те, кто поставит это на ракету; а Вы пройдёте по категории «пророк» :)
                                                                            • 0
                                                                              не переживайте — уже стоит :)))
                                                                            • +2
                                                                              Первая мысль была спарить ее с пулеметом.
                                                                            • 0
                                                                              Что значит параметр «s» на видео?
                                                                            • 0
                                                                              Алгоритм интересный, но был бы на много занимательнее, если бы хорошо функционировал на слабых машинах (неттопах). Например, для съемки динамических объектов двумя камерами (для 3D).
                                                                              • –1
                                                                                Кстати, если смотрели внимательно видео, там перечислено откуда он брал инфу для разработки своего алгоритма, это ICPR и IbPRIA конференции сообществ по распознаванию образов из разных стран
                                                                                • –3
                                                                                  выглядит очень интересно, я бы сказал, что даже охеренно, но такое видеть тут не очень любят, но всё равно охеренно, стабилизация видео по определённому предмету впечатляет.
                                                                                  • –1
                                                                                    Артемий Лебедев, ежели он был бы здесь, запросто смог бы поставить "+" Вашему комментарию :)
                                                                                  • –2
                                                                                    Блин, теперь понятно кто моему одногрупнику диплом писал, потому что ну не могу он это написать сам
                                                                                    • +2
                                                                                      Вот, посмотрите, наши ребята делают, из Владивостока http://www.rhondasoftware.com/software-solutions/computer-vision и вот блог www.computer-vision-software.com
                                                                                      • 0
                                                                                        Очень круто. Впечатляет больше, чем видео в топике
                                                                                        • +3
                                                                                          Ну да, вы еще это с американскими военными разработками сравните. У компании из Владивостока, наверное, тоже крутой алгоритм, но они его позиционируют как именно для учета людей в зоне обзора. Студент-чех, я полагаю, работал один, и добился хороших результатов, которыми он может по праву гордиться, и придумал для алгоритма достаточно много применений.
                                                                                          Может иногда можно просто порадоваться за парня, а не меряться пенисами?
                                                                                        • +1
                                                                                          Мы как раз ищем человека/людей в команду по разработке алгоритма для отслеживания объектов на видео. Пользуясь такой темой (раз уж тут собрались люди разбирающиеся в топике), хочу попросить, порекомендовать кого-нибудь, кто хотел бы работать в нашей компании. Или может кто-нибудь из присутствующих заинтересуется?
                                                                                          • 0
                                                                                            Я заинтересован :)
                                                                                            • 0
                                                                                              в личку напишите. пообщаемся
                                                                                          • 0
                                                                                            Автор всё-таки выложил исходные коды: github.com/zk00006/OpenTLD
                                                                                            • 0
                                                                                              Отслеживание видео сразу по нескольким камерам:
                                                                                              habrahabr.ru/company/synesis/blog/117746/
                                                                                              Буду благодарен за комментарии.

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