Введение

В постоянно развивающемся мире технологий немногие инновации так сильно захватили мое воображение, как LiDAR (обнаружение света и определение дальности). Этот мощный инструмент, часто ассоциируемый с беспилотными автомобилями и топографическими картами, полон преобразующего потенциала, который я изначально хотел внедрить в мир виртуальной реальности (VR), чтобы создать ультрареалистичный опыт. Представьте себе, что вы надеваете гарнитуру виртуальной реальности и оказываетесь среди скрытых пещер, красоту которых охраняют ворота. Стены блестят известняком, и каждый угол, за которым вы поворачиваете, манит очарованием открытий. Это не просто игра или фильм — это аутентичное воспроизведение нашего мира с точки зрения спелеолога, одного из моих многочисленных хобби. Это волшебство, которое я представлял при объединении LiDAR и VR.

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

Узнайте о моем почти трехлетнем путешествии по тонкостям технологии LiDAR, ее проблемам в обеспечении согласованности облаков точек и разработке AlignNet3D в качестве решения. Эта статья проливает свет на мои недавние успехи и недостатки в использовании исследований, опыта и ChatGPT для быстрого понимания машинного обучения в стремлении создать виртуальные среды производственного уровня с использованием технологии LiDAR.

The Spark: открытие LiDAR

Начиная с первого года обучения в школе Лоуренсвилля, я познакомился со спелеологией благодаря видео, на котором кто-то отправляется в знаменитую пещеру в Санта-Крусе под названием «Адская дыра». Будучи очарованным, казалось бы, веселым приключением, я занялся необычным хобби — спелеологией. Благодаря этой новой страсти мои исследования связали меня с технологией LiDAR. В то время эта технология в первую очередь ассоциировалась с автономными транспортными средствами и топографическим картографированием. Однако для меня это положило начало глубокому интересу.

Мой первый год был наполнен длительным периодом исследований и обучения, но мое внимание сосредоточилось на конкретной цели: плавно перенести красоту подземелья в виртуальный опыт. Я представил себе сценарий, в котором замысловатые пещеры с их уникальными скальными образованиями и историческим значением сможет увидеть каждый, используя гарнитуру виртуальной реальности. Речь шла не только о приключениях, но и о демократизации доступа к таким сайтам.

Когда я изучал LiDAR, его потенциал стал очевиден. Он предложил уникальный метод оцифровки нашего окружения, заложив основу для детальных виртуальных сред. Я полагал, что с помощью данных LiDAR пользователи потенциально могут погрузиться в пространство виртуальной реальности, ощущая атмосферу удаленных или недоступных мест.

Реализация моего проекта была затруднена из-за знаний, которые я собрал в сотрудничестве с Leica Geosystems.

Мой первый опыт работы с LiDAR благодаря сотрудничеству с Leica Geosystems

Во время путешествия выделяются определенные события и сотрудничество, определяющие направление моей работы. Мой энтузиазм по поводу LiDAR привел меня к обращению в компанию Leica Geosystems, известное имя в области геопространственных решений. Несмотря на то, что они имеют самое большое присутствие в индустрии LiDAR-сканеров высокого разрешения, настойчивость и некоторые удачные события привели к сотрудничеству.

В рамках этого партнерства был представлен новейший портативный сканер LiDAR BLK2GO от Leica Geosystems. Назвать его просто инструментом было бы преуменьшением; его современная способность захватывать окружающую среду была замечательной, особенно в ограниченных пространствах, таких как пещеры, из-за их способности двигаться вместе с пользователем. Использование BLK2GO изменило мою точку зрения, превратив различные места в потенциальные объекты для оцифровки. Подробнее об этом читайте на Lawrenceville.org.

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

Раскрытие ограничений LiDAR

Мой путь с LiDAR, отмеченный стремлениями и экспериментами, не был лишен проблем. Сканирования, которые я выполнял с помощью BLK2GO, имели некоторые сложности, связанные с пониманием ограничений использования этой технологии для моего предполагаемого применения. Интеграция LiDAR в виртуальную реальность, кино и игровую среду станет серьезной проблемой, но интересным достижением.

Стало ясно, что, хотя облака точек обеспечивают замечательную детализацию, они не дают желаемого результата, готового для производственной среды в кино или играх. Вместо того, чтобы рассматривать это просто как препятствие, я рассматривал это как вызов — возможность внедрять инновации и в полной мере использовать LiDAR для создания иммерсивных впечатлений.

Если быть более кратким, LiDAR, будучи относительно новым, имел присущие ему ограничения. По своей сути LiDAR опирается на свет. Но в условиях недостаточного освещения, например в пещере, его эффективность падает, что приводит к неточностям или пропуску данных. Чтобы противостоять этому, я использовал свет мощностью 80 000 люмен, чтобы попытаться имитировать отражения и улучшить сбор данных. Однако искусственный свет привел к проблемам с цветом и сделал результат слишком тусклым. Кроме того, трудности создавали сложные ландшафты, такие как недоступные расщелины в пещерах. Эти области приведут к менее плотным или даже отсутствующим данным при окончательном сканировании. Вдобавок ко всему, портативность BLK2GO означала, что для позиционирования он использовал геолокацию (SLAM), но в зонах, лишенных Интернета, таких как пещеры, это становилось менее эффективным, поскольку для позиционирования приходилось полагаться на другие технологии, такие как отражение света. внесение ошибок из-за кратковременных изменений положения.

Что касается программного обеспечения, проблемы по-прежнему сохраняются. Обработка огромных данных, полученных при сканировании LiDAR, была утомительна даже для продвинутых компьютеров. Заметное облако точек после создания сетки и текстурирования содержало невероятное количество вершин, которое могло быть непосильным для стандартных систем. Однако путем постоянного совершенствования я разработал стратегию. Благодаря сегментированию данных на несколько разделов визуализировались только те части, которые находятся рядом с полем зрения камеры приложения, что повышает эффективность. Nanite от Unreal Engine также является замечательным решением этой проблемы.

Если вам интересно узнать больше об этих ограничениях, посетите мой веб-сайт (извините, он немного устарел😐).

Новаторская идея: сканирование LiDAR с улучшенным искусственным интеллектом

Инновации часто представляют собой путь, полный неожиданных поворотов. Благодаря своему опыту работы с LiDAR я выявил его недостатки и начал обдумывать решения. Хотя LiDAR мог фиксировать сложные детали, ему иногда не хватало последовательности и связности. Я начал думать: можем ли мы объединить детали облаков точек с высококачественными изображениями для создания точной и насыщенной среды?

Эта мысль породила более глубокую идею.

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

Этот образ мышления привел к обширным исследованиям и разработкам, кульминацией которых стал запатентованный «Метод сканирования LiDAR с улучшенным искусственным интеллектом». Это было не просто изменение существующих методологий; это был преобразовательный подход. Он представил способ расширить возможности использования LiDAR в различных секторах. Это не просто новая концепция, она продемонстрировала глубокие результаты, достижимые при сочетании технологий и творчества, заложив основу для моих дальнейших исследований в области LiDAR.

Мое глубокое погружение в машинное обучение

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

Мой предыдущий опыт работы с Python дал мне преимущество, но я рискнул освоить сложные территории глубокого обучения. Менее чем за неделю под руководством ChatGPT мне удалось освоить основы машинного обучения, особенно с Python и PyTorch. Вместо того, чтобы просматривать бесконечные ресурсы, я получал прямые, индивидуальные ответы на свои вопросы, что позволяло быстро понять информацию.

Начав с общего понимания тонкостей глубокого обучения, я перешел к получению отзывов от ChatGPT о коде моего проекта. ИИ не только предложил конструктивную обратную связь, но и позволил глубоко погрузиться в те области, которые я мог улучшить. Это было похоже на опытного наставника, который направлял меня, позволяя мне совершать ошибки, но указывая на них, гарантируя, что я усвою каждый шаг пути.

Этот практический итеративный подход к обучению, дополненный знаниями ChatGPT и профессионалом Пьером Понтевией в области компьютерного зрения, который поддерживал меня в некоторых из моих самых сложных задач, позволил мне эффективно ориентироваться и ознакомиться с совершенно новой областью знаний. .

Хотя традиционалисты могут удивиться моему неортодоксальному подходу к обучению, я искренне верю, что модели больших языков, такие как ChatGPT, являются развитием обычных поисковых систем и шагом вперед по сравнению с традиционными книгами. Если инструмент ускоряет и обогащает процесс обучения, почему бы не использовать его потенциал в полной мере?

Рождение AlignNet3D

Просматривая исследовательскую работу университетских ученых, каталогизированную как Arxiv 2112.09343, я выявил ключевую проблему, которую часто упускают из виду в сообществе LiDAR и машинного обучения.

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

Благодаря моему недавнему пониманию машинного обучения и желанию развивать область LiDAR, я нашел потенциальное решение этой проблемы. Эта реализация породила AlignNet3D.

AlignNet3D — это больше, чем просто программное обеспечение; это решение, предназначенное для тех, кто имеет дело с противоречивыми облаками точек. Его основная цель? Выровнять облака точек со значительными геометрическими различиями, создавая основу для более однородных и качественных виртуальных пространств. В области, где точность имеет ключевое значение, AlignNet3D стремится рассмотреть и исправить эти различия, предоставив ответ на ранее сложную задачу.

За кулисами: создание AlignNet3D

Основа обучения AlignNet3D начинается с этапа инициализации, на котором предоставляется набор пар трехмерного облака точек и объектного файла. Эти пары изначально идеально выровнены, образуя нашу основную истину. Чтобы расширить наш набор обучающих данных, мы используем метод, называемый увеличением данных. Из исходного облака точек мы создаем множество дополнительных пар путем случайных преобразований. Этот процесс эффективно заполняет наш обучающий пул тысячами образцов, каждый из которых демонстрирует явное несовпадение.

Обучение AlignNet3D не обошлось без проблем. Ключевым компонентом эволюции модели был поиск подходящего способа измерения того, насколько «неправильными» были ее прогнозы выравнивания. После различных исследований я остановился на Chamfer Distance как надежном решении. Эта метрика обеспечивала последовательную оценку несоответствия между прогнозируемым совпадением и фактической истиной, направляя усовершенствования модели.

Еще одним существенным препятствием было установление единого метода управления ротацией. Первоначальные эксперименты с вращением кватернионов выявили противоречия. Прорыв произошел, когда я принял углы Эйлера, которые впоследствии преобразовал в матрицы. Это обеспечило более стабильные и надежные средства представления и изучения регулировок вращения.

Благодаря этим решениям обучение в AlignNet3D было запущено. Основной задачей сети стало предсказание необходимой трансформации (трансформации, масштабирования и вращения) для исправления несовпадения. По ходу работы механизм обратной связи, использующий расстояние фаски, оценивал прогнозы модели, выявляя ее ошибки.

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

На протяжении всего процесса обучения непрерывная оценка отслеживала точность выравнивания. Такая бдительность гарантировала, что прогнозы сети постоянно улучшались, отражая истинные совпадения. Как только AlignNet3D достиг удовлетворительного порога производительности, его изученные параметры были сохранены, что подготовило его к эффективному и точному выравниванию новых 3D-объектов в последующих задачах.

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

Заключение

AlignNet3D добился хорошего прогресса, но есть проблема, которую я пытаюсь решить. Сейчас лучше всего получается, когда мы отделяем перемещение и вращение от масштабирования.

Весь этот проект начался еще в старшей школе, когда мне просто было интересно узнать о выравнивании 3D. Перенесемся в настоящий момент: это стало запатентованной инновацией. Удивительно видеть, как далеко может зайти простая идея, приложив немного усилий и времени.

Заглядывая в будущее, я хочу сделать больше с AlignNet3D, поскольку он еще не завершен. Для всех, кто читает, есть еще пути, пока этот проект не будет завершен. Надеюсь, вы останетесь со мной, пока я продолжаю работать. Если вы хотите следить за этим проектом, подпишитесь на рассылку новостей на моем сайте.

Если вам интересно узнать об AlignNet3D, посетите репозиторий Github! И если вы хотите связаться со мной, пожалуйста, свяжитесь со мной в LinkedIn.

Благодарности

Фонтана, Эндрю. Партнерство. Leica Geosystems.
Понтевия, Пьер. Наставник. AlignNet3D.
Лаубах. Стивен. Школа Лоуренсвилля

Шен, Юэфан и др. Адаптация предметной области в облаках точек с помощью неявных данных с учетом геометрии. Конференция IEEE/CVF 2022 г. по компьютерному зрению и распознаванию образов (CVPR), 2022 г., стр. 7213–22. arXiv.org, https://doi.org/10.1109/CVPR52688.2022.00708.
Касассовичи, Жорж. Лорентиан воссоздает скрытую красоту пещер с помощью лидарного сканирования. Школа Лоуренсвилля, https://bit.ly/456oeOR.
ChatGPT. Очевидно…