Обработка облаков точек LAS/LAZ и E57 в CloudCompare на ноутбуке: расчёт ОЗУ, Global Shift, фильтр CSF и сшивка сканов
Один день работы наземного лазерного сканера (FARO, Leica RTC360/BLK360, Trimble X7), ручного мобильного SLAM-сканера в цехе или воздушного лидара на БПЛА приносит на диск геодезиста от 80 до 600 миллионов трёхмерных точек в обменных форматах LAS / LAZ (ASPRS) или E57 (ASTM E2807). Попытка загрузить это сырое облако напрямую в чертёжную САПР на обычном офисном компьютере вешает вьюпорт намертво на полчаса.
Открытая среда CloudCompare (v2.13+) уже двадцать лет остаётся главным «швейцарским ножом» маркшейдера, обмерщика и инженера изысканий: на ней прямо на полевом ноутбуке вычищают растительность и проезжающие машины, считают объём склада щебня с точностью до кубометра, строят тепловую карту отклонений смонтированных колонн от проектной IFC-модели здания и прореживают облако до разумной плотности перед передачей проектировщику.
Точная арифметика памяти: сколько миллионов точек реально помещается в 16 / 32 / 64 ГБ ОЗУ
В отличие от потоковых движков подгрузки тайлов с диска (Potree), классический CloudCompare загружает всё открытое облако целиком в оперативную память ноутбука для сверхбыстрых математических операций по пространственному октодереву (Octree на кодах Мортона):
- «голая» точка без атрибутов (
X, Y, Zв32-bit float) весит ровно12 байт(~85–90 млн точек на 1 ГБ ОЗУ); - реальная производственная точка с цветом
RGB, вектором нормали, скалярным полем интенсивности отражения и построенным индексом октодерева занимает около30–36 байт— то есть примерно30 миллионов точек на 1 ГБ свободной оперативной памяти(плюс второй такой же буфер при создании копии облака во время фильтрации или субдискретизации!).
| Масштаб объекта съёмки | Число точек в рабочем проекте | Сжатый размер на SSD (LAZ / E57) |
Реальный расход RAM в CloudCompare (с операциями) | Нужная конфигурация ноутбука |
|---|---|---|---|---|
| Фасад коттеджа, небольшая камера/цех, 1 куча инертных | 20–60 млн точек | 150–600 МБ |
4–8 ГБ |
16 ГБ ОЗУ, современная iGPU / RTX |
Многоэтажное здание (15–40 стоянок НЛС), карьер 150 га с БПЛА |
100–300 млн точек | 1,2–5 ГБ |
12–24 ГБ |
32 ГБ ОЗУ, дискретная GPU 6–8 ГБ VRAM, NVMe 1 ТБ |
Крупный промцех с эстакадами трубопроводов (60–150 стоянок) |
350–800 млн точек | 6–18 ГБ |
28–54 ГБ |
64 ГБ ОЗУ (2×32 ГБ SO-DIMM), GPU 8–12+ ГБ VRAM, NVMe 2 ТБ |
Обратите внимание на распределение ролей между CPU и GPU в CloudCompare: видеокарта отвечает в первую очередь за плавное вращение сотен миллионов точек на экране в OpenGL и шейдер объёмной подсветки граней EDL (Eye-Dome Lighting), тогда как построение октодерева, фильтрация шума SOR и вычисление расстояний Cloud-to-Cloud / Cloud-to-Mesh грузят ядра центрального процессора и пропускную способность оперативной памяти! Поэтому ноутбук с 64 ГБ ОЗУ и скромной RTX 4060 Laptop переварит гигантский цех куда увереннее игрового ноутбука с мощной видеокартой, но распаянными 16 ГБ RAM!
Критическая ошибка № 1: отказ от диалога Global Shift / Scale и «полосатое» облако!
При открытии геопривязанного облака в городских координатах МСК региона или метрической зоне UTM с координатами порядка X = 6 145 320,452 м, Y = 2 314 890,118 м CloudCompare обязательно выводит всплывающее окно Too big coordinates — Global Shift/Scale и предлагает временно вычесть целые миллионы метров (например, -6 145 000 и -2 314 000).
Если неопытный специалист нажмёт «No (Нет)», случится катастрофа точности:
- внутри движка CloudCompare хранит координаты в одинарной точности
Float32(7значащих десятичных цифр мантиссы!); - когда первые 7 цифр числа заняты миллионами метров (
6145320), на миллиметры и сантиметры после запятой битов мантиссы больше не остаётся — всё облако на экране превращается в жуткую ступенчатую решётку с шагом50–100 сантиметров!
Железное правило: всегда нажимайте Yes / Yes to All в окне Global Shift! CloudCompare аккуратно запомнит вектор сдвига в метаданных объекта и при обратном сохранении очищенного файла File -> Save автоматически прибавит те же миллионы метров обратно в Float64 (Double) без потери единого десятого доля миллиметра!
Три операции на ноутбуке до передачи облака архитектору или сметчику
- Выделение истинного рельефа земли из кустарника и техники плагином
CSF Filter (Cloth Simulation Filter): встроенный в CloudCompare физический алгоритм переворачивает облако «вверх ногами» и набрасывает на него виртуальную упругую ткань — за 30 секунд на ноутбуке кучи песка, экскаваторы, деревья и бытовки чисто отделяются от твёрдой поверхности карьера для подсчёта объёма выемки (Tools -> Volume -> Compute 2.5D Volume)! - Равномерное пространственное прореживание (
Edit -> Subsample -> Method: Space): возле самой треноги наземного сканера плотность достигает избыточных20 точек на квадратный миллиметр, а в 25 метрах —1 точка на 5 мм. Пространственная субдискретизация с шагом5 мм(для обмеров интерьеров и труб) или2–5 см(для генплана1:500) уменьшает вес облака в 5–10 раз вообще без потери геометрии углов, после чего файл легко открывается на обычном ноутбуке проектировщика! - Хранение в сжатом
LAZ 1.2/1.4вместо несжатогоLASили текстовогоPTS / XYZ: сжатие без потерьLAZужимает размер файла в 6–8 раз по сравнению сLASи читается в разы быстрее по шине SSD, чем гигантские текстовые выгрузки ASCII! А когда исходный массив с воздушного лидара превышает возможности памяти и весит150 ГБ, перед загрузкой в CloudCompare нарежьте его потоковым конвейеромPDALпрямо на диске ноутбука на квадратные тайлы500×500 м(траекторию полёта при этом предварительно уравнивают по методике из статьи про постобработку PPK в RTKLIB).
Как выбрать и проапгрейдить ноутбук под лазерное сканирование
- Два слота
SO-DIMM DDR5с расширением до64 ГБ+ два слотаM.2 NVMe PCIe 4.0: редчайший случай, когда самостоятельный апгрейд ноутбука бизнес- или рабочей серии окупается в первый же выезд (подробная инструкция по подбору модулей — в статье апгрейд оперативной памяти и SSD в ноутбуке). - Шейдер
Display -> Shaders & Filters -> EDL Shaderна любом вьюпорте: включите его в CloudCompare горячей клавишей на чёрном/тёмно-синем фоне — даже неокрашенное монохромное лидарное облако мгновенно обретает кристально чёткие грани бордюров, проводов ЛЭП и фланцев без расчёта тяжёлых нормалей!
Чек-лист приёмки облака точек на полевом ноутбуке до уезда с площадки
- [ ] Все стоянки сканера проверены на сквозных разрезах
Cross Sectionтолщиной3–5 см: стены и перекрытия на нахлёсте соседних стоянок образуют одну тонкую линию, а не «двойной контур» из-за ошибки сшивкиICP! - [ ] Проверены невязки по координатам бумажных/магнитных марок (
Targets), закоординированных тахеометром в опорной сети объекта. - [ ] При открытии в координатах МСК/UTM подтверждён
Global Shift, а после экспорта проверены координаты контрольного пикета в заголовке выходного.laz / .e57. - [ ] Для выдачи смежникам сформирована облегчённая равномерная сборка
Space Subsampleс указанием шага прореживания и системы высот в сопроводительной записке.
Частые вопросы
Что лучше передавать заказчику после наземного лазерного сканирования цеха — E57 или LAZ?
Для наземного сканирования (TLS) промышленных и архитектурных объектов отраслевым стандартом выступает E57 (ASTM E2807): в отличие от аэрофотограмметрического LAZ, контейнер E57 сохраняет отдельные центры стоянок сканера (Scan Positions), матрицы поворота и встроенные сферические 360°-панорамы каждой станции! А вот для воздушного сканирования и ЦМР с БПЛА компактнее и удобнее классифицированный по кодам ASPRS (земля = класс 2, здания = 6, растительность = 3–5) файл LAZ.
Потянет ли обработку облаков на 100 млн точек ноутбук без дискретной видеокарты RTX?
На современном встроенном ускорителе уровня AMD Radeon 780M / 880M или Apple Silicon при наличии 32 ГБ быстрой общей памяти CloudCompare спокойно открывает и фильтрует облака в 80–150 млн точек (во время быстрого вращения мышью программа автоматически включает адаптивное прореживание кадра LOD / Decimate on move).