Технический форум по робототехнике.
Правила форума
В этом форуме новые темы не создаются, однако обсуждение допустимо.
Vorral » 25 авг 2009, 13:38
У меня ощущение "де-жавю". По моему, это в улучшенном виде то, с чего началась эта тема.
Ну хорошо, что хоть кто то продвигает тему зрения.
Vorral » 26 авг 2009, 18:42
EDV, не хотите попробовать скрестить Optical-Flow(тем более есть уже опыт) и распознавание? Например проехал робот, то что двигалось единым массивом, взять в квадрат распознавалки?
К чему я это всё. Для того, чтобы была навигация, нужна карта местности. Если это заранее не подготовленная местность, эту карту нужно нарисовать. А это, как мне кажется, проще сделать не на основе распознавания.
EDV » 27 авг 2009, 09:11
Там в
Navigator_src.zip есть Navigator\include\OpticalFlow.h готовый алгоритма, основанный на AVM. Так что можно и так и эдак попробовать, было бы желание. Так что будем пробовать по всякому
=DeaD= » 27 авг 2009, 09:15
Эх, пора собирать обратно своего робота с камерой, вроде уже все основные компоненты для зрения готовы Добавлено спустя 30 секунд:2EDV: Будет возможность под Qt Creator скомпилировать библиотеки?
EDV » 27 авг 2009, 09:58
Ну конечно скомпилируем, не вопрос
Как я писал уже ранее, мне хотелось бы научить машину видеть. А мои последние эксперименты значительно добавили мне оптимизма. «Зрячую машину» вполне реально сделать и не где-нибудь в секретных лабораториях, а буквально у меня на кухне на коленках. Было бы желание...
Виталий » 27 авг 2009, 10:20
Тем более что то что вы хотите сделать уже сделано =)
=DeaD= » 27 авг 2009, 10:50
2Виталий: Что конкретно ты имеешь в виду?
Vorral » 27 авг 2009, 11:01
Ну ка скинь ссылку где робот едет по улице и ориентируется без маяков? Чтобы не разные картины в кадре раccматривали, а именно суровая местность, например с травой, деревьями, асфальтом и т.д.
Добавлено спустя 3 минуты 31 секунду:
EDV какая скорость обработки 2 соседних кадров с помощью вашей Optical-flow? Какой принцип(обобщённо, я не прошу деталей) в ней заложен?
=DeaD= » 27 авг 2009, 11:02
Ща скинет ссылку на туарег из Grand Challenge обвешанный SICK'овыми сканерами
Vorral » 27 авг 2009, 11:06
тогда появится дополнительный вопрос, где у этого "ёжика", конкретно пример работы, при одной камере.
Без дальномеров и стереозрения.
Виталий » 27 авг 2009, 11:16
2Виталий: Что конкретно ты имеешь в виду?
Я имею ввиду различные версии SLAM. Ведь именно это, на мой взгляд, у EDV сейчас получается.
По сути он изготовил просто другой Feature Detector.
Но в его алгоритме есть одна беда как мне кажется, но так как алгоритм закрыт, ничего точно сказать не могу.
=DeaD= » 27 авг 2009, 11:20
2Виталий: Да ничего у него пока не получается типа версии SLAM
как раз применить сюда SLAM я и предложил, а его метод, как ты верно подметил, использовать в качестве feature-detector. Вопрос только в том, что сейчас нет доступного программного модуля для навигации с использованием 1 камеры в неподготовленном пространстве. Как мне кажется, наличие такого модуля, а тем более интегрированного с системой распознавания образов дало бы сильный толчок любительской робототехнике.
Vorral » 27 авг 2009, 11:29
>Да ничего у него пока не получается типа версии SLAM
+1 Нет ни карты, не координат наблюдателя, относительно её.
>Как мне кажется, наличие такого модуля, а тем более интегрированного с системой распознавания образов дало бы сильный толчок любительской робототехнике.
+2 Абсолютно солидарен.
Добавлено спустя 4 минуты 23 секунды:
Тема действительно интересная, я тоже планирую вплотную заняться Optical-flow подобным методом.
Виталий » 27 авг 2009, 11:30
Да ничего у него пока не получается типа версии SLAM
Я уверен, что это только "пока". Надо просто прикрутить это к готовому SLAM коду.
Но что самое интересное, что для SLAM его метод не нужен, есть ведь и другие - открытые методы детектирования особенностей. =)
Или может EDV нам объяснит, чем же его метод лучше других? (Это не вопрос-противопоставление, мне действительно интересно).
EDV » 27 авг 2009, 11:34
Vorral писал(а):EDV какая скорость обработки 2 соседних кадров с помощью вашей Optical-flow? Какой принцип(обобщённо, я не прошу деталей) в ней заложен?
Алгоритм "Optical flow" на базе AVM описан (целиком, исходный текст открыт) в файле
Navigator\include\OpticalFlow.hПринцип прост: по заданной сетке с помощью AVM в память запоминаются фрагменты изображения на предыдущем кадре, а на следующем по той же сетке, ищется соответствие с сохранёнными в AVM фрагментами в заданной окрестности, и затем смещения по каждой области записываются в карту скоростей (mpDxVMap, mpDyVMap).
Скорость не оценивал, но на разрешении 320x240 будет ну очень быстро, особенно если в AVM количество уровней с 3-x (по умолчанию) до 2-x уменьшить.
- Код: Выделить всё • Развернуть
// Class constructor
CvOpticalFlow(CvSize aImgSize) {
mpAM = new CvAssociativeMemory32S;
...
int TreeTotal = mW*mH*cOF_Iterations;
mpAM->Create(cvSize(cOF_ApertureSize, cOF_ApertureSize), 2 /* <= тут был 0 */, TreeTotal, false);
...
}
Последний раз редактировалось
EDV 27 авг 2009, 11:56, всего редактировалось 2 раз(а).