ПОЛУЧЕНИЕ ТОПОГРАФИИ ОБЪЕКТОВ, ИМЕЮЩИХ ПРОИЗВОЛЬНУЮ ГЕОМЕТРИЧЕСКУЮ ФОРМУ
OBTAINING TOPOGRAPHY OF OBJECTS HAVING ARBITRARY GEOMETRIC FORM

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
В настоящем изобретении заявлен приоритет согласно 35 USC § 119 (e) Предварительной заявки на патент, обладающей серийным номером 61/053874 от 16 мая 2008 г., содержание которой, таким образом, включено в настоящий документ в виде ссылки.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к области анализа и сопоставления объектов, которые имеют нанесенные на них следы от инструмента, и, в частности, к анализу объектов, которые имеют деформированную и/или нестандартную форму.
УРОВЕНЬ ТЕХНИКИ
В области судебной науки, расследований преступлений с применением огнестрельного оружия, в которых используются баллистические сравнительные испытания для определения того, была ли пуля или израсходованная патронная гильза, найденная на месте преступления, выпущена из рассматриваемого огнестрельного оружия. Сравнительные баллистические испытания относятся к бороздкам и/или вмятинам, созданным на поверхности улики в результате выстрела из оружия. Эти бороздки и/или вмятины обладают довольно уникальными признаками, отображающими характер огнестрельного оружия. Поэтому, сопоставляя характеристики от бороздок или вмятин от двух пуль или двух патронных гильз, можно сделать вывод о том, были ли они выпущены из одного и того же оружия. Аналогично, сопоставляя бороздки и/или вмятины на двух объектах, на которых видны следы от инструмента, возникшие вследствие резания, подъема с помощью рычага, ковки или любого другого действия, осуществляемого с помощью инструмента, можно сделать вывод о том, что вышеупомянутое действие было сделано с помощью одного и того же инструмента.
В большинстве существующих систем сопоставления следов автоматической баллистики и/или от инструментов получают 2D-топографические изображения L (X, Y). В других системах получают также 3D-топографические изображения, то есть, рельефная карта Z (X, Y) области на баллистической улике, где Z - это локальная высота поверхности в позиции (X, Y) относительно используемого сенсора. В большинстве случаев, область баллистической улики или улики, вызванной следом от инструмента, необходимая для целей анализа, бывает больше, чем зона обзора сенсора, используемого для измерения вышеупомянутых характеристик поверхности. Поскольку область больше, чем зона обзора сенсора, последовательно можно получать несколько 3D- и 2D-изображений, а движение применятся к поверхности, которая должна быть измерена между каждым получением изображения. 3D-изображения затем объединяются в единое, более крупное изображение (и аналогично для 2D-изображений).
При получении каждого отдельного 3D- и 2D-изображений объекта, показывающего образцы следов от инструмента, поверхность в пределах зоны обзора должна быть, насколько возможно, перпендикулярна оптической оси сенсора. Информацией, подходящей для поверхностного анализа, является форма, длина и глубина следа. Если поверхность в определенном месте не перпендикулярна оптической оси, может возникнуть помеха, а дно следа, используемого для определения глубины, невозможно отобразить надлежащим образом. Кроме того, поскольку многие поверхности, на которые были эффективно нанесены следы от инструментов, имеют металлическую природу, и учитывая, что отражение света от металлической поверхности имеет строго зеркальный характер, большая часть света, отраженного назад в сенсор, исходит из областей, почти перпендикулярных к оптической оси. По этой причине в некоторых 3D-сенсорных технологиях, включая конфокальные технологии, существуют трудности при обнаружении 3D-топографии металлических поверхностей, которые не перпендикулярны надлежащим образом к оптической оси.
При получении 3D-топографии объекта с идеально цилиндрическим поперечным сечением, такого как неиспорченная выпущенная пуля, достаточно вращения объекта в ходе получения данных, если пуля установлена таким образом, что ее ось симметрии идеально совпадает с осью вращения системы двигателя, а исходная область, данные о которой должны быть получены, установлена перпендикулярно оптической оси сенсора. Простое вращение пули затем будет обеспечивать то, что поверхность в пределах зоны обзора сенсора всегда перпендикулярна оси сенсора. В случае плоской поверхности нет необходимости во вращении. Плоскую поверхность устанавливают таким образом, чтобы ее исходная область была перпендикулярна оси сенсора. Движение перемещения, таким образом, является достаточным для обеспечения того, чтобы все другие полученные области также оставались перпендикулярными оси.
Эта ситуация существенно различается для деформированных пуль и произвольных поверхностей, на которых видны следы от инструментов, которые могут представлять собой самые разнообразные формы, среди прочих: эллиптические, плоские, локальные вогнутые. Методики, известные из уровня техники, к этим произвольным формам применять нельзя, поскольку они не обеспечивают надлежащий охват локальной микротопографии.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В соответствии с общим аспектом настоящего изобретения, предоставляется способ для позиционирования объекта на оптической сенсорной системе для получения его поверхности, причем сенсорная система имеет комплект двигателей для вращения объекта вокруг оси двигателя, перпендикулярной оптической оси сенсорной системы и для перемещения объекта в направлениях X, Y и Z, причем способ включает в себя: (a) получение рельефной карты области в зоне обзора сенсорной системы; (b) вычисление нормали, отображающей топографию рельефной карты области; (c) определение углового расхождения между нормалью и оптической осью сенсорной системы; (d) сопоставления углового расхождения с пороговым углом для определения того, перпендикулярна ли сенсорной оси поверхность области; (e) если угловое расхождение больше, чем пороговый угол, вращение объекта для достижения нового угла расхождения, меньшего, чем пороговый угол; и (f) перемещение объекта для переставления области в зоне обзора после того, как вращение сместило область.
В соответствии с другим общим аспектом настоящего изобретения, предоставляется система позиционирования объекта для использования совместно с оптической сенсорной системой для получения поверхности объекта, причем сенсорная система имеет комплект двигателей для вращения объекта вокруг оси двигателя, перпендикулярной оптической оси сенсорной системы, и для перемещения объекта в направлениях X, Y и Z, причем система содержит: процессор в компьютерной системе; память, доступную для процессора; и приложение, связанное с процессором, причем приложение сконфигурировано для: (a) получения рельефной карты области в зоне обзора сенсорной системы; (b) вычисления нормали, отображающей топографию рельефной карты области; (c) определения углового расхождения между нормалью и оптической осью сенсорной системы; (d) сопоставления углового расхождения с пороговым углом для определения того, перпендикулярна ли сенсорной оси поверхность области; (e) если угол расхождения больше, чем пороговый угол, вращения объекта для достижения нового угла расхождения, меньшего, чем пороговый угол; и (f) перемещения объекта для переставления области в зоне обзора после того, как вращение сместило область.
Следует понимать, что, тогда как в настоящем описании для иллюстрации изобретения используются пули и гильзы, концепции, описанные в настоящем документе, могут быть расширены на любые объекты, которые не являются ни круглыми, ни цилиндрическими, ни плоскими, и их нужно переставлять с использованием вращения и/или перемещения для получения поверхности, практически перпендикулярной оптической оси сенсорной системы. В дополнение, выражение «оптический сенсор» следует понимать как означающее любой сенсор, в котором использованы электромагнитные лучи, отраженные или испускаемые из поверхности, в качестве источника информации для получения изображения. Кроме того, тогда как настоящее описание ссылается на ось вращения двигателя, приблизительно параллельной оси симметрии пули (для недеформированной гильзы) и перпендикулярной вертикальному направлению, причем концепции, описанные в настоящем документе, могут быть расширены на вторую ось двигателя, перпендикулярную как предыдущей оси, так и вертикальному направлению.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Дополнительные признаки и преимущества настоящего изобретения станут более ясными из последующего подробного описания в сочетании с прилагаемыми чертежами, в которых:
Фиг. 1 иллюстрирует сенсорную систему, используемую для получения поверхностей объектов с произвольными геометрическими формами, в соответствии с одним вариантом воплощения;
Фиг. 2A представляет собой график, показывающий топографию с заданным профилем с центральной точкой P и заданной позицией оси, при вращении вокруг оси двигателя, что таким образом приводит к образованию профиля с центральной точкой P', в соответствии с одним вариантом воплощения;
Фиг. 2B представляет собой график, показывающий вращаемую топографию Фиг. 2A с вектором перемещения δ, необходимым для приведения области топографии обратно в ее начальную позицию, в соответствии с одним вариантом воплощения;
N
Фиг. 3A представляет собой график, показывающий топографию с первым профилем и первой позицией оси и конечной позицией с нормалью N', полученной после вращения θ, сделанного вокруг первой оси вращения, в соответствии с одним вариантом воплощения;
N
Фиг. 3B представляет собой график, показывающий тот же профиль, что и на Фиг. 3A, но с отличной позицией оси двигателя, и было применено сопоставление между конечными профилями, полученными после такого же вращения θ, в соответствии с одним вариантом воплощения;
Фиг. 4 представляет собой блок-схему для способа для позиционирования объекта на оптической сенсорной системе для получения его поверхности, в соответствии с одним вариантом воплощения;
Фиг. 5 представляет собой блок-схему для способа, используемого для передвижения поверхности к следующей области, которая должна быть получена в соответствии с заранее определенной величиной перекрывания между последовательными получаемыми областями, в соответствии с одним вариантом воплощения;
Фиг. 6 представляет собой блок-схему, иллюстрирующую способ, используемый для установки исходной позиции части поверхности в зоне обзора сенсора, в соответствии с одним вариантом воплощения;
Фиг. 7 представляет собой блок-схему, иллюстрирующую способ, используемый для нахождения позиции оси вращения двигателя по отношению к базовой точке в базовой системе координат, в соответствии с одним вариантом воплощения;
Фиг. 8 представляет собой блок-схему, иллюстрирующую способ, используемый для вычисления нормали к части поверхности, в соответствии с одним вариантом воплощения;
Фиг. 9 представляет собой график, иллюстрирующий два профиля, последовательно получаемые на поверхности объекта, в соответствии с одним вариантом воплощения; и
Фиг. 10A, 10B и 10C представляют собой графики, показывающие профиль «1» и тот же профиль, теперь обозначенный как «2», после того, как были применены вращение и перемещение. Перемещение совместимо с фиксированным заранее определенным перекрыванием между обоими профилями (общая область показана жирным), а вращение обеспечивает нормаль к центральной точке профиля «2», проведенную вдоль оптической оси. Здесь описаны три сценария в соответствии с тем, составляет ли перекрытие менее, более или же равно 50%.
Следует отметить, что по всем прилагаемым чертежам одинаковые признаки обозначены одинаковыми ссылочными номерами.
ПОДРОБНОЕ ОПИСАНИЕ
Фиг. 1 иллюстрирует устройство 100, используемое для получения изображений баллистических улик 102. Измеряемую поверхность устанавливают на кончик оси вращения двигателя (RMA). Часть поверхности, называемая «участком», расположена в пределах зоны обзора (FOV) сенсора 104. Ось вращения двигателя (RMA) можно перемещать вдоль направления X и Y, используя двигатель перемещения. На фигуре сенсор 104 можно передвигать вдоль вертикального (Z) направления, используя еще один двигатель перемещения. Однако следует понимать, что основные принципы и алгоритмы также применимы и для фиксированного сенсора и оси вращения двигателя, который можно передвигать вдоль направления Z. В некоторых вариантах воплощения, объект можно поддерживать в фиксированной позиции, а сенсор можно передвигать в направлениях X, Y и/или Z. Область поверхности в пределах FOV, отличающаяся нормалью N, которая является средней нормалью к поверхности. Для произвольной поверхности, нормаль N может существенно отличаться от направления оптической оси (OA). При использовании в настоящем изобретении RMA следует понимать, что основные принципы и алгоритмы также применимы для наклонной оси вращения (TMA) при подходящей взаимозамене координат X и Y. Выражение «ось вращения (MA)» будет использовано для обозначения либо RMA, либо TMA.
Average
N
N
s
s
N
<mrow><msub><mover accent="true"><mi>V</mi><mo>→</mo></mover><mrow><mi>M</mi><mi>A</mi></mrow></msub></mrow>
<mover accent="true"><mi>δ</mi><mo>→</mo></mover>
<mover accent="true"><mi>δ</mi><mo>→</mo></mover>
<mrow><msub><mover accent="true"><mi>V</mi><mo>→</mo></mover><mrow><mi>M</mi><mi>A</mi></mrow></msub></mrow>
Фиг. 2A и 2B иллюстрируют заданную 3D-топографию Z (X, Y), показанную в упрощенном виде в качестве среднего профиля Z(Y) с нормалью N, как было получено системой согласно Фиг. 1. В базовой системе координат сенсора, координаты Y точек профиля охватывают диапазон от 0 (начало координат) до длины профиля. Если нормаль N не является практически параллельной оптической оси (OA), на поверхности применяют вращение θ для установления направления нормали вдоль OA, как проиллюстрировано, N'. Вращение θ осуществляют по отношению к MA. Однако применяемое вращение вызывает существенное смещение области участка, которая должна быть получена. Центральная точка области, которая исходно была в P, в результате вращения передвигается в P'. Это вращение проиллюстрировано на Фиг. 2A. В некоторых случаях область может покидать зону обзора. Перемещение в таком случае осуществляют на поверхности для компенсации этого эффекта, как показано на Фиг. 2B. Цель перемещения состоит в установлении P' обратно в P. Начальная область теперь находится в пределах зоны обзора (P"=P) с правой нормалью N"=N' вдоль оптической оси. O представляет собой базу сенсора (т.е. базовая точку базовой системы координат), а P - это средняя точка профиля.
- вектор оси позиции двигателя, направленный из O. Как показано на Фиг. 2B, намеченное движение представляет собой вращение профиля вокруг точки P. Однако единственно возможным физическим вращением является вращение вокруг оси двигателя MA, показанного на Фиг. 2A. Поэтому, требуется перемещение
, поскольку P и MA не совпадают. Вектор
является функцией θ и
.
<mover accent="true"><mi>δ</mi><mo>→</mo></mover>
Фиг. 3A и 3B показывают два сценария с тем же начальным профилем, но с различными осями вращения. В примере, показанном на Фиг. 3A, конечный профиль (показанный жирным) возникает из вращения вокруг фактической оси двигателя системы, тогда как пунктирный профиль по примеру, представленному на Фиг. 3B, является результатом вращения, выполненного количественно вокруг другой оси, произвольно установленной в начале координат координатной системы сенсора. Вектор T показывает векторную разность между обоими конечными профилями. Это иллюстрирует то, что позиция профиля после вращения является функцией оси вращения. Тогда мы можем сделать вывод о том, что перемещение
, которое может установить профиль назад в зону обзора, также является функцией оси вращения.
Для вычисления перемещения, используемого для возвращения профиля в зону обзора системы сенсора, можно найти ось вращения двигателя относительно точки, фиксированной в пространстве, которую выбирают таким образом, чтобы она стала началом координат системы координат сенсора. Эту точку начала координат используют в качестве базовой точки в базовой системе координат. Также можно выбрать и другие начала координат. X-Y-позиции начала координат заданы как позиция, связанная с пиксельным изображением с координатами (0,0). Позиция Z начала координат известна из калибровки сенсора. Процедура затем определяет позицию оси вращения двигателя. Как только позиция оси вращения двигателя известна по отношению к первому участку, она обновляется в процессе получения поверхности, поскольку вызываются перемещения пуль (а следовательно, оси вращения двигателя) вдоль Y (и возможно Z, если устройство снабжено фиксированным сенсором).
Фиг. 4 иллюстрирует способ, используемый для позиционирования объекта на оптической системе сенсора для получения его поверхности. В одном варианте воплощения его можно использовать для получения полосы, принимающей форму 3D-топографии части поверхности, на которой видны следы от инструментов. Конечное изображение, часто называемое мозаикой, является результатом последовательного объединения нескольких топографий, обладающих соответствующими частично перекрывающимися областями поверхности, и каждую из этих топографий измеряют, когда соответствующая область поверхности расположена перпендикулярно под оптическим сенсором.
Несколько этапов способа согласно Фиг. 4 сами по себе являются способами, которые включают в себя дополнительные этапы и будут полностью описаны ниже. На практике, этапы 400 и 401 могут быть обратными. Для каждого вращения и/или перемещения, которому подвергают поверхность, при переходе от этапа 400 к 401 (или наоборот) позицию оси вращения двигателя, когда она известна, обновляют, соответственно. Например, если выбирают измерение позиции оси вращения двигателя перед установлением начальной области, которая должна быть получена, то каждое перемещение поверхности, возникающее между измерением позиции оси вращения двигателя и охватом начальной топографии первого участка, обновляется в измеренной позиции оси вращения двигателя.
Trans
Trans
Сначала на этапе 400 устанавливают начальную и конечную позиции двигателя, которые ограничивает район поверхности, которая должна быть получена. Этот этап более подробно описан ниже. На этапе 401 получают позицию оси вращения двигателя относительно начала координат оси системы сенсора, которая задается пикселем (0,0) полученных данных, который охвачен зоной обзора (FOV) сенсора, и позицией Z=0, найденной из процедуры калибровки сенсора. Этот этап подробно описан ниже. Позицию оси двигателя изменяют на этапе 402 таким образом, чтобы позиции вращения двигателя возвращались в позиции, соответствующие участку начального получения. Зная перемещения Y и Z, - Y и Z, используемые для достижения этой области поверхности, позиции оси вращения двигателя затем обновляют следующим образом:
γ-updated.
y
trans
R=R+Y;
z-updated.=
z
trans
RR+Z (если ось вращения двигателя передвигается вдоль Z, а фотокамера фиксирована);
z-updated=
z
RR (если фотокамера передвигается вдоль Z, а ось вращения двигателя не передвигается).
На этапе 403 получают 3D-топографии, т.е. получают рельефную карту Z (X, Y) области, в данный момент находящейся в пределах зоны обзора. Этот этап зависит от конкретной технологии сенсора, используемой для получения 3D-топографии. В этой точке также можно получить 2D-яркостное изображение, отображающее ту же часть поверхности. Нормаль N, отображающая топографию поверхности, охваченную на этапе 403, вычисляют на этапе 404. Этот этап будет подробно описан ниже. Также на этапе 405 вычисляют параметры переставления для передвижений двигателя. Указанные ниже параметры вычисляют следующим образом:
adjust
θ=угловое расхождение между нормалью N и оптической осью сенсора;
adjust.
V
z
z
y
Y=-K*(1-N)+K*N;
adjust
V
y
z
z
Z=-K*(-N)+K*(l-N);
y
y
y
z
2
z
y
z
y
z
y
z
где K=P+R; K=P+R, и где P, P - координаты центральной точки участка; а R, R - координаты позиции оси вращения двигателя в системе сенсора. R и R изначально получают из этапа 401.
adjust
threshold
,
Если абсолютное значение установочного угла (θ) больше заданного небольшого порогового значения (θ) то участок не является перпендикулярным оси. Тогда на этапе 406 поверхность вращается и перемещается в соответствии с установочным углом и смещением, вычисленным в ходе предыдущего этапа. Позицию оси вращения двигателя затем обновляют следующим образом:
γ-updated
y
adjust
R=R+Y;
z-updated
z
adjust
R=R+Z (если ось вращения двигателя передвигается вдоль оси Z, а фотокамера фиксирована);
z-updated
z
R=R (если фотокамера передвигается вдоль Z, а ось вращения двигателя не передвигается).
adjust
threshold
Сразу после того, как вращение и перемещение параметров поверхности выполнено, алгоритм возвращается к этапу 403. В качестве альтернативы, если абсолютное значение установочного угла (θ) меньше заданной небольшой пороговой величины (θ), считается, что участок расположен почти перпендикулярно оси сенсора. Самая последняя полученная топография является действительной и объединяется с создающейся в данный момент мозаикой 407. Способы объединения изменяются, и они известны специалистам в данной области техники. Самая последняя полученная топография сопоставляется с топографией, полученной из конечной установленной позиции 408 двигателя, используя степень сходства. Если эти две топографии выправлены до совпадения, то получение закончено. В противном случае, поверхность передвигается в следующую область, которая должна быть получена (этап 409), для обеспечения заранее определенного значения перекрывания между последовательными получаемыми областями. Алгоритм возвращается к этапу 403 после передвижения к следующей получаемой области.
Для передвижения поверхности к следующей области, которая должна быть получена 409, для обеспечения заранее определенного значения перекрывания между последовательными получаемыми областями, возможны различные стратегии. Согласно первой стратегии, поверхность вращают на заранее определенную фиксированную величину для обеспечения заранее определенного значения перекрывания между последовательными получаемыми областями. Направление вращения (то есть, знак этапа угла вращения) должно согласовываться с θ расхождением координат между начальной и конечной позициями, которые ограничивают район, который должен быть получен. Этот способ является оптимальным для поверхностей с круглым поперечным сечением (как цилиндр), и центр симметрии которых совпадает с осью вращения двигателя.
y
y
Согласно второй стратегии, поверхность перемещают на заданную фиксированную величину Shift для обеспечения заранее определенного значения перекрывания между последовательными получаемыми областями. Направление перемещения (то есть, знак Shift) должно соответствовать расхождению координат Y между начальной и конечной позициями, которые ограничивают район, который должен быть получен. Этот способ оптимален для плоских поверхностей.
y
y-updated
y
y
Эти две стратегии не являются оптимальными для произвольных геометрических форм, поскольку они могут придавать этапам 403 - 406 длинные и громоздкие итерационные циклы. Другая стратегия для некруглых и неплоских поверхностей и для заранее определенного фиксированного перекрывания в 50% между последовательными получаемыми поверхностями проиллюстрирована на Фиг. 5 и 10A. На этапе 502 идентифицируют локальную нормаль к самой дальней точке топографии текущего участка (на границе зоны обзора) вдоль направления, соответствующего расхождению Y и θ координат между начальной и конечной позициями (точка P на Фиг. 10A). Поверхность вращают для помещения нормали к этой точке параллельно оптической оси 503. Поверхность затем перемещают на величину Shift 504 для помещения этой точки в центре зоны обзора (точка P' на Фиг. 10A). Позиция оси вращения двигателя обновляется на величину R=R+Shift 509. Фиг. 10A показывает начальный профиль, с индексом «1», и тот же профиль, с индексом «2», после вращения и перемещения. Перемещение соответствует 50%-ому перекрыванию между обоими профилями (общая область показана жирным), а вращение обеспечивает то, чтобы нормаль к центральной точке профиля «2» располагалась вдоль оптической оси. Угол вращения представляет собой угловое расхождение между направлением нормали в P и направлением оптической оси (вдоль Z).
y
y-updated
y
y
В случае оценки 501 перекрывания, когда желаемое перекрывание составляет >50%, позиция точки текущего участка, согласующаяся с заранее определенным фиксированным перекрыванием между последовательными получаемыми областями (вдоль направления, согласующегося с Y и θ расхождением координат между начальной и конечной позициями), определяется на этапе 505. Эта точка (P на Фиг. 10B) не находится на границе зоны обзора, поскольку перекрывание составляет более 50%. Позицию P находят путем линейной интерполяции между двумя следующими крайними случаями: P находится на границе зоны обзора для перекрывания в 50% и в центре зоны обзора для перекрывания в 100%. Поэтому, для общего перекрывания >50%, P помещают на расстоянии L* (перекрывание-50)/100 от границы зоны обзора, где L - это длина профиля. Локальную нормаль к этой точке идентифицируют на этапе 506. Поверхность вращают для помещения нормали к этой точке параллельно оптической оси 507. Угол вращения представляет собой угловое расхождение между направлением нормали к P и направлением оптической оси (вдоль Z). Поверхность перемещают на величину Shift для помещения этой точки в центр зоны обзора 508 (точка P' на Фиг. 10B). Позицию оси вращения двигателя обновляют до достижения значения R=R+Shift 509.
y
y-update
y
y
Для перекрывания <50%, локальная нормаль к самой дальней точке топографии текущего участка (на границе зоны обзора, вдоль направления, соответствующего Y и θ расхождению координат между начальной и конечной позицией, позицию P на фиг. 10) идентифицируется на этапе 510. Угол BETA («бета», β) между этой нормалью и направлением оптической оси определяют на этапе 511. Поверхность затем вращают на (1+ALPHA)*BETA, т.е. на кратное углам BETA, где положительный параметр ALPHA описан ниже, на этапе 512. Поверхность перемещают на величину Shift для помещения точки P вне центра зоны обзора 513 (в P' на Фиг. 10C). Перемещение соответствует ожидаемому перекрыванию. Позицию оси вращения двигателя обновляют на этапе 509 до достижения R=R+Shift.
Угол вращения является основным неизвестным, когда перекрывание составляет < 50%, поскольку цель способа состоит в помещении точки Q, исходно расположенной за пределами области обзора, в центр зоны обзора таким образом, чтобы ее нормаль была расположена вдоль направления оптической оси. Поскольку нормаль к Q неизвестна, она должна быть аппроксимирована путем экстраполяции на основании нормали к P и нормали к центру профиля «1», вертикального по определению. Упрощенная модель состоит в предположении того, что локальная кривизна профиля постоянна. Под этим подразумевается, что угол вращения составляет (1+ALPHA)*BETA, где ALPHA=(1-перекрывание/50). Это сводится к вращению на угол BETA, когда перекрывание составляет 50%, и на угол 2*BETA, когда перекрывание близко к 0%. Однако можно использовать несколько иную модель экстраполяции, согласно которой ALPHA стремится к 0, когда перекрывание стремится к 50%.
Этот способ является оптимальным для заранее определенных значений перекрывания, больших или равных 50%, поскольку часть топографии, приведенная под фотокамеру, уже известна и используется для вычисления перемещения и передвижений вращения, необходимых, чтобы поставить ее на место. Цикл этапов 403 - 406 будет, таким образом, минимизирован. Для заранее определенных значений перекрывания менее 50%, большая часть топографии области, которая приведена под фотокамеру, заранее неизвестна. Вероятно, что на этапах 403-406 понадобится несколько итерационных циклов.
Как было описано в отношении к этапу 400, один из этапов состоит в установлении исходной позиции части поверхности в FOV сенсора. Это применяется всякий раз, когда пользователь помещает часть поверхности в FOV сенсора. Это обеспечивает то, что поверхность в FOV сенсора становится перпендикулярной оптической оси. Во всем процессе согласно способу, описанному выше, это можно сделать несколько раз. Например: для установления позиции исходной и конечной областей поверхности, которые ограничивают протяженности поверхности, которые должны быть получены, и для установления позиции области поверхности, используемой для определения позиции оси вращения двигателя применительно к сенсору. В случае круглой поверхности (такой как поверхность пули, деформированная или нет), где начальный и конечный участки получения совпадают, и когда этот участок в дальнейшем используется для измерения позиции оси вращения двигателя, это можно сделать только один раз.
,
measured
measured
threshold
measured
threshold
small
Фиг. 6 иллюстрирует вариант воплощения согласно этому способу. 3D-топография, т.е. рельефная карта Z(XY) области, находящейся в настоящий момент в зоне обзора, получается на этапе 600. Этот этап зависит от конкретной технологии сенсора, используемого для получения 3D-топографии. В этой точке также может быть получено 2D-яркостное изображение, отображающее ту же часть поверхности. Нормаль N, отображающую топографию поверхности, охваченной на этапе 600, рассчитывают на этапе 601. Этот этап более подробно описан ниже. Вычисляют угол θ между нормалью N и оптической осью. Если абсолютное значение измеренного угла (θ) меньше заданной небольшой пороговой величины (θ), участок перпендикулярен оптической оси сенсора, и все позиции двигателя сохраняются в памяти на этапе 606. Если абсолютное значение измеренного угла (θ) больше заданной небольшой пороговой величины (θ), участок не перпендикулярен оси сенсора, а объект вращается на небольшой угол в направлении (т.е. его знак), которое соответствует измеренному углу (этап 602). Фиг. 9 иллюстрирует вращение на θ.
MEASURED
THRESHOLD
MEASURED
THRESHOLD
Получают 603 вторую 3D-топографию, то есть, рельефную карту Z (X, Y) области, находящейся в настоящий момент в зоне обзора. Этот этап зависит от конкретной технологии сенсора, используемого для получения 3D-топографии. В этой точке также можно получить 2D-яркостное изображение, отображающее ту же часть поверхности. Относительное смещение в направлении Y между парой изображений, полученных на этапах 600 и 603, определяют на этапе 604. Можно использовать пару топографических изображений и/или 2D-яркостных изображений (необязательно использование топографического изображения необязательно, поскольку относительное смещение в направлении Z не представляет интереса). В результате небольшого вращения, выполненного на этапе 602, оба изображения обладают значительной общей областью. Для определения относительного смещения в направлении Y можно использовать любой тип алгоритма измерения сходства изображения. Такой алгоритм задает величины подобности через комплект значений смещения. Относительное смещение между обоими изображениями задается как смещение, связанное с оптимальным значением подобия. На этапе 605 поверхность затем перемещается на величину относительного смещения, найденную на этапе 604. В этой точке область в зоне обзора та же самая, что и на этапе 600. Однако в результате вращения, применяемого на 602, ориентация топографии изменяется. На этапе 600 рельефную карту области в FOV получают снова 600, причем на этапе 601 нормаль рассчитывают снова для сопоставления θ с θ. Если абсолютная величина θ меньше, чем θ, участок перпендикулярен оптической оси сенсора, и все позиции двигателя сохраняются в памяти 606.
Во многих случаях, когда пользователю посредством дисплея системы предоставляется визуальный отклик, пользователь может визуально выяснить вращение и, в конечном счете, перемещение, необходимое для повышения перпендикулярности. Также можно использовать автоматизированные поисковые процессы для обеспечения приблизительных оценок вращения и перемещения по отношению к перпендикулярности.
Как описывалось на этапе 401 выше, этот этап состоит в поиске позиции оси вращения двигателя по отношению к началу координат системы координат сенсора. В соответствии с одним вариантом воплощения, ниже описан один путь осуществления этого этапа, проиллюстрированный в блок-схеме на Фиг. 7. Начальные установленные позиции двигателя устанавливаются таким образом, чтобы район поверхности, используемый для измерения позиции оси вращения двигателя, лежал в FOV сенсора 700. Область, используемую для измерения позиции оси вращения двигателя, выбирают таким образом, чтобы небольшое вращение поверхности не могло вызвать соударения между объектом и сенсором. Этап установки позиций комплекта двигателя на конкретном районе поверхности подробно описан выше.
small
Measured
На этапе 701 получают 3D-топографию, то есть получают рельефную карту Z (X, Y) области, находящейся в данный момент в пределах зоны обзора. Этот этап зависит от конкретной технологии сенсора, используемой для получения 3D-топографии. В этой точке также может быть получено 2D-яркостное изображение, отображающее ту же часть поверхности. На этапе 702 поверхность вращают на заранее определенный небольшой угол θ. Этот угол задают для минимизации риска соударения, и он обеспечивает хорошее перекрывание между последовательными участками. Типичные значения составляют от 1 до 6 градусов. На этапе 703 получают 3D-топографию, то есть рельефную карту Z (X, Y) области, находящейся в данный момент в пределах зоны обзора. Этап зависит от конкретной технологии сенсора, используемой для получения 3D-топографии. В этой точке также может быть получено 2D-яркостное изображение, отображающее ту же часть поверхности. На этапе 704 измеряют угол относительного вращения (θ) и смещения по Y и Z между текущей топографией и ранее измеренной топографией. Это можно сделать путем вычисления степени сходства между общей областью обоих топографий через набор углов вращения и относительных перемещений по Y и Z для обеих топографий. Оптимальный угол вращения и смещения по Y и Z заданы как параметры, связанные с максимальной вычисленной степенью сходства.
На этапе 705 временную позицию оси вращения двигателя, согласующуюся только с текущим и предыдущим участком, рассчитывают из относительного угла и смещений по Y и Z (ΔY и ΔZ), которые были ранее вычислены на этапе 704, с помощью формулы:
Y
TEMP
R_=1/2*[-ΔY-ΔZ*(sinΔθ)/(1-cosΔθ)];
Z
TEMP
R_=1/2*[-ΔZ+ΔY*(sinΔθ)/(1-cosΔθ)].
γ
z
TEMP
На этапе 706 вычисляют неотрицательный весовой коэффициент, который описывает достоверность ранее вычисленной временной позиции оси вращения двигателя. Эта достоверность представляет собой возрастающую функцию шероховатости и сходства двух сопоставляемых профилей. На этапе 707 вычисляют позицию оси вращения двигателя R и R как средневзвешенное значение всех временных позиций R, с использованием качественных весовых коэффициентов, найденных при текущей и предыдущей итерации.
γ
γ_TEMP_i
i
i
<mrow><mstyle displaystyle="true"><munder><mo>∑</mo><mi>i</mi></munder><mrow /></mstyle></mrow>
<mrow><mstyle displaystyle="true"><munder><mo>∑</mo><mi>i</mi></munder><mrow /></mstyle></mrow>
R=
(R*weight)/
(weight);
z
z_TEMP_i
i
i
<mrow><mstyle displaystyle="true"><munder><mo>∑</mo><mi>i</mi></munder><mrow /></mstyle></mrow>
<mrow><mstyle displaystyle="true"><munder><mo>∑</mo><mi>i</mi></munder><mrow /></mstyle></mrow>
R=
(R*weight)/
(weight).
γ
z
γ
z
γ
z
y
z
Значения R и R сохраняются при каждой итерации. На этапе 708 тестируют сходимость процедуры, используя последние N вычисленных значений для позиции оси вращения двигателя. Одна возможная процедура для тестирования сходимости состоит в определении того, является ли изменение последних N значений R и R меньшим, чем заданное пороговое значение, где N - это жестко запрограммированное целое число, большее чем 1. Эту проверку можно осуществлять, если существует, по меньшей мере, N подходящих значений R и R. Иначе решение еще не сходится. Если решение не сходится, возвращение к этапу 702, а иначе алгоритм прекращается. Для первой итерации начальная позиция (R, R) предполагается быть позицией (0, 0). Также можно применять и другие способы тестирования на сходимость, известные специалистам в данной области техники.
averag.
average.
Фиг. 8 более подробно иллюстрирует этап 601 согласно Фиг. 6, который представляет собой способ, используемый для вычисления средней нормали к части поверхности. Предполагается, что измеренную топографию, отображающую часть поверхности, подают в качестве входного сигнала способа. Усредненный профиль Z(Y), заданный вдоль направления Y, описывает общую форму топографии 800. Средний профиль может представлять собой средний (взвешенный или нет) профиль или среднюю линию профилей Z(Y)=среднее значение Z (X, Y) по X, или среднюю линию Z (X, Y) по X. Точные математические вычисления усредненного профиля могут изменяться как функция типа поверхности, заданного во входном сигнале. Нормаль N к усредненному профилю вычисляют на этапе 801. Нормаль находят путем усреднения локальной нормали к профилю по каждой точке:
y
z
N=(N, N)=среднее значение по i (N_i);
где локальную нормаль можно найти путем нахождения конечных разностей с соседним значением.
i
N=([z(i)-z(i+l)], -([y(i)-y(i+1)]) или путем других методик, основанных на одном или более соседних значений.
Тогда как блоки согласно способам, представленным на Фиг. 4-8, показаны как возникающие в конкретном порядке, специалистам в данной области техники должно быть понятно, что многие из блоков являются взаимозаменяемыми, и они могут возникать в порядке, отличном от порядка, который показан, не оказывая существенного воздействия на конечные результаты данных способов. Дополнительно, тогда как настоящее открытие относится к коду или функциям, которые постоянно находятся на процессоре, это не означает, что оно ограничивает объем возможных применений описываемых способов. Любая система, процессор которой может использоваться, не вызывая отклонения от сущности и объема настоящего открытия.
Тогда как настоящее открытие в основном описано как способ, специалистам в данной области техники должно быть понятно, что настоящее открытие также направлено на устройство для выполнения изложенного способа и включает в себя детали устройства, предназначенные для выполнения каждого блока, описанного способа, которое выполняет его с помощью аппаратных компонентов, компьютера запрограммированного на подходящее программное обеспечение, обеспечивающего осуществление на практике изложенного способа, за счет любого сочетания двух из них, или любым другим способом. Более того, готовое изделие, предназначенное для использования с устройством, такое как устройство хранения, на которое была произведена предварительная запись или другой аналогичный считываемый компьютером носитель, включающий в себя записанные на него программные команды, или сигнал передачи данных компьютера, передающий считываемые компьютером программные команды, может вести устройство к облегчению практического применения изложенного способа. Следует понимать, что такие устройства, готовые изделия и сигналы передачи данных компьютера также находятся в пределах объема настоящего открытия.
Варианты воплощения настоящего открытия, описанные выше, следует рассматривать лишь в качестве примеров. Специалисты в данной области техники могут осуществлять преобразования, модификации и изменения конкретных примерных вариантов воплощения, без отступления от заданного объема настоящего открытия. В частности, признаки, выбранные из одного или более вышеописанных примерных вариантов воплощения, можно комбинировать между собой для создания альтернативных примерных вариантов воплощения, которые не были явно описаны, и признаки, пригодные для таких комбинаций, специалисты в данной области техники смогут легко понять. Предмет изобретения, описанный в настоящем документе в заявленной формуле изобретения, имеет намерение покрыть и охватить все подходящие изменения в технологии.