СТЕРЕОСКОПИЧЕСКАЯ ИЗМЕРИТЕЛЬНАЯ СИСТЕМА И СПОСОБ
STEREOSCOPIC MEASUREMENT SYSTEM AND METHOD

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
[0001] Стереоскопическое изображение, или стереоскопия, используется для получения трехмерной информации об объекте на основе пары двумерных изображений этого объекта. В общем стереоскопическое изображение включает визуальное объединение по меньшей мере двух изображений объекта, видимых из немного различных точек обзора, для создания иллюзии трехмерной глубины. Путем получения этих двух стереоизображений с немного различных ракурсов могут быть более точно определены координаты положения требуемых измерительных точек, определенных на обоих изображениях.
[0002] Стереоскопическое изображение является основой для фотограмметрии, которая включает в себя изготовление стереограмм или пары стереоизображений объекта для определения геометрических свойств и/или измерительной информации. Фотограмметрия используется в различных областях, таких как производство, архитектурный надзор, охрана зданий и археология, для получения информации о размерах представляющего интерес объекта. При измерении расстояний между конкретными измерительными точками на требуемом объекте с использованием фотограмметрии обычно требуется, чтобы на обоих изображениях для получения точной измерительной информации были заданы одинаковые измерительные точки.
[0003] С появлением цифровых формирователей изображения были разработаны и применены в фотограмметрии компьютерные технологии обработки изображения. Однако увеличение разрешения цифровых формирователей изображения и прогресс в компьютерной обработке изображений не использовались эффективно для стереоскопического измерения. Более того, существует потребность в стереоскопической обрабатывающей системе, которая облегчает для пользователя задание одинаковых измерительных точек на стереоизображениях объекта для более точных измерений.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] Согласно одному из вариантов выполнения предложена измерительная система для измерения размеров объекта. Система содержит переносное устройство захвата изображений (захватное устройство) для захвата первого и второго изображений каждого из множества объектов и передачи первого и второго изображения. Система также содержит обрабатывающую систему, содержащую измерительное приложение, исполняемое обрабатывающей системой. Измерительное приложение содержит спаривающий модуль для хранения в памяти пары стереоизображения для каждого объекта из множества объектов. Пара стереоизображения содержит первое и второе изображения конкретного объекта, которые были захвачены одновременно. Измерительное приложение дополнительно содержит модуль пользовательского интерфейса (ПИ) для создания списка пар стереоизображений для отображения и для создания соответствующих первого и второго изображений пары, выбранной из списка пар стереоизображений, для отображения. Модуль ПИ дополнительно выполнен с возможностью приема первых пользовательских входных данных, задающих первую измерительную точку на соответствующем первом изображении, вторых пользовательских входных данных, задающих первую измерительную точку на соответствующем первом изображении, третьих пользовательских входных данных, задающих указанную первую измерительную точку вдоль вспомогательной линии выбора на соответствующем втором изображении, и четвертых пользовательских входных данных, задающих указанную первую измерительную точку вдоль другой вспомогательной линии выбора на соответствующем втором изображении. Измерительное приложение дополнительно содержит модуль выбора точки для определения диапазона точек на соответствующем втором изображении на основе указанной первой измерительной точки, заданной на соответствующем первом изображении, создания указанной вспомогательной линии выбора на соответствующем втором изображении на основе указанного диапазона точек, определения другого диапазона точек на соответствующем втором изображении на основе указанной первой измерительной точки, заданной на соответствующем первом изображении, и создания указанной другой вспомогательной линии выбора на соответствующем втором изображении на основе указанного другого диапазона точек. Измерительное приложение дополнительно содержит модуль стереоточки для определения первой стереоточки на основе указанной первой измерительной точки, заданной на соответствующих первом и втором изображениях, и определения второй стереоточки, на основе указанной первой измерительной точки, заданной на соответствующих первом и втором изображениях. Измерительное приложение также содержит модуль перекрестного измерения для вычисления расстояния между указанными первой стереоточкой и второй стереоточкой.
[0005] Согласно еще одному варианту выполнения, предложена измерительная система для измерения размеров объекта. Система содержит переносное захватное устройство для захвата стереоизображения каждого объекта. Каждое стереоизображение содержит первое и второе изображения конкретных объектов. Ручное захватное устройство для захвата изображения содержит первую камеру для захвата первого изображения объекта, вторую камеру для захвата второго изображения объекта и связной порт для передачи первого и второго изображений. Система также содержит обрабатывающую систему, содержащую измерительное приложение, исполняемое обрабатывающей системой. Измерительное приложение содержит модуль пользовательского интерфейса (ПИ) для создания соответствующего первого и второго изображений выбранного стереоизображения для отображения. Пользовательский интерфейс также выполнен с возможностью приема первых пользовательских входных данных, задающих первую измерительную точку на соответствующем первом изображении, вторых пользовательских входных данных, задающих первую измерительную точку на соответствующем первом изображении, третьих пользовательских входных данных, задающих первую измерительную точку на соответствующем втором изображении вдоль вспомогательной линии выбора, и четвертых пользовательских входных данных, задающие первую измерительную точку на соответствующем втором изображении вдоль другой вспомогательной линии выбора. Измерительное приложение также содержит модуль выбора точки для определения диапазона точек на соответствующем втором изображении на основе указанной первой измерительной точки, заданной на соответствующем первом изображении, создания указанной вспомогательной линии выбора на соответствующем втором изображении на основе указанного диапазона точек, определения другого диапазона точек на соответствующем втором изображении на основе указанной второй измерительной точки, заданной на соответствующем первом изображении, и создания указанной другой вспомогательной линии выбора на соответствующем втором изображении на основе указанного другого диапазона точек. Измерительное приложение дополнительно содержит модуль стереоточки для задания первой стереоточки, которая соответствует указанной первой измерительной точке, заданной на соответствующих первом и втором изображениях, и задания второй стереоточки, которая соответствует указанной второй измерительной точке, заданной на соответствующих первом и втором изображениях. Измерительное приложение также дополнительно содержит модуль перекрестного измерения для вычисления расстояния между первой стереоточкой и второй стереоточкой.
[0006] Согласно еще одному варианту выполнения, предложен способ измерения размеров объекта. Согласно предложенному способу, захватывают первое и второе изображения объектов захватным устройством для захвата изображения. Согласно предложенному способу, дополнительно передают первое и второе изображения из захватного устройства для захвата изображения в обрабатывающую систему. Согласно предложенному способу, дополнительно сохраняют первое и второе изображения конкретного объекта, которые были одновременно захвачены, в качестве пары стереоизображений в памяти обрабатывющей системы. Согласно предложенному способу, дополнительно создают список пар стереоизображения, сохраненных в памяти, для отображения. Согласно предложенному способу, дополнительно отображают соответствующие первое и второе изображения выбранной пары из списка пар стереоизображений. Согласно предложенному способу, дополнительно принимают первые пользовательские входные данные, задающие первую измерительную точку на соответствующем первом изображении, и принимают вторые пользовательские данные, задающие вторую измерительную точку на соответствующем первом изображении. Согласно предложенному способу, дополнительно определяют диапазон точек на соответствующем втором изображении на основе указанной первой измерительной точки, заданной на первом изображении, и другой диапазон точек на соответствующем втором изображении на основе указанной второй измерительной точки, заданной на первом изображении. Согласно предложенному способу, дополнительно создают первую вспомогательную линию выбора на соответствующем втором изображении на основе указанного диапазона точек и вторую вспомогательную линию выбора на соответствующем втором изображении на основе указанного другого диапазона точек. Согласно предложенному способу, дополнительно принимают третьи пользовательские входные данные, задающие указанную первую измерительную точку на втором изображении вдоль первой указанной вспомогательной линии выбора, и принимают четвертые пользовательские входные данные, задающие указанную вторую измерительную точку на втором изображении вдоль указанной второй вспомогательной линии выбора. Согласно предложенному способу, дополнительно определяют первую стереоточку на основе указанной первой измерительной точки и вторую стереоточку на основе указанной второй измерительной точки. Согласно предложенному способу, дополнительно вычисляют расстояние между первой стереоточкой и второй стереоточкой и отображают вычисленное расстояние.
[0007] Согласно еще одному варианту выполнения, предложен способ измерения размеров на основе стереоизображений объекта. Стереоизображение содержит первое и второе изображения. Согласно предложенному способу, захватывают стереоизображение переносным захватным устройством для захвата изображения. Переносное захватное устройство для захвата изображения содержит первую камеру, вторую камеру и связной порт. Согласно предложенному способу, дополнительно захватывают первое изображение объекта первой камерой. Согласно предложенному способу, дополнительно захватывают второе изображение объекта второй камерой. Согласно предложенному способу, дополнительно передают первое и второе изображения через связной порт. Согласно предложенному способу, дополнительно принимают первое и второе изображения в обрабатывающей системе и на их основе создают первое изображение и второе изображение для отображения. Согласно предложенному способу, дополнительно принимают первые пользовательские входные данные, задающие первую измерительную точку на первом изображении, и принимают вторые пользовательские входные данные, задающие вторую измерительную точку на первом изображении. Согласно предложенному способу, дополнительно определяют диапазон точек на втором изображении на основе указанной первой измерительной точки, заданной на первом изображении, и другой диапазон точек на втором изображении на основе указанной второй измерительной точки, заданной на первом изображении. Согласно предложенному способу, дополнительно создают вспомогательную линию выбора на втором изображении на основе указанного диапазона точек и другую вспомогательную линию выбора на втором изображении на основе указанного другого диапазона точек. Согласно предложенному способу, дополнительно принимают третьи пользовательские входные данные, задающие указанную первую измерительную точку на втором изображении вдоль указанной вспомогательной линии выбора, и принимают четвертые пользовательские входные данные, задающие указанную вторую измерительную точку на втором изображении вдоль указанной другой вспомогательной линии выбора. Согласно предложенному способу, дополнительно определяют первую стереоточку, которая соответствует указанной первой измерительной точке, и определяют вторую стереоточку, которая соответствует указанной второй измерительной точке. Согласно предложенному способу, дополнительно вычисляют расстояние между первой стереоточкой и второй стереоточкой.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0008] На фиг.1 показана блок-схема стереоскопической измерительной системы в соответствии с одним из вариантов выполнения настоящего изобретения.
[0009] На фиг.2А и 2В показаны перспективные виды захватного устройства для захвата стереоизображения согласно одному из вариантов выполнения стереоскопической измерительной системы.
[0010] На фиг.3А показана блок-схема стереоскопического измерительного приложения согласно одному из вариантов выполнения стереоскопической измерительной системы.
[0011] На фиг.3B-3D показаны поля обзора камеры, разделенные для автокалибровки камеры.
[0012] На фиг.3Е показано изображение транспортного средства с центральной отсчетной плоскостью между выбранными точками.
[0013] На фиг.3F показана геометрическая модель для определения симметрии между выбранными точками на изображении.
[0014] На фиг.4A-4F показаны экраны форм управления изображением.
[0015] На фиг.5А показана геометрическая модель преобразования для камеры с точечной диафрагмой.
[0016] На фиг.5В показана трехмерная модель системы координат для камеры с точечной диафрагмой.
[0017] На фиг.6А-6В показаны триангуляционные модели для определения положения точки в системе координат захватного устройства для захвата изображения.
[0018] На фиг.7A-7D проиллюстрированы процессы наложения для создания пары объединенного стереоизображения из двух пар стереоизображения.
[0019] На фиг.8 показана блок-схема, иллюстрирующая способ получения стереоизображения согласно одному из вариантов выполнения стереоскопической измерительной системы.
[0020] На фиг.9 показана блок-схема, иллюстрирующая способ измерения по точкам в паре стереоизображения согласно одному из вариантов выполнения стереоскопической измерительной системы.
[0021] На фиг.10 показана блок-схема, иллюстрирующая способ вычисления расстояния между заданными измерительными точками в паре стереоизображения, согласно одному из вариантов выполнения стереоскопической измерительной системы.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0022] Варианты выполнения стереоскопической измерительной системы и способа, описанного здесь, обеспечивают возможность создания пользователем стереоизображений объекта, задания точек на стереоизображениях объекта и выполнения точных измерений относительно указанных заданных точек. Одно из преимуществ системы состоит в обеспечении переносного захватного устройства, которое обеспечивает возможность захвата пользователем стереоизображений объектов, расположенных в удаленных местах. Переносное захватное устройство передает стереоизображения в обрабатывающую систему для отображения стереоизображений и выполнения точных измерений расстояний между заданными точками на стереоизображениях. Кроме того, система может быть использована в различных условиях и является более мобильной и эффективной в отношении затрат по сравнению с известными измерительными системами.
[0023] На фиг.1 показан пример выполнения стереоскопической измерительной системы 100. Стереоскопическая измерительная система 100 обеспечивает возможность захвата пользователем 102 стереоизображений объекта 104 посредством захватного устройства 106 для захвата стереоизображения. Захватное устройство 106 содержит левую камеру 108 и правую камеру 110. Левая камера 108 и правая камера 110 являются, например, цифровыми камерами с точечной диафрагмой, расположенными на противоположных концах рамы 112.
[0024] Монитор 114 расположен посредине между левой камерой 108 и правой камерой 110 на раме 112. Монитор 114 выполнен с возможностью отображения левого изображения 116, захваченного левой камерой 108, и правого изображения 118, захваченного правой камерой 110. Хотя на фиг.1 показан один монитор 114, предполагается, что для отображения левого изображения 116 и правого изображения 118 могут быть использованы отдельные мониторы, такие как показанные на фиг.2А и 2В.
[0025] На фиг.2А и 2В показаны варианты выполнения примера захватного устройства 106. В этом варианте выполнения захватное устройство 106 является переносным ручным устройством, содержащим основной стержень 202, который является достаточно жестким для ограничения изгиба. Например, основной стержень 202 может быть выполнен из легкого материала, такого как пластик, или другого подходящего материала.
[0026] Левый отсек 204 соединен с левым концом основного стержня 202, а правый отсек 206 соединен с правым концом основного стержня 202. Левый отсек 204 выполнен с возможностью размещения левой камеры 108, а правый отсек 206 выполнен с возможностью размещения правой камеры 110.
[0027] Корпус 208 расположен в центре основного стержня 202 и содержит источник питания (не показан) для питания левой и правой камер 108, 110. Например, согласно одному из вариантов выполнения, корпус 208 содержит аккумуляторный отсек (не показан), в котором размещена батарея. Согласно еще одному варианту выполнения, корпус 208 содержит электрические контакты (не показаны), выполненные с возможностью соединения с электрическим проводом, который соединен с розеткой электрической сети.
[0028] Согласно еще одному варианту выполнения, корпус 208 содержит левый монитор 210 и правый монитор 212. Левый монитор 210 и правый монитор 212 являются, например, жидкокристаллическими (ЖК) мониторами. Левый монитор 210 соединен с левой камерой 108 и отображает левое изображение 116. Правый монитор 212 соединен с правой камерой 110 и отображает правое изображение 118 объекта 104. Пользователь 102 манипулирует захватным устройством 106 для отображения левого и правого изображений 116, 118 заданной части объекта 104 посредством левого и правого мониторов 210, 212. Центральное расположение мониторов 210, 212 обеспечивает возможность удобного определения пользователем 102 общего поля обзора левой и правой камер 108, 110.
[0029] Левая рукоятка 214 расположена слева от корпуса 208, а правая рукоятка 216 расположена справа от корпуса 208. Предполагается, что рукоятки 214, 216 захватного устройства 106 могут быть расположены в различных положениях или местах. Пользователь 102 удерживает захватное устройство 106 за левую рукоятку 214 и правую рукоятку 216. Согласно одному из вариантов выполнения, левая рукоятка 214 содержит переключатель 218, который управляет электронными затворами левой камеры 108 и правой камеры 110. Переключатель 218 соединен с левой и правой камерами 108, 110 для обеспечения одновременного захвата соответствующих левого и правого изображений 116, 118. Например, если левый монитор 210 и правый монитор 212 (или одиночный монитор 114) отображают левое и правое изображения 116, 118 заданной области, то пользователь 102 приводит в действие или переключает из одного положения в другое переключатель 218 для захвата левого и правого изображений 116, 118.
[0030] Согласно одному из вариантов выполнения, левая камера 108 и правая камера 110 выполнены с возможностью передачи изображений и видеоданных в корпус 208 через кабели универсальной последовательной шины (USB). Например, левая камера 108 соединена кабелем USB со связным портом 220, а правая камера 110 соединена со связным портом 220 другим кабелем USB.
[0031] Согласно еще одному варианту выполнения, корпус 208 установлен на шарнире, так что его можно поворачивать независимо от левой камеры 108 и правой камеры 110. В результате пользователь 102 может видеть мониторы 210, 212 независимо от ориентации левой и правой камер 108, 110.
[0032] Согласно еще одному варианту выполнения, рядом с левой и правой камерами 108, 110 расположены лампы 222, 224. Назначение ламп 222, 224 состоит в освещении объекта 104 во время захвата левого и правого изображений 116, 118. В одном примере лампы 222, 224 выполнены с возможностью включения или вспышки во время переключения переключателя 218 из одного состояния в другое. В другом примере лампы 222, 224 выполнены с возможностью включения, когда отдельный переключатель (не показан) переключают из одного положения в другое.
[0033] Как показано на фиг.1, захватное устройство 106 выполнено с возможностью передачи левого изображения 116 и правого изображения 118 посредством проводной или беспроводной связи в обрабатывающую систему 120 для обработки. Согласно одному из вариантов выполнения, захватное устройство 106 выполнено с возможностью передачи изображений в обрабатывающую систему 120 беспроводным способом при приведении в действие пользователем 102 переключателя передачи (не показан) на захватном устройстве 106. В одном примере беспроводной передатчик 122 соединен с захватным устройством 106 через связной порт 220. Передатчик 122 передает сигнал 124, содержащий репрезентативные видеоданные левого и правого изображений 116, 118. Хотя передатчик 122 показан расположенным снаружи захватного устройства 106, предполагается, что передатчик 122 может быть встроен в захватное устройство 106.
[0034] Беспроводной приемник 126 соединен с обрабатывающей системой 120 и принимает сигнал 124 от передатчика 122. Передатчик 122 и соответствующий приемник 126 могут использовать линии связи в соответствии со стандартами Gigabit Ethernet, IEEE 802.11, сверхширокополосную линию связи (UWB) или беспроводную связь любого другого типа. В некоторых вариантах выполнения беспроводной передатчик 122 и беспроводной приемник 126 могут быть использованы при необходимости.
[0035] Согласно еще одному варианту выполнения, захватное устройство 106 передает левое изображение 116 и правое изображение 118 в обрабатывающую систему 120 посредством проводного соединения 128 при приведении в действие пользователем 102 переключателя передачи (не показан). В другом варианте реализации изобретения обрабатывающая система 120 автоматически загружает изображения из захватного устройства 106 при обнаружении проводного соединения 128 между захватным устройством 106 и обрабатывающей системой 120. Проводное соединение 128 может быть соединением USB, соединением типа FireWire или любым другим подходящим проводным соединением.
[0036] Обрабатывающая система 120 содержит стереоскопическое измерительное приложение (измерительное приложение) 130. Измерительное приложение 130 содержит исполняемые модули или команды, которые обеспечивают обработку видеоданных и отображение стереоизображений обрабатывающей системой 120 и получение точных измерительных данных для заданных точек на стереоизображениях. В одном из вариантов выполнения обрабатывающая система 120 является удаленным компьютером, таким как ноутбук или персональный компьютер (рабочая станция). В другом варианте выполнения обрабатывающая система 120 является серверным компьютером.
[0037] Пользовательский интерфейс (ПИ) 132 обеспечивает выбор пользователем 102 изображений и/или ввод команд обработки. Команды обработки содержат, например, команды на запуск приема видеоданных от захватного устройства 106 и/или команд на запуск анализа видеоданных. В одном примере ПИ 132 содержит дисплей 134, такой как компьютерный монитор, для просмотра видеоданных, и устройство 136 ввода данных, такое как клавиатура или указательное устройство (например мышь, шаровой указатель, стилус, сенсорная панель или другое устройство), для обеспечения взаимодействия пользователя 102 с видеоданными.
[0038] ПИ 132 выполнен с возможностью отображения по меньшей мере одной входной формы на дисплее 134. Входные формы обеспечивают возможность выбора видеоданных для просмотра и/или редактирования пользователем 102. Входные формы также обеспечивают возможность задания пользователем 102 точек на стереоизображениях и отображения измерительной информации для заданных точек.
[0039] Согласно одному из вариантов выполнения, обрабатывающая система 120 содержит память 138 для хранения данных стереоизображений, относящихся к конкретному объекту 104, включая обработанные и/или исходные видеоданные. Например, память 138 содержит по меньшей мере один файл 140, содержащий обработанные и/или необработанные видеоданные, относящиеся к объекту 104.
[0040] В одном из примеров работы стереоскопическая измерительная система 100 сравнивает заданные пользователем точки на стереоизображениях объекта 104 с известными отсчетными точками этого объекта. Путем сравнения заданных пользователем 102 точек на стереоизображениях объекта 104, такого как поврежденное транспортное средство, с соответствующими отсчетным точкам неповрежденного транспортного средства, измерительная система 100 определяет по меньшей мере одно расстояние между заданными точками и отсчетными точками для определения степени повреждения транспортного средства.
[0041] В еще одном примере работы стереоскопическая измерительная система 100 обнаруживает изменение в объекте 104, которое происходит с течением времени. Например, стереоскопическую измерительную систему 100 используют для вычисления текущего расстояния между двумя заданными пользователем точками на стереоизображениях внешней части строительной конструкции. Одна из заданных точек является, например, отсчетной точкой, такой как пикет высотной отметки, которая остается по существу постоянной в течение длительного времени. Другая заданная точка является, например, целевой точкой на внешней части здания строительной конструкции. После того как промежуток времени истек, стереоскопическую измерительную систему 100 используют для вычисления расстояния между той же отсчетной точкой и той же целевой точкой строительной конструкции. Соответственно, изменение в вычисленном расстоянии между отсчетной и целевой точками указывает, например, на сдвиг фундамента строительной конструкции и/или какое-либо другое произошедшее конструктивное отклонение.
[0042] Хотя стереоскопическую измерительную систему 100, описанную здесь, используют для получения измерительных данных о транспортных средствах и/или строительных конструкциях, предполагается, что система 100 может быть использована для измерения размеров любого объекта 104, стереоизображения которого могут быть захвачены.
[0043] В еще одном примере стереоскопическая измерительная система 100 может быть использована для каталогизации объемного изображения экспонатов или частной собственности, таких как ваза. Например, стереоскопическая измерительная система 100 может быть использована для захвата различных стереоскопических изображений вазы. При этом могут быть вычислены расстояния между выбранными точками на вазе во всех трех измерениях. Далее результаты этих измерений могут быть каталогизированы и впоследствии использованы для проверки подлинности вазы и/или изготовления точной копии вазы.
[0044] На фиг.3А показан пример стереоскопического измерительного приложения 302 (например измерительного приложения 130) согласно одному из вариантов выполнения измерительной системы 100. Измерительное приложение 302 содержит модули, которые обеспечивают возможность обработки обрабатывающей системой 120 видеоданных, создания стереоизображений и проведения точных измерений для заданных пользователем точек на созданном стереоизображений.
[0045] Модуль 304 сбора данных выполнен с возможностью приема видеоданных от захватного устройства 106. Например, когда проводное соединение 128 соединяет захватное устройство 106 с обрабатывающей системой 120, модуль 304 сбора данных обнаруживает проводное соединение 128 и принимает левое и правое изображения 116, 118 от захватного устройства 106. В еще одном примере, если левое и правое изображения 116, 118 переданы в обрабатывающую систему 120 через беспроводную связь, модуль 304 сбора данных обнаруживает беспроводную связь с захватным устройством 106 посредством приемника 126 и принимает левое и правое изображения 116, 118 от захватного устройства 106. Согласно одному из вариантов выполнения, левое и правое изображения 116, 118 изображений удаляют из левой и правой камер 108, 110 после передачи указанных изображений в обрабатывающую систему 120.
[0046] Согласно еще одному варианту выполнения, модуль 304 сбора данных выполнен с возможностью приема собственных данных 306 камер от левой и правой камер 108, 110 для хранения в памяти 138. Указанные здесь собственные данные камер относятся к геометрическим и оптическим характеристикам линз и камер, определенных в процессе калибровки камеры.
[0047] Калибровка камеры представляет собой процесс соотнесения идеальной модели камеры с фактическим физическим устройством и определение положения и ориентации камеры относительно мировой отсчетной системы. Стереоскопическая калибровка обычно включает процесс внутренней калибровки, или автокалибровки, и процесс внешней, или стереокалибровки. Как описано более подробно далее, стереокалибровка обычно включает определение взаимных положения и ориентации левой камеры 108 и правой камеры 110 относительно мировой отсчетной системы.
[0048] Цель автокалибровки состоит в определении собственных данных 306, таких как дисторсия объектива, фокусное расстояние и главная точка изображения для конкретной камеры. Собственные данные 306 определяют отдельно для левой и правой камер 108, 110. Согласно одному из вариантов выполнения, автокалибровку выполняют во время завершающих этапов процесса изготовления захватного устройства 106. Например, после сборки и проверки работоспособности захватного устройства 106 внутренние данные 306 определяют отдельно для левой камеры 108 и для правой камеры 110.
[0049] Согласно одному из вариантов выполнения, определенные собственные данные 306 для левой камеры 108 хранят в памяти левой камеры 108, а определенные собственные данные 306 для правой камеры 110 хранят в памяти правой камеры 110. В одном из вариантов выполнения определенные собственные данные 306 хранят в форме файлов XML в памяти каждой камеры. При определении собственных данных 306 каждой камеры недостатки точки на изображении могут быть эффективно нейтрализованы привязкой указанной точки к соответствующим координатам в системе координат камеры.
[0050] Согласно одному из вариантов выполнения, собственные данные 306 определяют для левой и правой камер 108 сначала путем захвата последовательных фотографий калибровочного изображения или калибра 342, такого как показанный на фиг.3B-3D. Согласно одному из вариантов выполнения, калибровочное изображение состоит из чередующихся черно-белых квадратов или прямоугольников, расположенных на плоскости наподобие шахматной доски. Последовательности фотографий выполняют для различных ориентации калибровочного изображения 342.
[0051] В одном из примеров поле обзора каждой камеры или пространство 344 обзора изображения разделено на девять секций (т.е. три ряда и три колонки). На фиг.3 В показано калибровочное изображение 342 в первой ориентации, расположенное в секции пространства 344 обзора изображения, которое соответствует верхнему ряду и левой колонке. Изображения калибровочного изображения 342 в первой ориентации захвачены в каждой из девяти секций каждой камерой. На фиг.3С показано калибровочное изображение 342 во второй ориентации (например повернутое примерно на сорок пять градусов). Изображения калибровочного изображения 342 во второй ориентации захвачены в каждой из девяти секций каждой камерой. На фиг.3D показано калибровочное изображение 342 в третьей ориентации (например с наклоном назад примерно на сорок пять градусов). Изображения калибровочного изображения 342 в третьей ориентации захвачены в каждой из девяти секций каждой камерой.
[0052] Размеры индивидуальных проверочных шаблонов известны. В результате могут быть определены собственные значения параметров камеры, таких как фокусное расстояние, дисторсия объектива и положение главной точки. Например, для определения углов каждого квадрата в шахматной доске и построения перспективных линий, соединяющих эти углы, используют технологии обработки изображения. Если перспективные линии являются не прямыми, а немного изогнутыми, то может быть выведена формула для их выпрямления и использования после устранения искажений изображения. В результате эта формула может быть использована для формирования таблицы преобразования мировых прямых линий в прямые линии изображения. В одном примере эта формула представляет собой ряд векторов, скалярные значения которых представляют собой дисторсию объектива и несовпадение центра оптической оси плоскости изображения, который называется главной точкой, с механической осью плоскости изображения. Два угла вдоль любого края квадрата в шахматной доске соответствуют пикселям, представляющим эти углы на плоскости изображения. Однородные векторы, направленные от датчика изображения, пересекаются в фокусе и проходят через углы квадрата, размеры которого известны. Фокусное расстояние определяют как высоту треугольника, сформированного этими двумя линиями, от плоскости изображения до плоского шаблона шахматной доски.
[0053] Согласно еще одному варианту выполнения, модуль 304 сбора данных выполнен с возможностью определения, были ли собственные данные 306, принятые от левой камеры 108 и правой камеры 110, обновлены перед их сохранением в памяти 138. Например, если собственные данные 306 хранят в форме файла XML, модуль 304 сбора данных сравнивает метаданные, такие как дата и время создания файлов XML, принятых от каждой камеры, с аналогичными метаданными файлов XML, ранее сохраненных в памяти 138. Если метаданные файлов XML, принятые от левой камеры 108 и правой камеры 110, указывают, что дата и время создания этих файлов XML являются более поздними по сравнению с файлами XML, предварительно сохраненными в памяти 138, то модуль 304 сбора данных заменяет предварительно сохраненные файлы XML более свежими файлами XML, принятыми от левой камеры 108 и правой камеры 110.
[0054] Согласно еще одному варианту выполнения, спаривающий модуль 308 спаривает левое изображение 116 и правое изображение 118 для создания пары 310 стереоизображения. Затем спаривающий модуль 308 сохраняет пару 310 стереоизображения и соответствущие данные 312 о хронологии загрузки в памяти 138. Данные 312 о хронологии загрузки содержат, например, время и дату, в которые видеоданные от левой и правой камер 108, 110, включенные в пару 310 стереоизображения, были переданы от захватного устройства 106 в обрабатывающую систему 120. Согласно еще одному варианту выполнения, данные 312 о хронологии загрузки содержат метаданные левой и правой камер 108, 110. Метаданные определяют, например, модель камеры, тип пленки и левую или правую камеры.
[0055] Обрабатывающий модуль 314 для обработки изображения обрабатывает пару 310 стереоизображения для определения, соответствуют ли левое и правое изображения 116, 118 изображению калибровочного изображения 342. Например, обрабатывающий модуль 314 использует алгоритм распознавания образов для обнаружения на стереоизображении известного геометрического шаблона калибровочного изображения 342. Если обрабатывающий модуль 314 определяет, что конкретная пара 310 стереоизображения содержит изображения, соответствующие калибровочному изображению 342, то выполняется модуль 316 стереокалибровки.
[0056] Модуль 316 стереокалибровки выполнен с возможностью определения данных 318 о стереокалибровке захватного устройства 106. Например, модуль 316 стереокалибровки определяет места расположения точечных диафрагм левой и правой камер 108, 110 относительно общего элемента на калибровочном шаблоне (например калибровочном изображении 342) для установки отсчетного начала координат для системы координат, которая соответствует захватному устройству 106. В другом варианте выполнения модуль 316 стереокалибровки определяет расстояние между центрами мест расположения диафрагм левой и правой камер 108, 110 и угловое расположение камер относительно захватного устройства 106. Определенные места расположения диафрагм левой и правой камер 108, 110, расстояние между ними и угловое положение левой и правой камер 108, 110 вместе составляют данные 318 о стереокалибровке. В одном из вариантов выполнения данные о стереокалибровке представляют собой матрицу, или так называемую главную матрицу, или фундаментальную матрицу, которая содержит как значения поступательного перемещения, так и значения поворота, описывающие данные 318 о стереокалибровке. Модуль 316 стереокалибровки сохраняет данные 318 о стереокалибровке в памяти 138. Данные 318 о стереокалибровке используют для триангуляции точного положения заданных пользователем точек в паре 310 стереоизображения.
[0057] Согласно одному из вариантов выполнения, стереокалибровку выполняют непосредственно перед захватом изображений конкретного объекта 104, информацию о размерах которого необходимо получить. Условия окружающей среды, такие как температура и влажность, могут влиять на форму захватного устройства 106 (например из-за сокращения и расширения материалов) и таким образом влиять на расположение камер 108, 110 относительно друг друга. При выполнении стереокалибровки перед захватом изображений заданного объекта 104 данные 318 о стереокалибровке могут быть определены на основе фактического расположения камер 108,110 относительно друг друга.
[0058] Согласно одному из вариантов выполнения, стереокалибровка включает в себя использование калибровочного изображения (например калибровочного изображения 342) для определения текущего положения левой и правой камер 108, 110 относительно друг друга. Например, захватное устройство 106 захватывает левое и правое изображения 116, 118 калибровочного изображения. Размер индивидуальных проверочных шаблонов на изображении, фокусное расстояние камер, главная точка и дисторсия объектива являются известными параметрами. В результате расстояние и/или угловое положение между левой и правой камерами могут быть определены путем применения технологии триангуляции к выбранным точкам на левом и правом изображениях. Триангуляция описана более подробно далее со ссылкой на фиг.6А и 6В.
[0059] Согласно еще одному варианту выполнения стереоскопической измерительной системы 100, обрабатывающий модуль 314 устанавливает соответствие между данными 318 о стереокалибровке и парой 310 стереоизображения на основе указанных данных 312 о хронологии загрузки. Например, пару 310 стереоизображения, дата и время передачи которой известны и следуют за датой и временем, соответствующими конкретной паре 310 стереоизображения, в которой было обнаружено калибровочное изображение 342, ставят в соответствие с данными 318 о стереокалибровке, определенными из этой конкретной пары 310 стереоизображения.
[0060] Модуль 320 пользовательского интерфейса (ПИ) выполнен с возможностью создания формы 322 управления изображением для отображения через ПИ 132. В одном примере модуль 320 ПИ принимает пару 310 стереоизображения из памяти 138 и обеспечивает возможность взаимодействия пользователя 102 с левым и правым изображениями 116, 118, включенными в пару 310 стереоизображения, посредством формы 322 управления изображением на дисплее 134. Форма 322 управления изображением содержит различные виды, которые обеспечивают возможность отображения видеоданных, взаимодействия пользователя с видеоданными и указания точек в паре 310 стереоизображения для измерения.
[0061] На фиг.4A-4D показаны различные экраны формы 322 управления изображением, отображенные на дисплее 134. В одном варианте выполнения пользователь 102 взаимодействует с формой 322 управления изображением, показанной на фиг.4А, с использованием устройства ввода данных (например устройства 136 ввода данных) для отображения готового проекта. Использованный в настоящем описании термин "проект" относится к файлу, который содержит по меньшей мере одну пару 310 стереоизображения. Например, пользователь 102 использует устройство 136 ввода для выбора элемента 402 управления открытым проектом на форме 322 управления изображением для отображения списка готовых проектов, таких как показанный на фиг.4В. После этого пользователь 102 выбирает конкретный проект из списка готовых проектов для открытия с использованием обычного способа открытия файлов.
[0062] Согласно еще одному варианту выполнения, пользователь 102 использует устройство 136 ввода для взаимодействия с формой 322 управления изображением для отображения списка пар 406 стереоизображений, включенных в выбранный проект. Например, пользователь 102 использует устройство 136 ввода для выбора элемента 404 управления изображениями проекта для отображения списка пар 406 стереоизображений, включенных в выбранный проект.
[0063] Согласно еще одному варианту выполнения, пользователь 102 использует устройство 136 ввода для взаимодействия с формой 322 управления изображением для удаления по меньшей мере одного стереоизображения из списка пар 406 стереоизображений, включенных в проект. Например, пользователь 102 использует устройство 136 ввода для активации или выбора элемента 408 управления окошком метки, относящимся к паре 310 стереоизображения. После этого пользователь 102 использует устройство 136 ввода для выбора, например, элемента 410 управления удалением для невосстановимого удаления выбранной пары 310 стереоизображения из памяти 138. В другом примере пользователь 102 использует устройство 136 ввода для выбора, например, элемента 412 управления удалением выбранной пары 310 стереоизображения из проекта, но не из памяти 138.
[0064] Согласно еще одному варианту выполнения, пользователь 102 взаимодействует с формой 322 управления изображением для добавления по меньшей мере одной новой пары стереоизображений к готовому проекту. Например, пользователь 102 использует устройство 136 ввода для выбора вкладки 414 новых изображений, таких как показаны на фиг.4С, для отображения списка новых пар 416 стереоизображения. В одном из примеров пользователь 102 выбирает пару 310 стереоизображения из списка новых пар 416 стереоизображения с использованием устройства 136 ввода для активации или выбора флажка 418, относящегося к требуемой новой паре 310 стереоизображения. После этого пользователь 102 использует устройство 136 ввода для выбора, например, элемента 420 управления добавлением для добавления выбранной пары 310 стереоизображения к готовому проекту.
[0065] Согласно еще одному варианту выполнения, пользователь 102 взаимодействует с формой 322 управления изображением, такой как показана на фиг.4С, для создания нового проекта. Например, пользователь 102 использует устройство 136 ввода для выбора элемента 422 управления новым проектом на форме 322 управления изображением для отображения списка новых пар 416 стереоизображения. Затем пользователь 102 использует устройство 136 ввода для выбора по меньшей мере одной пары 310 стереоизображения из списка новых пар 416 стереоизображения для ее включения в новый проект. Например, пользователь 102 использует устройство 136 ввода для активации или выбора флажка 418, относящегося к требуемой новой паре 310 стереоизображения. После этого пользователь 102 использует устройство 136 ввода для выбора элемента 420 управления добавлением для добавления выбранной пары 310 стереоизображения к новому проекту.
[0066] Согласно еще одному варианту выполнения, пользователь 102 взаимодействует с формой 322 управления изображением, такой как показанная на фиг.4С, для удаления по меньшей мере одной пары стереоизображения из списка новых пар 416 стереоизображения. Например, пользователь 102 использует устройство 136 ввода для активации или выбора флажка 418, относящегося к требуемой новой паре 310 стереоизображения. После этого пользователь 102 использует устройство 136 ввода для выбора, например, элемента 424 управления удалением для удаления выбранной пары 310 стереоизображения из списка новых стереоизображений 416.
[0067] Согласно еще одному варианту выполнения, пользователь 102 взаимодействует с формой 322 управления изображением для выбора конкретной пары 310 стереоизображения в конкретном проекте для просмотра. Например, пользователь 102 использует устройство 136 ввода для активации элемента 408 управления флажком (показанным на фиг.4А), относящимся к паре 310 стереоизображения, включенной в список стереоизображений 406 для готового проекта. В другом примере пользователь 102 использует устройство 136 ввода для активации флажка 418 (показанного на фиг.4С), относящегося к паре 310 стереоизображения, включенного в список новых стереоизображений 416 для нового проекта.
[0068] Модуль 320 ПИ создает выбранную пару 310 стереоизображения для отображения в левом окне 426 и в правом окне 428 формы 322 управления изображением в ответ на выбор пользователя. В частности, левое окно 426 изображения отображает левое изображение 116 пары 310 стереоизображения, а правое окно 428 отображает правое изображение 118 из пары 310 стереоизображения.
[0069] Согласно еще одному варианту выполнения, модуль 320 ПИ отображает левое изображение 116 или правое изображение 118 в активном окне 430 при выборе пользователем 102 левого окна 426 или правого окна 428. Например, пользователь 102 использует устройство 136 ввода для выбора левого окна 426 для отображения левого изображения 116 в активном окне 430 или выбора правого окна 428 для отображения правого изображения 118 в активном окне 430. Следует отметить, что пара 310 стереоизображения, показанная на фиг.4С, содержит левое и правое изображения 116,118 калибровочного изображения 342.
[0070] Согласно еще одному варианту выполнения, пользователь 102 взаимодействует с формой 322 управления изображением для задания по меньшей мере одной измерительной точки на изображении, отображенном в активном окне 430. Например, пользователь 102 выбирает левое окно 426 изображения либо правое окно 428 изображения для отображения соответственно левого изображения 116 или правого изображения 118 в активном окне 430. Затем пользователь 102 использует устройство 136 ввода для панорамирования и/или масштабирования изображения, отображенного в активном окне 430. В одном из примеров выбранное окно изображения (например левое окно 426 изображения или правое окно 428 изображения), которое соответствует изображению (например левому изображению 116 или правому изображению 118), отображенному в активном окне 430, содержит фокусный прямоугольник 434, такой как показанный на фиг.4Е. Фокусный прямоугольник 434 очерчивает часть изображения, видимого в активном окне 430. Пользователь 102 может панорамировать изображение в активном окне 430 с использованием линеек 436 прокрутки, относящихся к активному окну 430. В другом варианте реализации изобретения пользователь 102 панорамирует изображение в активном окне 430 перемещением фокусного прямоугольника 434, например, расположением курсора мыши на фокусном прямоугольнике 434, нажатием и удерживанием кнопки мыши с одновременным перемещением фокусного прямоугольника 434 в требуемое место.
[0071] После визуального определения расположения требуемой измерительной точки, пользователь 102 взаимодействует с изображением в активном окне 430 для выбора точки. В одном из примеров пользователь 102 размещает курсор мыши в требуемом месте и нажимает кнопку мыши для задания точки. В ответ на задание точки пользователем 102 модуль 320 ПИ отображает отметку 438 точности в месте на изображении, отображенном в активном окне 430, где пользователь задал точку.
[0072] Согласно еще одному варианту выполнения, пользователь 102 взаимодействует с изображением, отображенным в активном окне 430, для точной настройки положения заданной точки. Например, пользователь использует клавиши управления курсором клавиатуры для регулировки положения точки.
[0073] Для обеспечения точных измерений пользователь 102 должен задать одинаковые измерительные точки на левом изображении 116 и на правом изображении 118 пары стереоизображения. Таким образом, после обозначения требуемой точки на первом изображении (например левом изображении 116) пары 310 стереоизображения пользователь 102 выбирает другое окно изображения (например окно 428 правого изображения) для отображения второго изображения (например правого изображения 118) пары 310 стереоизображения в активном окне 430. Затем пользователь 102 задает ту же точку на втором изображении, отображенном в активном окне 430. В ответ на задание пользователем точки модуль 320 ПИ отображает другую отметку 440 точности в месте на втором изображении, отображенном в активном окне 430, где пользователь задал ту же точку. Иными словами, пользователь 102 выбирает общие точки на левом и правом изображениях 116, 118 пары 310 стереоизображения.
[0074] Как показано на фиг.3А, модуль 324 выбора точки выполнен с возможностью облегчения выбора пользователем 102 той же точки на правом изображении 118 с автоматическим определением диапазона точек на правом изображении 118, которые соответствуют точке, заданной пользователем 102 на левом изображении 116. Как описано выше, левая камера 108 и правая камера 110 являются, например, камерами с точечной диафрагмой.
[0075] На фиг.5А показана модель камеры с точечной диафрагмой. Оптическая ось 502 проходит в направлении обзора камеры. Все проекционные линии или однородные векторы изображения проходят через точечную диафрагму 504 камеры.
Плоскостью 506 изображения является плоскость, на которую конкретная точка (P1) 508 в трехмерной системе координат (X, Y, Z) проецируется через точечную диафрагму 504 камеры. Например, проекционный вектор 510 или линия отточки P1 508 пройдет через точечную диафрагму 504 к плоскости 506 изображения камеры в точку Р2 512. Расстояние между точечной диафрагмой 504 и плоскостью изображения 506 вдоль оптической оси 502 является фокусным расстоянием f камеры.
[0076] На фиг.5В показана трехмерная система координат для модели точечной диафрагмы, использованной в качестве основы для одиночной камеры и стереоскопической математики. Размещают точечную диафрагму 504 камеры (например левой камеры) в начале координат О системы координат и плоскости 506 изображения параллельно координатной плоскости системы координат. Отношение между объемными внешними координатами точки P1 508 и координатами на плоскости изображения (x, y) может быть выражено в следующем виде:
;
;
где f - фокусное расстояние объектива. Таким образом, однородный вектор 510 определяет точку на плоскости изображения камеры.
[0077] Как показано на фиг.3А, модуль 324 выбора точки задает диапазон возможных соответствующих точек на правом изображении 118 на основе указанной заданной точки на левом изображении 116. Согласно одному из вариантов выполнения, модуль 324 выбора точки использует последовательность точек, определенных однородным вектором (например проекционным вектором 510) на фиг.5В от заданной точки на левом изображении 116 наряду с собственными данными об автокалибровке и данными о стереокалибровке для левой камеры 108 и правой камеры 110 для задания диапазона возможных соответствующих точек на правом изображении 118. Как описано выше, собственные данные об автокалибровке содержат фокусные расстояния, главные точки и дисторсии объектива для левой камеры 108 и правой камеры 110, а данные о стереокалибровке включают относительное перемещение и поворот левой камеры 108 и правой камеры 110.
[0078] Согласно еще одному варианту выполнения, модуль 324 выбора точки создает линию 441 выбора, такую как показанная на фиг.4D, на правом изображении 118 при отображении в активном окне 430. Линия 441 выбора соответствует диапазону возможных точек на правом изображении 118, которые соответствуют точке, заданной на левом изображении 116.
[0079] Согласно еще одному варианту выполнения, модуль 324 выбора точки выполнен с возможностью автоматического определения точки на правом изображении 118, которая соответствует точке, заданной пользователем на левом изображении 116. Например, в дополнение к созданию линии 441 выбора на правом изображении 118, модуль 324 выбора точки использует алгоритм распознавания образов для определения точки вдоль линии 441 выбора, которая соответствует точке, заданной пользователем 102 на левом изображении 116. Например, модуль 324 выбора точки определяет значение каждого пикселя, соседнего с точкой, выбранной пользователем 102 напевом изображении 116.
[0080] Цифровые изображения состоят из пикселей, а каждый пиксель характеризуется значением, которое состоит из полутонового значения или цветового значения. В полутоновых изображениях значение пикселя представляет собой одну величину, которая характеризует яркость пикселя. Наиболее общим форматом описания пикселя является байт изображения, в котором значение пикселя представлено 8-разрядным целым числом, лежащим в диапазоне возможных значений от 0 до 255. Как правило, значение пикселя, равное нулю, используют для обозначения черного пикселя, а значение 255 используют для обозначения белого пикселя. Промежуточные значения описывают различные полутоновые оттенки. В цветных изображениях для описания каждого пикселя (расположенного в цветовом пространстве размерности RGB - красный, зеленый, синий) должны быть отдельно определены красная, зеленая и синяя компоненты. Иными словами, значение пикселя фактически представляет собой вектор, описанный тремя числами. Три различные компоненты могут быть сохранены как три отдельных полутоновых изображения, известные как цветовые плоскости (по одной для красного, зеленого и синего цветов), которые можно воссоединять при отображении или при обработке.
[0081] Затем модуль 324 выбора точки сравнивает определенные значения пикселей, соседних с точкой, выбранной пользователем на левом изображении 116, для определения конкретной точки, которая имеет соседние пиксели с идентичными значениями вдоль линии 441 выбора на правом изображении 118. Модуль 320 ПИ отображает другую отметку 440 точности в положении на правом изображении 118, которое соответствует той же точке, заданной на левом изображении 116.
[0082] Пользователь 102 повторяет процесс выбора точки для задания второй измерительной точки на правом и левом изображениях 116, 118. Например, пользователь 102 выбирает окно 426 левого изображения для отображения левого изображения 116 в активном окне 430 и затем использует устройство 136 ввода для выполнения операций панорамирования и/или масштабирования для определения положения требуемой второй измерительной точки на левом изображении 116. После визуального задания положения второй измерительной точки пользователь 102 использует устройство 136 ввода для задания положения второй точки на левом изображении 116, как описано выше применительно к первой измерительной точке. При задании пользователем второй точки модуль 320 ПИ отображает отметку 442 точности в заданном месте на левом изображении 116.
[0083] Затем пользователь 102 взаимодействует с формой 322 управления изображением для задания таких же вторых измерительных точек на правом изображении 118. Например, пользователь 102 выбирает окно 428 правого изображения для отображения правого изображения 118 в активном окне 430. Пользователь 102 использует устройство 136 ввода для задания положения таких же вторых измерительных точек на правом изображении 118.
[0084] В еще одном варианте реализации изобретения пользователь использует устройство 136 ввода для задания положения таких же вторых измерительных точек на правом изображении 118 вдоль другой линии выбора (не показана), созданной на правом изображении 118. Другая линия выбора создается модулем 324 выбора точки и соответствует диапазону возможных точек на правом изображении 118, которые соответствуют второй измерительной точке. В еще одном варианте выполнения пользователь 102 использует модуль 324 выбора точки для автоматического расположения той же второй измерительной точки на правом изображении 118. Модуль 320 ПИ отображает отметку 444 точности в месте на правом изображении 118, которое соответствует той же точке, заданной на левом изображении 116.
[0085] Модуль 326 стереоточек использует триангуляцию для определения стереоточки в виртуальной трехмерной системе координат захватного устройства 106 на основе указанных общих точек, заданных на левом изображении 116 и на правом изображении 118 пары 310 стереоизображения. Иными словами, стереоточка или положение заданной точки в трехмерном пространстве могут быть восстановлены из перспективных проекций этой точки на плоскости изображения левой и правой камер 108, 110, если известны относительное положение и ориентация этих двух камер. Стереоточка соответствует значениям координат x, y, z общей заданной точки на левом и правом изображениях 116, 118, определенных из триангуляции.
[0086] На фиг.6А показана эпиполярная модель триангуляции для определения положения точки P1 602 в системе координат захватного устройства 106. Левая камера 108 и правая камера 110 являются камерами с точечной диафрагмой и имеют параллельные оптические оси. Для упрощения иллюстрации можно допустить, что левая камера 108 и правая камера 110 имеют одинаковое фокусное расстояние F 604. Кроме того, можно допустить, что центр левой камеры 108 расположен в X1 606 вдоль оси X, а центр правой камеры 110 расположен в X2 608 вдоль оси X. Расстояние (D) 610 между центрами объективов (т.е. центрами точечных диафрагм) равно разности между X1 606 и X2 608. В этом примере оптическая ось каждой камеры находится в плоскости XZ, а координатная плоскость параллельна плоскости изображения левой и правой камер 108, 110. Предполагается, что ось X является базисной линией, а исходная точка O начала системы координат (X, Y, Z) захватного устройства 106 расположена в центре объектива (например точечной диафрагмы) левой камеры 108. Трехмерные координаты точки Р1 602 могут быть определены по следующему алгоритму. Коэффициент масштабирования может быть задан как:
.
Затем эти координаты X, Y, Z могут быть определены следующим образом:
;
; и
.
[0087] На фиг.6В показана еще одна эпиполярная модель триангуляции для определения положения точки P1 602 в системе координат захватного устройства 106. Левая камера 108 и правая камера 110 являются камерами с точечной диафрагмой, оптические оси которых непараллельны друг другу и образуют угол сходимости относительно друг друга. Для упрощения иллюстрации предполагается, что левая камера 108 и правая камера 110 имеют одинаковое фокусное расстояние F 604. Расстояние между началами координат каждой камеры с точечной диафрагмой представлено вектором t смещения. Любой поворот, включая схождение оптических осей, может быть представлен матрицей R поворота. Преобразование левой и правой систем координат камер объединяет проекционные векторы, представляющие точку Р1, в одну общую систему координат. Одно такое преобразование представляет собой существенную матрицу Е, которая является результатом умножения кососимметричной матрицы вектора t, обозначенного позиционным номером 612, на матрицу R поворота, обозначенную позиционным номером 614. Теперь соотношение между проекционными векторами x1 и x2 в одномерной системе координат может быть выражено как:
.
Координаты (X, Y, Z) точки P1 могут быть получены из простой триангуляции этих проекционных векторов в объединенной системе координат.
[0088] Модуль 328 перекрестного измерения вычисляет расстояние по меньшей мере между двумя стереоточками, заданными модулем 326 стереоточек. В одном из примеров модуль 328 перекрестного измерения вычисляет расстояние по меньшей мере между двумя стереоточками при выборе пользователем элемента 446 управления измерением, такого как показанный на фиг.4Е. Модуль 320 ПИ отображает вычисленное расстояние в измерительной таблице 448.
[0089] Объединяющий модуль 330 выполнен с возможностью объединения или сшивки двух пар 310 стереоизображения в пару 332 объединенного стереоизображения. Пара 332 объединенного стереоизображения содержит две пары 310 стереоизображений, в которых имеется некоторое перекрытие между левыми и правым изображениями 116, 118, включенными в каждую из двух пар 310 стереоизображения. При объединении двух таких пар 310 стереоизображения измерения могут быть выполнены между первой точкой на левом и правом изображениях 116, 118 первой пары стереоизображения и второй точкой на левом и правом изображениях 116, 118 второй пары стереоизображения. В частности, измерение может быть осуществлено между не перекрывающимися частями правого и левого изображений 116, 118, включенных в две пары 310 стереоизображения.
[0090] Согласно одному из вариантов выполнения, пользователь 102 задает объединенные точки в каждой из двух пар 310 стереоизображений и накладывает две пары 310 стереоизображений на основе указанных объединенных точек для создания пары объединенного 332 стереоизображения. Например, пользователь использует способы выбора точек, описанные выше, для выбора трех одинаковых неколлинеарных и уникально определяемых отсчетных точек в обеих парах 310 стереоизображения. Объединяющий модуль 330 накладывает две пары 310 стереоизображения так, что эти три неколлинеарные и уникально определяемые отсчетные точки подходят для создания пары 332 объединенного стереоизображения при выборе пользователем 102 элемента 450 управления созданием объединенного изображения, как показано на фиг.4А. Пара 332 объединенного стереоизображения содержит объединенное левое изображение и объединенное правое изображение. Затем объединяющий модуль 330 сохраняет пару 332 объединенного стереоизображения в памяти 138.
[0091] На фиг.7А-7С показан процесс наложения для создания пары 332 объединенного стереоизображения на основе указанных двух стереоизображений транспортного средства 702. Хотя процесс наложения включает в себя объединение обоих левого и правого изображений двух пар стереоизображений, для упрощения иллюстрации процесс наложения описан на примере объединения одного левого изображения 116 из двух пар 310 стереоизображений. На фиг.7А показано первое левое изображение 704 из первой пары стереоизображения, которое соответствует передней части транспортного средства 702.
[0092] На фиг.7В показано второе левое изображение 706 из второй пары 310 стереоизображения, которое соответствует средней части транспортного средства 702. Как описано выше, пользователь 102 использует способы выбора точки, описанные выше, для выбора одинаковых трех неколлинеарных и уникально определяемых отсчетных точек в первом и во втором левых изображениях. В этом примере отсчетные точки 708, 710, 712 выбраны в первом и во втором левых изображениях 704, 706.
[0093] На фиг.7С показано наложение первого левого изображения 704 и второго левого изображения 706 пары с совмещением отсчетных точек 708, 710, 712 для создания объединенного левого изображения 714. Как показано на фиг.7D, первая измерительная точка 716 может быть выбрана в передней части транспортного средства 702, а вторая измерительная точка 718 может быть выбрана в средней части транспортного средства 702 объединенного левого изображения 714.
[0094] Схожим образом, тот же процесс наложения используют для создания объединенного правого изображения, основанного на первом правом изображении первой пары стереоизображения и втором правом изображении второй пары стереоизображения.
[0095] Согласно еще одному варианту выполнения, пользователь 102 взаимодействует с формой 322 управления изображением для добавления пары 332 объединенного стереоизображения к готовому проекту. Например, пользователь 102 использует устройство 136 ввода для выбора, например, элемента 420 управления добавлением (как показано на фиг.4С) для добавления пары 332 объединенного стереоизображения к готовому проекту.
[0096] Согласно еще одному варианту выполнения, пользователь 102 взаимодействует с формой 322 управления изображением для выбора пары 332 объединенного стереоизображения для отображения левых изображений и правых изображений 116, 118 из каждой пары 310 стереоизображения, включенных в пару 332 объединенного стереоизображения. В одном из примеров пользователь 102 выбирает пару 332 объединенного стереоизображения для просмотра с использованием устройства 136 ввода для активации или выбора окошка флажка (не показано), расположенного рядом с требуемой парой 332 объединенного стереоизображения. Модуль 320 ПИ отображает изображения левого и правого изображений 116, 118 каждого из стереоизображений в окнах 452-458 изображения при выборе пользователем пары 332 объединенного стереоизображения.
[0097] Согласно еще одному варианту выполнения, пользователь 102 использует устройство 136 ввода для выбора одного из окон 452-458 изображения для отображения соответствующего изображения в активном окне 430.
[0098] Как показано на фиг.3А, измерительное приложение 302 выполнено с возможностью приема информации из измерительной базы данных 334, которая содержит данные 336 о стереоточке для конкретных заданных точек по меньшей мере на одном объекте 104. В одном из примеров измерительная база данных 334 содержит данные 336 о стереоточке для заданных стереоточек или отсчетных стереоточек вдоль корпуса транспортного средства для заданного типа транспортного средства до повреждения корпуса.
[0099] Сравнением данных о стереоточке из измерительной базы данных 334 со стереоточками, созданными на основе заданных пользователем точек на стереоизображениях транспортного средства того же типа с поврежденным корпусом, может быть осуществлено точное определение степени повреждения транспортного средства. Например, расстояние между отсчетными стереоточками на неповрежденном транспортном средстве может быть сравнено с расстоянием между стереоточками, заданными на основе соответствующих заданных пользователем точек на стереоизображениях поврежденного транспортного средства. Для определения степени повреждения транспортного средства может быть измерено расстояние между отсчетной стереоточкой и одной или более заданными стереоточками.
[0100] В еще одном примере сравнением данных 336 о стереоточке из измерительной базы данных 334 со стереоточками, созданными на основе заданных пользователем точек на стереоизображениях неповрежденного транспортного средства, могут быть определены отклонения в корпусе неповрежденного транспортного средства. В результате измерительная система 100 может быть использована для проверки продукции, такой как транспортные средства, изготовленной в пределах заданных допусков. Хотя измерительная база данных 334 показана как внешняя часть обрабатывающей системы 120, предполагается, что измерительная база данных 334 может быть размещена непосредственно в обрабатывающей системе.
[0101] Модуль 338 симметрии выполнен с возможностью определения возможных отклонений от симметрии между выбранными на объекте точками. Согласно одному из вариантов выполнения, используя способы, описанные выше, пользователь 102 открывает новый проект или готовый проект, который содержит по меньшей мере две пары стереоизображений, которые показывают противоположные стороны объекта. Затем пользователь 102 использует способы выбора точки, описанные выше, для задания набора стереоточек на каждой противоположной стороне объекта 104.
[0102] Например, если объект 104 представляет собой транспортное средство, пользователь 102 выбирает набор точек (например первых и вторых точек) в первой паре 310 стереоизображения, содержащей левое и правое изображения 116, 118 пассажирской стороны транспортного средства. Затем пользователь 102 выбирает другой набор точек (например первых и вторых точек) во второй паре 310 стереоизображения, содержащей левое и правое изображения 116, 118 водительской стороны транспортного средства. Пользователь взаимодействует с формой 322 управления изображением для задания деталей точек для выбранного набора точек. Например, пользователь 102 использует устройство 136 ввода для выбора, например, элемента 462 управления деталями точки для отображения таблицы 464 деталей точки, такой как показанная на фиг.4F. Затем пользователь 102 задает один набор точек в качестве отсчетного набора с использованием устройства 136 ввода для активации расположенного рядом элемента 466 управления флажком.
[0103] Согласно одному из вариантов выполнения, модуль 338 симметрии выполнен с возможностью определения центральной отсчетной плоскости 350 на основе заданного отсчетного набора при выборе пользователем элемента 468 управления симметрией, как показано на фиг.4С. В одном из примеров на фиг.3Е показан вид сверху транспортного средства, имеющего первую точку 352 и вторую точку 354, выбранные на пассажирской стороне 356, соответствующую первую точку 358 и соответствующую вторую точку 360, выбранные на водительской стороне 362. Предполагается, что пользователь задает первую точку 352 и вторую точку 354, выбранные на пассажирской стороне 356, в качестве отсчетного набора, тогда модуль 338 симметрии определяет центральную отсчетную плоскость 350 между первой точкой 352 и второй точкой 354.
[0104] Согласно одному из вариантов выполнения, отклонения от симметрии определены и отображены как значения отклонения в форме управления изображением. В одном из примеров определенные значения отклонения отображены как два значения - одно для расстояния от центральной плоскости (Y) и одно для объединенных значений X и Z.
[0105] На фиг.3F показана геометрическая модель для определения симметрии между первым набором точек на первой стороне объекта и вторым набором точек на второй стороне. Для простоты иллюстрации геометрическая модель описана на примере, показанном на фиг.3Е. Вектор 362 определяют между первой и второй точками 352, 354 и определяют среднюю точку 364 вектора 362. Центральная отсчетная плоскость 350 определена как плоскость, которая проходит через среднюю точку 364 перпендикулярно вектору 362. Средняя точка 364 также определена в качестве начала координат X, Y, Z системы координат.
[0106] Определяют расстояние Х11 от первой точки 352 вдоль перпендикуляра до точки на отсчетной плоскости 350, и определяют расстояние Х12 от второй точки 354 вдоль перпендикуляра до точки на отсчетной плоскости 350. Определяют расстояние X21 от соответствующей первой точки 358 вдоль перпендикуляра до точки на отсчетной плоскости 350, и определяют расстояние X22 от соответствующей второй точки 360 вдоль перпендикуляра до точки на отсчетной плоскости 350. Соответствующие расстояния сравнивают для определения значения отклонения от симметрии. Например, расстояние X11 сравнивают с расстоянием X21. Согласно одному из вариантов выполнения, измерительное приложение 130 определяет разность между этими расстояниями как ошибку X отклонения. Если ни одна точка не является отсчетной точкой, измерительное приложение 130 делит ошибку Х отклонения. Если по меньшей мере одна точка является отсчетной точкой, измерительное приложение 130 привязывает ошибку Х отклонения к неотсчетной точке.
[0107] Согласно еще одному варианту выполнения, измерительное приложение 130 определяет точки, в которых первая точка 352 и вторая точка 354 проецируются на отсчетную плоскость 350, и определяет точки, в которых соответствующая первая точка 358 и вторая точка 360 проецируются на отсчетную плоскость 350. Измерительное приложение 130 определяет объединенную ошибку YZ первой и второй точек 352, 354 как функцию расстояния между проецируемыми точками с пассажирской стороны 356. Схожим образом, измерительное приложение 130 определяет объединенную ошибку YZ соответствующих первой и второй точек 358, 360 как функцию расстояния между проецируемыми точками с водительской стороны 362. Если ни одна точка не является отсчетной точкой, измерительное приложение 130 делит ошибку YZ. В противном случае, измерительное приложение 130 привязывает ошибку YZ к неотсчетной точке.
[0108] Согласно еще одному варианту выполнения, модуль 340 отчетов создает индивидуализированные отчеты. В одном из примеров отчеты включают результаты вычислений перекрестных измерений, основанных на заданных пользователем точках. Результаты могут быть отображены в табличном виде в форме 334 управления изображением. В другом примере отчеты содержат отклонения от симметрии или сравнительные измерения, основанные на данных о стереоточке, принятых из измерительной базы данных 330. В еще одном примере в отчеты включены изображения и/или схемы. Например, если проанализированный объект 104 является транспортным средством, отчеты могут включать изображения или схемы 470 транспортного средства с измерительными точками, определенными и отмеченными, такими как показанные на фиг.4Е. В частности, отчеты могут быть созданы для отображения на дисплее и в случае необходимости могут быть напечатаны и/или сохранены на диске.
[0109] Согласно еще одному варианту выполнения, измерительное приложение 130 выполнено на серверном компьютере, а отчеты и/или видеоданные могут быть переданы на удаленные компьютеры, такие как персональные компьютеры, ноутбуки, персональные цифровые секретари и любое другое вычислительное устройство, через сеть передачи данных, такую как Интернет, Интранет или любую другую подходящую сеть передачи данных.
[0110] Машиночитаемые носители 370 могут включать энергозависимые носители, энергонезависимые носители, съемные носители и несъемные носители, а также могут быть любой доступной средой, к которой может иметь доступ универсальное вычислительное устройство. Неограничивающие примеры машиночитаемых носителей 370 могут включать компьютерные накопители и среды передачи данных. Компьютерные накопители дополнительно могут включать энергозависимые, энергонезависимые, съемные и несъемные носители, осуществленные любым способом или с помощью любой технологии хранения информации, например машиночитаемые инструкции, структуры данных, программные модули или другие данные. Среды передачи данных обычно могут реализовывать машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая частота, или в другом механизме передаче, и могут включать любые носители для передачи информации. Специалистам известны модулированные сигналы данных, которые могут иметь по меньшей мере один набор характеристик или могут быть изменены таким способом, который обеспечивает возможность кодирования информации в сигнале. Проводные носители, такие как проводная сеть или прямое проводное соединение, и беспроводные носители, такие как акустические, радиочастотные, инфракрасные и другие беспроводные носители, предполагаемые для использования со стереоскопической измерительной системой 100, являются примерами сред передачи данных, описанных выше. Комбинации любых вышеуказанных носителей также относятся к машиночитаемым носителям, описанным выше.
[0111] На фиг.8 проиллюстрирован способ захвата стереоизображения согласно варианту выполнения измерительной системы. На этапе 802 захватное устройство 106 захватывает левое изображение 116 и правое изображение 118 объекта 104 посредством левой камеры 108 и правой камеры 110 соответственно. На этапе 804 между обрабатывающей системой 120 и захватным устройством 106 устанавливают связь. Как описано выше, связь может быть установлена путем использования проводного соединения 128 или комбинации беспроводного передатчика 124 и беспроводного приемника 126.
[0112] На этапе 806 исполняют измерительное приложение 130 при обнаружении установленной связи между обрабатывающей системой 120 и захватным устройством 106. Измерительное приложение 130 принимает левое и правое изображения 116, 118 и на этапе 808 загружает собственные данные левой и правой камер. На этапе 810 измерительное приложение 130 спаривает левое изображение 116 и правое изображение 118 для создания пары 310 стереоизображения. На этапе 812 измерительное приложение 130 сохраняет пару 310 стереоизображения и соответствующие данные 312 о хронологии загрузки в памяти 138. Как описано выше, данные 312 о хронологии загрузки содержат, например, время и дату, в которые левое изображение 116 и правое изображение 118 пары 310 стереоизображения были переданы от захватного устройства 106 в обрабатывающую систему 120.
[0113] На фиг.9 проиллюстрирован способ измерения по точкам в паре 310 стереоизображения согласно одному из вариантов выполнения измерительной системы 100. На этапе 902 измерительное приложение 130 отображает форму 322 управления изображением на дисплее 134, которая обеспечивает возможность выбора пользователем пары 310 стереоизображения для просмотра. На этапе 904 левое изображение 116 и правое изображение 118 из выбранной пары 310 стереоизображения отображают в окне 426 для левого изображения и окне 428 для правого изображения. На этапе 906 левое изображение 116 или правое изображение 118 отображают в активном окне 430 в ответ на выбор пользователем 102 окна 426 для левого изображения или окна 428 для правого изображения. Как описано выше, пользователь 102 использует устройство 136 ввода для выбора окна 426 левого изображения для отображения левого изображения 116 в активном окне 430 или выбора окна 428 правого изображения для отображения правого изображения 118 в активном окне 430.
[0114] На этапе 908 пользователь 102 взаимодействует с формой 322 управления изображением для задания двух измерительных точек на первом изображении пары стереоизображения, которое отображено в активном окне 430. Например, после визуального расположения требуемой точки пользователь 102 наводит курсор мыши на требуемое место на первом изображении и нажимает кнопку мыши для задания двух измерительных точек на первом изображении. На этапе 910 отображают отметки точности (например отметки 438, 442 точности) в местах на первом изображении, отображенном в активном окне 430, где пользователь задал точки.
[0115] На этапе 912 пользователь 102 взаимодействует с формой 322 управления изображением с использованием устройства 136 ввода для задания тех же измерительных точек на втором изображении пары 310 стереоизображения, отображенном в активном окне 430. При необходимости на этапе 914 измерительное приложение 130 отображает линию выбора, которая задает диапазон возможных соответствующих точек на втором изображении 116 на основе каждой заданной пользователем точки на первом изображении. На этапе 916 пользователь 102 взаимодействует с формой 322 управления изображением для задания тех же измерительных точек вдоль линий выбора во втором изображении пары 310 стереоизображения, отображенном в активном окне 430.
[0116] Также при необходимости на этапе 918 измерительное приложение 130 автоматически определяет точки на втором изображении, которые соответствуют точкам, заданным пользователем на первом изображении. Как описано выше, в дополнение к созданию линий выбора 438 на втором изображении 116, измерительное приложение использует алгоритм распознавания образов для определения точек вдоль линий выбора, которые соответствуют точкам, заданным пользователем 102 на первом изображении. На этапе 920 отметки точности (например, отметки 440, 444 точности) отображают в местах на втором изображении, соответствующих местам, в которых пользователь 102 на этапах 912 или 916 задал измерительные точки на втором изображении или в которых измерительное приложение 130 на этапе 918 автоматически определило соответствующие измерительные точки на втором изображении.
[0117] На фиг.10 проиллюстрирован способ вычисления расстояния между заданными измерительными точками согласно одному из вариантов выполнения измерительной системы 100. На этапе 1002 измерительное приложение 130 задает первую стереоточку для первой измерительной точки, заданной на левом изображении 116 и правом изображении 118. На этапе 1004 измерительное приложение 130 задает вторую стереоточку для второй измерительной точки, заданной на левом изображении 116 и правом изображении 118. Как описано выше, каждая стереоточка соответствует координатам x, y, z общей заданной точки на левом и правом изображениях 116, 118, определенных из триангуляции. На этапе 1006 вычисляют расстояние между первой и второй измерительными точками как функцию значений координат первой и второй стереоточек. На этапе 1008 вычисленные расстояния отображают для пользователя на форме управления изображением. На этапе 1010 создают отчеты на основе входных данных, принятых от пользователя через форму управления изображением.
[0118] При представлении элементов в различных вариантах выполнения настоящего изобретения или вариантов его реализации термины "некоторый", "этот" и "указанный" подразумевают по меньшей мере один элемент. Термины "содержащий", "включающий" и "имеющий" подразумевают включение и означают помимо перечисленных элементов возможность присутствия дополнительных элементов.
[0119] Поскольку в описанных выше конструкциях, продуктах и способах могут быть сделаны различные изменения без отступления от объема настоящего изобретения, предполагается, что все объекты, содержащиеся в приведенном выше описании и показанные на сопроводительных чертежах, должны интерпретироваться в иллюстративном, а не в ограничительном смысле.