Фотограмметрический кейс: при реконструкции фасада исторического здания архивные аэрофотоснимки 1940-х годов были оцифрованы и совмещены с современными UAV-ортофотоснимками, но при наложении наблюдаются локальные трансформации и смещения элементов фасада; какие методы коррекции геометрии и контроля качества стоит применить, чтобы сохранить историческую достоверность модели и обеспечить метрическую точность реставрационных чертежей
Коротко — последовательный рабочий процесс + набор методов контроля и оценок. Предлагаю этапы и конкретные инструменты/метрики. 1) Подготовка сканов и внутренняя ориентация - Использовать сканы с учётом фидуциалов плёнки (если есть) и коррекцией сканерного искажения. - Подбирать/оценивать внутреннюю ориентацию архивной камеры: фокус, главную точку, радиальную дисторсию (оценка через кадрирование/фидуциалы или через калибровку по контрольным точкам). 2) Глобальная геопривязка - Первично выполнить жёсткую/аффинную привязку: similarity (скалирование+сдвиг+поворот) или проективная гомография, в зависимости от характера съёмки. - Использовать современные UAV-орто и, по возможности, наземный TLS/ретрофото как источник высокоточной опоры (GCP/CP). - Структура базы GCP: независимые контрольные точки (check points) для верификации. 3) Геометрическая коррекция локальных трансформаций - Работать по иерархии: глобальная трансформация → локальная корректировка. - Для локальных искажений применять один из подходов: - Thin Plate Spline (TPS) с регуляризацией — хорош для плавных деформаций, можно добавить весовые коэффициенты для ключевых архитектурных элементов (уменьшать деформацию по ним). - Piecewise linear warping (Delaunay triangulation) — надёжно контролирует локальные сдвиги, но требует качественных точек по границам треугольников. - Line-preserving warping / constrained warping — включать в оптимизацию линейные примитивы (карнизы, проёмы) чтобы сохранять прямолинейность. - Если есть параметры камеры — совместный bundle adjustment (SfM/COLMAP/Agisoft) включая архивные кадры с оценкой внутренних параметров и искажений. - Ограничения/приоритеты: пометить архитектурно значимые элементы как «жёсткие» (фиксированные) при локальной коррекции, чтобы не искажать историческую форму. 4) Орто-ректификация с учётом рельефа и фасадной плоскости - Для фасадной реконструкции предпочтительна ортокоррекция по фасадной плоскости (или по облаку TLS/референтным снимкам), а не растяжение по DEM. - Если здание не плоскопараллельно съёмке — использовать DSM/TLS для устранения параллакса. 5) Контроль качества (QC) и верификация - Независимые контрольные точки (check points) — расчет остатков (вместо только GCP). Ожидаемые целевые уровни точности для реставрационных чертежей: детальная работа ≤0.02 m\le 0.02\ \mathrm{m}≤0.02m, фасадный план/чертёж ≤0.05 m\le 0.05\ \mathrm{m}≤0.05m — ≤0.10 m\le 0.10\ \mathrm{m}≤0.10m в зависимости от заданной точности проекта. - Метрики и отчёты: - RMS ошибок на GCP и на check points: RMSEx, RMSEy, RMSE2D\mathrm{RMSE}_x,\ \mathrm{RMSE}_y,\ \mathrm{RMSE}_{2D}RMSEx,RMSEy,RMSE2D. - Максимальные остатки и стандартное отклонение. - Карта векторных смещений между архивным и современным изображением (displacement field) и тепловая карта ошибок. - Карта локальных масштабных коэффициентов и сдвигов (проверить анизотропию масштаба). - Тест leave-one-out (кросс-валидация): поочерёдно исключать GCP и оценивать предсказанные ошибки. - Контроль прямолинейности: измерять отклонение линий фасада от прямой (line straightness error). - Учет неопределённости: получить ковариацию параметров из bundle adjustment и перенести ошибки на финальные размеры (погрешности в чертежах). - Визуальные проверки: наложение контуров архитектурных элементов, различимые смещения, просмотр в масштабе 1:1. 6) Сохранение исторической достоверности - Применять минимально необходимую деформацию: сначала пробовать глобальные преобразования; локальные — только там, где очевидно оптическое/физическое искажение. - Поддерживать многослойность: исходный архив + скорректированный слой; хранить все параметры трансформаций и метаданные (метод, GCP, веса). - Документировать все интервенции: зона коррекции, величины коррекций, уровень доверия — на чертежах указывать погрешности в каждом фрагменте. - В спорных случаях отмечать элементы как реконструктивные/гипотетические, не подменяя оригинал. 7) Инструменты/практическая реализация - SfM/BA: COLMAP, Agisoft Metashape, MicMac. - Орто/выровнивание/геопривязка: GDAL, QGIS, OpenCV (TPS, affine, homography), custom scripts (Python + NumPy/SciPy). - TLS/облака точек: CloudCompare — для сравнения облаков и вычисления векторных смещений. - Контроль и отчёты: QGIS + плагины, собственные таблицы RMSE/heatmaps. Резюме рекомендаций (коротко) - Оценить и исправить внутреннюю ориентацию архивных кадров. - Выполнить глобальную жёсткую привязку к современному орто/TLS. - Локально корректировать деформации с регуляризацией и с учётом линейных архитектурных ограничений (TPS или piecewise с line-constraints). - Обязательно иметь независимые check points, рассчитывать RMSE\mathrm{RMSE}RMSE, делать leave-one-out, строить карты смещений и локальных масштабов. - Документировать все трансформации и указывать погрешности на итоговых реставрационных чертежах. Если нужно, могу предложить конкретные параметры регуляризации TPS и примеры скриптов/команд для реализации в Python/GDAL/CloudCompare.
1) Подготовка сканов и внутренняя ориентация
- Использовать сканы с учётом фидуциалов плёнки (если есть) и коррекцией сканерного искажения.
- Подбирать/оценивать внутреннюю ориентацию архивной камеры: фокус, главную точку, радиальную дисторсию (оценка через кадрирование/фидуциалы или через калибровку по контрольным точкам).
2) Глобальная геопривязка
- Первично выполнить жёсткую/аффинную привязку: similarity (скалирование+сдвиг+поворот) или проективная гомография, в зависимости от характера съёмки.
- Использовать современные UAV-орто и, по возможности, наземный TLS/ретрофото как источник высокоточной опоры (GCP/CP).
- Структура базы GCP: независимые контрольные точки (check points) для верификации.
3) Геометрическая коррекция локальных трансформаций
- Работать по иерархии: глобальная трансформация → локальная корректировка.
- Для локальных искажений применять один из подходов:
- Thin Plate Spline (TPS) с регуляризацией — хорош для плавных деформаций, можно добавить весовые коэффициенты для ключевых архитектурных элементов (уменьшать деформацию по ним).
- Piecewise linear warping (Delaunay triangulation) — надёжно контролирует локальные сдвиги, но требует качественных точек по границам треугольников.
- Line-preserving warping / constrained warping — включать в оптимизацию линейные примитивы (карнизы, проёмы) чтобы сохранять прямолинейность.
- Если есть параметры камеры — совместный bundle adjustment (SfM/COLMAP/Agisoft) включая архивные кадры с оценкой внутренних параметров и искажений.
- Ограничения/приоритеты: пометить архитектурно значимые элементы как «жёсткие» (фиксированные) при локальной коррекции, чтобы не искажать историческую форму.
4) Орто-ректификация с учётом рельефа и фасадной плоскости
- Для фасадной реконструкции предпочтительна ортокоррекция по фасадной плоскости (или по облаку TLS/референтным снимкам), а не растяжение по DEM.
- Если здание не плоскопараллельно съёмке — использовать DSM/TLS для устранения параллакса.
5) Контроль качества (QC) и верификация
- Независимые контрольные точки (check points) — расчет остатков (вместо только GCP). Ожидаемые целевые уровни точности для реставрационных чертежей: детальная работа ≤0.02 m\le 0.02\ \mathrm{m}≤0.02 m, фасадный план/чертёж ≤0.05 m\le 0.05\ \mathrm{m}≤0.05 m — ≤0.10 m\le 0.10\ \mathrm{m}≤0.10 m в зависимости от заданной точности проекта.
- Метрики и отчёты:
- RMS ошибок на GCP и на check points: RMSEx, RMSEy, RMSE2D\mathrm{RMSE}_x,\ \mathrm{RMSE}_y,\ \mathrm{RMSE}_{2D}RMSEx , RMSEy , RMSE2D .
- Максимальные остатки и стандартное отклонение.
- Карта векторных смещений между архивным и современным изображением (displacement field) и тепловая карта ошибок.
- Карта локальных масштабных коэффициентов и сдвигов (проверить анизотропию масштаба).
- Тест leave-one-out (кросс-валидация): поочерёдно исключать GCP и оценивать предсказанные ошибки.
- Контроль прямолинейности: измерять отклонение линий фасада от прямой (line straightness error).
- Учет неопределённости: получить ковариацию параметров из bundle adjustment и перенести ошибки на финальные размеры (погрешности в чертежах).
- Визуальные проверки: наложение контуров архитектурных элементов, различимые смещения, просмотр в масштабе 1:1.
6) Сохранение исторической достоверности
- Применять минимально необходимую деформацию: сначала пробовать глобальные преобразования; локальные — только там, где очевидно оптическое/физическое искажение.
- Поддерживать многослойность: исходный архив + скорректированный слой; хранить все параметры трансформаций и метаданные (метод, GCP, веса).
- Документировать все интервенции: зона коррекции, величины коррекций, уровень доверия — на чертежах указывать погрешности в каждом фрагменте.
- В спорных случаях отмечать элементы как реконструктивные/гипотетические, не подменяя оригинал.
7) Инструменты/практическая реализация
- SfM/BA: COLMAP, Agisoft Metashape, MicMac.
- Орто/выровнивание/геопривязка: GDAL, QGIS, OpenCV (TPS, affine, homography), custom scripts (Python + NumPy/SciPy).
- TLS/облака точек: CloudCompare — для сравнения облаков и вычисления векторных смещений.
- Контроль и отчёты: QGIS + плагины, собственные таблицы RMSE/heatmaps.
Резюме рекомендаций (коротко)
- Оценить и исправить внутреннюю ориентацию архивных кадров.
- Выполнить глобальную жёсткую привязку к современному орто/TLS.
- Локально корректировать деформации с регуляризацией и с учётом линейных архитектурных ограничений (TPS или piecewise с line-constraints).
- Обязательно иметь независимые check points, рассчитывать RMSE\mathrm{RMSE}RMSE, делать leave-one-out, строить карты смещений и локальных масштабов.
- Документировать все трансформации и указывать погрешности на итоговых реставрационных чертежах.
Если нужно, могу предложить конкретные параметры регуляризации TPS и примеры скриптов/команд для реализации в Python/GDAL/CloudCompare.