FARO Scene 2019 и Scene 2018 - в чем разница?

ava
Максим Хмелевский


«Акрополь-Гео»

В Январе 2019 года Компания FARO выпустила новую версию программы FARO SCENE 2019.

Новая версия FARO SCENE внешне не имеет каких-либо значимых изменений интерфейса, зато имеет существенные изменения движка и алгоритмов обработки данных. Давайте разбираться.

FARO SCENE 2019

Разработчики научили программу работать с многоядерными процессорами и производить параллельные вычисления, используя при этом все возможные ресурсы ядра компьютера. Улучшение алгоритмов обработки и грамотное распределение потоков между ядрами нескольких процессоров дало гигантский прирост производительности. Какой конкретно? Давайте выясним это на одинаковом объёме данных лазерного сканирования, обработав его в старой и новой версиях программы. Возьмем версии Scene 2018 и Scene 2019.

Для проведения эксперимента был выбран небольшой проект по съёмке экстерьера музыкальной школы в городе Симферополе. Всего 33 станции сканирования. Сканы выполнены в разрешении ¼ (плотность: 6 мм на 10 м, это ~40 млн точек в одном скане).

Здание музыкальной школы в FARO SCENE 2019

Далее для тестирования производительности я подобрал различные конфигурации вычислительных систем, в том числе серверные решения как на физических процессорах (Intel Core i7, Core i9, Xeon), так и на виртуальных ядрах. Из рядовых компьютеров были два производительных ноутбука и средненькие стационарники:

  • Ноутбук: Intel Core i7 7700 / 32 Gb / nV GTX1070.
  • Ноутбук: Intel Core i9 8950 / 64 Gb / nV Quadro2000.
  • PC: Intel Core i7 3820 / 64 Gb / 2 x nV GTX 670.
  • PC: AMD Threadripper 2990wx / 64 Gb / 2 x nV GTX1080.
  • Сервер: Intel Xeon 2 x E5-2670v3 / 256 Gb / w/o GPU.
  • Виртуальный сервер: Intel Xeon 2 x E5-2637v4 (4 cores) / 32 Gb / 2 x nV GTX 1080.
  • Сервер: Intel Xeon 2 x E5-2637v4 / 128 Gb / 8 x nV GTX 1080 ti.
  • Сервер: Intel Xeon 2 x E5-2667v4 / 128 Gb / 2 x nV GTX 1080.

Выполняя рекомендации FARO по системным требованиям к “железу”, с некоторых пор мы полностью перешли на SSD, так что во всех машинах были SSD накопители.

Во время тестирования, на каждой из машин засекали и фиксировали время, затраченное на обработку одного и того же объема данных. Тестирование производилось следующими инструментами и этапами:

  • Import.
  • Processing (предобработка и фильтрация).
  • Registration (сшивка) в режиме “Top view & Cloud to Cloud”.
  • Overview Map Creation - создание обзорной карты сканирования.

Это именно те процессы обработки, которые обычно занимают львиную долю времени и совершенно нам не интересны, так как практически полностью автоматизированы. Обычно я ставлю их на ночь, чтобы не терять драгоценное рабочее время днем.

Импорт сырых данных (сканов в FLS-формате) в SCENE происходит буквально за несколько секунд. Поскольку на всех компьютерах установлены SSD накопители, то разница незначительная и больше зависит от скорости самих накопителей.

Запускаем этап обработки “Processing”. На скриншоте видно, что Scene 2019 обрабатывает одновременно по 6 сканов, в отличие от 1 скана у Scene 2018. А в этом случае как раз использовался процессор с физическими 6 ядрами.

Импорт сканов в FARO SCENE 2019

Скриншот ниже демонстрирует загрузку центрального процессора во время препроцессинга и фильтрации сканов.

Загрузка процессоров в FARO SCENE 2019

Очень показательно, как программа загружает процессор работой. У версии 2018 сплошные скачки и провалы в загрузке и, кроме того, очень высокое время ядра – процессор используется неэффективно. У версии Scene 2019 ситуация кардинально отличается – процессор используется почти на все 100%, причем нагрузка постоянная и распределена равномерно, время ядра – минимальное!

Диспетчер задач отображает связанные процессы для программ. На скриншоте ниже видно, что в отличие от Scene 2018, новая версия использует всё множество подпроцессов.

Загрузка процессоров в FARO SCENE 2019

Аналогичное поведение системы наблюдается и на этапе “Registration”. В результате автоматической регистрации получаем вот такую сшивку сканов:

Проект в FARO SCENE 2019

Обработка одних и тех же 33 сканов запускалась на 8 компьютерах и в двух версиях FARO Scene. Записывал время. Рутинные процессы. Перейдем непосредственно к результатам тестов. А они оказались очень интересными и даже неожиданными. Так, с одной испытуемой системой вышла заминка: время обработки было настолько велико, что пришлось снять её с испытаний. Это виртуальный сервер на базе Intel Xeon. Затрудняюсь сказать, с чем это связано, но продолжать её тестирование не имело никакого смысла.

Результаты тестирования обеих версий FARO Scene для всех этапов обработки данных лазерного сканирования я свёл в сравнительные таблички, приведённые ниже. Интерес для вашего анализа представляют последние столбцы: какой (в процентном отношении) получился прирост производительности обработки в зависимости от вычислительной системы. Нижние строки таблиц, конечно, похожи на “среднюю температуру по больнице”, но вполне отражают общую тенденцию прироста производительности при переходе на новую версию FARO Scene.

Сравнение производительности на этапе Processing

Сравнение производительности на этапе Registration

Сравнение производительности на этапе Overview Map Creation

Вы наверняка заметили, что средний прирост производительности для этапов “Registration” и “Overview Map” хоть и ощутимый, но оказался в несколько раз меньше. Это вполне объяснимо. Ведь препроцессинг и фильтрацию каждого отдельного скана можно пускать своим процессом, независимым от других сканов. Тогда как для общей сшивки все сканы должны обрабатываться совместно и имеется меньше возможности для распараллеливания алгоритмов.

Обычно, тестируемые этапы обработки следуют друг за другом. Если объединить полученные результаты и составить рейтинг вычислительных систем по общему увеличению производительности, то места испытуемых нами систем распределятся следующим образом:

  1. Сервер: Intel Xeon 2 x E5-2670v3 / 256 Gb / w/o GPU -- в 4,8 раза.
  2. Сервер: Intel Xeon 2 x E5-2667v4 / 128 Gb / 2 x nV GTX 1080 -- в 3,1 раза.
  3. Ноутбук: Intel Core i9 8950 / 64 Gb / nV Quadro2000 -- в 3 раза.
  4. Сервер: Intel Xeon 2 x E5-2637v4 / 128 Gb / 8 x nV GTX 1080 ti -- в 2,2 раза.
  5. Ноутбук: Intel Core i7 7700 / 32 Gb / nV GTX1070 -- в 2,1 раза.
  6. PC: AMD Threadripper 2990wx / 64 Gb / 2 x nV GTX1080 -- в 1,9 раза.
  7. PC: Intel Core i7 3820 / 64 Gb / 2 x nV GTX 670 -- в 1,8 раза.

Кстати, компьютер на базе Intel Core i7 3820 - это модель 2011 года! То есть, обновлённая программа способна повысить потенцию даже таких старичков :)

Подведём итоги.

Констатируем факт: новая версия FARO Scene 2019 показала превосходную производительность по сравнению с предыдущей версией этой программы. Можно сказать, что Scene 2019 уверенно бьёт версию 2018! Например, для этапа предобработки сканов, средняя производительность FARO Scene 2019 возросла в 5,5 раз, а общая производительность всех 3-х этапов — в 2,7 раза. Чем больше доступно ядер процессоров для многопоточного FARO Scene 2019, тем быстрее происходит обработка. Но конечно же не надо забывать про объём оперативной памяти и рабочую частоту всех компонентов системы.

Таким образом, разница между версиями FARO Scene — в ощутимом увеличении производительности этапов обработки данных лазерного сканирования. Это существенно экономит ваше время и сокращает все сопутствующие расходы на рабочие процессы. А значит, новая FARO Scene экономит ваши деньги и повышает конкурентоспособность.

Да, и ведь всё это — без видимых отличий интерфейса :)

На момент написания этой статьи компания FARO выпустила 2 промежуточные версии Scene 2019, сделав программу ещё более надёжной. Скачайте триал-версию, попробуйте и убедитесь сами. Приобрести лицензионное ПО FARO Scene вы сможете у нас – будем рады помочь с настройкой и обучением. Обращайтесь!