От AMX
К DVK
Дата 11.10.2005 21:25:13
Рубрики Танки;

Re: Продолжим список...

>Здравствуйте!

>>Человек может мгновенно распознавать образы. Компьютер не умеет.
>начнем с того, что не мгновенно, а очень быстро.
>Существующие алгоритмы распознавания действительно несовершенны. Тем не менее в нейронные сети иногда специально вводят "мыслительный" процесс чтобы избежать получения т.н. "фантомов", к чему нейронные сети склонны.

>Что такое образ? Это набор признаков. Существующие технологии не могут качественно находить признаки. Просле того, как они их нашли, решение применяется действительно мгновенно, человеку такое и не снится.
>Именно тормознутость от этого и происходит.
>В чем достоинство нейронных сетей? Они оперируют образами полностью, поэтому если их удалось обучить, то они показывают хорошие результаты.
>Но если сначала надо "понять", сделать анализ, то тут начинаются проблемы... Как правило, задача решается итерационно, путем проверки гипотез. Что, ествественно, занимает время.

Причем тут нейронные сети? Вы хотя бы поверхностно с вопросом знакомы?
Речь идет вот об этом
http://sourceforge.net/projects/opencvlibrary/
и никакие нейронные сети тут не причем и алгоритмы, использованные в этой библиотеке, тоже не имеют никакого отношения к нейронным сетям и последние пока в проблеме распознавания образов никак не отличились.



От DVK
К AMX (11.10.2005 21:25:13)
Дата 12.10.2005 09:24:54

Re: Продолжим список...

Здравствуйте!

>Причем тут нейронные сети? Вы хотя бы поверхностно с вопросом знакомы?
поверхностно знаком :)
давайте объясню свое видение проблемы.
Для себя я выделяю несколько главных направлений в распознавании:
1. Признаковые классификаторы, Журавлевская школа
2. Если есть временные последовательности, то неплохо показывают себя скрытые марковские модели
3. Нейронные сети
4. Контурный анализ (могу предположить, что алгоритмы из этого класса прменяются в наших системах астрокоррекции)
5. Функциональное распознавание. Анализируем изображение с помощью эвритических алгоритмов и правил.

Нейронные сети я упомянул, как альтернативу на "мозг принимает решение мгновенно". Нейронные сети в примитивном представлении - это что-то вроде сумматора, поэтому выдают результат они быстро. Что в частности очень полезно при построении систем ПРО, когда главное среагировать, а уж как мы среагировали - будем разбираться потом.

кстати, алгоритмы наведения ракет по принципу "выстрелил-забыл" могут строиться двумя способами (если смотреть на то, что уже сделано в этом направлении):
1. алгоритмически, путем рассмотрения областей с одинаковым цветовым наполнением. Это нечто вроде "волшебной палочки" из Photoshop. Подобные программы применяются, в частности, когда надо наклеить куда-то свою рекламу в виде плакатов, чтоб потом показать по ТВ.
2. читал, что в США показывали демонстрашку программы (как раз для военных целей), которая использовала нейросети.
Так что используются НН.

>Речь идет вот об этом
теперь речь идет об этом :)

>
http://sourceforge.net/projects/opencvlibrary/
спасибо за полезную ссылку
давайте сбавим градус дискуссии...
эта библиотека - набор функций для обработки изображений.
про это я и говорил, что ключевая проблема задач распознавания - выделить характеристики.
но еще не вечер. кто знает, может скоро придумают что-то новое, новые алгоритмы, которые будут решать эту задачу быстро и качественно.

возможно также, что мы вкладываем разный смысл в наши фразы.
я разделяю задачу распознавания образов на три этапа:
1. сбор характристик
2. классификация
3. принятие решения

пока, ИМХО, основной затык в п.1

>и никакие нейронные сети тут не причем и алгоритмы, использованные в этой библиотеке, тоже не имеют никакого отношения к нейронным сетям и
совершенно верно.

>последние пока в проблеме распознавания образов никак не отличились.
ну почему же :)
возьмите для примера распознавание речи...
там стараются объединять скрытые марковские модели и нейросети


С уважением, Дмитрий

З.Ы. кстати, вместо термина Искусственный Интеллект придумали термин Искусственная Жизнь. Романтики надеются, что через это направление мы сможем приблизиться к построению ИИ.

От AMX
К DVK (12.10.2005 09:24:54)
Дата 12.10.2005 12:37:32

Re: Продолжим список...

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

С этой библиотекой и связаны успехи сабжа. Не правда ли произошел качественный скачек по сравнению с прошлым годом, когда ни одна машина к финишу не доехала?

>но еще не вечер. кто знает, может скоро придумают что-то новое, новые алгоритмы, которые будут решать эту задачу быстро и качественно.

Какую задачу? :) Для задачи наведения эта библиотека уже может использоваться, т.к. её пользуют для замены синего/зеленого экрана. Чем отличается наведение от отрезки предмета от фона в видео? :)


От DVK
К AMX (12.10.2005 12:37:32)
Дата 12.10.2005 13:31:19

Re: Продолжим список...

Здравствуйте!

>С этой библиотекой и связаны успехи сабжа. Не правда ли произошел качественный скачек по сравнению с прошлым годом, когда ни одна машина к финишу не доехала?

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

Если успех рейда роботов заключается только в этой библиотеке - то у нас не все потеряно. Мой знакомый занимается подобными алгоритмами, может поговорю с ним на эту тему в пятницу. Поспрашаю какие там есть подводные камни.

>Какую задачу? :) Для задачи наведения эта библиотека уже может использоваться, т.к. её пользуют для замены синего/зеленого экрана. Чем отличается наведение от отрезки предмета от фона в видео? :)

ну во-первых наведение по изображению - это умение не только выделить объект, но и привязать его к карте местности.
во-вторых, в исходники не лазил, но боюсь, довольно проблематично с помощью предложенных алгоритмов обсчитывать картинку в реальном времени, при полете ракеты.

Но в целом направление очень прикольное. Особенно интересно рассматривать взаимодействующих между собой роботов. Вот это тоже очень непростая задача. Но здесь японцы уже проводят соревнования по футболу среди команд роботов.

С уважением, Дмитрий

От AMX
К DVK (12.10.2005 13:31:19)
Дата 12.10.2005 13:47:59

Re: Продолжим список...

>во-вторых, в исходники не лазил, но боюсь, довольно проблематично с помощью предложенных алгоритмов обсчитывать картинку в реальном времени, при полете ракеты.

Вот теперь начался предметный разговор. Машинки тут очень показательны. Если они смогли реализовать на "коленке" реал-тайм для скорости движения порядка 40км/ч(хотя скорость могла быть ограничена и скоростью реакции механизмов, управляющих машиной), то нет ничего фантастического в увеличении быстродействия.

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

Только боюсь с электроникой в стране у нас не очень сейчас, хотя буду рад ошибиться.

От DVK
К AMX (12.10.2005 13:47:59)
Дата 12.10.2005 15:01:34

Re: Продолжим список...

Здравствуйте!

По поводу алгоритмов хочу привести один пример из своей жизни.
Разбирался я немного с OpenJpeg биболиотекой по кодированию файлов в формате Jpeg2000 (в нем применено вейвлет-преобразование вместо DCT, поэтому при больших степенях сжатия - раз в 100 - качество гораздо лучше чем у обычного Jpeg).

там был такой кусок кода:
for (i = 0; i < sizeof(t1_flags) / sizeof(int); i++)
((int *) t1_flags)[i] = 0;
- каждый раз чистился массив размером в 1мегабайт, из-за чего все жутко тормозило. после очистки массива только нужной размерности все заработало быстрее.
вот такая простая оптимизация.

помимо техники, есть еще и программист. и многое зависит от того как составить алгоритм.

>то нет ничего фантастического в увеличении быстродействия.
в принципе я с этим согласен.
хотя при малых скоростях можно делать какие-то оптимизации, например, просчитывать параллельно: точно, но медленно; и быстро, но грубо.
первое для того чтобы выбирать цель движения, а второе - для того, чтобы с дороги не съехать.

>Решение лежит уже в плоскости электроники, т.е. быстрой реализации алгоритмов, требующих большого времени вычисления и шлифовки последних.
можно еще пробовать параллелить решение задачи.
в принципе, я бы акцентировался на двух вещах:
1. сделать видео-сенсоры, в которых на уровни электроники реализованы простейщие функции по предобработки изображений.
2. совершенстование алгоритмов.


>Только боюсь с электроникой в стране у нас не очень сейчас, хотя буду рад ошибиться.
лет 7 назад слышал, что под Новосибирском хотят строить новый завод по производству микросхем. главным образом по соображениям обороноспособности.
наверое, его так и не построили...
в целом мои ощущения тоже пессимистичные.


С уважением, Дмитрий

От Elliot
К DVK (12.10.2005 15:01:34)
Дата 13.10.2005 11:42:10

Re: Продолжим список...

>там был такой кусок кода:
> for (i = 0; i < sizeof(t1_flags) / sizeof(int); i++)
> ((int *) t1_flags)[i] = 0;
> - каждый раз чистился массив размером в 1мегабайт, из-за чего все жутко тормозило. после очистки массива только нужной размерности все заработало быстрее.
>вот такая простая оптимизация.

Мда... Программист, однако совсем дятлом был, коли memset не поюзал :-).

От DVK
К Elliot (13.10.2005 11:42:10)
Дата 13.10.2005 14:18:20

Re: Продолжим список...

Здравствуйте!

>Мда... Программист, однако совсем дятлом был, коли memset не поюзал :-).

кстати, memset тут не поможет :)
теоретически, хороший компилятор не даст почувствовать разницу :)

вот что они мне написали в ответ на мое замечание, так что они не _совсем_ "дятлы" :)

Hello Dmitry,

Thanks for helping us optimizing the OpenJPEG code.
Indeed, the erasing algorithm in t1_encode_cblk and t1_decode_cblk is
very slow.

To speed things up, we decided to use the "memset" function to erase the
memory used by t1_flags and t1_data.

The coding and decoding now only takes 2/3 of the time it used to!!!

Thanks a lot for you help,

François

С уважением, Дмитрий

З.Ы. кстати, эта библиотека, ИМХО, лучшее что есть в сети про Jpeg2000 на языке С.