GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.4 (4)<< < Пред.   Поиск:  
 Автор Тема: На: Какой Blob распознавать проще?
tac
Сообщений: 2601
На: Какой Blob распознавать проще?
Добавлено: 27 ноя 08 2:35
Цитата:
Автор: daner


1. вы просто проблему не понимаете до конца. делать первый кадр -- это тоже самое, что знать background заранее.

2. Тем более что есть варианты делать это чуть ли не на каждом кадре по отдельности... вне зависимости от других кадров. Мне это подходит больше.



1. А мне кажется, что вы не понимаете какой именно первый кадр мне нужен Для алгоритма нужно 4 последовательных кадра - и все !

2. Да, есть такой вариант, но там же в статье я про это пишу
"Данную проблему пытаются решить различными способами, в частности, наиболее известны два способа:
1. Предъявить при обучении заранее подобранные изображения всевозможных вариаций (различные смещения, уровни освещенности), например, при использовании неокогнитрона [1];
2. Использовать некоторые инвариантные характеристики для распознавания, например, описанные в работе [2].

Первый подход имеет серьезные технические проблемы, второй - теоретические. Технические проблемы в первом подходе возникают из-за того, что практически невозможно заранее определить те вариации изображения объекта, которые будут необходимы во время реального распознавания объектов. Это также связано с трудоемкой задачей подбора изображений для обучения и их большим объемом, который нужно хранить в памяти нейронной сети. Второй подход имеет трудности, в первую очередь, в выявлении таких инвариантных характеристик, которые не изменялись бы при смещении объекта или изменении уровня освещенности. Кроме того, второй подход кажется неестественным, для распознавания используются не первоначально имеющиеся данные (собственно изображение объекта), а вторичные данные, например, при распознавании лиц используются расстояния между глазами человека, а также другие производные величины."

Ваш подход №2. Ищите инвариант - но как написано, здесь теоритические проблемы, вы - не найдете такого инварианта ... только для частной задачи, а не в вашем случае когда "пойди туда незнаю куда" ...

И сдается мне что блобом вы называете то, что я называю инвариантом ...
[Ответ][Цитата]
tac
Сообщений: 2601
На: Какой Blob распознавать проще?
Добавлено: 27 ноя 08 2:48
Цитата:
Автор: daner
А движ. предметов может быть много... очень. например поставьте камеру на пол в магазине где куча народу. Вот и прикиньте кол.во движущихся ног. Но в том-то и дело, что мне все эти движ. предметы не интересы, мне среди них надо распознавать один заранее заданный. Это несколько другая задача. В ней свои нюансы.


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

я бы назвал эту проблему фокусировкой внимания ... где-то читал что простой инвариант можно получить если определенный объект перемножить с обратным (например перевернутым) - и как инвариант искать именно такое перемножение ...

Кстати, вот почему наверное неплохой вариант с шариком - он инвариантен геометрически сам с собой ... убираете цвет, и ищите только взаимно расположенные края точек ...
[Ответ][Цитата]
daner
Сообщений: 4633
На: Какой Blob распознавать проще?
Добавлено: 27 ноя 08 4:26
Цитата:
Автор: tac


1. А мне кажется, что вы не понимаете какой именно первый кадр мне нужен Для алгоритма нужно 4 последовательных кадра - и все !

2. Да, есть такой вариант, но там же в статье я про это пишу
"Данную проблему пытаются решить различными способами, в частности, наиболее известны два способа:
1. Предъявить при обучении заранее подобранные изображения всевозможных вариаций (различные смещения, уровни освещенности), например, при использовании неокогнитрона [1];
2. Использовать некоторые инвариантные характеристики для распознавания, например, описанные в работе [2].

Первый подход имеет серьезные технические проблемы, второй - теоретические. Технические проблемы в первом подходе возникают из-за того, что практически невозможно заранее определить те вариации изображения объекта, которые будут необходимы во время реального распознавания объектов. Это также связано с трудоемкой задачей подбора изображений для обучения и их большим объемом, который нужно хранить в памяти нейронной сети. Второй подход имеет трудности, в первую очередь, в выявлении таких инвариантных характеристик, которые не изменялись бы при смещении объекта или изменении уровня освещенности. Кроме того, второй подход кажется неестественным, для распознавания используются не первоначально имеющиеся данные (собственно изображение объекта), а вторичные данные, например, при распознавании лиц используются расстояния между глазами человека, а также другие производные величины."

Ваш подход №2. Ищите инвариант - но как написано, здесь теоритические проблемы, вы - не найдете такого инварианта ... только для частной задачи, а не в вашем случае когда "пойди туда незнаю куда" ...

И сдается мне что блобом вы называете то, что я называю инвариантом ...



Ну во-первых, мне не обязательно ИНС использовать, так что.. кое какие из приведенных вами проблем, вообще не существенны. Во-вторых, у меня не проблема "пойди туда незнаю куда", а достаточно четкая задача, найти нужный блоб среди множества других объектов. Поэтому, ДА, я ищу инвариант и мне не нужен какой-то ультро универсальный способ. Это задача достаточно второстепенна (мой босс вообще не хочет что бы я на это время тратил), но она периодически портит нам ДЕМО и мне задолбалось все время с этим мучиться. Вот я и хочу уже раз и на всегда (т.е. на долго) решить эту проблему (и не за два дня до очередной презентации).
Так что меня совершенно устроит ОДИН вариант инварианта простого, но надежного.
В сущности, мой напарник предложил даже акустический вариант, но это отпало сразу, так как на презентациях акустического шума еще больше.


P.S.
blob-ом я называю то, что вы называете объектом.
[Ответ][Цитата]
tac
Сообщений: 2601
На: Какой Blob распознавать проще?
Добавлено: 27 ноя 08 4:46
Цитата:
Автор: daner
Так что меня совершенно устроит ОДИН вариант инварианта простого, но надежного.
В сущности, мой напарник предложил даже акустический вариант, но это отпало сразу, так как на презентациях акустического шума еще больше.


Ну, так бы и сказали, что не можете своего робота найти

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

Вообщем это где-то из сферы радарных установок ... закупите хард и не парьтесь с софтом ..
[Ответ][Цитата]
daner
Сообщений: 4633
На: Какой Blob распознавать проще?
Добавлено: 27 ноя 08 5:08
Цитата:
Автор: tac
Ну, так бы и сказали, что не можете своего робота найти

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

Вообщем это где-то из сферы радарных установок ... закупите хард и не парьтесь с софтом ..


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

П.С.
Инфраред как раз сейчас запасной вариант... у него другие проблемы, например угол зрения (т.е. его отсутствие) и не только. Это ужасно не удобно.
[Ответ][Цитата]
tac
Сообщений: 2601
На: Какой Blob распознавать проще?
Добавлено: 27 ноя 08 5:58
Цитата:
Автор: daner


вопрос не в тему, смотрю я тут NetLogo - оно что имеет свой язык ... и нужно писать ТОЛЬКО на нем ... или все же как-то можно писать хотя бы на Яве ?
[Ответ][Цитата]
daner
Сообщений: 4633
На: Какой Blob распознавать проще?
Добавлено: 27 ноя 08 13:06
Цитата:
Автор: tac
вопрос не в тему, смотрю я тут NetLogo - оно что имеет свой язык ... и нужно писать ТОЛЬКО на нем ... или все же как-то можно писать хотя бы на Яве ?


Вообще-то NetLogo -- это и есть язык (это из диалектов LISP''a)
А то что вокруг него, это просто такая IDE своеобразная.
Так что, я понятия не имею, есть ли там возможность писать на чем-то другом.
Но так как он предназначен, для очень простой логики но которая запускается параллельно для множества агентов, то даже такой примитивный язык как NetLogo не такая уж большая проблема (хотя язык надо признаться через такую ж.... придумывался).
[Ответ][Цитата]
tac
Сообщений: 2601
На: Какой Blob распознавать проще?
Добавлено: 27 ноя 08 15:19
Цитата:
Автор: daner

Вообще-то NetLogo -- это и есть язык (это из диалектов LISP''''a)
А то что вокруг него, это просто такая IDE своеобразная.
Так что, я понятия не имею, есть ли там возможность писать на чем-то другом.
Но так как он предназначен, для очень простой логики но которая запускается параллельно для множества агентов, то даже такой примитивный язык как NetLogo не такая уж большая проблема (хотя язык надо признаться через такую ж.... придумывался).


Ну, значит мои опасения оправдались

Может Вы еще что посоветуете про симуляторы, теперь выявились два требования:
1. Возможность большого количества агентов минимум около 1000, с динамикой появления и уничтожения, управления каждым отдельно ...
2. Возможность программирования на высокоуровневом языке типа Явы или линейки Си++, С# - главное чтобы в языке были поддержка ООП по последнему слову техники


[Ответ][Цитата]
daner
Сообщений: 4633
На: Какой Blob распознавать проще?
Добавлено: 27 ноя 08 16:59
Цитата:
Автор: tac
Ну, значит мои опасения оправдались

Может Вы еще что посоветуете про симуляторы, теперь выявились два требования:
1. Возможность большого количества агентов минимум около 1000, с динамикой появления и уничтожения, управления каждым отдельно ...
2. Возможность программирования на высокоуровневом языке типа Явы или линейки Си++, С# - главное чтобы в языке были поддержка ООП по последнему слову техники


Есть такие симуляторы. Но у них цена за одну лецензию, как стоимость автомобиля.
Впрочем... могу еще посоветовать http://opensteer.sourceforge.net/
это на С++, в нем внутри есть 3D симулятор, простенький, но зато очень ресурсо экономный, так что думаю большое кол-во потянет.

Я думаю, кстати, что и TeamBots смогут с сотней или двумя сотнями агентов справиться.
Например про Payer/Stage, могу точно сказать, он на со 100 роботами только поднимается от 5 до 10 минут.
А 1000 .... я не верю, что кто-то из бесплатных потянет и при этом будет серьезным симулятором (т.е. с физикой и т.д. и т.п.).
А без физики... а что вам нужно для симулятора без физики? Life Game, который писать 10 минут.
[Ответ][Цитата]
tac
Сообщений: 2601
На: Какой Blob распознавать проще?
Добавлено: 27 ноя 08 17:50
Цитата:
Автор: daner
Есть такие симуляторы. Но у них цена за одну лецензию, как стоимость автомобиля.
Впрочем... могу еще посоветовать http://opensteer.sourceforge.net/
это на С++, в нем внутри есть 3D симулятор, простенький, но зато очень ресурсо экономный, так что думаю большое кол-во потянет.

Я думаю, кстати, что и TeamBots смогут с сотней или двумя сотнями агентов справиться.
Например про Payer/Stage, могу точно сказать, он на со 100 роботами только поднимается от 5 до 10 минут.
А 1000 .... я не верю, что кто-то из бесплатных потянет и при этом будет серьезным симулятором (т.е. с физикой и т.д. и т.п.).
А без физики... а что вам нужно для симулятора без физики? Life Game, который писать 10 минут.


Тяжелый случай
Ну, вроде 100 мне может и хватит, да и TeamBots мне достаточно понравился ... единственно как я понимаю, там нельзя динамически добавлять, удалять роботов ... наверное прейдется забить сразу 100 поставить всех в сторонку, а потом по мере необходимости показывать пользователю (вот только можно ли его мгновенно перенести в заданную точку ? )

[Ответ][Цитата]
daner
Сообщений: 4633
На: Какой Blob распознавать проще?
Добавлено: 27 ноя 08 18:55
Цитата:
Автор: tac
Тяжелый случай
Ну, вроде 100 мне может и хватит, да и TeamBots мне достаточно понравился ... единственно как я понимаю, там нельзя динамически добавлять, удалять роботов ... наверное прейдется забить сразу 100 поставить всех в сторонку, а потом по мере необходимости показывать пользователю (вот только можно ли его мгновенно перенести в заданную точку ? )


я думаю, что как-то можно. кроме этого, посмотрите, может там есть что-то типа Show()/Hide() или Visible=True/False

В конце концов, даже если и нет, можно прямо в исходники залезть и в прорисовке добавить этот самый if ( Visible ) draw().
[Ответ][Цитата]
гость
109.70.100.*
На: Какой Blob распознавать проще?
Добавлено: 05 авг 25 13:20
Цитата:
Автор: daner

Как по вашему: Какой Blob распознавать проще?
NOTE: огромная просьба господ с методологиями не отвлекаться от поиска ответа на вопрос Жизни, Вселенной и Всего-Всего.

Кто не знает: Blob это нечто такое (типа пятна), что распознается на картинке.
Я сейчас думаю над тем, какой тип Blob-ов проще распознавать с видео камеры.

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

Другим распространенным Blob-ом, может служить распознавание какой-то геометрической фигуры. Ну например поиск большой и жирной буквы "Н". Этот способ почти не зависим от освещения. Работает довольно не плохо в пустых комнатах, не реагирует на людей, НО как только оказываешься в комнате заставленной разными искусственными предметами (ну скажем какая-то техническая выставка, или выставка мебели...) то таких "ложных Н" становиться ужасно много. Сразу замечу, что описываемая проблема возникала у алгоритма который находит углы и дальше нужный блоб определяется просто по кол-ву углов.

Можно конечно вплотную подсесть и доделать и цветовой алгоритм, и распознавание буквы, но просто интересно какие у кого будут идеи для ПРОСТОГО блоба.
Что бы он и распознавался надежно (зависел бы от меньшего кол-ва факторов, на шумы не реагировал и т.д.) и алгоритм распознавания простой был.



Если вам нужен простой и надежный способ распознавания Blob'ов с камеры, который меньше зависит от освещения и фона, предлагаю рассмотреть следующие варианты:

1. Контрастные Blob'ы (чёрно-белые или с резкими границами)
Как работает: Ищем области с резким перепадом яркости (например, чёрный круг на белом фоне или наоборот).

Плюсы:

Освещение влияет меньше, чем на цветовые Blob'ы.

Простая обработка (пороговая бинаризация + поиск связных областей).

Минусы:

Нужен контрастный фон (или маркер).

Может реагировать на тени или резкие перепады в текстурах.

2. Blob'ы с фиксированным паттерном (штрих-коды, ArUco-маркеры, QR-коды)
Как работает: Используются специальные маркеры (например, ArUco), которые легко детектируются библиотеками (OpenCV).

Плюсы:

Очень надёжно, почти не зависит от освещения.

Даёт не только позицию, но и ориентацию/ID.

Минусы:

Нужно наносить маркеры на объекты.

3. Инфракрасные (ИК) Blob'ы
Как работает: Используется ИК-подсветка + ИК-камера (или камера без ИК-фильтра).

Плюсы:

Полностью независим от видимого освещения.

Можно делать активные маркеры (ИК-светодиоды).

Минусы:

Требует дополнительного оборудования.

4. Движущиеся Blob'ы (вычитание фона)
Как работает: Фиксируем только то, что движется относительно статичного фона.

Плюсы:

Не зависит от цвета и формы.

Простая реализация (например, через OpenCV BackgroundSubtractor).

Минусы:

Работает только если фон статичен.

Может давать шумы (например, от теней).


Короче, если вам нужно максимально просто и без маркеров – попробуйте контрастные Blob'ы (чёрное/белое).
Если можно использовать маркеры – ArUco/QR-коды дадут лучшую надёжность.
Если освещение совсем неконтролируемое – ИК-метод или вычитание фона.
Можно также использовать капчу, или чтото посложне.
[Ответ][Цитата]
 Стр.4 (4)1  2  3  [4]<< < Пред.