VIP STUDY сегодня – это учебный центр, репетиторы которого проводят консультации по написанию самостоятельных работ, таких как:
  • Дипломы
  • Курсовые
  • Рефераты
  • Отчеты по практике
  • Диссертации
Узнать цену

Техническое зрение в системе управления технологическими процессами в новом цехе электролиза меди ао «уралэлектромедь»

Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: W012722
Тема: Техническое зрение в системе управления технологическими процессами в новом цехе электролиза меди ао «уралэлектромедь»
Содержание
Министерство образования и науки Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего образования
«Уральский федеральный университет
имени первого Президента России Б.Н. Ельцина»


Институт  Радиоэлектроники и информационных технологий Кафедра  Школа профессионального и академического образования


ДОПУСТИТЬ К ЗАЩИТЕ ПЕРЕД ГЭК

РОП по направлению 27.04.04

______________
В.Г. Лисиенко
(подпись)
(Ф.И.О.)
«______»________________2018 г.



МАГИСТЕРСКАЯ ДИССЕРТАЦИЯ

Техническое зрение в системе управления технологическими процессами в новом цехе электролиза меди АО «Уралэлектромедь»






Научный руководитель:



________
к.ф.-м.н.
А.А. Старостин









Нормоконтролер:
В.В. Телицин
________







Студент группы  РИМ-261202 :
О.Ю. Терентьев
________


















Екатеринбург

2018

     ЗАДАНИЕ НА ВЫПОЛНЕНИЕ ВКР (ЗАДАНИЕ НА ПРОЕКТИРОВАНИЕ)

РЕФЕРАТ

     В данной работе рассмотрена автоматизированная система управления технологическими процессами в новом цехе электролиза меди АО «Уралэлектромедь» с применением технического зрения.

СОДЕРЖАНИЕ

     ПЕРЕЧЕНЬ ЛИСТОВ ГРАФИЧЕСКИХ (ДЕМОНСТРАЦИОННЫХ) МАТЕРИАЛОВ

     ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, СОКРАЩЕНИЙ, ЕДИНИЦ И ТЕРМИНОВ

Катод

Анод

Гост

диспаратность

     ВВЕДЕНИЕ, ГДЕ ДАЕТСЯ КРАТКАЯ ХАРАКТЕРИСТИКА СОСТОЯНИЯ РАЗРАБАТЫВАЕМОГО ВОПРОСА, ФОРМУЛИРУЕТСЯ АКТУАЛЬНО И НОВИЗНА РЕШАЕМОЙ ЗАДАЧИ

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

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

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

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

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

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

ОСНОВНАЯ ЧАСТЬ

     АО «Уралэлектромедь» - головное предприятие цветной металлургии в составе открытого акционерного общества «Уральская горно-металлургическая компания» (УГМК), расположенное в городе Верхняя Пышма Свердловской области России. Первые производственные мощности вступили в строй в 1934 году. В 1934—1975 годах именуется как «Пышминский медеэлектролитный завод», в 1975—1992 годах — Уральский комбинат по электролитическому рафинированию и обработке меди «Уралэлектромедь», с 1992 года — АО «Уралэлектромедь».

     АО «Уралэлектромедь» производит катодную медь, соответствующую марке М00к по Российскому ГОСТу и марке Cu-CATH-1 по Европейскому стандарту BS EN 1978:1998, реализуемую под брендами UMMC и UMMC II, зарегистрированными на лондонской бирже металлов.

     Предприятие производит катоды по безосновной технологии. Первая очередь безосновного отделения цеха электролиза меди была пущена в 2012
г. проектная мощность - 150 тыс. тонн катодной меди в год. Инвестиционная стоимость проекта составила 4,4 млрд рублей.

     По применяемой технологии, оснащенности оборудованием, механизации и автоматизации, условиям труда новый цех соответствует мировым стандартам. Безосновная технология позволила повысить основные технико-экономические показатели. Основной показатель – коэффициент использования тока - составляет 98%. Производительность труда увеличилась в два раза, выбросы испарений и аэрозолей в атмосферу уменьшились в 10 раз.

     Автоматизированы почти 90% рабочих операций. Система мониторинга текущих показаний приборов на всех технологических стадиях интегрирована в общую систему управления цехом из операторского пункта.

     В 2018 г. запустилась в работу вторую очередь цеха электролиза меди производительностью 160 тыс. тонн медных катодов в год. С ее запуском мощности по производству безосновных катодов возросли в два раза — до 320 тыс. тонн в год. По уровню инвестиций это один из крупнейших проектов промышленного сектора уральского региона – объем вложенных

средств	составил	порядка	4,3	млрд	рублей.

















































ПОДПИСЬ РИСУНКОВ

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

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

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















БИНОКУЛЯРНОЕ КОМПЬЮТЕРНОЕ ЗРЕНИЕ

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

     Однако машинное зрение позволяет решать множество задач, которые условно можно разделить на четыре группы (Рис.2):


Рис.1. Задачи машинного зрения




Распознавание положения

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

Измерение

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

Инспекция

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

Идентификация

     В задачах идентификации основное назначение видеокамеры - считывание различных кодов (штрих-кодов, 2D-кодов и т. п.) с целью их распознавания средствами камеры или системным контроллером, а также определение различных буквенно-цифровых обозначений. Кроме того, к задачам данной группы можно отнести системы, выполняющие задачи безопасности, такие как идентификация личности и техники, детекторы движения.

Стереопсис

Стереопсис (стерео-эффект) — ощущение протяжённости пространства

и рельефности, возникающие при наблюдении реальных объектов, рассматривании стереофотографий, стереоизображений и голограмм. Часто упоминается как «восприятие глубины».

     Несколько камер в системах используются для измерения глубины наблюдения. Эти системы называются стереосистемами, а наука, которая их развивает, — стереофотограмметрией. Безусловно, информацию о глубине можно получить за счет использования специальных, так называемых активных, датчиков (то есть одновременно излучающих и принимающих сигнал), например таких, как локатор. Однако на практике все оказывается намного сложнее. Такие устройства могут применяться для оценки глубины лишь на небольших дальностях ввиду того, что на больших расстояниях их сигнал обладает свойством рассеивания. В этом плане гораздо надежнее и проще использовать так называемые пассивные датчики, способные только принимать излучаемый сигнал. В частности, к таким датчикам относят видеокамеры. Важно подчеркнуть тот факт, что камеры в стереосистемах должны быть специальным образом ориентированы в пространстве, чтобы полученные кадры можно было поставить во взаимооднозначное соответствие и сформировать объемное представление об объекте. Примерно то же самое происходит у человека. Наши глаза воспринимают объекты под

разными углами, два независимых изображения анализируются мозгом, и в результате их сопоставления формируются образ предмета, его признаки и глубина изображения.

     Как известно, изображение видимое левым глазом слегка отличается от изображения, получаемого правым глазом. Благодаря чему наш мозг в состоянии восстановить «глубину» наблюдаемой сцены.

      В 1838 году, английский ученый Charles Wheatstone подробно объяснил природу 3х-мерного зрения. Если представить оптическую систему человека из двух глаз с более или менее параллельными оптическими осями (parallax),), то оказывается, что различие в изображениях (disparity) как раз определяется) как раз определяется глубиной. Если быть точнее, disparity) как раз определяется (или диспаратность) обратно пропорциональна глубине (расстоянию), т.е. например бесконечно удаленная точка будет проецироваться одинаково на обе сетчатки (disparity) как раз определяется =0), а близко-лежащая точка будет проецироваться в совсем разные места сетчаток (большой диспаратности). Это приблизительно показано на картинке.





Рис.2. Определение бинокулярного неравенства (далеко и близко)

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

     Естественно, там, где есть две камеры (стерео), для компьютера не сложно добавить еще двадцать две чтобы повысить качество восстановления глубины (как и делают многие 3-х мерные сканеры), однако любые мульти-камерные подходы можно рассматривать как набор из нескольких стереокамер, и обрабатывать их независимо. Более того, считается, что человеческий мозг прекрасно справляется с задачей восстановления глубины по двум картинкам, то и компьютерные программы (stereo-matching, dense depth estimation) должны восстанавливать глубину с вполне хорошим результатом.

     Бинокулярное зрение позволит очень легко выделять объекты почти на любом фоне вне зависимости от фактур их поверхности, наличия теней и прочих псевдопомех, очень актуальных при анализе монокулярного изображения и почти ничтожных при анализе 2 парных бинокулярных изображений одного и того же участка пространства. Возникает информационный массив, позволяющий присвоить каждой точке изображения 3 координаты. Непрерывность объекта будет основным критерием для выделения его "отдельности" на фоне чего бы то ни было.

В основах бинокулярного зрения лежат такие понятия как: а) проективная геометрия и однородные координаты;

     Где проективная геометрия, представляет собой раздел геометрии, изучающий проективные свойства фигур. В ней не используются понятия параллельности, перпендикулярности и равенства отрезков и углов и

предполагается, что любые две прямые на плоскости имеют общую точку. А однородные координаты – система координат, используемая в проективной геометрии.



















б) проективная камера (рис .3)






















Рис.3. Проективная камера




     Такая модель камеры, дает простое понятие того, как проецируются точки пространства на матрицу камеры. На рис. 3 – С ? центр проективной камеры, лежащий в системе координат XYZ, Х-точка пространства, которая проецируется в точку х на плоскость изображения, лежащую на матрице камеры в системе координат x),y) как раз определяетсяZ, Cp ? оптическая ось камеры.

в) система двух камер;

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

г) карта глубины;

     Карта глубины — это изображение, на котором для каждого пикселя храниться его расстояние до камеры. Такая карта может быть получена с помощью стереопар, или уже существующих на данный момент специальных камер глубины (kinect).

     Вычисление несоответствия изображений с использованием цифровых стереоизображений

     Различия между двумя стереоизображениями обычно вычисляются как сдвиг влево от функции изображения при просмотре в правильном изображении. Например, одна точка, которая появляется в координате x),(t) (измеренная в пикселях) в левом изображении, может присутствовать в координате x),(t – 3) на правом изображении. В этом случае несоответствие в этом месте в правом изображении будет 3 пикселя.

     Стерео изображения не всегда могут быть правильно выровнены. Например, набор камер может слегка отклоняться от уровня. Благодаря процессу, известному как исправление изображения, оба изображения поворачиваются для обеспечения различий только в горизонтальном направлении (т. е. нет разницы в координатах изображения y) как раз определяется). Это свойство, которое также может быть достигнуто путем точного выравнивания стереокамер до захвата изображения.

Компьютерный алгоритм

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

изображения для соответствия функций изображения. Общим подходом к этой проблеме является формирование меньшего паттерна изображения вокруг каждого пикселя в левом изображении. Эти патчи изображения сравниваются со всеми возможными несоответствиями в правильном изображении путем сравнения их соответствующих патчей изображения. Например, при несоответствии 1 патч в левом изображении будет сравниваться с патчем аналогичного размера справа, сдвинутым влево на один пиксель. Сравнение этих двух патчей может быть достигнуто путем достижения вычислительной меры для одного из следующих уравнений, которое сравнивает каждый из пикселей в патчах. Для всех следующих уравнений L и R относятся к левому и правому столбцам, тогда как r и c относятся к текущей строке и столбцу всех рассматриваемых изображений. «d» означает несоответствие правильного изображения.

Нормализованная корреляция: 


Сумма квадратов различий:


Сумма абсолютных различий:

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

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

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

     Алгоритм определения ориентации объекта в пространстве с помощью системы компьютерного зрения

Исходные данные:

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

     Пусть камеры имеют координаты С(сх; су), D(dх; dу). Далее определим углы между оптической осью и направлением на реперные точки (рис. 4):






















Рис.4. Определение значения углов




     Из рисунка (Рис. 4) получаем выражение для определения значения углов:

=arctg( 1/ ),

     где f – фокусное расстояние объектива камеры, – угол между оптической осью и направлением на реперную точку, 1 – координата реперной точки А(ах; ау) по оси X.

     Теперь, когда определили значения углов, обозначим их ?1, ?2, ?3, ?4 (рис.5).




















Рис.5. Модель системы видеокамер




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

Решаем задачу методом совмещения координат.


     Рис.6. Положение реперных точек в системе координат связанной с камерами



     Определим положение точек в системе координат связанной с камерами (рис. 6).

     Формулы, определяющие координаты реперных точек, будут соответствовать следующим выражениям (рис. 6):

? = 1?cos?1

? = 2?cos?2

? = 1?sin?1

? = 2?sin?2

     Решая систему уравнений находим координаты точки А в системе координат, связанной с системой камер:

Откуда получаем:

?= /(tg?1?tg?2)

?=	1?tg?

Аналогично для точки	?:

?= /(tg ?3?tg?4)

?=	1?tg?3

Совместим координату точки А и координату точки A? так, чтобы	= ?.

При этом начало координат переместим в точку D? с координатами:

=	?	?

=	?	?

Координаты точки В? в неподвижной системе координат будут:

2=	+

2=	+

     Для совмещения точки B с точкой B? необходимо повернуть систему на угол ? вокруг точки А, который будет являться искомым углом поворота системы видеокамер (рис. 7).

















Рис.7. Нахождение угла поворота системы




     ?=arсtg(( ? )/( ? )) - arсtg(( 2? 2)/( 2? 2)) – угол поворота системы.



     При повороте неподвижной системы координат вокруг точки А, середина отрезка ? ? с координатами (0; 2) совместится сточкой в неподвижной системе координат:

=	+(	?	)*cos??( /2+	?	)sin?

=	+(	?	)*sin??( 2+	?	)cos?

Координаты камер соответственно:

= ? /2?sin?

= + /2?cos?

= + /2?sin?

= ? /2?cos?.

Решение реализуется с помощью языка программирования С++.

#include 

#include 




using namespace std;




const double deg=M_PI/180;

void get_pozition(double a1,double a2,double a3,double a4, double ax),,double ay) как раз определяется,double bx),, double by) как раз определяется, double d,
double &x),,double &y) как раз определяется,double &tetta)

{

double ax),1=d/(tanl(a1)-tanl(a2));

double ay) как раз определяется1=ax),1*tanl(a1);

double bx),1=d/(tanl(a3)-tanl(a4));

double by) как раз определяется1=bx),1*tanl(a3);




double dx),=ax),-ax),1;

double dy) как раз определяется=ay) как раз определяется-ay) как раз определяется1;





double bx),2=bx),1+dx),;

double by) как раз определяется2=by) как раз определяется1+dy) как раз определяется;

double phi=atan2l(by) как раз определяется-ay) как раз определяется,bx),-ax),);


double phi2=atan2l(by) как раз определяется2-ay) как раз определяется,bx),2-ax),);


tetta=phi-phi2;




x),=ax),+(dx),-ax),)*cosl(tetta)-(d/2+dy) как раз определяется-ay) как раз определяется)*sinl(tetta);


y) как раз определяется=ay) как раз определяется+(dx),-ax),)*sinl(tetta)+(d/2+dy) как раз определяется-ay) как раз определяется)*cosl(tetta);



}

void gen_angles(double &a1,double &a2,double &a3,double &a4,




double ax),,double ay) как раз определяется,double bx),, double by) как раз определяется, double d,
double x),,double y) как раз определяется,double tetta)

{

double x),1=x),+d/2*sinl(tetta);

double y) как раз определяется1=y) как раз определяется-d/2*cosl(tetta);

double x),2=x),-d/2*sinl(tetta);

double y) как раз определяется2=y) как раз определяется+d/2*cosl(tetta);





a1=atan2l(ay) как раз определяется-y) как раз определяется1,ax),-x),1)-tetta;

a2=atan2l(ay) как раз определяется-y) как раз определяется2,ax),-x),2)-tetta;

a3=atan2l(by) как раз определяется-y) как раз определяется1,bx),-x),1)-tetta;

a4=atan2l(by) как раз определяется-y) как раз определяется2,bx),-x),2)-tetta;

}

int main()

{

double x),,y) как раз определяется,tetta;

double a1,a2,a3,a4;

double ax),=1,ay) как раз определяется=0,bx),=1,by) как раз определяется=1;


double x),0,y) как раз определяется0, tetta0, d=0.01 ;




gen_angles(a1,a2,a3,a4,ax),,ay) как раз определяется,bx),,by) как раз определяется,d,x),0,y) как раз определяется0,tetta0);





get_pozition(a1,a2,a3,a4,ax),,ay) как раз определяется,bx),,by) как раз определяется,d,x),,y) как раз определяется,tetta); cout << "x), = " << x), << endl; cout << "y) как раз определяется = " << y) как раз определяется << endl;

cout << "tetta = " << tetta/deg << endl; double dx),_max),=0,dy) как раз определяется_max),=0,dtetta_max),=0; for(tetta0=-40;tetta0<=40;tetta0+=5)

for(x),0=-5;x),0<=0;x),0+=1)

for(y) как раз определяется0=-5;y) как раз определяется0<=5;y) как раз определяется0+=1)


{

gen_angles(a1,a2,a3,a4,ax),,ay) как раз определяется,bx),,by) как раз определяется,d,x),0,y) как раз определяется0,tetta0*deg); get_pozition(a1,a2,a3,a4,ax),,ay) как раз определяется,bx),,by) как раз определяется,d,x),,y) как раз определяется,tetta); if (fabsl(x),)<1e-9) x),=0;
if (fabsl(y) как раз определяется)<1e-9) y) как раз определяется=0;

if (fabsl(tetta)<1e-9) tetta=0;

     out << x),0 << " " << y) как раз определяется0 << " " << tetta0 << " " << x), << " " << y) как раз определяется << " " << tetta/deg << endl;

if (fabsl(x),-x),0)>dx),_max),) dx),_max),=fabsl(x),-x),0); if (fabsl(y) как раз определяется-y) как раз определяется0)>dy) как раз определяется_max),) dy) как раз определяется_max),=fabsl(y) как раз определяется-y) как раз определяется0);
if (fabsl(tetta/deg-tetta0)>dtetta_max),) dtetta_max),=fabsl(tetta/deg-tetta0);

}

cout << "max), dx), = " << dx),_max), << endl;

cout << "max), dy) как раз определяется = " << dy) как раз определяется_max), << endl;

cout << "max), dtetta = " << dtetta_max), << endl;

return 0;

}

Эпиполярная геометрия

     Геометрические свойства, связывающие положения проекций точки трехмерного пространства на изображениях с обеих камер.






























Рис.8. Эпиполярная геометрия




Пусть имеются две камеры, как изображено на рисунке 8. C — центр

первой камеры, C' — центр второй камеры. Точка пространства X проецируется в x на плоскость изображения левой камеры и
в x' на плоскость изображения правой камеры. Прообразом точки x на изображении левой камеры является луч xX. Этот луч проецируется на плоскость второй камеры в прямую l', называемую эпиполярной линией. Образ точки X на плоскости изображения второй камеры обязательно лежит на эпиполярной линии l'.

     Таким образом, каждой точке x на изображении левой камеры соответствует эпиполярная линия l' на изображении правой камеры. При этом пара для x на изображении правой камеры может лежать только на соответствующей эпиполярной линии. Аналогично, каждой точке x' на правом изображении соответствует эпиполярная линия l на левом.

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

     Эпиполярная геометрия имеет очень простую запись в координатах. Пусть имеется пара откалиброванных камер, и пусть x — однородные координаты точки на изображении одной камеры, а x' — на изображении второй. Существует такая матрица F размера 3 ? 3, что пара точек x, x' является стереопарой тогда и только тогда, когда:


x'T F x = 0
Матрица F н

азывается

фундаментальной матрицей (fundamental matrix),). Ее ранг равен 2, она определена с точностью до ненулевого множителя и зависит только от матриц исходных камер P и P'.

     В случае, когда матрицы камер имеют вид P = K[I|0], P' = K'[R|t] фундаментальная матрица может быть вычислена по формуле:




где для вектора e обозначение [e]X вычисляется как








     С помощью фундаментальной матрицы вычисляются уравнения эпиполярных линий. Для точки x, вектор, задающий эпиполярную линию,
будет иметь вид l' = F x, а уравнение самой эпиполярной линии: l'T x' = 0. Аналогично для точки x', вектор, задающий эпиполярную линию, будет иметь вид l = FT x'.

     Помимо фундаментальной матрицы, существует еще такое понятие, как существенная матрица (essential matrix),): E = K'T F K. В случае, когда

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

Построение карты глубины

     Карта глубины (depth map) — это изображение, на котором для каждого пикселя, вместо цвета, хранится его расстояние до камеры. Карта глубины может быть получена с помощью специальной камеры глубины (например, сенсор Kinect является своего рода такой камерой), а также может быть построена по стереопаре изображений.

     Для каждой точки на одном изображении выполняется поиск парной ей точки на другом изображении. А по паре соответствующих точек можно выполнить триангуляцию и определить координаты их прообраза в трехмерном пространстве. Зная трехмерные координаты прообраза, глубина вычисляется, как расстояние до плоскости камеры.

     Триангуляция точек (triangulation). Определение трехмерных координаты точки по координатам ее проекций называется триангуляцией.

     Пусть имеются две откалиброванные камеры с матрицами P1 и P2. x),1 и x),2 — однородные координаты проекций некоторой точки пространства X. Тогда можно составить следующую систему уравнений:








     Для решения этой системы применяется следующий подход. Векторно умножаем первое уравнение на x),1, второе на x),2, избавляемся от линейно зависимых уравнений и приводим систему к виду A X = 0, где A имеет размер 4 ? 4. Далее можно либо исходить из того, что вектор X является

однородными координатами точки, положить его последнюю компоненту равной 1 и решать полученную систему из 3х уравнений с тремя неизвестными. Альтернативный способ — взять любое ненулевое решение системы A X = 0, например вычисленное, как сингулярный вектор, отвечающий наименьшему сингулярному числу матрицы A.

     Парную точку нужно искать на эпиполярной линии. Соответственно, для упрощения поиска, изображения выравним так, чтобы все эпиполярные линии были параллельны сторонам изображения (обычно горизонтальны). Более того, изображения выравним так, чтобы для точки с координатами (x),0,y) как раз определяется0) соответствующая ей эпиполярная линия задавалась уравнением x),=x),0, тогда для каждой точки соответствующую ей парную точку будем искать в той-же строчке на изображении со второй камеры. Такой процесс выравнивания изображений называют ректификацией (rectification). Пример ректифицированных изображений приведен на рисунке 9.

















     Рис.9. Пример ректифицированных картинок, и соответствующей им disparity) как раз определяется map



     После того как изображения ректифицированы, выполним поиск соответствующих пар точек. Самый простой способ проиллюстрирован на рисунке 10 и состоит в следующем. Для каждого пикселя левой картинки с координатами (x),0, y) как раз определяется0) выполняется поиск пикселя на правой картинке. При этом предполагается, что пиксель на правой картинке должен иметь координаты (x),0 — d, y) как раз определяется0), где d — величина называемая несоответствие/смещение (disparity) как раз определяется). Поиск соответствующего пикселя выполняется путем вычисления максимума функции отклика, в качестве которой может выступать, например, корреляция окрестностей пикселей. В результате получается карта смещений (disparity) как раз определяется map), пример которой приведен на рис. 9.



Рис.10. Вычисление карты глубины




     Собственно, значения глубины обратно пропорциональны величине смещения пикселей. Если использовать обозначения с левой половины рисунка 10, то зависимость между disparity) как раз определяется и глубиной можно выразить

следующим	способом:









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

Для данного случая x0 и x0-d – это горизонтальные позиции точек первой

и второй камеры, позволяющие показать, что глубина обратно пропорциональна различию (смещению) между этими представлениями, где
различие d = x0 – x0-d вычисляется. По законам геометрии можно рассчитать глубину Z:

(2) Z= d fT ???





     По формуле (2) видно, что глубина обратно пропорциональна d. Следовательно, когда d близко к 0, то малые различия приводят к большим различиям глубины. Когда d велико, то небольшие различия ненамного изменяют глубину.

     Для расчетов используется формула (2) и матрица перепроектирования Q, которая получается после калибровки изображения и содержит параметры:












     где cx, cy – координаты точки на главном луче левой камеры; f – фокусное расстояние; Т – расстояние между камерами по оси Х; cx’ – х-

координата на правом изображении левой точки (рис.10.). То есть элемент матрицы карты глубин Mi,j имеет значение, полученное по формуле:








где di,j - элемент матрицы карты смещения.




Программное обеспечение Open Source Computer Vision

     11 декабря 2001 года исследователи корпорации Intel объявили о выпуске исходных кодов программ для реализации стереоскопического компьютерного зрения, вошедших в библиотеку Open Source Computer Vision (OpenCV 2.1). Библиотека, написанная на языках высокого уровня С и С++, представляет собой инструментарий, который насчитывает более 500 функций обработки и анализа изображений для создания приложений компьютерного зрения, в том числе средств взаимодействия человека с компьютером.

     Функции нового кода стереоскопического зрения реализованы для OC Windows и Linux),, а для практической реализации потребуется всего один компьютер и две дешевые Web-камеры, которые подключаются к компьютеру по USB-интерфейсу. Программные коды позволяют осуществлять управление двумя камерами, синхронизацию кадров методом временной интерполяции, автоматический контроль как над внутренними (в том числе вносимыми искажениями), так и над внешними (над взаимным расположением камер в пространстве) параметрами камер. Реализовано эпиполярное совмещение двух изображений (математическое смещение точки наблюдения, соответствующее параллельному расположению лучей зрения обеих камер), а также два типа алгоритмов совмещения: быстрый (20 кадров/с) и медленный, но более точный (1-4 кадров/с).

Быстрый алгоритм обнаружения движущихся объектов

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









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







     где k1, k2, k3 — весовые коэффициенты; F(Bij, vij) — ошибка сопоставления блоков; G(vij, {V}) — отклонение вектора от соседей; H(Bij) — оценка наличия деталей в блоке изображения.

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





























1. Выполнить фильтрацию поля векторов по значению функции

доверия.

     2. Повторить N раз: а) выбрать случайным образом три вектора из поля векторов движения; б) вычислить параметры аффинного преобразования по тройке векторов; в) обновить гистограмму по каждому параметру аффинной модели глобального движения.

     3. При помощи алгоритма водораздела выделить пики гистограмм, лежащие выше порога T1.

     4. Из значений параметров, соответствующих пика.......................
Для получения полной версии работы нажмите на кнопку "Узнать цену"
Узнать цену Каталог работ

Похожие работы:

Отзывы

Спасибо большое за помощь. У Вас самые лучшие цены и высокое качество услуг.

Далее
Узнать цену Вашем городе
Выбор города
Принимаем к оплате
Информация
Онлайн-оплата услуг

Наша Компания принимает платежи через Сбербанк Онлайн и терминалы моментальной оплаты (Элекснет, ОСМП и любые другие). Пункт меню терминалов «Электронная коммерция» подпункты: Яндекс-Деньги, Киви, WebMoney. Это самый оперативный способ совершения платежей. Срок зачисления платежей от 5 до 15 минут.

Сотрудничество с компаниями-партнерами

Предлагаем сотрудничество агентствам.
Если Вы не справляетесь с потоком заявок, предлагаем часть из них передавать на аутсорсинг по оптовым ценам. Оперативность, качество и индивидуальный подход гарантируются.