Патент на изобретение №2331919

Published by on




РОССИЙСКАЯ ФЕДЕРАЦИЯ



ФЕДЕРАЛЬНАЯ СЛУЖБА
ПО ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ,
ПАТЕНТАМ И ТОВАРНЫМ ЗНАКАМ
(19) RU (11) 2331919 (13) C2
(51) МПК

G06F17/00 (2006.01)

(12) ОПИСАНИЕ ИЗОБРЕТЕНИЯ К ПАТЕНТУ

Статус: по данным на 19.10.2010 – может прекратить свое действие

(21), (22) Заявка: 2006108969/09, 21.03.2006

(24) Дата начала отсчета срока действия патента:

21.03.2006

(43) Дата публикации заявки: 10.10.2007

(46) Опубликовано: 20.08.2008

(56) Список документов, цитированных в отчете о
поиске:
RU 2199717 С2, 27.02.2003. RU 2199718 C1, 27.02.2003. US 2003/0043277 A1, 06.03.2003. US 6323942 В1, 27.11.2001. US 2002/0135749 A1, 26.09.2002. WO 2004/012269 A1, 05.02.2004.

Адрес для переписки:

344019, г.Ростов-на-Дону, ул. Верхне-Нольная, 9, кв.40, А.Е.Субботину

(72) Автор(ы):

Субботин Алексей Евгеньевич (RU)

(73) Патентообладатель(и):

Субботин Алексей Евгеньевич (RU)

(54) ПРОЕКЦИОННОЕ КОДИРОВАНИЕ

(57) Реферат:

Изобретение относится к проекционному кодированию точек поверхности объекта. Техническим результатом является оцифровывание точек поверхности объекта за один рабочий цикл. Для этого проецируют при помощи проектора в измеряемую область пространства массив узконаправленных электромагнитных лучей, каждый из которых содержит информацию, однозначно идентифицирующую этот луч, которая выражена в виде кода и функционально связана с уравнением прямой, вдоль которой этот луч распространяется, при помощи считывающего прибора лучи регистрируют в той зоне пространства, где могут быть однозначно идентифицированы по содержащимся в этих лучах кодам, при этом, если в точке N, принадлежащей указанной зоне, будут зарегистрированы коды как минимум от двух разных лучей, то координаты точки N относительно выбранной системы координат находят как решение системы уравнений прямых, вдоль которых эти лучи распространяются, при этом работа проекторов и считывающих приборов синхронизирована. 4 ил.

Область техники, к которой относится изобретение.

1. Оцифровывание 3-мерных объектов.

2. Позиционирование.

Уровень техники.

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

В настоящее время оцифровывание точек в пространстве сводится к нахождению их координат. Для этого применяют множество устройств, которые можно разделить по принципу работы на несколько групп. К первой группе относятся оптические теодолиты и нивелиры. Для нахождения координат точки они используют принцип двух пересекающихся прямых. Вторая группа – это механические сканеры: от маленьких дигитайзеров до больших координатных машин. Третья группа использует для нахождения координат точки локационный метод, т.е. измерение времени прохождения волны до измеряемой точки. К этой группе относятся тахеометры, лазерные, электромагнитные, ультразвуковые сканеры и появившиеся недавно датчики фирмы Canesta (патент №6323942). Четвертая группа использует принцип математического анализа искажения специального изображения, спроецированного на объект. К этой группе относятся проекционные сканеры. Пятая группа основана на фотограмметрии, науке по определению форм, размеров и положения объектов по их фотографическим изображениям.

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

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

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

Раскрытие изобретения.

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

l=l(i, j);

m=m(i, j);

n=n(i, j).

Зная эти функции, координаты проектора и координаты пикселя (i, j), можно написать уравнение прямой, вдоль которой распространяется луч, излучаемый этим пикселем.

Хп, Yп, Zn – координаты проектора;

t – переменный параметр.

Для решения поставленной цели информация о координатах (i, j) пикселя на матрице проектора представляется в двоичном коде и излучается в пространство этим же пикселем в виде серии импульсов. Логическая единица должна соответствовать одним характеристикам излучения пикселя, логический ноль другим. Для описания принципа работы системы не имеет значения, каким будет это различие, важно, чтобы оно могло быть зарегистрировано считывающим прибором. Длина серии зависит от числа пикселей в матрице. Для кодирования миллиона пикселей достаточно длины серии, равной 20-и разрядам. Таким образом, весь код можно передать последовательным проецированием 20-и кадров (см. Фиг.1). В верхней части показана матрица проектора и два произвольных пикселя. Один, с координатами на матрице p1 (731, 801), другой с координатами р2 (101, 217), а так же коды, излучаемые этими пикселями. Первые 10 бит кода составляет значение J-ой координаты пикселя на матрице проектора в двоичной форме, вторые 10 бит – это значение I-ой координаты пикселя на матрице. В нижней части схематично изображены состояния этих двух пикселей на матрице в первых 4-х и последних 4-х кадрах из 20-и. Благодаря объективу излучение каждого пикселя имеет вид узконаправленного, сходящегося в точке фокусировки луча. В зоне пространства, где лучи от соседних пикселей не смешиваются друг с другом, они могут быть зарегистрированы считывающими приборами и идентифицированы по своим кодам. Считывание может происходить как непосредственно в зоне, куда производится проецирование, так и на расстоянии, в случае отражения лучей от какой либо поверхности. Зная координаты проектора и функции l(i, j), m(i, j), n(i, j), можно найти уравнение прямой для каждого идентифицированного таким образом луча. Для определения координат точки необходимо, чтобы в ней пересекались два луча. Для этого нужен второй проектор, координаты которого не должны совпадать с координатами первого проектора (см. Фиг.2). Если в области пересечения лучей в точке N окажется поверхность некоторого объекта, то считывающий прибор зарегистрирует в этой точке два отраженных электромагнитных луча и, соответственно, два кода (в дальнейшем интегрированный код). Коды не должны смешиваться друг с другом. Технически этого можно достичь несколькими способами. Пусть, для определенности, коды передаются последовательно, сначала одним проектором, затем другим. Длина интегрированного кода в случае использования в проекторах матриц по миллиону пикселей будет равна 40 разрядам. Получив интегрированный код, программа вычислительного устройства рассчитает координаты точки, решая систему уравнений двух пересекающихся прямых: первой, проходящей вдоль луча от Lij-го пикселя матрицы первого проектора, второй, проходящей вдоль луча от Mij-го пикселя матрицы второго проектора. Сам процесс вычисления координат точки базируется на законах геометрии. Они гласят, что если заданы уравнения двух пересекающихся в одной точке прямых, то можно вычислить координаты этой точки (см. Фиг.3).

XA, YA, ZA – координаты точки А (1-го проектора), принадлежащей прямой AN;

lA, mA, nA – координаты направляющего вектора прямой AN;

tA – переменный параметр уравнения прямой AN.

Уравнение прямой BN будет:

XB, YB, ZB – координаты точки В (2-го проектора), принадлежащей прямой BN;

lB, mB, nB – координаты направляющего вектора прямой BN;

tB – переменный параметр уравнения прямой BN.

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

Краткое описание чертежей.

Фиг.1

1 – матрица проектора;

p1 (101, 217) – пиксель с координатами i=101, j=217;

р2 (731, 801) – пиксель с координатами i=731, j=801;

K1, K2, К3, К4…К17, К18, К19, К20 – проекции первых 4-х и последних 4-х кадров из 20-и в процессе проецирования кодов пикселями p1 (101, 217) и р2 (731, 801).

Фиг.2

А – первый проектор;

В – второй проектор;

1 – матрица первого проектора;

2 – матрица второго проектора;

3 – считывающий прибор;

4 – оцифровываемый объект;

Cod Lij – последовательный двоичный код, излучаемый Lij-ым пикселем 1-го проектора;

Cod Mij – последовательный двоичный код, излучаемый Mij-ым пикселем 2-го проектора;

Cod Lij + Cod Mij – интегрированный код, отраженный от поверхности объекта в точке N.

Фиг.3

А – точка (1-й проектор), принадлежащая прямой AN;

В – точка (2-й проектор), принадлежащая прямой BN;

N – измеряемая точка пространства;

, , – проекции направляющего вектора на оси координат;

, , – проекции направляющего вектора на оси координат.

Фиг.4

– угол поворота оптической оси первого проектора вокруг оси OY;

– угол поворота оптической оси первого проектора вокруг оси OZ;

OO1 – оптическая ось первого проектора;

OO1 – оптическая ось проектора после двойного поворота на угол и угол ;

А00 A0J AIJ АI0 – проекция матрицы первого проектора на плоскость, перпендикулярную его оптической оси и отстоящую от проектора на расстоянии OO1;

N – проекция произвольного пикселя с координатами (i, j) на плоскость А00 А0J АIJ АI0;

N – точка, полученная в результате поворота точки N на угол и угол .

Осуществление изобретения.

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

ХA, YA, ZA – координаты первого проектора;

XB, YB, ZB – координаты второго проектора;

– угол поворота оптической оси первого проектора вокруг оси OY;

– угол поворота оптической оси первого проектора вокруг оси OZ;

– угол поворота оптической оси второго проектора вокруг оси OY;

– угол поворота оптической оси второго проектора вокруг оси OZ.

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

Пусть матрица проектора содержит J пикселей по горизонтали и I пикселей по вертикали. Поместим проектор в начало координат так, чтобы его оптическая ось совпала с осью ОХ. На плоскую поверхность, перпендикулярную оптической оси проектора и находящуюся от него на расстоянии a1=|OO1|, проецируют рамку А00 A0J AIJ АI0, показанную на чертеже (см. Фиг.4). Измеряются расстояния |А00 А10| и |А00 A0J| и вычисляются отношения:

Относительно выбранной системы координат координаты произвольной точки N, являющейся проекцией на эту поверхность пикселя с координатами (i, j), будут равны:

х=а1

индекс “1” во всех случаях указывает на принадлежность к первому проектору.

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

Аналогично для второго проектора:

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

и уравнения прямых, вдоль которых распространяются лучи от каждого пикселя второго проектора:

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

Работа программы начинается с того, что из памяти компьютера последовательно считываются данные, являющиеся значениями первых разрядов кодов, излучаемых пикселями матрицы первого проектора. Из этих данных формируется первый кадр, который проецируется на оцифровываемый объект. Одновременно с проецированием кадра начинается экспозиция матрицы считывающего прибора. Она регистрирует отраженные от поверхности объекта лучи. Для каждого пикселя этой матрицы выделяют область в памяти компьютера, объемом 40 бит, моделирующую работу стека. Туда заносятся регистрируемые этими пикселями данные первого кадра. Затем программа считывает данные из всех вторых разрядов и цикл повторяется. Когда первый проектор спроецирует последовательно все 20 кадров, он выключается и по такой же схеме начинает работать второй проектор. Результаты, регистрируемые пикселями матрицы считывающего прибора, продолжают запоминаться в тех же стеках. Когда закончится проецирование 40-го кадра, стеки будут полностью заполнены данными. Содержимое произвольного N-го стека образует интегрированный код двух пересекающихся лучей в точки N. Далее запускается программа, которая непосредственно вычисляет координаты точек поверхности объекта. Данные, сохраненные в каждом стеке, она преобразует в координаты пикселей первого и второго проекторов , . Здесь верхний индекс указывает на номер стека, а нижний на номер проектора. Эти координаты подставляются соответственно в 1-е и 2-е уравнения, где вычисляются координаты направляющих векторов лучей, излучаемых этими пикселями.

Координаты первого проектора – ХА, YА, ZА и вычисленные координаты направляющих векторов прямой AN подставляются в 3-е уравнение:

Координаты второго проектора – XB, YB, ZB и вычисленные координаты направляющих векторов прямой BN подставляются в 4-е уравнение:

Координаты точки N поверхности объекта будут являться решением системы этих двух уравнений. Решения N таких систем определяют координаты N точек на поверхности объекта.

Формула изобретения

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

РИСУНКИ

Categories: BD_2331000-2331999