Виталий писал(а):Самое интересное, что feature detector обычно очень хорошо параллелиться.
Как пример вот короткое видео.
Очень бы хотелось иметь такую примочку к камере, которая обеспечивает аппаратную очистку изображения + feature detection.
Эх, если бы все изображения были бы только такими контрастными, роботы, наверное, давно уже научились бы видеть (в ролике просто идеальные условия для поиска “Feature points”). Вот только бывают и полутоновые изображения с плохим контрастом (облака к примеру), высокочастотные текстуры (зелень на деревьях, гравий) и там будет посложнее...
поиск "фич" на сколько я, не вникающий сильно во все это, знаю довольно "стандартный" процесс.. вот когда у них что-то типа AVM от EDV заработает, тогда молодцы.. я вообще не понимаю как можно при наличии возможностей, а на сколько я знаю за бугром они у многих студентов есть.. у нас с этим куда туже, можно не делать подобных вещей...
Создаём AVM для хранения в качестве ассоциации двух координат (P[0], P[1]) в формате float.
Запоминаем центральную часть экрана в AVM как начало отсчёта. Если расстояние от центра этого распознаваемого маркера превысит некое пороговое значение, то создаём новый маркер, в который записываем координаты смещения относительно начала отсчёта. Если расстояние от центра ближайшего маркера превысит порог, то снова создаём новый маркер и т.д.
Ну простейший SLAM - это калман, в который в качестве искомых переменных вставляют координаты маяков и робота. А в качестве результатов измерений - координаты маяков.
Добавлено спустя 50 секунд: Про калмана я тут в нашу вику перевел статейку: [[Фильтр Калмана]]
Добавлено спустя 1 минуту 38 секунд: По самому SLAM-у вот тут я насобирал инфу: viewtopic.php?f=6&t=6190
Извиняюсь что сам всё в основном советами пока помогаю - с электроникой вроде более менее разделались, чтобы массовость обеспечить, сейчас за механику возьмёмся, но это вроде быстро, так что скоро и до ПО доберемся.
2EDV: Направление на маяк известно из 1 кадра (просто по расположению его в кадре), а расстояние до него известно из отношения масштабов на 2 кадрах, сделанных в разных точках пути, но в принципе в Калмана вроде можно и чисто направления скармливать.
Предлагаю простое решение проблемы того, что один и тот же обьект может распознаваться в разных ситуациях по-разному. Ну и пусть распознает по-разному. Обьяснение следующее. Просто получится, что один обьект исчезнет и на его месте может появиться другой или не появиться. Все нормально. С нами происходит то же самое на самом деле. По сути развитие разума в том и состоит, чтобы увидеть еще больше. Так что это не проблема, а направление развития искусственного интелекта, как впрочем и нашего с вами. Думаю именно с этим вы все время и будете работать, т.е. развивать способность робота располнавать одно и тоже в разном. Сразу признаюсь, что я не программист. Эта конференция меня интересует с чисто философской точки зрения и признаюсь, что здесь при решении порою мелких но практических задач, можно понять об устройстве мироздания гораздо больше, чем при абстрактных размышлениях о высших материях. Если другие участники не против, и если будут еще мысли, я буду их здесь высказывать. Удачи.
Разработал алгоритм определения текущего местоположения, основанный на классификации контрастных пятен. Вкратце, смысл следующий: ищем контрастные участки изображения, которые выделяются на общем фоне. Присваиваем каждому из них идентификатор соответствующий их размеру и соотношению сторон прямоугольной области и формируем строку идентификаторов (цепочка идентификаторов областей присутствующих на изображении). Просматриваем список ранее сохранённых строк идентификаторов. Если не находим входную строку, то добавляем её в список с текущим индексом местоположения.
Решение задачи навигации пока что мне видится следующим образом: 1. Определяем текущее местоположение с помощью классификации контрастных пятен (точка, где мы находимся). 2. Ищем вокруг визуальные маяки с помощью AVM (точка, куда мы можем отправиться).
Примерно так (находимся 2 идём к 3):
Теперь планирую заняться алгоритмом определения глобального движения в кадре, для замеров перемещения робота от одной точки к другой.
Последний раз редактировалось EDV 21 сен 2009, 08:46, всего редактировалось 1 раз.