RU2749749C1 - Способ синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, и электронное вычислительное устройство для его реализации - Google Patents

Способ синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, и электронное вычислительное устройство для его реализации Download PDF

Info

Publication number
RU2749749C1
RU2749749C1 RU2020113525A RU2020113525A RU2749749C1 RU 2749749 C1 RU2749749 C1 RU 2749749C1 RU 2020113525 A RU2020113525 A RU 2020113525A RU 2020113525 A RU2020113525 A RU 2020113525A RU 2749749 C1 RU2749749 C1 RU 2749749C1
Authority
RU
Russia
Prior art keywords
points
point
dimensional
machine learning
image
Prior art date
Application number
RU2020113525A
Other languages
English (en)
Inventor
Мария Владимировна Колос
Артем Михайлович СЕВАСТОПОЛЬСКИЙ
Кара-Али Алибулатович АЛИЕВ
Виктор Сергеевич Лемпицкий
Original Assignee
Самсунг Электроникс Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Priority to RU2020113525A priority Critical patent/RU2749749C1/ru
Priority to PCT/KR2020/015686 priority patent/WO2021096190A1/en
Application granted granted Critical
Publication of RU2749749C1 publication Critical patent/RU2749749C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Изобретение относится к средствам создания двумерных изображений трехмерной сцены, видимых из различных точек обзора. Технический результат заключается в синтезировании из облаков точек двумерного изображения сцены, просматриваемой с требуемой точки обзора, с высоким качеством и низкими вычислительными затратами. Принимают трехмерное облако точек, полученное из множества двумерных изображений одной и той же сцены, причем каждую точку облака задают трехмерными координатами в мировой системе координат и векторным представлением точки. Задают точку обзора как камеру, имеющую внутренние параметры и внешние параметры. Преобразуют трехмерные координаты каждой точки в двумерные координаты и глубину каждой точки в системе координат экранного пространства камеры, используя внутренние параметры и внешние параметры; задают множество лучей, расходящихся от точки обзора, причем лучи заданы координатами экранного пространства и внутренними параметрами и внешними параметрами. Группируют точки в наборы точек, ассоциированные с лучами, причем каждый набор точек содержит точки, через которые проходит один луч, и в каждом наборе точек точки располагаются в порядке уменьшения их глубины относительно точки обзора. Вычисляют для каждого луча векторное представление луча путем агрегирования векторных представлений точек и глубин соответствующего набора точек с помощью обученного предиктора машинного обучения. Проецируют векторные представления лучей на плоскость изображения, причем предыдущие этапы выполняют для заданного множества масштабов. Осуществляют слияние плоскостей изображения во множестве масштабов с помощью обученного предиктора машинного обучения в двумерное изображение. 2 н. и 4 з.п. ф-лы, 5 ил.

Description

Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится, в общем, к областям компьютерного зрения и компьютерной графики для создания двумерных изображений трехмерной сцены, видимых из различных точек обзора, и более конкретно, к способу синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, и к электронному вычислительному устройству для реализации данного способа.
Описание известного уровня техники
[0002] В последние годы было предложено несколько принципов нейронной отрисовки изображений геометрически и фотометрически сложных сцен [16, 31, 28, 29]. В основу этих принципов положен дифференцируемый рендеринг (отрисовка) определенных геометрических представлений, и процесс отрисовки обычно реализуется процедурой обучения, в которой последовательно выполняются операции отрисовки и обратного распространения ошибки, задаваемой функцией потерь между отрисованными изображениями и истинными изображениями на обучаемые параметры.
[0003] В этом контексте было исследовано несколько типов геометрических представлений. Например, в работе [31] допускается, что геометрия сцены моделируется с помощью треугольной сетки, которая предоставляется в процесс обучения, и оцениваются нейронные текстуры, чтобы захватить фотометрические свойства различных частей поверхности. В качестве альтернативы, в нескольких работах [9, 22, 15] была предпринята попытка обучать как треугольную сетку, так и текстуру (или цвета поверхности) посредством процесса обратного распространения ошибки, однако это оказалось слишком сложным из-за недифференцируемого характера растеризации сетки вблизи границ взаимного перекрытия объектов. В другой серии работ [16, 21] исследовались явные и неявные объемные представления, обучаемые вместе с сетью отрисовки.
[0004] Настоящее изобретение является развитием платформы нейронной точечной графики [2], в которой используется нейронное моделирование на основе представления геометрии «облако точек». Облака точек обладают рядом привлекательных свойств по сравнению с сеточными представлениями и волюметрическими представлениями. Во-первых, в отличие от волюметрических представлений, они хорошо масштабируются на большие сцены, поскольку нет необходимости в равномерном или почти равномерном распределении точек в облаке. Во-вторых, в то время как треугольные сетки могут быть непригодны для представления различных сложных явлений, таких как тонкие объекты, облака точек позволяют их эффективно моделировать. Как правило, легче получить облака точек для естественных сцен, чем их треугольные сетки, так как процесс создания сетки является одним из самых неустойчивых этапов традиционных алгоритмов моделирования на основе изображений. С другой стороны, облака точек возникают как промежуточное представление на ранних этапах таких алгоритмов каждый раз, когда сцена захватывается с использованием датчика глубины, генерирующего коллекцию сканов глубины, или с помощью пассивного многовидового стереопредставления, которое обычно также генерирует коллекцию плотных или полуплотных карт глубины.
[0005] Хотя исходная платформа [2] продемонстрировала ряд высоко реалистичных результатов отрисовки, она ограничена в нескольких аспектах. Например, алгоритм отрисовки [2] начинается с "жесткой" растеризации точек с использованием z-буферизации OpenGL. Это может внести значительный шум и переобучение в процессе обучения, когда облако точек зашумлено, так как точки-выбросы перекрывают истинные точки поверхности. Хотя, в принципе, процесс обучения может выявлять такие точки выброса и обучаться их "закрашивать", это требует дополнительной производительности сети и может привести к переобучению, когда выбросы наблюдаются в очень немногих видах. Во-вторых, успех работы [2] зависит от выбора радиуса точек, используемого для их растеризации. Если выбранный радиус не совпадает примерно с плотностью точек, то результаты могут значительно ухудшиться так, что либо будут потеряны мелкие детали, либо сквозь видимые поверхности "проступят" невидимые поверхности.
Трехмерное представление сцены
[0006] На сегодняшний день существует множество представлений 3D сцен с различными свойствами, и многие из них можно использовать для автоматической обработки. К ним относятся облака точек, сетки, функции расстояний со знаком (Signed Distance Functions, SDF) [21], воксельные представления и октадеревья [18, 30] и т.п. Облака точек просты в обработке, поскольку они хранятся в виде двух принимающих действительные значения массивов - координат точек относительно некоторой мировой системы координат и точек цветов. Их выразительные возможности зависят только от количества точек и могут отражаться облака с различной пространственной плотностью. В настоящее время существуют многочисленные исследования, оперирующие с облаками точек для классификации, сегментации и генерации трехмерных моделей [13, 11, 20, 10, 24, 25]. Естественно, что воксельные представления также можно изучать и использовать для любого вида обработки, однако они занимают большую часть памяти и их невозможно адаптировать к неоднородному разрешению. Сетки, являющиеся, по существу, облаками точек с недифференцируемыми треугольниками, гораздо сложнее в обработке и используются в основном для отрисовки [19, 5]. Существует большой объем работ по синтезу проекций с использованием различных аппаратных и программных методов, в которых имеет место компромиссное соотношение между фотореализмом и скоростью [1, 3, 19, 23].
Дифференцируемая отрисовка
[0007] Платформы дифференцируемого рендеринга позволяют генерировать градиенты относительно различных параметров сцены, таких как внутренние параметры и внешние параметры камеры, пространственные и физические свойства данного трехмерного представления (например, положения вершин сетки, цвета или отражающая способность) и освещения. Значительный объем работ посвящен отрисовке по сетке, поскольку топология сетки позволяет оптимизировать деформацию геометрии и использовать общие априорные распределения для различных задач реконструкции. Soft Rasterizer [15] предлагает вероятностное сглаживание операции дискретной выборки, тогда как OpenDR [17] и Kato [9] явно выводят приближенные частные производные, которые, однако, основаны на численных методах. Авторы работы [32] решают эту проблему путем вычисления градиентов посредством интегрирования функции интенсивности пикселей. Pix2Vex [22] характеризуется наличием полупрозрачного Z-буфера и циклического обучающего конвейера изображения/геометрии. Аналогичным образом можно расширить дифференцируемым образом трассировку лучей при растеризации треугольников, в частности, метод [12] обеспечивает выборку границ с дальнейшим интегрированием в приближенные градиенты для точной обработки взаимного перекрытия. Облака точек, хотя и являются более простым представлением для автоматической обработки, чем сетки, благодаря отсутствию недифференцируемой топологии, значительно труднее поддаются реалистичной отрисовке. Метод дифференцируемой растеризации поверхности (Differentiable Surface Splatting) [33] оценивает отрисованное изображение, проецируя точки на холст (элемент для создания 2D изображения, плоскость изображения) и смешивая их с усеченными гауссовыми ядрами. Из-за усечения, введенного для эффективности, производные рассчитываются приблизительно.
Нейронная отрисовка
[0008] В отличие от физических конвейеров нейронная отрисовка подразумевает обучение произвольному представлению сцены для генерации реалистичных изображений и манипулирования их видом (от манипуляции атрибутами сцены до врисовки). Например, метод Neural Volumes [16] основан на прогнозе 4D объема (RGB+непрозрачность) для модели, основанной на нескольких фотографиях, с применением вариационного автокодировщика, деформации объема и его интегрирования с учетом непрозрачности. Отложенная нейронная отрисовка (Deferred Neural Rendering) [31] обучается оценивать нейронную текстуру объекта на основе его координатных UV карт и нацелена на синтез изображения на основе этих выборок глубокой текстуры. В DeepVoxels [28] используется аналогичный принцип и оценивается объемный скрытый нейронный код объекта по комбинации CNN и RNN (GRU), а в более поздней работе – сети представления сцен (Scene Representation Networks) [29] —используется только RNN для обучения глубин точек. В алгоритме нейронной точечной графики (Neural Point-Based Graphics) [2] используется промежуточный принцип: она включает в себя обучение векторных представлений точек в облаке, набрасывает видимые точки с большим ядром на холст с помощью быстрого Z-буфера и устраняет разреженность результата с помощью CNN на базе U-Net. Тем не менее, из-за жесткого Z-буфера этот алгоритм не является полностью дифференцируемым.
[0009] Настоящее изобретение было создано в целях устранения по меньшей мере одного из вышеуказанных недостатков и обеспечения по меньшей мере одного из преимуществ, описанных ниже.
СПИСОК ЛИТЕРАТУРЫ
[1] T. Aila and S. Laine. Understanding the efficiency of ray traversal on gpus. In Proceedings of the conference on high performance graphics 2009, pages 145-149. ACM, 2009. 2
[2] K.-A. Aliev, D. Ulyanov, and V. Lempitsky. Neural point-based graphics. arXiv preprint arXiv:1906.08240, 2019. 1, 2
[3] F. C. Crow. A comparison of antialiasing techniques. IEEE Computer Graphics and Applications, (1):40-48, 1981. 2
[4] J. M. Cychosz. An introduction to ray tracing. Computers & Graphics, 17(1):107, 1993. 3
[5] K. Dempski and D. S. Dietrich. Real-time rendering tricks and techniques in directx. Premier Press, 2002. 2
[6] J. Deng, W. Dong, R. Socher, L. Li, Kai Li, and Li Fei-Fei. Imagenet: A large-scale hierarchical image database. In 2009 IEEE Conference on Computer Vision and Pattern Recognition, pages 248-255, June 2009. 5
[7] S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural computation, 9(8):1735-1780, 1997. 2, 3
[8] J. Johnson, A. Alahi, and L. Fei-Fei. Perceptual losses for real-time style transfer and super-resolution. In Proc. ECCV, pages 694-711, 2016. 5
[9] H. Kato, Y. Ushiku, and T. Harada. Neural 3d mesh renderer. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3907-3916, 2018. 1, 2
[10] L. Landrieu and M. Simonovsky. Large-scale point cloud semantic segmentation with superpoint graphs. In Proceed¬ings ofthe IEEE Conference on Computer Vision and Pattern Recognition, pages 4558-4567, 2018. 2
[11] C.-L. Li, M. Zaheer, Y. Zhang, B. Poczos, and R. Salakhutdinov. Point cloud gan. arXiv preprint arXiv:1810.05795, 2018. 2
[12] T.-M. Li, M. Aittala, F. Durand, and J. Lehtinen. Differentiable monte carlo ray tracing through edge sampling. In SIGGRAPH Asia 2018 Technical Papers, page 222. ACM, 2018. 2
[13] C.-H. Lin, C. Kong, and S. Lucey. Learning efficient point cloud generation for dense 3d object reconstruction. In Thirty-Second AAAI Conference on Artificial Intelligence, 2018. 2
[14] G. Liu, F. A. Reda, K. J. Shih, T.-C. Wang, A. Tao, and B. Catanzaro. Image inpainting for irregular holes using partial convolutions. In Proceedings of the European Conference on Computer Vision (ECCV), pages 85-100, 2018. 5
[15] S. Liu, T. Li, W. Chen, and H. Li. Soft rasterizer: A differentiable renderer for image-based 3d reasoning. arXiv preprint arXiv:1904.01786, 2019. 1, 2
[16] S. Lombardi, T. Simon, J. M. Saragih, G. Schwartz, A. M. Lehrmann, and Y. Sheikh. Neural volumes: learning dynamic renderable volumes from images. ACM Trans. Graph., 38(4):65:1-65:14, 2019. 1, 2
[17] M. M. Loper and M. J. Black. Opendr: An approximate differentiable renderer. In European Conference on Computer Vision, pages 154-169. Springer, 2014. 2
[18] D. Meagher. Geometric modeling using octree encoding. Computer graphics and image processing, 19(2):129-147, 1982. 2
[19] J. Neider, T. Davis, and M. Woo. OpenGL programming guide, volume 14. Addison-Wesley Reading, MA, 1993. 2
[20] A. Nguyen and B. Le. 3d point cloud segmentation: A sur¬vey. In 2013 6th IEEE conference on robotics, automation and mechatronics (RAM), pages 225-230. IEEE, 2013. 2
[21] J. J. Park, P. Florence, J. Straub, R. Newcombe, and S. Lovegrove. Deepsdf: Learning continuous signed dis¬tance functions for shape representation. arXiv preprint arXiv:1901.05103, 2019. 1,2
[22] F. Petersen, A. H. Bermano, O. Deussen, and D. Cohen-Or. Pix2vex: Image-to-geometry reconstruction using a smooth differentiable renderer. arXiv preprint arXiv:1903.11149, 2019. 1, 2
[23] T. Porter and T. Duff. Compositing digital images. In ACM Siggraph Computer Graphics, volume 18, pages 253-259. ACM, 1984. 2, 4
[24] C. R. Qi, H. Su, K. Mo, and L. J. Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 652-660, 2017. 2
[25] C. R. Qi, L. Yi, H. Su, and L. J. Guibas. Pointnet++: Deep hierarchical feature learning on point sets in a metric space. In Advances in neural information processing systems, pages 5099-5108, 2017. 2
[26] O. Ronneberger, P. Fischer, and T. Brox. U-net: Convolu¬tional networks for biomedical image segmentation. CoRR, abs/1505.04597, 2015. 5
[27] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. CoRR, abs/1409.1556, 2014. 5
[28] V. Sitzmann, J. Thies, F. Heide, M. NieBner, G. Wetzstein, and M. Zollhofer. Deepvoxels: Learning persistent 3d feature embeddings. In Proc. CVPR, 2019. 1, 2
[29] V. Sitzmann, M. Zollhofer, and G. Wetzstein. Scene representation networks: Continuous 3d-structure-aware neural scene representations. CoRR, abs/1906.01618, 2019. 1,2
[30] R. Szeliski. Rapid octree construction from image sequences. CVGIP: Image understanding, 58(1):23-32, 1993. 2
[31] J. Thies, M. Zollhofer, and M. NieBner. Deferred neural rendering: Image synthesis using neural textures. In Proc. SIG- GRAPH, 2019. 1, 2
[32] Z. Wu and W. Jiang. Analytical derivatives for differentiable renderer: 3d pose estimation by silhouette consistency. arXiv preprint arXiv:1906.07870, 2019. 2
[33] W. Yifan, F. Serena, S. Wu, C. Oztireli, and O. Sorkine-Hornung. Differentiable surface splatting for point-based geometry processing. arXiv preprint arXiv:1906.04173, 2019. 2, 3
[34] M. Zwicker, H. Pfister, J. Van Baar, and M. Gross. Surface splatting. In Proc. SIGGRAPH, pages 371-378. ACM, 2001. 3
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0010] В настоящем изобретении вводится дифференцируемый нейронный отрисовщик (рендерер) облаков точек, полученных из сканов сцен, реконструированных из изображений реального мира. Эта система способна синтезировать реалистичные и высококачественные изображения трехмерных сцен, представленных в виде облаков точек, даже при наличии взаимных перекрытий, шума, отражений и других проблем. Предлагаемая нейронная архитектура состоит из рекуррентной нейронной сети для последовательной обработки точек, сгруппированных по воображаемым лучам, образующим пирамиду видимости камеры, и полносверточной нейронной сети, которая уточняет полученное изображение. Отрисовщик обучается на ряде трехмерных сцен, снятых в реальном мире, с соответствующим набором их фотографий из нескольких точек обзора, и после обучения может создавать новые фотореалистичные виды новой сцены, как они воспринимаются произвольно расположенной камерой в реальном мире. Представлены достаточно качественные результаты для сцен, снятых стандартными сканерами RGB-D, и для облаков точек, составленных из фотографий RGB.
[0011] Созданное с использованием лучевой отрисовки, настоящее изобретение нацелено на повышение гибкости представления облака точек в целиком обучаемой единой процедурой, полностью дифференцируемой системе, которая позволяет решать различные задачи компьютерной графики наряду с обработкой дефектов, возникающих естественным образом в сканах реального мира.
[0012] В настоящем изобретении в алгоритм нейронной точечной графики [2] введено два усовершенствования, позволяющих решить две проблемы. Во-первых, процесс жесткой растеризации заменен рекуррентной растеризацией, при которой сеть LSTM [7] реализует нейронный аналог алгоритма z-буфера. Эта замена позволяет более плавно обрабатывать точки выбросов, поскольку сеть LSTM можно обучить отрисовывать их как полностью прозрачные. При данном подходе такая отрисовке LSTM предшествует сверточной отрисовке и может обучаться вместе с ней.
[0013] Второе усовершенствование заключается в том, что устранена проблема выбора радиуса точки благодаря использованию нейронного аналога классического алгоритма Mipmapping из компьютерной графики. Предложена сверточная архитектура MipMapNet, которая растеризует облако точек несколько раз с различным разрешением, причем для растеризации точек всегда используется однопиксельный радиус. Получающиеся растеризации сливаются внутри MipMapNet, так что процесс слияния безусловно выбирает оптимальный радиус точки на основе локальной плотности точек.
[0014] Настоящее изобретение демонстрирует оба усовершенствования (нейронный z-буфер и нейронное Mipmapping) платформы нейронной точечной графики, которые вместе позволяют получить более адекватные отрисовки, которые стабильны во времени и менее подвержены искажениям в присутствии зашумленных точек.
[0015] Предложенные методы позволяют синтезировать из облаков точек двумерное изображение сцены, просматриваемой с требуемой точки обзора, с высоким качеством и низкими вычислительными затратами.
[0016] Согласно одному аспекту настоящего изобретения предложен способ синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, заключающийся в том, что: принимают (S101) трехмерное облако точек, полученное из множества двумерных изображений одной и той же сцены, причем каждую точку облака задают трехмерными координатами в мировой системе координат и векторным представлением точки; задают (S102) точку обзора как камеру, имеющую внутренние параметры и внешние параметры; преобразуют (S103) трехмерные координаты каждой точки в двумерные координаты и глубину каждой точки в системе координат экранного пространства камеры, используя внутренние параметры и внешние параметры; задают (S104) множество лучей, расходящихся от точки обзора, причем лучи заданы координатами экранного пространства и внутренними параметрами и внешними параметрами; группируют (S105) точки в наборы точек, ассоциированные с лучами, причем каждый набор точек содержит точки, через которые проходит один луч, и в каждом наборе точек точки располагаются в порядке уменьшения их глубины относительно точки обзора; вычисляют (S106) для каждого луча векторное представление луча путем агрегирования векторных представлений точек и глубин соответствующего набора точек с помощью обученного предиктора (средства предсказания) машинного обучения; проецируют (S107) векторные представления лучей на плоскость изображения, причем этапы (S103)-(S107) выполняют для заданного множества масштабов; осуществляют слияние (S108) плоскостей изображения во множестве масштабов с помощью обученного предиктора машинного обучения в двумерное изображение.
[0017] В дополнительном аспекте обучение предиктора машинного обучения включает в себя два последовательных этапа: этап предобучения, выполняемый на первом наборе обучающих данных, причем первый набор обучающих данных включает в себя: наборы двумерных изображений разных сцен одного и того же типа, где каждый набор двумерных изображений представляет одну сцену и каждое двумерное изображение в наборе снято с разной точки обзора, точки обзора, и трехмерные облака точек, каждое из которых получено из соответствующего набора двумерных изображений; и этап точной настройки, выполняемый на втором наборе обучающих данных, причем второй набор обучающих данных включает в себя: наборы двумерных изображений разных сцен одного и того же типа, где каждый набор двумерных изображений представляет одну сцену, каждое двумерное изображение в наборе снято с разной точки обзора, причем сцены во втором наборе обучающих данных отличаются от сцен в первом наборе обучающих данных, точки обзора, и трехмерные облака точек, каждое из которых получено из соответствующего набора двумерных изображений.
[0018] В другом дополнительном аспекте каждый из двух этапов обучения предиктора машинного обучения заключается в том, что: произвольно выбирают (S201) из соответствующего набора обучающих данных обучающие данные случайно выбранной сцены, содержащие трехмерное облако точек, точку обзора и двумерное изображение, захваченное с упомянутой точки обзора; преобразуют (S202) трехмерные координаты каждой точки трехмерного облака точек в двумерные координаты и глубину каждой точки в системе координат экранного пространства камеры, используя внутренние параметры и внешние параметры камеры, с которыми был захвачен данный набор двумерных изображений; задают (S203) множество лучей, расходящихся от точки обзора, причем лучи заданы координатами экранного пространства и внутренними параметрами и внешними параметрами; группируют (S204) точки в наборы точек, ассоциированные с лучами, причем каждый набор точек содержит точки, через которые проходит один луч, и в каждом наборе точек точки располагаются в порядке уменьшения их глубины относительно точки обзора; вычисляют (S205) для каждого луча векторное представление луча путем агрегирования векторных представлений точек и глубин соответствующего набора точек; обрабатывают (S206) с помощью предиктора машинного обучения векторные представления лучей для получения суммы значений функции потерь; оценивают (S207) градиент полученной суммы относительно каждого скалярного веса предиктора машинного обучения и векторных представлений точек; изменяют (S208) каждый скалярный вес предиктора машинного обучения и векторные представления всех точек в соответствии с заданным правилом оптимизатора на основании оцененного градиента, причем этапы (S201)-(S208) повторяют заданное количество раз.
[0019] В другом дополнительном аспекте обученный предиктор машинного обучения содержит две части, причем первая часть обученного предиктора машинного обучения выполняет этап (S106), а вторая часть обученного предиктора машинного обучения выполняет этап (S108).
[0020] В другом дополнительном аспекте первая часть обученного предиктора машинного обучения является по меньшей мере одной из рекуррентной нейронной сети, а вторая часть предиктора обученного машинного обучения является нейронной сетью на базе U-net.
[0021] В другом аспекте настоящего изобретения предложено электронное вычислительное устройство, содержащее: по меньшей мере процессор и память, в которой хранятся числовые параметры обученного предиктора машинного обучения и инструкции, которые при их исполнении по меньшей мере одним процессором побуждают по меньшей мере один процессор выполнять способ синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0022] Описанные выше и другие аспекты, признаки и преимущества настоящего изобретения будут более очевидны из следующего подробного описания в совокупности с прилагаемыми чертежами, на которых:
[0023] Фиг. 1 - схематическое изображение, иллюстрирующее процесс лучевой группировки.
[0024] Фиг. 2 - схематическое изображение, иллюстрирующее операции предиктора машинного обучения.
[0025] Фиг. 3 - блок-схема, иллюстрирующая предпочтительный вариант осуществления способа синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора.
[0026] Фиг. 4 - блок-схема, иллюстрирующая процесс обучения предиктора машинного обучения в соответствии с настоящим изобретением.
[0027] Фиг. 5 - схематическое изображение, иллюстрирующее электронное вычислительное устройство в соответствии с настоящим изобретением.
[0028] В последующем описании, если не указано иное, одни и те же ссылочные номера используются для одинаковых элементов, изображенных на разных чертежах, и их параллельное описание не приводится.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0029] Следующее описание со ссылками на прилагаемые чертежи представлено для того, чтобы облегчить полное понимание различных вариантов осуществления настоящего изобретения, охарактеризованных формулой изобретения и ее эквивалентами. Для облегчения такого понимания описание включает в себя различные конкретные детали, однако эти детали следует рассматривать только как примерные. Соответственно, специалистам в данной области техники будет понятно, что можно разработать различные изменения и модификации различных вариантов осуществления, описанных в данном документе, не выходя за рамки объема настоящего изобретения. Кроме того, описания известных функций и структур могут быть опущены для ясности и краткости.
[0030] Термины и формулировки, используемые в последующем описании и формуле изобретения, не ограничиваются их библиографическими значениями, а просто используются автором изобретения для того, чтобы обеспечить ясное и последовательное понимание настоящего изобретения. Соответственно, специалистам в данной области техники будет понятно, что последующее описание различных вариантов осуществления настоящего изобретения представлено только для иллюстрации.
[0031] Следует понимать, что формы единственного числа включают в себя множественное число, если только в контексте нет явного указания на иное.
[0032] Следует понимать, что хотя термины "первый", "второй" и т.д. могут использоваться в данном документе в отношении элементов настоящего раскрытия, эти элементы не следует истолковывать как ограниченные данными терминами. Эти термины используются только для того, чтобы отличить один элемент от других элементов.
[0033] Также следует понимать, что термины "содержит", "содержащий", "включает" и/или "включающий", используемые в данном документе, означают наличие упомянутых признаков, значений, операций, элементов и/или компонентов, но не исключают наличие или добавление одного или нескольких других признаков, значений, операций, элементов, компонентов и/или их групп.
[0034] В различных вариантах настоящего раскрытия "модуль" или "блок" может выполнять по меньшей мере одну функцию или операцию и может быть реализован в форме аппаратного обеспечения, программного обеспечения или их комбинации. "Множество модулей" или "множество блоков" можно реализовать по меньшей мере с одним процессором (не показан) посредством его интеграции с по меньшей мере одним модулем, отличным от "модуля" или "блока", который должен быть реализован в форме конкретного аппаратного обеспечения.
[0035] Далее будут более подробно описаны различные варианты осуществления настоящего изобретения со ссылками на прилагаемые чертежи.
[0036]
Figure 00000001
- это трехмерное облако точек, заданное координатами точек
Figure 00000002
относительно выбранной мировой системы координат и векторными представлениями точек - векторами
Figure 00000003
, ассоциированными с каждой точкой.
Figure 00000004
представляет собой трехмерный объект или сцену, которую желательно отрисовать реалистичным образом, и векторные представления
Figure 00000005
будут описаны далее как обучаемые параметры сцены. Кроме того, предусмотрена камера, параметризованная ее внутренними параметрами
Figure 00000006
и внешними параметрами
Figure 00000007
в соответствии с моделью камеры-обскуры [4]. Внутренние параметры
Figure 00000006
камеры включают в себя фокусное расстояние, формат датчика изображения и главную точку. Внешние параметры
Figure 00000007
камеры включают в себя местоположение и ориентацию камеры относительно мировой системы координат. Эти величины задают правило перспективного преобразования координат из мировой системы координат в соответствующую систему координат экранного пространства:
Figure 00000008
(1)
[0037] С помощью перспективной проекции (1) получают координаты экранного пространства
Figure 00000009
и их расстояния
Figure 00000010
от камеры для всех точек в
Figure 00000004
:
Figure 00000011
(2)
[0038] Если точки охарактеризованы не векторными представлениями, а цветами RGB, то изображение облака точек, воспринимаемое камерой, можно воссоздать методом растризации (splatting) [34, 33] точек
Figure 00000004
на холст
Figure 00000012
, т.е. установкой цвета каждой точки
Figure 00000013
как цвета пикселя
Figure 00000014
жестким способом (прямое назначение) или мягким способом (дополнительной установкой цвета точки для соседних пикселей и слиянием цветов соседних точек для обеспечения плавности).
[0039] Тем не менее, несмотря на эффективность описанного подхода к отрисовке облаков точек, он не позволяет решить многие важные проблемы, которые естественным образом возникают при реалистичной отрисовке, такие как наличие дыр в изображении между проецируемыми точками, учет видимости (чаще всего, если несколько точек накладывается на один и тот же пиксель, то на цвет пикселя влияет только цвет ближайшей к камере точки), световые эффекты и многое другое.
Лучевая группировка
[0040] На фиг. 1 представлен процесс лучевой группировки. Показанный на изображении кролик является примером образца трехмерной модели, которая отрисовывается и сохраняется в виде облака точек. Камера в левом нижнем углу воспринимает изображение кролика, собранное на желтой плоскости поблизости. Красно-зелено-желтая трапеция - это срез бесконечной пирамиды, представляющий собой пирамиду видимости камеры, т.е. пространство всех возможных точек, которые могут влиять на изображение. Холст изображения будет сохранен дискретным образом и будет содержать H×W пикселей. Рассмотрим луч (синий), который проходит через пиксель
Figure 00000015
на изображении. Одна точка на груди кролика и другая точка на его лапе будут считаться принадлежащими этому лучу, поскольку они проецируются в то же самое целое положение на изображении.
[0041] Чтобы представить правило отрисовки более наглядно, на первом этапе конвейера точки в
Figure 00000004
группируются в соответствии с их округленными координатами экранного пространства. Точнее говоря, воображаемые лучи считаются выходящими из камеры. Каждый луч
Figure 00000016
берет начало в местоположении камеры и проходит через соответствующий пиксель
Figure 00000017
холста изображения. Координаты экранного пространства
Figure 00000018
каждой точки в
Figure 00000004
арифметически округляются и рассматриваются как принадлежащие лучу
Figure 00000019
. Результатом процесса группировки является взаимно-однозначное распределение точек между наборами (лучами), и затем точки сортируются в порядке уменьшения их глубины относительно камеры (см. фиг. 1). После этой процедуры различные наборы (лучи)
Figure 00000016
будут хранить различное количество упорядоченных точек
Figure 00000020
, и некоторые из наборов могут остаться пустыми, если в них не были помещены точки (см. фиг.1).
Нейронная архитектура
[0042] На фиг. 2 показаны основные части предложенного алгоритма. Хотя на фиг. 2 показана обработка с применением двух масштабов, эти масштабы и их количество могут быть любыми и задаваться заранее. На этапе (а) в каждом масштабе облако точек P, сгруппированное в некоторое количество лучей, передается в сеть LSTM с весами, общими для всех пикселей и всех масштабов. LSTM принимает векторное представление и глубину каждой точки в луче последовательно в порядке уменьшения глубины. На этапе (b) для каждого луча LSTM выдает агрегированное векторное представление луча - вектор с
Figure 00000006
скалярами. Расположив векторные представления лучей на холсте, получают тензор
Figure 00000021
размера
Figure 00000022
. На этапе (c) сеть с архитектурой U-Net собирает тензоры
Figure 00000023
из всех масштабов с соответствующими уровнями разрешения и осуществляет их слияние в окончательное изображение RGB.
[0043] В результате лучевой группировки получают распределение N точек в
Figure 00000004
по
Figure 00000024
лучам
Figure 00000025
переменной длины
Figure 00000026
. Рассмотрим рекуррентную нейронную сеть (RNN)
Figure 00000027
с обучаемыми параметрами
Figure 00000028
, состоящую из рекуррентных ячеек, например, ячеек LSTM [7], но не ограниченную ими. Этот метод будет описан для RNN, состоящей из ячеек LSTM. Получив ввод, последнее скрытое состояние и последнее состояние ячейки
Figure 00000029
, эта RNN преобразует данную информацию в логически вытекающие скрытые состояния и состояния ячейки
Figure 00000030
.
Figure 00000031
используется для последовательной обработки точек в каждом луче
Figure 00000032
и агрегирования этой совокупной информации в выходной признак соответствующего пикселя изображения) (см. фиг. 2).
[0044] Более конкретно, для каждого луча
Figure 00000032
строятся векторы признаков его точек
Figure 00000033
(при
Figure 00000034
). Если точки в
Figure 00000004
имеют больше признаков, чем только мировые координаты и векторные представления, например, цвет точки, семантическую сегментацию и т.п., то эти признаки можно спроецировать на экранные координаты и включить их в
Figure 00000035
. Получив признаки новой точки, RNN выдает обновленную оценку
Figure 00000036
параметров всего луча:
Figure 00000037
(3)
Figure 00000038
(4)
Figure 00000039
(5)
Figure 00000040
(6)
[0045] Такая конструкция позволяет смешивать точки вдоль луча в обратном порядке, эффективно игнорируя несущественные кластеры точек и идентифицируя фронтальную поверхность лежащей в основе трехмерной структуры относительно выбранной камеры. Результирующее состояние ячейки
Figure 00000041
интерпретируется как агрегированный признак луча, который содержит релевантную информацию о цвете пикселя, подлежащего оценке (например, одним из возможных решений для RNN было бы воспроизведение векторного представления передней точки), и он называется векторным представлением луча. В основу этого подхода положено интуитивное представление, что ячейка LSTM способна имитировать как простые, так и сложные правила смешивания прозрачности, такие как оператор OVER [23], независимое от порядка наложение и т.п. Поэтапные выводы LSTM не используются, так как выражение для состояния ячейки LSTM больше похоже на формулы смешивания прозрачности, чем на выражение для выходных переменных. Для тех пикселей
Figure 00000015
, которые соответствуют пустым лучам, устанавливается
Figure 00000042
и
Figure 00000043
рассматривается далее как тензор многоканального изображения.
[0046] Таким образом,
Figure 00000044
содержит набор векторных представлений лучей для всех непустых лучей, которые отражают агрегированную информацию о точках на луче, но не зависят от точек соседних лучей. Вводится обозначение
Figure 00000045
представляющее вышеупомянутую процедуру группировки по
Figure 00000046
лучам, обработки RNN и построения холста размера
Figure 00000047
с векторными представлениями лучей.
[0047] После нескольких повторений этой операции строится пирамида тензоров различного разрешения:
Figure 00000048
,
Figure 00000049
,
Figure 00000050
,
[0048] По мере уменьшения масштаба снижается степень детализации и "резкости", однако отдельные лучи начинают содержать больше точек. Это приводит к лучшей контекстной обработке посредством RNN и меньшему количеству дыр в тензоре
Figure 00000051
соответствующих пустым лучам при меньших масштабах.
[0049] На последнем этапе алгоритма векторные представления лучей сливаются и преобразуются в конечное изображение RGB полносверточной сетью (FCN)
Figure 00000052
. Архитектура, лежащая в основе
Figure 00000053
, в основном вдохновлена U-Net [26], которая была расширена добавлением пирамиды многомасштабных входных изображений (см. фиг. 2). На каждом разрешении сжимающего пути
Figure 00000054
принимает
Figure 00000055
, где
Figure 00000056
=1,2,4,… - коэффициент понижения разрешения для соответствующего уровня, и конкатенирует с картами признаков из уровня более высокого разрешения. Это позволяет сети заполнить недостающие области и использовать информацию о более широком контексте одновременно из нескольких разрешений. В качестве замены простых сверток в этой сжимающей части использовались частичные свертки [14]. Эти слои получают входной тензор и маску и обрабатывают только значения в немаскированных позициях ввода, осуществляя соответствующее повторное взвешивание результата с учетом заданной маски. Это делается для того, чтобы придать уточняющей сети
Figure 00000054
меньшую зависимость от возможной разреженности ввода, вызванной дырами в тензорах
Figure 00000044
.
[0050] Во время обучения вместе настраиваются независящие от точки обзора векторные представления точек
Figure 00000057
, параметры
Figure 00000028
и
Figure 00000058
обеих сетей и вспомогательные параметры
Figure 00000059
(см. ниже).
Функции потерь
[0051] Система обучается посредством оптимизации суммы двух функций потерь. Обе потери задействуют перцептивную функцию потерь
Figure 00000060
между двумя изображениями
Figure 00000061
and
Figure 00000062
на базе VGG-19 [27], предварительно обученной на ImageNet [6]:
Figure 00000063
,
при этом
Figure 00000064
соответствуют картам признаков из слоев VGG -19 relu1_2; relu2_2; relu3_4; relu4_4; relu5_4. Данный выбор слоев обычно обосновывается как репрезентативное подмножество перцептивных признаков VGG в передаче стиля и смежных областях [8].
[0052] Первая функция потерь ограничивает RNN
Figure 00000031
созданием холста векторных представлений лучей
Figure 00000065
семантически согласованных с истинной картиной
Figure 00000066
.Более конкретно, наряду с RNN и CNN обучается один слой свертки 1˟1
Figure 00000067
, и результат сравнивается с настоящим изображением:
Figure 00000068
.
[0053] Вторая потеря ограничивает уточняющую сеть созданием окончательного прогноза
Figure 00000069
близкого к истинной картине
Figure 00000070
:
Figure 00000071
).
[0054] Процедура обучения состоит из двух этапов. На первом этапе, называемом предобучением, на который подается набор облаков точек сцен аналогичного типа, векторные представления
Figure 00000057
точек каждой сцены и параметры
Figure 00000072
всех сверточных сетей полностью оптимизируются в соответствии с суммой всех функций потерь во всех сценах. Эта оптимизация выполняется по алгоритму ADAM и включает в себя обратное распространение градиента функции потерь. На втором этапе, называемом точной настройкой, имея предоставленное облако точек по меньшей мере для одной сцены, обучение направлено на оптимизацию только векторных представлений точек для этой сцены или набора сцен по отношению к замороженным, ранее предобученным сверточным сетям. В начале этого этапа процесс обучения начинается с нулевых значений дескриптора для данной новой сцены или набора сцен.
[0055] Один вариант осуществления способа синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, будет описан более подробно со ссылкой на фиг. 3. Способ 100 содержит этапы S101-S108.
[0056] На этапе S101 принимают трехмерное облако точек. Трехмерное облако точек может быть сохранено в памяти устройства или получено с любого удаленного устройства по проводной или беспроводной связи. Трехмерное облако точек можно получить из множества 2D изображений одной и той же сцены любым известным способом. Каждая точка облака задана 3D координатами в мировой системе координат и векторным представлением точки.
[0057] На этапе S102 задают требуемую точку обзора как камеру, имеющую внутренние параметры и внешние параметры.
[0058] На этапе S103 3D координаты каждой точки преобразуют в 2D координаты и глубину каждой точки в системе координат экранного пространства камеры, используя внутренние параметры и внешние параметры. Внутренние параметры и внешние параметры задают правило перспективного преобразования координат из мировой системы координат в соответствующую систему координат экранного пространства. Такое преобразование известно из уровня техники и описано выше. Поэтому подробное описание этого преобразования здесь опущено.
[0059] На этапе S104 задают множество лучей, расходящихся от точки обзора. Лучи задаются координатами экранного пространства, внутренними параметрами и внешними параметрами. Задание множества лучей подробно описано выше со ссылкой на фиг. 1.
[0060] На этапе S105 точки группируют в наборы точек, ассоциированные с лучами. Каждый набор точек содержит точки, через которые проходит один луч, и в каждом наборе точек точки располагаются в порядке уменьшения их глубины относительно точки обзора. Подробное описание группировки точек приведено выше в разделе "Лучевая группировка".
[0061] На этапе S106 для каждого луча обученный предиктор машинного обучения вычисляет векторное представление луча путем агрегирования векторных представлений точек и глубин соответствующего набора точек. На этапе S107 векторные представления лучей проецируются на плоскость изображения. Этапы (S103)-(S107) выполняются для множества масштабов. Множество масштабов задают заранее. На этапе S108 обученный предиктор машинного обучения сливает плоскости изображений во множестве масштабов в 2D изображение. Этапы S106, S107, S108 подробно описаны выше со ссылкой на фиг. 2.
[0062] Обученный предиктор машинного обучения состоит из двух частей. Первая часть обученного предиктора машинного обучения выполняет этап (S106), а его вторая часть выполняет этап (S108).
[0063] Первая часть обученного предиктора машинного обучения представляет собой по меньшей мере одну из рекуррентных нейронных сетей. Вторая часть обученного предиктора машинного обучения - это нейронная сеть на базе U-net.
[0064] Предиктор машинного обучения обучается в два последовательных этапа. Первый этап является этапом предобучения. Второй этап - это этап точной настройки. Первый этап выполняется на первом наборе обучающих данных. Первый набор данных обучающих данных включает в себя: наборы 2D изображений разных сцен одного и того же типа, причем каждый набор 2D изображений представляет одну сцену и каждое 2D изображение в наборе снято из различных точек обзора; точки обзора и 3D облака точек, каждое из которых получено из соответствующего набора 2D изображений.
[0065] Второй этап выполняют на втором наборе обучающих данных. Второй набор обучающих данных включает в себя: наборы 2D изображений разных сцен одного и того же типа, причем каждый набор 2D изображений представляет одну сцену и каждое 2D изображение в наборе снято из различных точек обзора, при этом сцены во втором наборе обучающих данных отличаются из сцен в первом наборе обучающих данных; точки обзора и 3D облака точек, каждое из которых получено из соответствующего набора 2D изображений.
[0066] На фиг. 4 показан процесс 200 обучения предиктора машинного обучения. Каждый из двух этапов обучения предиктора машинного обучения содержит этапы S201-S208.
[0067] На этапе S201 из соответствующего набора обучающих данных произвольно выбираются обучающие данные. Для этапа предобучения обучающие данные выбираются произвольно из первого набора обучающих данных. Для этапа точной настройки обучающие данные выбираются произвольно из второго набора обучающих данных. Обучающие данные принадлежат произвольно выбранной сцене и содержат 3D облако точек, точку обзора и 2D изображение, захваченное с указанной точки обзора.
[0068] На этапе S202 3D координаты каждой точки 3D облака точек преобразуют в 2D координаты и глубину каждой точки в системе координат экранного пространства камеры, используя внутренние параметры и внешние параметры камеры, с помощью которой был снят данный набор 2D изображений.
[0069] На этапе S203 задают множество лучей. Лучи расходятся от точки обзора. Лучи задают координатами экранного пространства, внутренними параметрами и внешними параметрами.
[0070] На этапе S204 точки облака точек группируют в наборы точек, ассоциированные с лучами. Каждый набор точек содержит точки, через которые проходит один луч, и в каждом наборе точек точки располагаются в порядке уменьшения их глубины относительно точки обзора.
[0071] На этапе S205 для каждого луча вычисляют векторное представление луча путем агрегирования векторных представлений точек и глубин соответствующего набора точек.
[0072] На этапе S206 предиктор машинного обучения обрабатывает векторные представления лучей, чтобы получить сумму значений функции потерь. Процесс, связанный с функциями потерь, подробно описан выше в разделе "Функции потерь".
[0073] На этапе S207 оценивается градиент полученной суммы относительно каждого скалярного веса предиктора машинного обучения и векторных представлений точек.
[0074] На этапе S208 каждый скалярный вес предиктора машинного обучения и векторные представления всех точек изменяются в соответствии с заданным правилом оптимизатора на основе оцененного градиента. Этапы (S201)-(S208) повторяют заданное количество раз.
[0075] На фиг. 5 представлена структурная схема, иллюстрирующая электронное вычислительное устройство в соответствии с настоящим изобретением. Электронное вычислительное устройство 300 содержит по меньшей мере один процессор 301 и память 302.
[0076] Память 302 хранит числовые параметры обученного предиктора машинного обучения и инструкции. По меньшей мере один процессор 301 исполняет инструкции, хранящиеся в памяти 302, для выполнения способа 100 синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора.
[0077] Способ, раскрытый в данном документе, может быть реализован по меньшей мере одним процессором, таким как центральный процессор (CPU), графический процессор (GPU), реализованный по меньшей мере на одной из специализированной интегральной схемы (ASIC), программируемой пользователем вентильной матрицы (FPGA), но без ограничения ими. Кроме того, способ, раскрытый в данном документе, может быть реализован на машиночитаемом носителе, который хранит числовые параметры обученного предиктора машинного обучения и исполняемые компьютером инструкции, которые при их исполнении процессором побуждают компьютер выполнять предложенный способ. Обученный предиктор машинного обучения и инструкции для реализации настоящего способа могут быть загружены в электронное вычислительное устройство через сеть или с носителя.
[0078] Настоящее изобретение может применяться в гарнитурах виртуальной реальности, очках дополненной реальности, очках смешанной реальности, смартфонах и других устройствах и системах виртуальной и/или дополненной реальности.
[0079] Приведенные выше описания вариантов осуществления изобретения являются иллюстративными, и модификации, внесенные в конфигурации и реализации не выходят за пределы объема настоящего описания. Например, несмотря на то, что варианты осуществления изобретения описаны в общем виде со ссылками на фиг. 1 и 2, эти представленные выше описания являются примерными. Хотя предмет изобретения описан на языке, характеризующем конструктивные признаки или этапы способа, понятно, что он не обязательно ограничен описанными признаками или этапами. Кроме того, конкретные описанные выше признаки и этапы раскрыты как примерные формы реализации формулы изобретения. Изобретение не ограничивается проиллюстрированной последовательностью этапов способа, специалист сможет изменить эту последовательность без применения творческих усилий. Некоторые или все этапы способа могут выполняться последовательно или параллельно.
[0080] Соответственно, подразумевается, что объем варианта осуществления изобретения ограничен только следующей формулой изобретения.

Claims (34)

1. Способ синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, при этом упомянутый способ содержит этапы, на которых:
принимают (S101) трехмерное облако точек, полученное из множества двумерных изображений одной и той же сцены, причем каждую точку облака задают трехмерными координатами в мировой системе координат и векторным представлением точки;
задают (S102) точку обзора как камеру, имеющую внутренние параметры и внешние параметры, при этом внутренние параметры содержат фокусное расстояние, формат датчика изображения и главную точку, а внешние параметры содержат местоположение и ориентацию камеры относительно мировой системы координат;
преобразуют (S103) трехмерные координаты каждой точки в двумерные координаты и глубину каждой точки в системе координат экранного пространства камеры, используя внутренние параметры и внешние параметры;
задают (S104) множество лучей, расходящихся от точки обзора, причем лучи заданы координатами экранного пространства и внутренними параметрами и внешними параметрами;
группируют (S105) точки в наборы точек, ассоциированные с лучами, причем каждый набор точек содержит точки, через которые проходит один луч, и в каждом наборе точек точки расположены в порядке уменьшения их глубины относительно точки обзора;
вычисляют (S106) для каждого луча векторное представление луча путем агрегирования векторных представлений точек и глубин соответствующего набора точек с помощью обученного предиктора машинного обучения;
проецируют (S107) векторные представления лучей на плоскость изображения,
причем этапы (S103)-(S107) выполняют для заданного множества масштабов;
осуществляют слияние (S108) плоскостей изображения во множестве масштабов с помощью обученного предиктора машинного обучения в двумерное изображение.
2. Способ по п.1, в котором обучение предиктора машинного обучения включает в себя два последовательных этапа:
этап предобучения, выполняемый на первом наборе обучающих данных, причем первый набор обучающих данных включает в себя:
- наборы двумерных изображений разных сцен одного и того же типа, причем каждый набор двумерных изображений представляет одну сцену и каждое двумерное изображение в наборе снято с разной точки обзора,
- точки обзора и
- трехмерные облака точек, каждое из которых получено из соответствующего набора двумерных изображений; и
этап точной настройки, выполняемый на втором наборе обучающих данных, причем второй набор обучающих данных включает в себя:
- наборы двумерных изображений разных сцен одного и того же типа, причем каждый набор двумерных изображений представляет одну сцену, каждое двумерное изображение в наборе снято с разной точки обзора, причем сцены во втором наборе обучающих данных отличаются от сцен в первом наборе обучающих данных,
- точки обзора и
- трехмерные облака точек, каждое из которых получено из соответствующего набора двумерных изображений.
3. Способ по п. 2, в котором каждый из двух этапов обучения предиктора машинного обучения содержит этапы, на которых:
произвольно выбирают (S201) из соответствующего набора обучающих данных обучающие данные случайно выбранной сцены, содержащие трехмерное облако точек, точку обзора и двумерное изображение, захваченное с упомянутой точки обзора;
преобразуют (S202) трехмерные координаты каждой точки трехмерного облака точек в двумерные координаты и глубину каждой точки в системе координат экранного пространства камеры, используя внутренние параметры и внешние параметры камеры, с которыми был захвачен данный набор двумерных изображений;
задают (S203) множество лучей, расходящихся от точки обзора, причем лучи заданы координатами экранного пространства и внутренними параметрами и внешними параметрами;
группируют (S204) точки в наборы точек, ассоциированные с лучами, причем каждый набор точек содержит точки, через которые проходит один луч, и в каждом наборе точек точки расположены в порядке уменьшения их глубины относительно точки обзора;
вычисляют (S205) для каждого луча векторное представление луча путем агрегирования векторных представлений точек и глубин соответствующего набора точек;
обрабатывают (S206) с помощью предиктора машинного обучения векторные представления лучей для получения суммы значений функции потерь;
оценивают (S207) градиент полученной суммы относительно каждого скалярного веса предиктора машинного обучения и векторных представлений точек;
изменяют (S208) каждый скалярный вес предиктора машинного обучения и векторные представления всех точек в соответствии с заданным правилом оптимизатора на основании оцененного градиента,
причем этапы (S201)-(S208) повторяют заданное количество раз.
4. Способ по любому из пп. 1-3, в котором обученный предиктор машинного обучения содержит две части, причем первая часть обученного предиктора машинного обучения выполняет этап (S106), а вторая часть обученного предиктора машинного обучения выполняет этап (S108).
5. Способ по п. 4, в котором первая часть обученного предиктора машинного обучения является по меньшей мере одной из рекуррентных нейронных сетей, а вторая часть обученного предиктора машинного обучения является нейронной сетью на базе U-net.
6. Электронное вычислительное устройство для синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, содержащее:
по меньшей мере процессор и
память, в которой хранятся числовые параметры обученного предиктора машинного обучения и инструкции, которые при их исполнении по меньшей мере одним процессором побуждают по меньшей мере один процессор выполнять способ синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, по любому из пп. 1-5.
RU2020113525A 2019-11-12 2020-04-15 Способ синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, и электронное вычислительное устройство для его реализации RU2749749C1 (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2020113525A RU2749749C1 (ru) 2020-04-15 2020-04-15 Способ синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, и электронное вычислительное устройство для его реализации
PCT/KR2020/015686 WO2021096190A1 (en) 2019-11-12 2020-11-10 Method for synthesizing 2d image of scene as viewed from desired viewpoint and electronic computing device implementing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020113525A RU2749749C1 (ru) 2020-04-15 2020-04-15 Способ синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, и электронное вычислительное устройство для его реализации

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2019136333 Substitution 2019-11-12 2019-11-12

Publications (1)

Publication Number Publication Date
RU2749749C1 true RU2749749C1 (ru) 2021-06-16

Family

ID=76377371

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020113525A RU2749749C1 (ru) 2019-11-12 2020-04-15 Способ синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, и электронное вычислительное устройство для его реализации

Country Status (1)

Country Link
RU (1) RU2749749C1 (ru)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070296721A1 (en) * 2004-11-08 2007-12-27 Electronics And Telecommunications Research Institute Apparatus and Method for Producting Multi-View Contents
US20120141016A1 (en) * 2010-12-03 2012-06-07 National University Corporation Nagoya University Virtual viewpoint image synthesizing method and virtual viewpoint image synthesizing system
RU2562759C2 (ru) * 2011-01-07 2015-09-10 Сони Компьютер Энтертейнмент Америка Ллк Морфологическое сглаживание (мс) при повторном проецировании двухмерного изображения
US20180192033A1 (en) * 2016-12-30 2018-07-05 Google Inc. Multi-view scene flow stitching

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070296721A1 (en) * 2004-11-08 2007-12-27 Electronics And Telecommunications Research Institute Apparatus and Method for Producting Multi-View Contents
US20120141016A1 (en) * 2010-12-03 2012-06-07 National University Corporation Nagoya University Virtual viewpoint image synthesizing method and virtual viewpoint image synthesizing system
RU2562759C2 (ru) * 2011-01-07 2015-09-10 Сони Компьютер Энтертейнмент Америка Ллк Морфологическое сглаживание (мс) при повторном проецировании двухмерного изображения
US20180192033A1 (en) * 2016-12-30 2018-07-05 Google Inc. Multi-view scene flow stitching

Similar Documents

Publication Publication Date Title
Munkberg et al. Extracting triangular 3d models, materials, and lighting from images
Srinivasan et al. Nerv: Neural reflectance and visibility fields for relighting and view synthesis
Chen et al. Learning to predict 3d objects with an interpolation-based differentiable renderer
Ravi et al. Accelerating 3d deep learning with pytorch3d
Boss et al. Neural-pil: Neural pre-integrated lighting for reflectance decomposition
Yariv et al. Bakedsdf: Meshing neural sdfs for real-time view synthesis
Su et al. Splatnet: Sparse lattice networks for point cloud processing
Petersen et al. Pix2vex: Image-to-geometry reconstruction using a smooth differentiable renderer
Liu et al. Paparazzi: surface editing by way of multi-view image processing.
Zach Fast and high quality fusion of depth maps
Rakotosaona et al. Nerfmeshing: Distilling neural radiance fields into geometrically-accurate 3d meshes
Cole et al. Differentiable surface rendering via non-differentiable sampling
Liu et al. A general differentiable mesh renderer for image-based 3D reasoning
WO2021096190A1 (en) Method for synthesizing 2d image of scene as viewed from desired viewpoint and electronic computing device implementing the same
Tiwary et al. Towards learning neural representations from shadows
CN115984441A (zh) 一种基于神经着色器的快速重建带纹理三维模型的方法
Yuan et al. Neural radiance fields from sparse rgb-d images for high-quality view synthesis
Kolos et al. TRANSPR: Transparency ray-accumulating neural 3D scene point renderer
Yang et al. Reconstructing objects in-the-wild for realistic sensor simulation
Mittal Neural radiance fields: Past, present, and future
Chen et al. L-tracing: Fast light visibility estimation on neural surfaces by sphere tracing
Maxim et al. A survey on the current state of the art on deep learning 3D reconstruction
US20240037829A1 (en) Computing images of controllable dynamic scenes
RU2749749C1 (ru) Способ синтеза двумерного изображения сцены, просматриваемой с требуемой точки обзора, и электронное вычислительное устройство для его реализации
Palestini et al. Machine Learning as an Alternative to 3d Photomodeling Employed in Architectural Survey and Automatic Design Modelling