Обновить
56
0

Пользователь

Отправить сообщение
Насколько я знаю, tineye использует методы на базе sift — или аналогичные им. Прямо сейчас проверил на примере вот этого изображения: upload.wikimedia.org/wikipedia/commons/thumb/7/7d/Statue_of_Liberty3.jpg/300px-Statue_of_Liberty3.jpg — при поиске неискаженного выдает 10 результатов, если же его несколько сплющить, с высоты в 400 пикселей до высоты в 300 пикселей, то результат останется только один (и, с точки зрения распознавалки, эта поплющенная статуя совпадает с оригинальной если картинку несколько повернуть — это о многом говорит, при повороте пропорции контрастного контура куда больше напоминают исходные, именно это основной аргумент в пользу того, что там используется распознавание на основании подобия конфигурации опорных точек — вопрос только, как именно они выбираются).
Небольшой комментарий: информация о том, что в большинстве изображений есть очень немного основных цветов — результат моей работы над недавно законченной системой поиска по изображениям. Картинка, иллюстрирующая выделение цветов — результат работы одного из алгоритмов этой системы.
Эта стратегия позволяет выиграть только при одном условии: если у вас бесконечный запас денег. В реальности же, если ставка, скажем, 1$ — то уже при серии из 20 проигрышей подряд вам придется поставить на кон примерно 10000$ (если ставки растут по числам Фибоначчи, для любой другой схемы несложно пересчитать). Если в этот момент вы проиграете еще 20 раз подряд — то сумма станет порядка 100 миллионов. Если в какой-то момент у вас нет денег, чтобы увеличить ставку — то вы окончательно проиграли (оооооочень внушительную сумму).
При большом количестве денег такие проигрыши будут очень редкими — но очень значительными, они и удерживают мат. ожидание в нуле.
При бесконечном количестве денег проигрышей не будет — но и смысл игры тогда теряется, она не может сделать вас богаче, т.к. у вас уже бесконечное количество денег :)
Ну, не знаю как на пхп, на плюсах сеть такой конфигурации при паре сотен примеров будет обучаться со скоростью порядка нескольких тысяч эпох в секунду. Даже если почему-либо на пхп в 10 раз медленнее (хотя с чего бы?), все равно это будет абсолютно несущественно на практике.
Плюсы будут очень полезны, когда сети будут на сотни и тысячи нейронов, а размеры обучающих выборок будут измеряться в сотнях мегабайт.
>Суть подхода заключается в интерпретации составных частей мультимедийных данных в некие понятия на формальном языке

Это очень слабое место. Когда будет сделана внятная интерпретация составных частей — ее особенности фактически сами породят подходящий язык для их описания (ну, конечно кто-то должен будет превратить их в язык — но задача выглядит довольно тривиальной). Без нее же оценить эффективность того или иного подхода вообще нельзя (в частности, мне интуитивно кажется, что описанный язык не будет достаточно хорош без серьезных доработок — но я затрудняюсь это доказать).
>Правильно же в таком алгоритме давать на входы по очереди все примеры обучающей выборки, это называется эпохой. И только с концом эпохи считать ошибку (суммарную по всем примерам выборки) и корректировать веса.

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

>Во время обучения возможны скачки в погрешностях, но такое бывает

Если погрешность при обучении одному примеру не уменьшается строго монотонно — то в алгоритме допущена ошибка. Если средняя погрешность за эпоху постоянно прыгает вверх-вниз — то это серьезный аргумент в пользу уменьшения скорости обучения.
>Я решал задачи связанные с анализом контуров, только пропроще

+

>где я ничего интересного не увидел.

= ваш уровень выше, т.к. был бы ниже или равный — было бы интересно. Так реализуйте предложенный мной возмутительно простой алгоритм — и убедитесь, что он дает реальные результаты.
Ну вот. Теперь оказывается, что вы в этом вопросе не только изначально не разбираетесь (что вполне нормально), но даже и не пытаетесь выяснить истину, просто рассуждаете категориями «это выглядит круто»/«это выглядит некруто»… Зато предположений о моем уровне сделали множество :)
Вообще говоря я наверное слишком плохо думаю о МS. На ролике у них некоторые из глюков скелета абсолютно идентичны тем глюкам, которые были у нас, особенно похожи глюки при двух людях в кадре.

А откуда вы знаете, что поза не нужна? Вы уверены, что если человек не зайдет в кадр, а станет в очень неестетственную позу, и только после этого включат кинект — то он сможет определить это? Я уверен, что нет. Если же человек просто естественно зайдет в кадр — этого и для описанного мной метода хватит, если его чуть подрихтовать.
>Я смотрел ролик,

+

>Для нескольких людей на сцене. Ложноположительных срабатываний нет

= сознательная ложь. И зачем? Вы пытаетесь убедить других, себя, или все же меня?

>Я считаю, что для меня эта задача слишком сложна, я некоторые попытки делал, но они оказались очень вялыми

Ну так реализуйте то, что я написал, это же элементарно, как вы утверждаете! Я вам гарантирую — результат вас приятно удивит. Правда, в процессе вам придется решить несколько вопросов — например, понять, какая пара (или тройка, если с кистью) соединенных прямых линий соответствует довольно бесформенному региону «согнутая рука», куда направлено туловище при том, что оно тоже весьма неправильной формы, и т.п. — но это ведь тривиально, вы справитесь (в нашей команде один человек это сделал за несколько недель — значит, это легко, и у вас получится).
Я серьезно считаю, что в майкрософт ресерч могли выбросить из команды всех людей, которые предложили бы что-то такое, и оставить только тех, кто предлагает что-то сложное и запутанное. Хотя не факт, возможно это было реализовано криво, не показало хорошего результата сразу — и от него отказались как от «конечно же слишком примитивного».
«Я думаю, вы могли бы это повторить и продавать, подозреваю ушло бы хорошо.» — это ваши слова. Теперь вы пишете «Я не знаю, кому это продать можно». Нормально :)

>Я вам честно скажу — предложенный вами алгоритм совершенно несерьезный, такой я и сам могу написать

Так напишите. Будете удивлены результатом, если напишете нормально. Честное слово.

>они выделяют основные суставы — локти, кисти, колени, плечевые суставы

Присмотритесь внимательно — и увидите, как именно они это делают. Мы тоже это делали, так же. Смотрится круто, но стоит взять в руку что-нибудь протяженное — и все станет ясно с «суставами» :) Впрочем, для прикладных задач суставы не важны, так что очевидно что с ними никто лишний раз не морочился.

>Для нескольких людей на сцене. Ложноположительных срабатываний нет

Вы не смотрели ролик, на который я дал ссылку, сказав что «мы умеем так же», или намеренно врете?

>а у вас ваза на шкафу будет головой

Ну как же она будет головой, если с руками не соединена? Я надеялся, что фраза «идем по контуру» достаточно ясно дает понять, что если на контуре мы нифига не находим — то это не человек :)

>И вы с такими идеями деятельно других критикуете?

О, ну тогда я тоже воспользуюсь вашим аргументом — «и вы со своим уровнем вообще имеете наглость свое мнение высказывать?» ))))))
Я вам совершенно серьезно предложил найти заказчика под такой проект. За процент, мало 15 — берите больше, хоть 50 при достаточной общей сумме. Без проблем согласен на оплату только в случае успешного выделения фигуры, и на срок в 2-3 месяца, в зависимости от деталей (но в случае успеха оплата должна быть немедленной, гарантированной, и существенно большей, чем зарплата за соответствующий период).

Правда за такой срок — не любые позы разумеется, в этом варианте только работа в фас, без поворотов в профиль. Соответственно калибровочная поза — любое положение в фас с естественным положением рук (т.е. хитро сложенные руки, одна за головой другая перед лицом, не распознаются).

Расскажу логику решения: находим в центральной верхней части экрана верхушки всех близких площадок. Если она одна — это голова, больше одной — голова и одна/две руки. Если их три — голова в центре, руки по бокам. Если две — то рука более высокая и тонкая.
Если хотя бы одна из рук не вверху — идем по границе контура, в случае двух вариантов сворачивая всегда на максимальную близость. Когда дошли до поворота обратно — мы нашли всю руку.
Итого, голова и руки выделены так, как если бы использовалась калибровочная поза. Ноги — аналогично, но чуть сложнее, т.к. их надо правильно разделить.

В принципе, все это работает достаточно быстро, чтобы применять в каждом кадре — но, разумеется, рационально использовать трекинг, а этот алгоритм — раз в несколько кадров для контроля.
И — этот подход в целом отлично работает, хотя мы использовали несколько другую логику. У нас была проблема выделить силуэт, т.к. не было камеры глубины — но в случае хорошего силуэта (например, на статичном контрастном фоне) работало без малейших проблем.
Возможно. Но тогда довольно трудно объяснить тот факт, что майкрософт несколько лет стоял на месте с кинектом, пока не купил камеру-дальномер. И после покупки реализовал только тривиальный минимум, и снова застопорился.
Ну извините, проект с вертолетом мы в свободное время за свой счет делаем. Начиналось все иначе, и есть отличные результаты — но сейчас так, реализовывать результаты в железе банально некому. Уже примерно полгода на него вообще нет времени.
Это просто для нашей команды, а не просто вообще. Немножко разные вещи.
Маркер был сделан с нуля за 2 недели, включая время портирования на флеш. Там вопрос не в том, чтобы сделать, а в том, чтобы добиться реалтайма на флеше. Тоже ничего уникального, но кому-то было нужно — мы сделали.
Линии и круги по линкам и те что у нас были — несопоставимы по вычислительной сложности. По линкам идет перебор, у нас — анализ границ. И мы уже давно достигли цели в этом направлении — сейчас у нас не линии/круги, а произвольные кривые 2го порядка, теперь решаем вопрос, как из них распознавание приличное сделать.

Насчет скелета и легкости его продажи: найдете нам приличного заказчика — и 15% ваши. Я серьезно.
У меня в профиле сайт, там есть видео.
Конкретно по этому проекту мы связаны по рукам и ногам, так что ничего показать не могу (в том числе и побочный результат — он весьма заинтересовал заказчика, и тоже ушел, даже на видео по этому проекту все скрыто по-максимуму). Но повторить это все в несколько другом варианте — совершенно не проблема, если у нас появится какой-то интерес — это будет сделано очень быстро.
Ну как — если есть 3д-картинка, то максимум за месяц получится вытащить оттуда точное местоположение человека и его головы, почти всегда точное положение рук, и с неплохой точностью положение ног. Правда, что дальше с этим делать — надо будет еще подумать…
>По поводу исходного изображения. Вы только его и можете получить

Ух ты как здорово! Обязательно надо будет заняться, как с текущими проектами закончим…

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность