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

    Чешский студент из британского университета Суррея Зденек Катал (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» на видео?
                                                                                +1
                                                                                scale
                                                                                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/
                                                                                                Буду благодарен за комментарии.

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

                                                                                                Самое читаемое