УДК 528.7
КАЛИБРОВКА СНИМКОВ В ПРОГРАММАХ AGISOFT PHOTOSCAN И CONTEXT CAPTURE
канд. техн. наук, доц. А.А. МИХЕЕВА; канд. техн. наук, доц. В.В. ЯЛТЫХОВ; П.Ф. ПАРАДНЯ (Полоцкий государственный университет)
Рассматривается способ «самокалибровка», получивший в последнее время широкое применение. Данный способ основан на решении фотограмметрических задач с учетом систематических ошибок конкретных снимков и использованием модели дисторсии Брауна. Реализуется в программных комплексах Agisoft Photoscan и Context Capture. В результате обработки снимков учебно-лабораторного корпуса № 3 Полоцкого государственного университета с цифровой камеры FC-220 были получены значения фокусных расстояний, изменяющихся в зависимости от числа опорных точек. Обращается внимание на некорректность терминологии и неточность в формулировках документа «Руководство пользователя» Agisoft Photoscan.
Ключевые слова: фотограмметрия, цифровые камеры, калибровка, программное обеспечение.
В последнее время в малых организациях широко используют для съемки с беспилотных летательных аппаратов бытовые и полупрофессиональные цифровые камеры, которые, однако, несовершенны и требуют калибровки. С появлением цифровых фотокамер многие пользователи предпринимают попытки использовать их для целей фотограмметрии, но для целей фотограмметрии необходимо знать элементы внутреннего ориентирования и дисторсию. К тому же бытовые и полупрофессиональные цифровые камеры вместо объектива, состоящего из набора линз, компенсирующих сферические аберрации, иногда используют всего лишь одну линзу.
Цель калибровки аэрофотоаппаратов (АФА) - определение параметров и характеристик оптико-фотографической системы, которые влияют на измерительные свойства аэрофотоснимков, их ортоскопию. Экспериментальные распределения дисторсии по полю изображения, выполняемые совместно с определением элементов внутреннего ориентирования съемочной камеры, составляют задачу фотограмметрической калибровки АФА [1]. К элементам внутреннего ориентирования относятся величина фокусного расстояния аэрокамеры и координаты главной точки.
В геометрической оптике луч, идущий из бесконечности параллельно оптической оси, по выходу из оптической системы пересечет оптическую ось в точке F', которая называется фокусом. Расстояние от главной точки оптической системы S' до фокуса F' является фокусным расстоянием объектива в пространстве изображений и обозначается f [2]. Плоскость, проходящая через фокус F' перпендикулярно оптической оси, называется фокальной плоскостью Р' (рисунок 1).
Н Н'
Рисунок 1. - Ход лучей в идеальной оптической системе
При конструировании аэрофотокамер стремятся расположить светочувствительную матрицу в фокальной плоскости с высокой точностью. Однако абсолютно точно расположить светочувствительную матрицу на расстоянии f вряд ли возможно. Поэтому фокусное расстояние аэрокамеры - это условно принятое удаление плоскости прикладной рамки или плоскости выравнивающего стекла от заданной главной плоскости оптической системы Н' [3]. Допустимая величина расфокусировки [3] может быть рассчитана следующим образом:
&/доп= n0tдоп, (1)
где п0 - апертура (в ходе съемки была принята 2,2); хдоп - диаметр пятна рассеяния, или кружка нерезкости.
Применительно к цифровой камере FC-220, используемой для съемки корпуса 3 Полоцкого государственного университета, в соответствии с работами [4, 5] хдоп = 3,14 мкм при размере пиксела l = 1,57 мкм [6] получили допустимую величину расфокусировки А/доп= 6,91 мкм. В случае если установлена апертура n0 = 4, допустимая величина расфокусировки к/доп= 12,56 мкм, что говорит о целесообразности использовать при съемке апертуру n0 = 4, а не n0 = 2,2.
От постоянства фокусного расстояния, или расстояния от главной точки оптической системы до светочувствительной матрицы [7], зависит качество аэроснимка и точность фотограмметрической обработки [3]. Параметры оптической системы должны оставаться постоянными при изменении внешних условий [3].
Калибровка аэрофотокамер выполняется согласно утвержденным международным стандартам. Сертификаты о калибровке унифицированы, что дает возможность сравнивать параметры различных аэрофотокамер. Что касается калибровки цифровых камер, то в настоящее время нет установленного стандарта, и каждая фирма выполняет калибровку собственным способом. В результате фирмы представляют такие технические характеристики камер, которые не позволяют сравнить цифровые камеры разных производителей.
Фотограмметрические способы калибровки составляют три группы [1]: лабораторные, полевые (фотографирование полигона) и способ, получивший широкое применение в последнее время, называемый «самокалибровкой». Последний способ основан на решении фотограмметрических задач с учетом систематических ошибок конкретных аэрофотоснимков, полученных в определенных условиях.
Изучив руководства пользователей программ Agisoft Photoscan [6] и Context Capture [8], мы пришли к выводу, что в этих программах используется способ «самокалибровки».
Как отмечают авторы работы [6], при определении параметров внешнего и внутреннего ориентирования камер находят общие точки смежных снимков, которые в работе [6] назвали «разреженное облако точек», и по этим точкам определяют все параметры камер [6]: положение, ориентацию, внутреннюю геометрию (фокусное расстояние, параметры дисторсии и т.п.).
В работе [9] говорится, что корректировка исходных данных калибровки производится во время процедуры выравнивания снимков. Выравнивание фотографий включает [9]:
- поиск общих точек на снимках;
- определение элементов взаимного ориентирования снимков;
- формирование первичной модели, состоящей из общих точек разреженного облака точек.
Таким образом, в работе [9] об элементах внешнего ориентирования не упоминается. Представляется, что в работе [6] допущена опечатка. По общим точкам смежных снимков элементы внешнего ориентирования определить невозможно. Первичное уравнивание элементов ориентирования выполняется автоматически на этапе выравнивания снимков [9]. При этом также производится определение фокусного расстояния f и положение главной точки, т.е. выполняется самокалибровка. Хотя в программе [9] можно зафиксировать калибровку в случае, если известны точные данные калибровки.
Уравнивание при строгом способе - полиномиальное [6]. Наиболее строгим способом многомаршрутной фототриангуляции является способ связок, в котором уравниваются непосредственно измеренные величины. В других способах фототриангуляции уравнивание ведется по полиномам разной степени. Нельзя сказать, что использование полиномов - строгий способ. Например, если имеется три опорные точки, будут учтены только ошибки за наклон модели относительно принятой системы координат. При наличии четырех опорных точек устранится скручивание модели; при пяти опорных точках -прогиб. Чем больше опорных точек, тем большая длина полинома может быть задействована. И во всех этих случаях окончательные координаты точек будут разными. Ожидать, что показания бортовых приборов выправят ситуацию нельзя, так как точность этого оборудования низкая [10]. К тому же авторы руководства [6] отмечают, что для уравнивания необходимо не менее 10 опорных точек. И далее авторы программы [6] утверждают, что «строгое уравнивание выполняется при оптимизации по координатам центров проектирования и/или координатам опорных точек».
В ходе уравнивания сетей фототриангуляции в программе Agisoft Photoscan нами были получены координаты центров проектирования, которые были приняты за истинные данные. Координаты центров проектирования, полученные по данным GPS-приемника, также были известны. Средние ошибки данных GPS приведены в таблице 1.
Таблица 1. - Средние ошибки положения камер
Ошибка по оси Х, м Ошибка по оси Y, м Ошибка по оси Z, м Ошибка по осям X,Y, м Общая ошибка, м
4,2 4,0 2,6 5,8 6,3
Как видим, положение центров фотографирования по данным ОРБ-приемника, установленного на беспилотном летательном аппарате, определяются с низкой точностью. Как справедливо отмечено в работе [10], ошибки в определении координат центров проектирования могут достигать 20... 30 метров.
И как отмечает тот же автор [10], ошибки в углах наклона снимков могут составлять 10°. При таких ошибках сети фототриангуляции без опорных точек, опираясь только на показания бортовых приборов, строить нельзя.
Скорректированные данные калибровки отображаются в разделе «Калибровка камеры» отчета об обработке проекта. В этом разделе отчета (рисунок 2) представлены «невязки по связующим точкам». По нашему мнению, это усредненные значения калибровки на обрабатываемом объекте.
Рисунок 2. - Невязки по связующим точкам для FC220 (4.73mm)
Связующие точки набираются автоматически. В ходе работы программой было набрано более 57000 связующих точек на объект, состоящий из 62 снимков.
На рисунке 2 отображено примерно 2400 точек. С нашей точки зрения, связующих точек должно быть значительно меньше, и они должны быть не менее чем в тройном продольном перекрытии. Возникает вопрос, зачем программа набрала более 57000 связующих точек, так как это существенно увеличило время работы. Возможно, точки она выбирает произвольно, чтобы автоматизировать процедуру измерения точек.
Контрольная сетка для калибровки аэрофотоаппаратов формата кадра 30*30 см содержит около 3400 крестов. Для формата кадра 18*18 см - число крестов составляет 1156, а для снимков, полученных цифровой камерой FC220 формата кадра 5,54*4,16 мм, набирают более 2400 точек (см. рисунок 2). Кроме того, методика определения параметров аэрофотоаппаратов совсем иная, чем в программе Agisoft Photoscan, которая решает задачу по так называемым связующим точкам, которых в среднем для каждого снимка около 2400.
Как видим из рисунка 2, точки располагаются равномерно по площади кадра. Представляется, что по этим точкам и выполняют калибровку. Но возникает вопрос, почему точки назвали связующими? В фотограмметрии связующей точкой называют контурную точку, расположенную в зоне тройного продольного перекрытия снимков, т.е. общую точку для смежных стереопар [11]. Из рисунка 2 также видно, что самые большие расхождения - в центре и углах кадра, но есть места, где расхождений практически нет. Надо полагать, что расхождений нет там, где точки не располагаются в зонах тройных и более перекрытий. Таким образом, точки без ошибок, которые есть на рисунке 2, отнаблюдены в одной модели, поэтому и нет расхождений. Однако они тоже будут принимать участие в калибровке и, следовательно, искажать результат. Расхождение координат на точках может быть вызвано разными причинами: рельефом, углами наклонов снимков, погрешностями работы коррелятора и другими.
В программе Agisoft Photoscan, как свидетельствуют авторы руководства [6], при анализе снимков используется модель дисторсии Брауна, и отмечают, что снимки, полученные большинством камер, достаточно хорошо описываются данной моделью [6].
Браун предложил следующую модель учета дисторсии [12]:
x = x + x (k1r2+k2r4+k3r6+...)+[p1(r2(r2+2 x 2)+2p2 x ■ y ]-[1 +p3r2+...]; (2)
У = y+y (klr1+k2rA+k3r6+...)+[2pl y + p2 ■ p2(r2+2y2)]-[1 + p3r2+...], (3)
где x= x - xp; y = y - yp; r = [(x - xp)2 + (y - yp)2]1/2; kb k2, k3 - коэффициенты радиальной дисторсии; ръ р2, рз - коэффициенты тангенциальной дисторсии; x, y - измеренные в системе координат снимка коор-
ч / /
динаты точки; xp, yp - координаты главной точки снимка; x, y - координаты, исправленные за дисторсию.
Исходя из формул (2) и (3), дисторсия в главной точке, расположенной в центре кадра, равна нулю, но на рисунке 2 - самая большая дисторсия. Погрешности за рефракцию и т.д., которые также учитываются при калибровке, в центре кадра не должны давать искажений. Следовательно, возникает вопрос, почему на центральных точках большие искажения?
Модель дисторсии, как говорится в руководстве [6], в программе Agisoft РИо1шсап описывает трансформацию координат точки в локальной системе координат камеры в пикселах кадра (сенсора), однако применять слово «трансформация» при определении дисторсии некорректно, о чем свидетельствует источник [13].
Авторы программы Agisoft Photoscan [6] пишут, что начало координат локальной системы находится в центре проекции камеры. Ось 2 указывает в направлении взгляда, ось Х направлена вправо, ось У - вниз. Возникает вопрос, как понимать описанную систему координат?
Судя по приведенным ниже формулам, оси Х и У локальной системы координат параллельны осям координат на снимке, а ось 2, неясно куда направлена. Неизвестно, эта ось направлена вверх, или вниз. Предположительно, что оси координат направлены, как показано на рисунке 3.
Начало системы координат кадра (сенсора) находится в верхнем левом пикселе кадра, координаты центра которого (0,5; 0,5). Ось Х направлена вправо, ось У - вниз. Координаты кадра измеряются в пикселах (рисунок 4).
Y
Рисунок 3. - Локальная система координат
Рисунок 4. - Система координат кадра
В программах Agisoft Photoscan и Context Capture [8] для обработки кадровых снимков использовались следующие формулы для учета дисторсии [6]:
х = X/Z; (4)
У = Y/Z; (5)
r = sqrt(x2+y2);
х'= х(1 +K r2+K2 r4+K3 r6) + Pl(r2+2x2) + 2P2xy; (6)
y'=У(1 +K r2 + K2 r4+K r6) + P1(r2+2y2) + 2P2xy; (7) 124
u = сх+х\f + yskew; (8)
v = Cy+ y'fy. (9)
Здесь, в формулах (4)-(9), Х, Y, Z - координаты точки в локальной системе координат камеры; u, v - координаты точки, в проекции на плоскость кадра; f - фокусное расстояние; сх, cy - смещение кардиальной точки; fx, fy - проекции фокусного расстояния на оси координат снимка х и y (в пикселах); skew - коэффициент скоса; kb k2, k3 - коэффициенты радиальной дисторсии; рь р2, р3 - коэффициенты тангенциальной дисторсии.
На основании формул (4)-(9) можно предположить, что в формулах для вычисления х и y допущена опечатка. Координаты точек на снимке имеют размерность, а отношения X/Z и Y/Z безразмерные величины. Возможно, эти формулы должны иметь вид:
X = XL ; y = Yf . (10)
Z Z
Нельзя предположить, что перейдем к координатам точки на снимке, так как значение f в формулах (10) будет учтено при вычислении u и v. Так как в формулах (8) и (9) фигурируют проекции фокусного расстояния на оси координат снимка х и y - fx и fy, которые составляют очень малую величину, что не позволит получить координаты u и v (см. рисунок 2).
Величины fx и fy в формулах Брауна отсутствуют. Однако, возможно, они имеют место быть. Аэрофотоаппараты тщательно монтируют так, чтобы оптическая ось объектива была перпендикулярна плоскости светочувствительного материала, и в этом случае fx и fy равны нулю. Более того, в фотограмметрии часто главной точкой снимка называют основание перпендикуляра, опущенного из центра проекции на плоскость снимка [3]. Однако когда речь идет о бытовых цифровых камерах, то условие перпендикулярности оптической оси плоскости светочувствительной матрицы маловероятно, и оптическая ось может пересечь светочувствительную матрицу под углом, не равным 90°. В этом случае и могут появиться проекции фокусного расстояния на плоскость снимка. Однако в работе [14] отмечено, что fx и fy - проекции фокусного расстояния не на плоскость снимка, а на плоскости ZX и ZY соответственно (см. рисунок 3). В этом случае значения fx и fy будут близки к значению фокусного расстояния и использование формул (10) не понадобиться.
В формулах Брауна X и y - координаты точки в системе координат снимка, а в формулах (4) и (5) имеем безразмерные коэффициенты с учетом дисторсии.
Отсутствует пояснение, в чем отличие u, v от х и y . Скорее всего, одни координаты u и v должны быть в пикселах, другие (х' иy) - безразмерные коэффициенты с учетом дисторсии.
Кроме того, непонятно, какие это координаты: Х, Y или Z? Это координаты точек на местности или на снимке? Если Х, Y и Z - координаты точек на местности, то они неизвестны. Для определения этих координат и строят сети фототриангуляции. Возможно, речь идет обо всех точках всех снимков, которые включают в сеть. Скорее всего, Х и Y - координаты точек на снимке, а Z - это фокусное расстояние, как видно из рисунка 3. Отношения X/Z и Y/Z вычисляют, чтобы получить безразмерные коэффициенты, с которыми в дальнейшем и работают.
Формулы для вычисления х и y соответствуют предложенным Брауном, однако в них не учтены параметры в последних скобках формул (2) и (3). Представляется, что авторы программы Agisoft Photoscan сделали допущение о том, что они малы и не повлекут какие-либо существенных изменений.
В пояснении к сх и cy имеется неясность относительно кардиальной точки. Следовало написать «координаты главной точки снимка в системе координат uv (см. рисунок 3).
Авторы работы назвали термин skew коэффициентом скоса. Однако непонятно, что они под этим коэффициентом подразумевают. В работе [14] skew назван «коэффициентом неортоганальности системы координат снимка», что вполне понятно.
Начиная с версии 1.4, рекомендовано пользоваться следующими формулами [6]:
х = X/Z; (11)
y = Y/Z; (12)
r = sqrt^y2' + y2); (13)
х = х(1 +KX r+K2 r+K3 r6+K4 r8)+(Pj(r2 + 2х2) +2Р2ху)-(1 +P3 r2+ P4 r4); (14)
y'=y(1 +Klr2+K2 r4+K3r6+ K4 r8)+(Pi(r2+2y2)+2Р2ху)■ (1+P3 r2+ P4 r4); (15)
u = 0,5w + сх+ х f + х Bx + y B2; (16)
v = 0,5h + cy + yf. (17)
В представленных выше уравнениях (11)—(17) использованы следующие параметры: Х, Y, Z - координаты точки в локальной системе координат камеры; u, v - координаты точки в проекции на плоскость кадра; f - фокусное расстояние; cx, cy - смещение кардиальной точки; K1, K2, K3, K4 - коэффициенты радиальной дисторсии; P1, P2, P3, P4 - коэффициенты тангенциальной дисторсии; w - ширина кадра в пикселах; h - высота кадра в пикселах; B1, B2 - коэффициенты аффинитета и неортогональности.
Как видим, повторяются те же неточности в формулировках.
Сопоставляя формулы (14)-(15) с формулами (6)-(7), видим, что, начиная с версии 1.4, в формулах используется большее число коэффициентов для учета дисторсии.
В формулах (16) и (17) вместо проекций фокусного расстояния на оси координат снимка х и y -f и fy используется само фокусное расстояниеf, и в этом случае нет надобности в формулах (10).
Понятие «аффинитет» как сокращенное название для аффинного преобразования чаще употребляется в других областях науки, а не в фотограмметрии. Правильное название сформулировано в работе [14]: «коэффициенты неортогональности системы координат снимка».
Авторы программы Agisoft Photoscan отмечают, что параметры калибровки камеры, рассчитанные в Photoscan, могут отличаться от параметров калибровки, полученных при измерениях в лабораторных условиях, и поясняют: «дело в том, что в Photoscan рассчитываются эффективные параметры, соответствующие конкретному обрабатываемому набору снимков и координат. Они могут отличаться от определенных в лабораторных условиях в силу разных факторов, основные из которых - движение летательного аппарата при использовании движущегося затвора и атмосферная рефракция» [6].
И далее авторы программы Agisoft Photoscan [6] отмечают, что эффективные параметры зависят от рефракции, конфигурации поверхности и схемы маршрутов. Эффективные параметры отличаются от параметров, определенных в лаборатории [6]. К тому же приведенные выше формулы не описывают ни рефракцию, ни движение летательного аппарата и т. д.
Рефракция, конфигурация поверхности, схемы маршрутов, кривизна Земли, движение летательного аппарата, конкретный набор снимков не имеют никакого отношения к параметрам калибровки. Если они и учитываются в программе, встает вопрос, по каким формулам и в ходе какой процедуры? По нашему мнению, они не могут быть учтены в ходе калибровки, при которой определяются оптические характеристики объектива.
Уравнивание сетей фототриангуляции выполнялось в программах Agisoft Photoscan и Context Capture при разном числе опорных точек. Значения фокусных расстояний в зависимости от числа опорных точек, полученные после уравнивания, приведены в таблице 2.
Таблица 2. - Уравнивание сетей фототриангуляции в программах Agisoft Photoscan и Context Capture
Программа Agisoft Photoscan Программа Context Capture
число опорных точек f, мм число опорных точек f, мм
3 4,708 5 4,36
4 4,706 7 4,68
5 4,75
Таким образом, сопоставляя величины фокусных расстояний f, видим, что их значения изменяются в зависимости от числа опорных точек, а этого быть не должно. Число опорных точек не может изменить оптические характеристики объектива.
Величины фокусных расстояний в программе Agisoft Photoscan изменяются в меньшей степени, чем в программе Context Capture.
Разработчику программного обеспечения следует более ответственно относиться к написанию «Руководства пользователя». Любые нормативные документы и руководства должны тщательно проверяться, редактироваться и не допускать двойных толкований, жаргонной лексики и тем более ошибок.
ЛИТЕРАТУРА
1. Савиных, В.П. Аэрокосмическая фотосъемка / В.П. Савиных, А.С. Кучко, А.Ф. Стеценко - М. : Картгеоцентр - Геодезиздат, 1997. - 378 с.
2. Мальцев, М.Д. Прикладная оптика и оптические измерения / М.Д. Мальцев, Г. А. Каракулина. - М. : Машиностроение, 1968. - 472 с.
3. Щербаков, Е.Я. Расчет и конструирование аэрофотоаппаратов / Е.Я. Щербаков. - М. : Машиностроение, 1979. - 464 с.
4. Гельман, Р.Н. Лабораторная калибровка цифровых камер с большой дисторсией / Р.Н. Гельман, А. Л. Дунц // Геодезия и картография. - 2002. - № 7. - С. 23-31.
5. Михеева, А. А. Анализ разрешающей способности снимков, полученных с беспилотного летательного аппарата / А.А. Михеева, В.В. Ялтыхов, П.Ф. Парадня // Вестник Полоцкого гос. ун-та. Серия F, Строительство. Прикладные науки. - 2018. - № 8. - С. 184-192.
6. Agisoft Photoscan. Руководство пользователя, 2016. - 113 с.
7. Михеева, А.А. О переменном фокусном расстоянии / А.А. Михеева // Вестник Полоцкого гос. ун-та. Серия F, Строительство. Прикладные науки. - 2011. - № 16. - С. 146-149.
8. Context Capture User Manual. Bentlley Systems, 2018. - P. 200-203.
9. Обработка материалов аэросъемки в Agisoft Photoscan Pro. Получение ортофотопланов. Получение матрицы высот [Электронный ресурс]. - Режим доступа: https://docplayer.ru/26314172-Agisoft-photoscan-pro. html. - Дата доступа: 23.06.2019.
10. Сечин, А.Ю. Беспилотный летательный аппарат: Применение в целях аэросъемки для картографирования. Ч. 2 [Электронный ресурс] / А.Ю. Сечин, М.А. Дракин, А.С. Киселева. - Режим доступа: https://russiandrone.ru/publications/bespilotnyy-letatelnyy-apparat-primenenie-v-tselyakh-aerofotosemki-dlya-kartografirovaniya-chast-2. - Дата доступа: 23.06.2019.
11. Лобанов, А.Н. Аэрофототопография / А.Н. Лобанов. - М. : Недра, 1978. - 576 с.
12. Duane C., Вrown Close-Range Camera Calibration / Duane C. Вшта // Photogrammetric Ingineering and Remote Sensing. - 1971. - Vol. 37, № 8, August. - P. 855-866.
13. Советский энциклопедический словарь / А.М. Прохоров (гл. ред.). - 3-е изд. - М. : Сов. энциклопедия, 1985. - 1600 с.
14. Испытательный полигон МИИГАиК для тестирования, калибровки и сертификации беспилотных летательных систем / А.Г. Чибуничев [и др.] // Геодезия, картография, кадастр, ГИС - проблемы и перспективы развития : материалы междунар. науч.-техн. конф. Ч. 1. - Новополоцк, 2016. - С. 36-47.
Поступила 20.06.2019
IMAGE CALIBRATION WITH AGISOFT PHOTOSCAN AND CONTEXTCAPTURE
A. MIKHEEVA, V. YALTYKHOV, P. PARADNYA
Recently small organization widely use consumer and semi-pro digital cameras for survey with pilotless aircraft, which is far from perfection and requires calibration. The paper eхamines a method that has recently become popular and is called "self-calibration " based on solving photogrammetric problems using systematic errors of particular images performed by Agisoft Photoscan and Conteхt Capture. This method uses Brown distortion model. As a result of processing the images of the Polotsk State University campus building 3 with the FC-220 digital camera, the values of the focus distance changing with the number of survey points are calculated. It is pointed out that Agisoft Photoscan guide uses terminology incorrectly and inaccurately.
Keywords: photogrammetry, digital cameras, calibration software, reference points.