roboforum.ru

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

Разработка RoboBrain: - модуль монокулярного зрения

Re: Разработка RoboBrain: - модуль монокулярного зрения

Виктор Казаринов » 13 ноя 2010, 22:10

Типа я совсем ни разу проекты не выполнял. В данном случае мне так удобнее. Заказчика то стоящего над душой и трясущего кошельком нет. Паять я вовсе не собираюсь немедленно ничего. Сначала помучаю в Keil подусунутые последовательности изображений. Это и даст мне возможность понять - стоит ли дальше что-то делать на МК или на ПК. Вот только матрицу МК не очень то сэмулируешь.

Re: Разработка RoboBrain: - модуль монокулярного зрения

=DeaD= » 13 ноя 2010, 22:16

Так заказчик не при чем :) ну в любом случае это было моё скромное ИМХО :pardon:

Re: Разработка RoboBrain: - модуль монокулярного зрения

Виктор Казаринов » 23 сен 2011, 14:49

Сделал первую версию RoboBrain модуля - SuperTracker

Главное в ней - это объединение в одной программной среде механизмов обработки изображений с пом. OpenCV, машинки продукционных правил - язык ECLIPS и онтологической базы знаний, на основе которой можно производить обобщения и другие операции логического вывода.

Re: Разработка RoboBrain: - модуль монокулярного зрения

Angel71 » 23 сен 2011, 15:45

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

Re: Разработка RoboBrain: - модуль монокулярного зрения

Виктор Казаринов » 26 дек 2014, 19:54

Новое ТЗ модуля монокулярного зрения (ММЗ)
1. Назначение. Преобразование полученного цветного изображения наблюдаемой сцены в поток особым образом сжатых данных, описывающих сцену в красном, зеленом, синем и яркостном каналах.
2. Механическая конструкция:
2.1. Герметичный автономный модуль, включающий в себя:
2.1.1. Электронная плата микропроцессорного контроллера.
2.1.2. Оптический сенсор.
2.1.3. Электромеханические приводы фокусировки, диафрагмы, механической заслонки ("веко").
2.1.4. Регулируемый по яркости и спектральному составу светильник подсветки.
2.2. Внешний блок питания.
2.3. Компрессор с фильтром для создания избыточного атмосферного давления внутри корпуса ММЗ.
3. Канал связи: RS-422. Это четырехпроводный аналог обычного RS-232 с оптической развязкой. Это позволит существенно увеличить помехоустойчивость канала связи.
4. Входные сигналы:
4.1. Управление всеми приводами.
4.2. Управляющий сигнал обратной связи процессору обработки изображения.
5. Выходные сигналы:
5.1. Статус ММЗ.
5.2. Сжатые данные кадра изображения.
Прошу обратить внимание, что вся информация включая видео должна передаваться по довольно медленному каналу связи. Поэтому компрессия данных должна быть достаточно высокой для возможности работы системы в режиме реального времени.

Re: Разработка RoboBrain: - модуль монокулярного зрения

AndreiSk » 27 дек 2014, 16:12

1. может лучше фильтр по цвету? вдруг надо оранжевый только.
2. про блок вообще не очень понятно. Исхожу из предположения что надо что-то уже разработанное брать,
на основе готовых стандартов, типа GigEVision. Если это не под конкретного заказчика, то для
исследовательских целей достаточно камера+компьютер
3. про сжатие не понял, но к зрению имеет мало отношения. Обычно сжатие добавляет артефакты и свойственно недорогим решениям. А индустриальные камеры обычно без сжатия работают (шлют кадры как есть).

Re: Разработка RoboBrain: - модуль монокулярного зрения

Виктор Казаринов » 27 дек 2014, 18:57

AndreiSk писал(а):1. может лучше фильтр по цвету? вдруг надо оранжевый только.
Нет, я думаю, что нужна полноцветная обработка изображений, т.к. могут попадаться цветовые переходы, а иногда по яркостному каналу такого перехода видно не будет.
AndreiSk писал(а):2. про блок вообще не очень понятно. Исхожу из предположения что надо что-то уже разработанное брать,
на основе готовых стандартов, типа GigEVision. Если это не под конкретного заказчика, то для
исследовательских целей достаточно камера+компьютер
Так почему вы сами не берете готового робота, а собираете из частей? Можно частью рассматривать материнскую плату, можно микросхему или резистор. Так и с камерами. К моим требованиям не подходит большинство из бытовых камер, а разбирая некоторые промышленные, я также нахожу недостатки, которые хотелось бы устранить. Поэтому и берусь за разработку собственной камеры. но камера будет объединена с модулем первичной обработки изображений. Поэтому модуль монокулярного зрения - это нечто бОльшее, чем просто камера.
AndreiSk писал(а):3. про сжатие не понял, но к зрению имеет мало отношения. Обычно сжатие добавляет артефакты и свойственно недорогим решениям. А индустриальные камеры обычно без сжатия работают (шлют кадры как есть).
Сжатие - не самоцель. Сжимается изображение так, чтобы было в следующем модуле легко его использовать. Фактически - это первичная часть системы распознавания.

Re: Разработка RoboBrain: - модуль монокулярного зрения

AndreiSk » 27 дек 2014, 20:07

Виктор Казаринов писал(а):Так почему вы сами не берете готового робота, а собираете из частей? Можно частью рассматривать материнскую плату, можно микросхему или резистор. Так и с камерами...


Потому что то, что меня интересует, стоит в два дороже.
Обычно чем все заканчиваются? Постройкой компьютера на колесах.
А вот он, компьютер на колесах http://www.robotshop.com/en/robotics-4x ... amera.html
Стоит почти $3000, самому такой собрать - будет дешевле раза в два.
Если бы он стоил по себестоимости компонентов - купил бы без раздумй.
Я нынче исхожу из концепции, что если что-то продается, то лучше купить готовое.
Своя разработка выходит дороже. Есть готовые колеса - покупаем колеса, есть контроллеры - покупаем готовое.
Другое дело, что если сочетание нужных компонентов не продается. Тогда да, приходится компоновать
новое изделие из готовых компонентов.

Однако, по-прежнему считаю, что вы сделали ТЗ для какой-то супер-мега-отвертки, которая в итоге так и не появится :pardon: Вы бы лучше задачу сформулировали, было бы интереснее.

Re: Разработка RoboBrain: - модуль монокулярного зрения

Виктор Казаринов » 27 дек 2014, 21:57

AndreiSk писал(а):...то, что меня интересует, стоит в два дороже.
Я придерживаюсь аналогичных взглядов.
AndreiSk писал(а):Обычно чем все заканчиваются? Постройкой компьютера на колесах.
В данном случае робот будет стационарным. По крайней мере в версии A (Arm - рука).
AndreiSk писал(а):Я нынче исхожу из концепции, что если что-то продается, то лучше купить готовое.
Совершенно с вами согласен. И аналогично поступаю. Но, как и вы, исхожу из разумности соотношения стоимостей а также доступности и др. критериев. В данном случае повторю, что для суровых промышленных условий а также условий работы на открытом воздухе пока ничего подходящего не нашел в разумном диапазоне цен.
AndreiSk писал(а):Однако, по-прежнему считаю, что вы сделали ТЗ для какой-то супер-мега-отвертки, которая в итоге так и не появится :pardon: Вы бы лучше задачу сформулировали, было бы интереснее.
Задачу я сформулировал в теме :http://roboforum.ru/post317498.html#p317498
Прошу прощения за то, что не указал в ТЗ на модуль монокулярного зрения изменение в общей концепции проекта.

Re: Разработка RoboBrain: - модуль монокулярного зрения

Pavia » 27 дек 2014, 23:41

Новое ТЗ модуля монокулярного зрения (ММЗ)

Взгляд со стороны.
1. Назначение. Преобразование полученного цветного изображения наблюдаемой сцены в поток особым образом сжатых данных, описывающих сцену в красном, зеленом, синем и яркостном каналах.

Яркостный в смысле белый? А почему такой странный выбор? Я бы взял бы четвёртую компоненту инфракрасную.
2. Механическая конструкция:
2.1. Герметичный автономный модуль, включающий в себя:


2.1.3. Электромеханические приводы фокусировки, диафрагмы, механической заслонки ("веко").

Зачем это всё? Просто чем больше подвижных частей тем меньше надёжность системы.
И удорожание системы. Не говоря уже о том что это будет порядка 30 см в сборе!
Шторка зачем? У вас электросварка будет?
2.1.4. Регулируемый по яркости и спектральному составу светильник подсветки.

Лампочек 3-х разных типов хватит? Да и зачем регулировка?

2.2. Внешний блок питания.
2.3. Компрессор с фильтром для создания избыточного атмосферного давления внутри корпуса ММЗ.

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

3. Канал связи: RS-422. Это четырехпроводный аналог обычного RS-232 с оптической развязкой. Это позволит существенно увеличить помехоустойчивость канала связи.

Допустим. Хотя я бы рассмотрел что-то побыстрее FastEthernet. Да у него дополнительный уровень защиты есть.
От трансформатора высокого напряжения используемых к примеру в электросварки нужна серьёзная защита. Хотя специалисты говорят что решается грамотным заземлением.

5.2. Сжатые данные кадра изображения.
Прошу обратить внимание, что вся информация включая видео должна передаваться по довольно медленному каналу связи. Поэтому компрессия данных должна быть достаточно высокой для возможности работы системы в режиме реального времени.

Какое разрешение датчика? Частота съемки? Какая скорость линии связи? Какое сжатие допустимо по кадровое или меж кадровое?
Какие требования к фокусировке? На каком расстояние должны быть видны объекты, какой размер объектов?
Скорость века?
Размер апертуры диафрагмы? Скорость работы?
Масса изделия?
Цена которую вы готовы заплатить? А то ведь одно дело за 3 копейки и другое за 300 р.

Re: Разработка RoboBrain: - модуль монокулярного зрения

Виктор Казаринов » 28 дек 2014, 20:18

Pavia писал(а):Яркостный в смысле белый? А почему такой странный выбор? Я бы взял бы четвёртую компоненту инфракрасную.
Яркостный канал, он же Y вычисляется по стандартной формуле на основе R, G, B.
Pavia писал(а):Просто чем больше подвижных частей тем меньше надёжность системы.
Фокусировка, герметичный корпус, механическая заслонка ("веко") - все это весьма полезные вещи если роботу придется трудиться в запыленной среде.
Pavia писал(а):И удорожание системы. Не говоря уже о том что это будет порядка 30 см в сборе!
Давайте сначала разработаем, а потом будем судить о размерах и ценах
Pavia писал(а):Лампочек 3-х разных типов хватит? Да и зачем регулировка?
Хорошая подсветка никогда лишней не была.
Pavia писал(а):..но я думаю герметичный корпус пусть более прочный будет лучше чем с компрессором.
Компрессор нужен для создания избыточного внутреннго давления в камере. Это позволит выдувать случайно попавшую пыль через различные неплотности. Особенно это касается оптических поверхностей.
Pavia писал(а):...я бы рассмотрел что-то побыстрее FastEthernet. Да у него дополнительный уровень защиты есть.
Этот протокол точно мне не подойдет. Он расчитан на большие расстояния. У него немалые задержки несмотря на высокую скорость.

Re: Разработка RoboBrain: - модуль монокулярного зрения

Pavia » 28 дек 2014, 23:24

Взять любую IP камеру к примеру такую. http://www.dlink.ru/by/products/1433/1488_b.html
Засунуть в корпус, к примеру из фанеры. Паралон в качестве фильтра, вентилятор от компьютера.
Плата для упаковывания IP в RS-422, к примеру на Anduria или любом другом и управлением веком.


Этот протокол точно мне не подойдет. Он расчитан на большие расстояния. У него немалые задержки несмотря на высокую скорость.

1) 0.05-0.12 мс Это много? Требования к реальному времени не озвучивали. В какой гарантированный промежуток времени должна успевать укладываться запрос ответ?
2) В спутниковых сетях 125, 250 мс. В GSM 0.576 мс
3) И учтите что сжатие у вас займет времени. Для сильного сжатия нужно обрабатывать, буферезировать несколько кадров. К примеру 10-60 кадров. Что примерно будет соответствовать задержке 100-1000 мс.


Хорошая подсветка никогда лишней не была.
А почему требования, как у научного прибора?
Достаточно белых светодиодов.
Я понимаю в фотокамерах для борьбы с эффектом красных глаз вначале синяя подсветка включается потом красная, что в суме даёт белый цвет. И то решение спорное.

Трансфокатор вам нужен или нет? Я бы выкинул использовал цифровое увеличение.

Re: Разработка RoboBrain: - модуль монокулярного зрения

Виктор Казаринов » 29 дек 2014, 10:33

В топике http://roboforum.ru/post317595.html#p317595 я первым этапом указал работу по тестовым фотографиям вообще без камеры. Поэтому дискуссию про конструкцию собственно оптической части и интерфейсов для связи с основным модулем прошу перенести на более позднее время. Сейчас есть дела поважнее и более первоочередные. А именно - что в информационном плане будет делать зрительная система и вообще, как будет "соображать" робот.
Я предполагаю, что ММЗ (модуль монокулярного зрения) не должен заниматься никаким распознаванием сложных образов. Попытаюсь сформулировать его функции.
1. Автономные функции. Сюда входят автофокусировка, балансиовка яркости получаемого изображения и т.д.
2. Функции обработки изображения для передачи другим модулям.
ММЗ не должен выделять линий, окружностей, углов и т.д. Его задачей является представление в более простом виде переходов между пикселами поля зрения камеры. Причем выходное разрешение изображения будет существенно меньше исходного. Однако за счет задания положения поля внимания на исходном изображении и его размеров ММЗ будет передавать только самую необходимую информацию.
Отдельно нужно продумать возможность детектирования движения в поле камеры. Иначе может получиться ситуация, когда при малом поле внимания что-то важное может выпасть из наблюдения. Например, что-то угрожающее и опасное.

Re: Разработка RoboBrain: - модуль монокулярного зрения

Pavia » 30 дек 2014, 09:45

С датчика ПЗС идёт информация со скоростью порядка 0,5-3,2 ГБит/с.
1) Считаю надо обрабатывать весь поток.
Причем с параметрами FullHD 1920х1080 60 кадров/с 24 бит на пиксель.
Загнать такой поток в RS не предвидеться возможным. Либо мы теряем в возможности реагировать на движения человеков либо теряем в разрешающей способности не видим мелкие детали. Либо угол зрения становиться маленьким.
2) Полноценно такой поток можно обработать только на дорогой ПЛИС или на видеокарте или дорогом процессоре.
Для препроцесинга хватит небольшой вычислительной способности.
3) Интерфейс должен быть двунаправленным. Для выбора скорости, разрешения, увеличения, окна(ROI-регион интереса).
4) Если в датчик не входит процессорная обработка, то сделать её на ПЛИС.
5) ММЗ должен иметь выбор типа пикселя. Raw, RGB, HSV, LaB, Gray, B&W, Глубина.
6) ММЗ должен иметь выбор семейства сжатия: покадровое, межкадровое.
7) ММЗ должен иметь выбор кодека: без сжатия(bmp), LZMA(Gif), PNG(или текстурное), JPEG, JPEG2000, H.263
8.) Препроцессор: баланс белого, удаление цветового шума, увеличение динамического диапазона.
9) Детектор движения. Предлагаю изъять из ММЗ и перенести в центральную часть. Он требует большой вычислительной способности 1-120 GFlops и памяти более 128 Мбайт.


Rambler\'s Top100 Mail.ru counter