Наземные лазерные сканеры позволяют получать точную трехмерную модель объекта в виде облака точек. На практике объекты необходимо сканировать с различных точек зрения, а затем результаты объединяются в единую систему координат (данную процедуру часто называют регистрацией или взаимным ориентированием). Данный проект посвящен автоматическому решению данной задачи без использования специальных марок и отражателей. Первый полностью автоматический алгоритм для решения задачи был предложен в 1992 году. Данный алгоритм называется Iterative Closest Point (сокращенно ICP). Сегодня существует много методов развивающих идеи ICP и позволяющих получить точное решение задачи. Однако, для получения точного решения алгоритму требуется информация о приближенной ориентации облаков точек, что снижает область применения алгоритма. Мы разработали алгоритм, основанный на использовании ориентационных гистограмм, который позволяет решить задачу без использования начальных приближений. Экспериментальные результаты показывают эффективность предлагаемого метода на различных примерах.
Алгоритм оценки приближенных значений элементов взаимного ориентирования состоит из двух шагов: сначала выполняется оценка угловой ориентации R, а затем оценивается вектор сдвига T.
Фильтрация точек
Мы не рассматриваем все точки, у которых нормаль к поверхности направлена вверх. Мы также исключаем точки с неопределенным положением нормали. Как правило, это точки растительности.
Оценка угловой ориентации
Оценка угловой ориентации состоит из следующих шагов:
Значение матрицы поворота, соответствующее максимуму корреляционной функции, и является искомой угловой ориентацией.
Оценка вектора сдвига
Сначала облако точек P2 поворачивается с использованной найденной ранее матрицы поворота. Затем строится бинарное воксельное представление для облаков точек с помощью процедуры трехмерной дискретизации. Элемент воксельного представления равен 1, если внутри вокселя находится хотя бы одна трехмерная точка, и равен 0 в противном случае.
Оценка сдвига между двуся системами координат облаков точек считается как максимум корреляционной функции G, который рассчитывается с помощью преобразования Фурье.
Детали алгоритма описаны в нашей статье.
Скульптура кошки (нет ни одной плоскости!)

рис. 1. Облако точек до регистрации и после автоматической регистрации. Начальный поворот вокруг оси Z составляет ~78 градусов. Длина вектора сдвига составляет примерно 90% от размера модели.
Замок Welfenschloss

Рис. 2. Облако точек до и после регистрации. Начальный угол поворота вокруг оси Z составляет ~72 градуса. Длина начального вектора сдвига составляет ~70% от размера модели. Данные предоставлены Institut for Cartography and Geoinformatics, Leibniz Universität Hannover, http://www.ikg.uni-hannover.de
Церковь Samarina

рис. 3. Облако точек до и после регистрации. Начальный угол поворота ~43 deg. Длина вектора ~120% от размера модели. Данные предоставлены ISPRS, Working Group V/3, http://www.commission5.isprs.org/wg3e.
Здание

Рис. 4. Облако точек до и после арегистарции. Начальный угол - ~70 градусов. Длина вектора ~150% от размера модели.
Chibunichev A.G., Velizhev A.B., Automatic Matching of Terrestrial Scan Data Using Orientation Histograms, ISPRS the XXI Congress, Beijing, 2008 [pdf]
Dold, C., 2005. Extended Gaussian images for the registration of terrestrial scan data. In: ISPRS WG III/3, III/4, V/3 Workshop "Laser scanning 2005", Enschede, the Netherlands. [pdf]
Makadia, A., Patterson IV A., Daniilidis K., 2006. Fully automatic registration of 3D point clouds. In: Computer Vision and Pattern Recognition, 2006 IEEE Computer Society Conference, Vol. 1, pp. 1297-1304. [pdf]
Александр Велижев
avelizhev [at] graphics [dot] cs [dot] msu [dot] ru