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