Zdenek Kalal, исследователь искусственного интеллекта и компьютерного зрения, представил (http://info.ee.surrey.ac.uk/Personal/Z.Kalal/) исходный код проекта OpenTLD (https://github.com/zk00006/OpenTLD), распространяющийся под лицензией GPL 3 (https://github.com/zk00006/OpenTLD/raw/master/LICENSE). Проект написан на языках C и Matlab и пока поддерживает только ОС Windows. Тем не менее, в ближайшем будущем Matlab-участки кода планируется переписать на чистом Cи и сделать проект совместимым с Linux и Mac OS X, а также портировать его на платформы Android и Apple iOS.
Суть проекта заключается в том, что компьютерное приложение может следить, распознавать, запоминать и учиться узнавать практически любые объекты, которые пользователь захочет отслеживать. Predator, кодовое имя проекта, позволяет вам указать любой объект на видео кадре, а затем система будет продолжать следить и узнавать его даже если объект меняет форму, ориентацию в пространстве, если меняются условия освещения. Си...URL: http://techland.time.com/2011/04/07/revolutionary-object-tra.../
Новость: http://www.opennet.me/opennews/art.shtml?num=30177
В чём отличие от OpenCV?
> В чём отличие от OpenCV?Ага, тот же вопрос сразу возник..
Наверное тем, что это только на винде, и вдруг стало никому не нужным - попытка выживания?
Эта библиотека использует OpenCV для своей работы. Другой вопрос почему автор не просто сделал патч для opencv а предпочел свой огород городить?
Тогда всё ясно, спасибо за пояснение.
А в чем суть то "библиотеки" или бы патча этого? Он адаптировал OpenCV для каких-то определённых областей применения?
И как интересно ему удалось поломать совместимость с другими платформами своей библиотекой.
Эта библиотека (OpenTLD) реализует изобретенный автором алгоритм трэкинга объектов, причем реализует его на матлабе. Библиотека OpenCV - это есть набор структур данных и алгоритмов для работы с компьютерным зрением, в частности там есть и алгоритмы для трэкинга объектов. Поэтму если автор изобрел действительно хороший алгорим трэкинга, то имеет смысл включить его в состав OpenCV, а не плодитть кучу библиотек, по одной на алгоритм.
> Эта библиотека (OpenTLD) реализует изобретенный автором алгоритм трэкинга объектов, причем реализует его на матлабе. Библиотека OpenCV - это есть набор структур данных и алгоритмов для работы с компьютерным зрением, в частности там есть и алгоритмы для трэкинга объектов.до этого места все просто замечательно
>Поэтму если автор изобрел действительно хороший алгорим трэкинга, то имеет смысл включить его в состав OpenCV, а не плодитть кучу библиотек, по одной на алгоритм.
ну так кто будет матлаб на си портировать то? жители страны советов? это ж так просто с языка сверхвысокого уровня быстренько на макроассемблер-переросток переписать и отладить. да еще бесплатно видимо?
>ну так кто будет матлаб на си портировать то? жители страны советов? это ж так просто с >языка сверхвысокого уровня быстренько на макроассемблер-переросток переписать и отладить. >да еще бесплатно видимо?Вы как-бы новость почитайте, там все написано. Привожу цитату:
"Тем не менее, в ближайшем будущем Matlab-участки кода планируется переписать на чистом Cи"
>Вы как-бы новость почитайте, там все написано. Привожу цитату:Вы как-бы исходный код почитайте, там матлаб-кода 95%.
>Вы как-бы новость почитайте, там все написано. Привожу цитату:"Тем не менее, в ближайшем будущем Matlab-участки кода планируется переписать на чистом Cи"Вы когда нибудь на матлабе писали? А на си?
>Matlab-участки кода планируется переписать на чистом Cикстати для интересующихся - пример того как матлаб функция на 4 строки переписывается на си.
http://www.eetimes.com/design/signal-processing-dsp/4017563/...
Тем, что "Requires: OpenCV 2.2 (make sure to compile opencv first if you run on 64bit platform)"
Tested using MS Visual Studio 2010 compiler and OpenCV2.2
>распространяющийся под лицензией GPL 3
>портировать его на платформы ... Apple iOSАга, а Джопс подаст на них в суд - за запуск мерзкого опенсорса на его чистой, опрятной, исключительно проприетарной иоси.
Для тех кто в бронепоезде скажу.
opencv не могет отследить когда рожа "меняет форму, ориентацию в пространстве, если меняются условия освещения".
Понятно?
Что есть "меняет форму"? Поворот/масштабирование она отслеживает великолепно. Смену освещение - тоже вполне хорошо. Ничего нового и впечатлительного на его демонстрационном ролике я не увидел.
Собсна ничего нового не увидел не только я:Sorry...
This is nothing new. Maybe new to you, but 20 yrs old tech to me. This is an example of a class of (visual) pattern recognition algorithms. These algos were first used in analyzing moon photos by NASA over 20 yrs ago. My company and others (again - 20 yrs ago) used similar algos as position feedback for robotic systems. Such algos can have many properties: scale invariance (how well does the recognition perform if the object is moved away from the camera), rotation invariance, lighting invariance, etc. If you look closely (I did) this algo does not seem to be rotationally invariant as it loses lock when the hand is rotated.
Worth a PhD? Hmmm...
Где-то в открытом виде доступно лучшее? Где? Если нет - то теорией делу не поможешь. Лично я не возьмусь кодировать более продвинутый алгоритм, даже если всятеория доступна. А здесь - какое-никакое, но готовое решение. С маткада на c транслировать - это уже реально.
Почему бы тогда так и не написать - открыт улучшенный фреймворк на базе опенсиви? Так нет же, это революционный проект который без сомнения ждет светлое будущее чуть ли не во всех областях ИТ. На что народ резонно замечает - будьте поскромней, товарищ.
Потому что opencv там - не самая ценная и интересная часть ни разу.Он и есть революционный - учитывая, что это единственная открытая система такого рода. Лично мне от существования закрытых вариантов ни жарко, ни холодно - а на этом наверняка массу всего наворотят.
Вон, у IBM уже хрен знает сколько существует система распознавания английской речи с совершенно диким качеством - что-то вроде 99,9 - на этом колл-центры делают в штатах и Англии. Но для простых разработчиков эта штука, считай, не существует - так как стоит как самолёт. И таких примеров можно привести массу - наличие технологии "где-то там" за дурные деньги (или вообще не продающейся) ничего не решает. Мир меняет то, что доступно массам.
>Потому что opencv там - не самая ценная и интересная часть ни разу.Да ну. Обоснуйтесь. По мне так тру-йода прав и весь этот пеар в СМИ звучит по-болгеносовски.
OpenCV уже давно доступна массам. Я ещё года два назад за пару вечеров написал плагин для пиджина что определял моё присутствие в IM по анализу картинки с вебкамеры. Так что не надо ля-ля что OpenCV недоступна простым разработчикам, а этот перец нам что-то открыл. Этот перец развёл своих британских научруков чтобы получить PhD, а теперь пытается развести спонсоров.
Покажите, где я писал, что OpenCV недоступна массам. Недоступно было вот это: "позволяет вам указать любой объект на видео кадре, а затем система будет продолжать следить и узнавать его даже если объект меняет форму, ориентацию в пространстве, если меняются условия освещения". Это, к примеру, прямая дорога к созданию открытого аналога Kinect, не говоря о функциях для систем видеонаблюдения, наблюдения за животными и т.п.OpenCV работает с более или менее похожими картинками, Predator же - с объектами. К примеру, если мы начинаем "вести" человека, и в процессе оказывается, что он повернулся спиной - мы его опознаем как тот же объект. То есть это следующий уровень абстракции.
>Недоступно было вот это: "позволяет вам указать любой объект на видео кадре, а затем система будет продолжать следить и узнавать его даже если объект меняет форму, ориентацию в пространстве, если меняются условия освещения".И что это во всей системе "самая ценная и интересная часть"? Вырезать кусок картинки их кадра и задать его как шаблон для OpenCV?
Кроме того, нигде не подтверждено, что она будет ловить такой объект после смены освещения и фона. Более того, на его демонстрации видно, что она теряет объект при вращении (когда он отслеживал щипок пальцев.>OpenCV работает с более или менее похожими картинками, Predator же - с объектами.
Бред. Он выделяет кусок кадра. Какой тут объект.
Последовательно выделяя куски и соотнося их с одной сущностью, и получаете объект
> у IBM уже хрен знает сколько существует система распознавания английской речи с
> совершенно диким качеством - что-то вроде 99,9 - на этом колл-центры делают в штатах и
> Англии. Но для простых разработчиков эта штука, считай, не существует - так как стоит как
> самолёт.А можно поподробнее? Она точно существует?? или любое вообще распознование речи с качеством лучше чем "очень хреновое"??
Все такие рекламные заявления, пока что, на мой взгляд, оказывались очень существенно несостоятельными.
Dragon Dictate, ради "переноса" которого из Бельгии в США провели целую спецоперацию, и тот тоже точность не лучше 20%, мягко говоря.
А ещё опенцв нужно много семплов объекта и много времени, проца и памяти что бы обучить нейронную сеть на узнавание объекта.
> А ещё опенцв нужно много семплов объекта и много времени, проца и
> памяти что бы обучить нейронную сеть на узнавание объекта.Это много как раз и позволяет распознавать объект на разном фоне, с разным освещением и т.д. А тут я сильно сомневаюсь что просто выделил как он показывает и добился тех же результатов.
Кстати, если присмотреться внимательно - на всех слежках что он показывает фон и освещение почти не меняются.
"Чтобы" пишется слитно.
А правда что автор якобы не хотел его открывать, но (нечаянно?) выложил в паблик, после чего код утёк?
Еще один шаг на пути к созданию Skynet.
заявленные возможности слишком хороши чтобы быть правдой
Поглядите видео ролик и не булькайте.
поменьше верьте видеороликам, тогда и булькать перестанете.
Но если это правда, то чувак реально крут, а его разработка это просто фантастически полезная вещь и то, что он её зарелизил под GPL, даёт ему тысячи плюсов в реальную карму.
Ключевое слово "если".Если это правда, то это означает что один человек сделал то, что не смогла сделать целая индустрия за 50 лет. Поскольку речь идет не о науке, где такое хоть и мало, но вероятно, а об информационных технологиях, такое просто невозможно. Я имею в виду что для этого нужен качественный, а не количественный, скачок, чего в ИТ не наблюдается уже лет 25. Грубо говоря, то что невозможно было сделать в ИТ 25 лет назад, невозможно и сегодня (гигагерцами и гигабайтами этот вопрос не решается). Такое вот мое сугубо личное мнение.
Коммент выше на английском, про 20 лет и тд, не мой :)
Да есть оно давно. Основная инновация - что это стало доступным мне и вам, так как код открыт. И это дорогого стоит.
Неправда ваша. Вот сейчас я практически использую DataMatrix для привязки бумаг, напечатанных пользователями (у себя дома и плохо) к логинам. Я трачу треть секунды на хороший скан, пять на плохой и десять на непригодный для автоматической обработки. Количественные улучшения означают, что десять лет назад у меня на многие картинки уходила бы полминуты машинного времени, что делало бы это бессмысленным.Здесь в ролике всё сказано - он замечает, когда объект медленно меняет форму (поворот головы человека от камеры) и добавляет новые шаблоны - то, во что объект превратился. Это изменение, сделанное возможным ровно тем, что ему было у кого тырить базовые алгоритмы (OpenCV) и тем, что он может тупо хранить новые картинки - что и сделало задачу доступной одному человеку. PhD - то есть три человекогода человека, которому задача интересна - это довольно много времени и работы.
Он там честно говорит, что для смартфонов - теперь, когда он уже отладил всё это на ноутбуке до приличного уровня и проверил кучу мелочей - надо будет доделать алгоритм для оптимизации хранимого объёма. Пять лет назад компьютеры на столах быле слабее, чем те смартфоны, для которых это будет сделано. То есть задачу все эти 50 лет было невыгодно решать в общем виде и её решали с учётом особенностей применений и с затратами в десятки человеколет, а не в единицы. Вот сейчас количественное изменение доросло до состояния, когда можно решать в общем виде и публиковать.
> Неправда ваша. Вот сейчас я практически использую DataMatrix для привязки бумаг, напечатанныхВ любом случае это шаг вперед, так как по сути никто не сделал до него свободной библиотеки, которая могла бы делать подобное.
По факту это почти готовое решение и от него можно уже плясать :)
http://blogs.computerra.ru/10293
GLP v3 и Windows-only? Мне интересна мотивация человека, сделавшего так, а так же причины, почему же он так сделал.
> почему же он так сделалПотому что умеет.
> Windows-only
Потому что ему работать, а не мир конпелять.
> GLP v3
Потому что баран, не осиливший bsd или public domain.
Ага, "написал код - подари корпорациям", что ли? Обойдутся. Они и платные варианты купить могут, если своей платформой делиться не хотят.
> Потому что ему работать, а не мир конпелять.
>> GLP v3
> Потому что баран, не осиливший bsd или public domain.Обнаружены взаимоисключающие параграфы. У бздунов в этом месте должно случиться деление на ноль :)
> Обнаружены взаимоисключающие параграфыjust as planned :)
Ну, тут как раз понятно. Человеку комфортно разрабатывать на винде, а сделанное - что-то вроде прототипа, с использованием известного автору и еще куче людей маткада. Что ни разу не исключает желания сделать результаты доступными для энтузиастов, а не проприетарщиков.Логично, в общем-то - оно написано, его УЖЕ могут гонять/тестировать желающие (и при нахрждении проблем маткадовские куски наверняка проще править, чем сишные) - а потом можно и транслировать вылизанную версию.
> Человеку комфортно разрабатывать на винде, а сделанное что-то вроде прототипа, с использованием известного автору и еще куче людей маткада.маткад тут не при чем, да и винда в общем не очень то. речь идет о матлабе, который фактически стандарт в науке. а матлаб, как и его свободные варианты(scilab, octave, freemat и т.п.) как раз кроссплатформенный, так что на винде клином не сошлось. но что комфортнее это да.
Думаю, отличие от уже существующих систем что оно в процессе съёмки набирает кадры (в новых ракурсах), и в дальнейшем сможет определять цель в этих ракурсах тоже.Отлично, что появилась [ещё одна] полезная открытая библиотека. Сфер применения - не счесть (та же стабилизация видео, распознавание лиц, виртуальная мышь, слежение за объектом) - при этом оно будет работать на уже существующем оборудовании!
Так автор TLD не хотел же открывать проект и даже попросил удалить исходники с гитхаба. Или он все же решил открыть?
так я и не понял, написал он свою библиотеку; пользуется OpenCV (пропаченной лично? или не измененной?); в чем профит, если с OpenVC можно смастерить такую жe поделку??? или низя?
Профит очевидно в получении PhD.
> так я и не понял, написал он свою библиотеку; пользуется OpenCV (пропаченной лично? или не измененной?);что ту непонятного - написал новый алгоритм, с импользованием библиотеки. так вообще всегда делается, нет?
>в чем профит, если с OpenVC можно смастерить такую жe поделку??? или низя?
в том что дурость каждого комментатора можно легко оценить по его комментам к этой новости
есть например вот такие
This is very cool. Having worked on image tracking and recognition software, I know just how difficult that can be (Kinect was an awesome step forward in consumer motion tracking).
Estimating from the coordinates on screen he is processign a 320×256 (or so) pixel image at better than 15 frames per second when it is focussed on his eye.
The finger tracking was done at about 10 frames per second and the face tracking at around 7-8 frames per second.
Picking out his face from a picture was awesome – scale invariance is pretty tough, although we have some good algorithms for that (SIFT and SURF).
Handling changes in lighting is still a weak point (when the car enters the shadow at around 3:18) tracking is lost.
Tracking the panda was awesome, the shape and coloration changed while it moved. Nice!
Liked the line tracking / drawing feature. Though it seems you can defeat the tracking by quickly whisking the object out of the frame (3:35) – and, yes, he did move the pen point outside the frame.
Looked at some more of his videos on YouTube and tracking limitations are more obvious: does a good job tracking the face as a person turns (at least until the back of the head shows up); blocking the face with hands also inhibits the tracking (though, removing glasses did not – not sure if this is because it was just recognizing any face or a specific face – a good test would have been to have someone else walk into the frame); use on cafeteria surveillance footage also exposes limitations – loss of tracking, although no false tracking, took a long time to recover the face once the woman sat down to eat.
а есть такие как у вас
А вот и достаточно существенные запчасти к терминатору подвезли :)
Буквально позавчера читал его коментарии что попридержит коней в опубликовании кода, и вот сегодня такое !