Быстрый трекинг ик светодиодов

Обсуждаем рождающиеся мысли и результаты экспериментов.

Re: Быстрый трекинг ик светодиодов

Сообщение AndreiSk » 26 янв 2010, 21:51

1. по поводу алгоритма с "облаками" как считаете потянет на 50 fps?
(алгоритм выше)

Может.. пробовать надо :)

2. Какие для сравнения алгоритмы по сложности у вас работали на каких скоростях.
например просто поиск максимума по кадру 160х120 сколько дает на вскидку?

Камера непрерывно фигачит через DMA в память.
Из моего кода:
move_image((unsigned char *)DMA_BUF1, (unsigned char *)DMA_BUF2, // grab new frame
(unsigned char *)FRAME_BUF, imgWidth, imgHeight);
Захват кадра 160x120: 3ms, поиск мин и макс Y=1ms
320x240: 11-12ms, поиск мин и макс Y=5ms
Y=Brightness
Поиск и работа с кадром:
Код: Выделить всё
for(yy = 0; yy < imgHeight; yy++) {
            for(xx = 0; xx < imgWidth; xx += 2) {
               y1 = frameBuffer[idxFrame + 1];   // Pixel 1
               y2 = frameBuffer[idxFrame + 3];   // Pixel 2
               idxFrame += 4;
               if (y1 < minY) minY = y1;
               if (y2 < minY) minY = y2;
               if (y1 > maxY) maxY = y1;
               if (y2 > maxY) maxY = y2;
            }
         }


<<<<С Blackfin камеры можно взять:
160x120=60fps>>>>
т.е. он 1/60 сек читает данные с видеоматрицы?
или матрица "готовит" эти данные столько?
как построен процесс работы с кадром?

Матрица 60 раз пишет в память сама по себе.
Быстрее сенсор не может (по даташиту на OV7725).

___как я понимаю в контролере крутится бесконечный цикл с проверкой переменной выхода.
___в цикле вызывается функция копирования данных из камеры в паять(или обращение напрямую к памяти камеры)
__так ли это?

Да так и есть. Надо делать копию и работать с ней (см.выше).
Можно наверное напрямую из памяти которая отведена под DMA, но я не пробовал.

расскажите пожалуйста о процессе работы контролера в Blackfin.

Стартовая точка
main() {
// тут код на C
}

Самое важное забыл спросить!
С какой скоростью может Blackfin общаться с компьютером по com-порту в процессе работы? (не станет ли это узким местом)

максимально возможно было 1500000 бит/сек (с ошибками).
921600 bps без ошибок.
через свой FIFO SYNC достигалось 4.5мбайт/сек (с ошибками). 1.3мбайт/сек (без ошибок).
Видеопоток для 160*120*2*60=38400*60=40*60=2.4мбайт/сек (2 байта на пиксель).
Вообще передавать изображение как есть смысла нету, гораздо удобнее его предварительно обработать.
Из сложных я делал выделение границ для 320x240, занимало около 0.3сек.
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Про алгоритм

Сообщение Michael_K » 26 янв 2010, 22:05

Севостьянов Петр писал(а):Про алгоритм

Имхо, успеет.
120*160 = 20000 пикселей * 60 Гц = 1.2 мегапикселей в секунду.
Это 400 тактов на пиксель. И прога и данные явно с запасом лезут в кэш.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Быстрый трекинг ик светодиодов

Сообщение Севостьянов Петр » 27 янв 2010, 21:55

Огромное спасибо за ответы!
Решил купить эту штуку. Скорее всего действительно получится то, что нужно.
В связи с этим вопрос:
Где можно купить? (Или заказать)
+ Не продает ли кто б/у (Москва, Воронеж) (очень не хочется ждать доставку)

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

+Возможно ли манипулировать с захватом изображения, например сделать так, чтоб камера снимала только часть кадра, или только красный канал?
Севостьянов Петр
 
Сообщения: 12
Зарегистрирован: 26 янв 2010, 17:12
Откуда: Воронеж
Skype: sevostianov_petr
прог. языки: Delphi HLSL

Re: Быстрый трекинг ик светодиодов

Сообщение AndreiSk » 28 янв 2010, 12:44

Вы про штуку имеете в виду Surveyor Blackfin или что то еще?
Если Blackfin, то есть сайт surveyor.com, форум, магазин.
Насчет б.у. не знаю, свои не продаю :crazy:
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Быстрый трекинг ик светодиодов

Сообщение Севостьянов Петр » 28 янв 2010, 21:14

На surveyor.com говорят что в Россию не пришлют т.к. какие-то трудности с таможней у них были.
А вы свой Blackfin как заполучили?
Севостьянов Петр
 
Сообщения: 12
Зарегистрирован: 26 янв 2010, 17:12
Откуда: Воронеж
Skype: sevostianov_petr
прог. языки: Delphi HLSL

Re: Быстрый трекинг ик светодиодов

Сообщение AndreiSk » 28 янв 2010, 23:02

Окольными путями, люди по моей работе из сша привезли, но уже не возят :crazy:
В общем туго с этим у нас. Попробуйте с вебкамерой тогда...
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: Быстрый трекинг ик светодиодов

Сообщение MiBBiM » 31 янв 2010, 18:33

на правах оффтопа:
1) какие есть яркие и очень яркие доставабельные ик светодиоды?
2) на веб-камере замерил (640*480, средний фпс 25,8 кадров = 0,039 сек), задержки есть, но не по пять кадров:
Код: Выделить всё
// время на захват одного кадра, сек
0.047
0.032
0.031
0.031
0.047
0.079
0.047
0.031
0.031
0.032
0.032
0.031
0.031
0.031
0.047
0.032
0.031
0.047
0.078
0.032
0.031
0.047
0.031
0.032
0.032
0.031
0.031
0.031
0.031
0.062
0.078
0.031
0.032
0.032
0.031
0.031
0.047
0.032
0.032
0.031
0.031
0.031
0.047
0.094
0.031
0.031
0.032
0.032
0.031
0.031
0.031
0.047
0.032
0.031
0.047
0.078
0.032
0.031
0.047
0.031
0.032
0.032
0.031
0.031
0.031
0.031
0.062
0.078
0.031
0.032
0.032
0.031
0.031
0.047
0.032
0.032
0.031
0.031
0.047
0.079
0.047
0.031
0.031
0.032
0.032
0.031
0.031
0.031
0.047
0.032
0.031
0.047
0.078
0.032
0.031
0.047
0.031
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Все получилось.

Сообщение Севостьянов Петр » 25 дек 2010, 22:04

Задача, для которой я открывал эту ветку успешно решена!
Пришло время рассказать о результатах:
Трекинг светодиодов был нужен для системы позиционирования пользователя.

Вот что получилось:

Система отображения трехмерных объектов NettleBox.

В результате сошлись на применении LeanXcam http://leanxcam.origo.ethz.ch/
Весьма неплохая вещь. Для задачи распознавания светодиодов на очках удалось получить плавающую скорость от 60(в режиме поиска) до 400(в режиме слежения) "кадров" в секунду. Под кадром я имею в виду отправку пачки координат найденных на кадре точек. Координаты вычисляются с субпиксельной точностью (как центр "тяжести" пятна светодиода), что позволяет стабильно отслеживать перемещения до 1/10 пикселя.

Про камеру:
Очень порадовал "Быстрый старт". В комплекте с камерой идет диск с полностью настроенной виртуалкой.
Связь с компьютером через 100Mbit Ethernet. Для отправки координат предостаточно. Но картинку можно протолкнуть только 20 fps.
Есть порты общего назначения 2 входа, 2 выхода, развязанные оптопарами.
По производительности позволяет трансформировать картинку по карте выборок (для каждого пикселя конечного изображения 512х256 задается несколько пикселей исходного изображения(752х480) с весовыми коэфф.) и отправить в компьютер со скоростью 40fps. Т.е. такой производительности хватает на даунсемплинг + корректировку аберраций + тоновую корректировку + отправку, что не может не радовать.
Севостьянов Петр
 
Сообщения: 12
Зарегистрирован: 26 янв 2010, 17:12
Откуда: Воронеж
Skype: sevostianov_petr
прог. языки: Delphi HLSL

Re: Быстрый трекинг ик светодиодов

Сообщение Michael_K » 25 дек 2010, 22:57

Впечатляет :good:
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Быстрый трекинг ик светодиодов

Сообщение =DeaD= » 25 дек 2010, 23:36

Отличный результат! :Bravo:
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Быстрый трекинг ик светодиодов

Сообщение Виталий » 26 дек 2010, 01:20

Это довольно старая фишка.
Если кто не видел, то она пошла в массы параллельно с WiiRemote.
http://www.youtube.com/watch?v=Jd3-eiid-Uw
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: Быстрый трекинг ик светодиодов

Сообщение =DeaD= » 26 дек 2010, 01:28

Видеть то видели, но тут как-то намного более реалистично получилось + движуха в ролике.
А там голая демонстрация кружочков, да еще и видно что на телеке - не воспринимается :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Быстрый трекинг ик светодиодов

Сообщение Pirate » 26 дек 2010, 02:15

ппц, моя мечта для просмотра футбола..
Если бы так (я так понимаю сверху проектор висит, хотя может и нет), над кухонным столом к примеру, выдать всем домашним кто футбол смотрит, по виртуальным очкам, в которые втроенны камеры, на столе метки, и все кто сидит вокруг стола, наблюдают на столе футбольное поле игроков мяч и т.д. Ну т.е. типа смотреть голографическое изображение футбольного матча на столе только не просто глазами, а через очки.
Но естественно это нужно чтобы на поле было немерено видеокамер которые бы создавали 3-д модели игроков, мяч, судей в реальном времени и передавало такой сигнал по вещанию, а все имеющие дома такой наборчик в виде проги и очков с камерой, могли бы смотреть на каком-то столе футбол.. А то дико раздражает что тупо не видно кто кому подножку поставил, кто где и как нарушил, камеры ведь не всегда снимают то что нужно, а потом еще и повтор смотреть..
Аватара пользователя
Pirate
 
Сообщения: 289
Зарегистрирован: 18 авг 2010, 23:35
Откуда: Одесса

Re: Быстрый трекинг ик светодиодов

Сообщение Севостьянов Петр » 26 дек 2010, 18:23

Виталий писал(а):Это довольно старая фишка.
Если кто не видел, то она пошла в массы параллельно с WiiRemote.
http://www.youtube.com/watch?v=Jd3-eiid-Uw


Этот принцип(построение картинки для определенного положения пользователя) действительно очень древний. Например некоторые комнаты виртуальной реальности действуют именно так. Странно, что стоят они как самолет. Первая моя попытка собрать такую штуку была лет шесть назад. Система трекинга была оптико-механическая со всякими вращающимися дисками и фото-датчиками, страшная получилась штука :)
А Джони Ли отдельный респект, кроме крайне наглядной презентации этого принципа у него множество интересных вещиц. Например стилус с обратной связью - очень перспективная идея. http://www.youtube.com/watch?v=Sk-ExWeA03Y&feature=related

За отзывы всем спасибо! Скоро следующий прототип выпускать будем, уже с 1080p и на плазме.
Севостьянов Петр
 
Сообщения: 12
Зарегистрирован: 26 янв 2010, 17:12
Откуда: Воронеж
Skype: sevostianov_petr
прог. языки: Delphi HLSL

Re: Быстрый трекинг ик светодиодов

Сообщение wiskas » 26 дек 2010, 19:25

зачет автору, очень понравилось)
wiskas
 
Сообщения: 36
Зарегистрирован: 26 сен 2010, 18:03
Откуда: Луганск, ЛНР

Пред.След.

Вернуться в Идеи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25