roboforum.ru

Технический форум по робототехнике.

Recognition (Yeremeyev method)

Re: Recognition (Yeremeyev method)

EDV » 23 янв 2009, 10:18

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


Глубина дерева (количество уровней) фиксировано, и задаётся в момент инициализации (создания) ассоциативной памяти (в демо-версии это пункт: Recognition\Set key image size). По умолчанию ключевой размер изображения – 80x80, это даёт 3-х уровневое дерево декомпозиции входного изображения (смотрите: http://edv-detail.narod.ru/AVM_FAQ.html).

Нет, та проблема, на которую вы обратили внимание, связана именно с матричным распознаванием. Нужно что-то менять в самой матрице распознавания.

Re: Recognition (Yeremeyev method)

Виталий » 23 янв 2009, 10:33

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

Re: Recognition (Yeremeyev method)

EDV » 26 янв 2009, 11:26

Ещё раз хочу поблагодарить Виталия, за участие в тестировании AVM. Я потратил все выходные, на устранение обнаруженного им эффекта, и буквально чудом, мне удалось это устроить. Теперь AVM «цепляется» буквально за «воздух». Если кому-то интересно, можете сами убедиться.

Подправленную демо-версию можно взять отсюда:
http://edv-detail.narod.ru/Recognition.zip
http://rapidshare.de/files/43729591/Recognition.zip.html

Так же, я добавил в демо-версию «оценку возможности обучения». Она отображается, когда пользователь устанавливает границы изображения для обучения (аббревиатура EOT). Если EOT будет меньше чем 0.1, программа выведет предупреждающее сообщение (но его можно проигнорировать, и продолжить обучение).

Re: Recognition (Yeremeyev method)

Виталий » 26 янв 2009, 11:59

Не надо благодарностей. Лучше расскажите как работает (точнее пока не работает). :)
Реально хочется знать, чтобы подумать как это дело улучшить.

Коэффициент = 0.12
Изображение

Re: Recognition (Yeremeyev method)

EdGull » 26 янв 2009, 12:12

EDV писал(а):Уж вы мне поверьте, мне тоже этот английский даётся нелегко, но это международный язык и исследователи из разных стран (не обязательно англоязычных) публикуют свои работы и ведут письменную переписку на английском языке.

предлагаю аннулировать последннее ваше обновление, так как поиск багов вёлся не по правилам, а именно на русском языке... :D
вы батенька не последовательны... :wink:

Re: Recognition (Yeremeyev method)

EDV » 26 янв 2009, 12:40

Виталий писал(а):Не надо благодарностей. Лучше расскажите как работает (точнее пока не работает). :)
Реально хочется знать, чтобы подумать как это дело улучшить.

Коэффициент = 0.12
Изображение


Для начала, хотелось бы разобраться самому :)

Ну я же не сказал, что его вообще не возможно сбойнуть :(

А вот интересно, разница то ощущается? Работать стало лучше? (или всё так же?)

Может что-то с версиями? Исполняемый модуль в папке должен быть:
Program Files\Recognition\Recognition.exe должен быть за 25.01.2009 18:43, размер 1073152 байт.

Если размер изучаемого изображения оставить по умолчанию 80x80 (рамку не растягивать) что будет?

Дело в том что у меня то всё работает, гораздо лучше чем было (ну если конечно постараться, заглючить конечно можно). Я не могу понять чё там у вас происходит?

Re: Recognition (Yeremeyev method)

Виталий » 26 янв 2009, 12:59

Я тоже. Версия совпадает с точностью до времени. У меня время 19.43. Дата и размер в порядке.
Рамку не растягивать будет то же самое. У меня Vista. Может proxytrans врет? Не то подсовывает в алгоритм... хотя он через раз работает.
Сделайте-ка кнопочку вывода негатива изображения на экран. Тогда узнаем наверняка что происходит, доходит ли изображение до алгоритма или нет.

Re: Recognition (Yeremeyev method)

EDV » 26 янв 2009, 13:15

Ну, тоже вариант (у меня Windows XP), сейчас займусь, попробую вывести черно-белое изображение на входе :)

Да, кстати, вот те самые шаблоны изображений, и всё работает, как можно видеть:
Изображение

Re: Recognition (Yeremeyev method)

EDV » 26 янв 2009, 19:15

Ну вот, всё готово, добавил пункт Recognition\Show an input image

Посмотрите, что покажет. Если будут бока под Вистой, я попробую под новой версией OpenCV скомпилировать, возможно поможет…

Следующую подправленную демо-версию можно взять отсюда:
http://edv-detail.narod.ru/Recognition.zip
http://rapidshare.de/files/43777369/Recognition.zip.html

Re: Recognition (Yeremeyev method)

Виталий » 26 янв 2009, 19:43

Картинка показывается верная, а алгоритм не работает. Странно все это.

Re: Recognition (Yeremeyev method)

Pavia » 28 янв 2009, 03:06

Vista тестирую на ноуте со встроенной камерой. Выдает сообщения о ошибки, но запускается.
Алгоритм работает. Только ему не хватает возможности распознавания разно масштабных изображений.
А то чуть в глубь и изображение уже не распознается. Тоже самое касается, если его немного повернуть.

Пробовал проиграться с разными частями тела. :P Ну очень плохо распознает. Чуть сдвинешься и все. Такое впечатление, что алгоритму что-то мешает. Вернее чего-то он не находит.

Тут нашел чупа-чупс. :oops: Находит почти все время, но и почти все время теряет так как по цифрам совподение мение 1%. Может стоит в 1.5-2 раза увеличить зону поиска объекта от предыдущей точки.
Еще неплохобы выводить fps

Re: Recognition (Yeremeyev method)

EDV » 28 янв 2009, 18:59

Pavia писал(а):Алгоритм работает. Только ему не хватает возможности распознавания разно масштабных изображений.
А то чуть в глубь и изображение уже не распознается. Тоже самое касается, если его немного повернуть.

Пробовал проиграться с разными частями тела. Ну очень плохо распознает. Чуть сдвинешься и все. Такое впечатление, что алгоритму что-то мешает. Вернее чего-то он не находит.


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

Я добавил в демо-версию AVM возможность записи ваших действий в AVI файл, и записал пример (урок) «Как правильно обучать AVM на лицо».

http://edv-detail.narod.ru/Face_training_demo.avi

Возможно, это будет полезно, для понимания как работать с AVM :roll:

Что бы начать запись демы в AVI файл, выберите «Recognition\Write AVI demo».
Для завершения записи в AVI файл, выберите этот пункт ещё раз (или нажмите Alt-D).

Подправленную демо-версию AVM можно скачать отсюда:
http://edv-detail.narod.ru/Recognition.zip
http://rapidshare.de/files/45074809/Recognition.zip.html

Записывайте, спрашивайте, так будет понятней (и наглядней).

Re: Recognition (Yeremeyev method)

EDV » 04 мар 2009, 18:40

Обновил демо-версию AVM. В этой версии более быстрый поиск в дереве образов.

Скачать можно здесь:
http://edv-detail.narod.ru/Recognition.zip
http://rapidshare.de/files/46135801/Recognition.zip.html

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

Изображение

В окне статистики "Associative tree" отображаются три диаграммы:
1) Hits - отображает интенсивность попаданий в ассоциативные ядра;
2) Searching - отображает время, затраченное на поиск каждого ядра;
3) Activity - показывает активные на текущий момент ассоциативные ядра.

Цвет ядер меняется от синего до желтого - соответственно наименьшее/наибольшее значение.

Окно статистики можно вызвать из главного меню:
"Recognition\Show associative tree"

==============================================================
AVM SDK v0.5 с примерами использования и тестами для сравнения
характеристик предыдущей и новой версий можно скачать здесь:
http://edv-detail.narod.ru/AVM_SDK_v0-5.zip
==============================================================

Re: Recognition (Yeremeyev method)

tac » 09 янв 2010, 13:30

EDV писал(а):
А что за инвариантное представление?

Имеется в виду, что в матрице хранятся не сами значения яркости (конкретные значения параметров), а соотношения между ними (инварианты).

В матрице распознавания инвариантно представлена только яркость, масштабируется матрица то же хорошо, а вот с поворотами проблема, так что приходится запоминать, как выглядит объект под разными углами.


Можно вот это поподробнее, с примерами, так чтобы воспроизвести эту идею можно было бы ...

Добавлено спустя 6 минут 58 секунд:
EDV писал(а):Я бы и рад, да не могу, потому что метод «AVMY» коммерческий, и меня связывают некоторые обязательства. Исходные тексты программ метода «AVMY» могут быть получены только платно


Сколько в евро, долларах ? (исходники и право модифицирования; возможно вы сможете различать для коммерции и для академического интереса)

Re: Recognition (Yeremeyev method)

EDV » 09 янв 2010, 20:34

К сожалению, больше подробностей об AVM, чем уже рассказал, раскрыть не могу.

Технология AVM – коммерческий проект, но Вы можете использовать AVM SDK абсолютно бесплатно в ваших некоммерческих проектах.

Чем может быть полезен для вас алгоритм AVM?
- Вы можете использовать AVM для отработки ваших собственных гипотез в области автономной навигации робота, основанной на визуальных ориентирах. И если эффективное решение в области навигации будет достигнуто, то далее будет возможным либо разработать ваш собственный алгоритм распознавания, и заменить AVM в финальном проекте, или использовать коммерческую версию алгоритма AVM.
- Вы можете использовать алгоритм AVM для сравнительных тестов по качеству распознавания при разработке собственного (вашего) алгоритма распознавания.


Rambler\'s Top100 Mail.ru counter