roboforum.ru

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

i-sobot: управление с компа

Re: i-sobot: управление с компа

VinsentAoki » 07 апр 2009, 15:35

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

Re: i-sobot: управление с компа

=DeaD= » 07 апр 2009, 16:28

HAAR-training вроде по текстурам - рожицы искать на фотках...

Re: i-sobot: управление с компа

VinsentAoki » 07 апр 2009, 17:07

HAAR-training из OpenCV мне, к сожелению, не подходит.

Re: i-sobot: управление с компа

VinsentAoki » 09 апр 2009, 12:37

После капания в инете и разбора имеющихся алгоритмов, пришел к тому, что готового алгоритма, подходящего мне, я не нашел. :cry: НО! Есть много алгоритмов, частично подходящих под мои цели. И повырывав оттуда кусков, понял: вроде бы что-то намечается...
Наконец-то разобрался с ЛПТ портом. Запустил джитаг программатор и осциллограф. Распаяю атмегу, напишу программу под контроллер робота, а идеи на счет зрения пусть пока собираются, укладываются и зреют.

Re: i-sobot: управление с компа

=DeaD= » 09 апр 2009, 13:20

VinsentAoki писал(а):После капания в инете и разбора имеющихся алгоритмов, пришел к тому, что готового алгоритма, подходящего мне, я не нашел. :cry:

Сформулируй цели что ли как-то поконкретней, тогда и ясно будет есть оно или нет :) Желательно в терминах не привязанных к конкретной задаче.

Re: i-sobot: управление с компа

VinsentAoki » 09 апр 2009, 18:35

Кратко и обо всём – в первом посте.

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

Re: i-sobot: управление с компа

=DeaD= » 09 апр 2009, 18:40

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

При этом рекомендуется снять паззл не цифровиком на 8-10мпикс полупрофессиональным, да еще и с пыхой, а той камерой которую вы собираетесь ставить на робота, ну например уменьшите формат изображения до 640х480 и сделайте его чуть с шумами :)

Re: i-sobot: управление с компа

VinsentAoki » 09 апр 2009, 18:49

Пробую... через час будут результаты.

Re: i-sobot: управление с компа

=DeaD= » 09 апр 2009, 19:12

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

Тогда разговор станет ваще предметным до невозможности :)

Re: i-sobot: управление с компа

VinsentAoki » 10 апр 2009, 00:05

наделал фоток 6 мегапикс. мыльницей без вспышки, дистанция - 50 см. Сжал до 640/480. результат. Изображение
Вообщем, только с дистанции 20 см. или меньше результат получается удовлетворительным. Так себе и представил, залез робот на коробку с картинкою, шаг - снимок, прелепил снимок к карте. Ещё шаг... И разглядывая деталь пазла, я понял!!! :Yahoo!: Всё это лишнее!!! На самой детали есть вся нужная информация! И представил я себе такую картину:
1) Залезает робот на картонку с пазлом, берет из коробки одну деталь пазла.
2) Снимает с максимально близкого расстояния( только чтобы деталь целиком была и фокус не поплыл) для максимального разрешения.( угол наклона - перпендик., дистанцию знаем - рука в помощь)))
3) На расплывчатом фоне находит деталь, и её границы.
4) В в базе данных Пазл_1 создаёт таблицу, присваивает элементу порядковый номер, записывает значения пикселей по краям детали. 5 индексов к таблице, т.к. 4 стыка с другими деталями(непонятно, как создавать индексы, может -что-то усреднённое) и 5 индекс для номера детали.Ну и пару колонок для координат 2х мерных( потребуются, когда складывать на картонке буду), ну и 4 колонки для номеров соседних деталей...
5)Кладет деталь в другую коробку и так далее, пока детали не кончатся.
6)Беру из таблицы первую строку, и , о радость, я скорее всего найду деталь с похожим краем! :P Ну, или максимально похожим.
Ну а далее можно догадаться...

Re: i-sobot: управление с компа

Duhas » 10 апр 2009, 04:00

после даже успешного составления таблицы переборов еще на пол года...

Re: i-sobot: управление с компа

=DeaD= » 10 апр 2009, 08:24

VinsentAoki писал(а):наделал фоток 6 мегапикс. мыльницей без вспышки, дистанция - 50 см. Сжал до 640/480. результат.

Нет уж, давай фотку где куча кусочков накиданы и попробуй сам дать какой-то совет по ним.

Добавлено спустя 1 минуту 42 секунды:
Duhas писал(а):после даже успешного составления таблицы переборов еще на пол года...

Если придётся в реале производить перебор, тогда легко. Особенно интересно будет понаблюдать за процессом "робот с 15-й попытки умудряется взять компонент паззла" :)

Re: i-sobot: управление с компа

EdGull » 10 апр 2009, 08:25

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

Re: i-sobot: управление с компа

VinsentAoki » 10 апр 2009, 11:22

Duhas писал(а):после даже успешного составления таблицы переборов еще на пол года...

считаем: 1000 деталей. Допустим, тысяча точек по краю. Тоесть, всего 1 миллион точек. Даже применяя перебор "в лоб" с 100ней весов к каждому сравнению(по 10 точек на вес), получим 500 000 сравнений 1000 точек. Допустим, алгоритм сравнения неоптимизирован и требует 100 операций на сравнение 2х точек. 1000 * 500 000 * 100 = 50 000 000 000 операций. Так, как частоты процов сейчас достигли 10ков гигагерц, делим и получаем... 50 секунд. Если чуть-чуть оптимизировать, например, при записи точек запоминать номера 2х точек максимально удаленных от центра и 2х максимально приближенных к центру... и сравнивать только по 250 точек с идентификационной точкой по центру... получим доли секунды.
=DeaD= писал(а):Нет уж, давай фотку, где куча кусочков накиданы и попробуй сам дать какой-то совет по ним.

Здесь DeaD прав, если мой робот взлетит на полметра и сфоткает общую картину камерой 640/480 на ней ничего не разобрать. Но, как я уже писал: "Вообщем, только с дистанции 20 см. или меньше результат получается удовлетворительным. Так себе и представил, залез робот на коробку с картинкою, шаг - снимок, прелепил снимок к карте. И т.д."
И, как я уже писал, это не нужная трата сил, пропеллеров, или реактивных двигателей :)
EdGull писал(а):ну взять лёгким вакуумом можно и с первой попытки, а вот осознано взять...

EdGull попал в точку. и с лёгким вакуумом, и поиском на поверхности пола коробки с элементами пазла. Но, вспомните себя маленького. Когда вы в первый раз жизни увидели пазл, вы сразу взялись его собирать, или кто-то вас учил, объяснял... Зная форму элемента пазла, ищем на фото кучу одинаковых по форме элементов, похожих на тот, который только что показали. Или Вы думаете, я что, делаю робота-телепата? Так для этого админы есть :D
И вообще, DeaD, конструктивная критика - хорошо, а конструктивные предложения - ещё лучше.

Re: i-sobot: управление с компа

=DeaD= » 10 апр 2009, 12:08

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

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


cron
Rambler\'s Top100 Mail.ru counter