СПОСОБ ТРЕХМЕРНОЙ РЕКОНСТРУКЦИИ ОБЪЕКТА
METHOD OF THREE-DIMENSIONAL OBJECT RECONSTRUCTION

Настоящее раскрытие относится к способу трехмерной реконструкции объекта, к системе обработки данных, содержащей средство для выполнения упомянутого способа, к компьютерной программе, содержащей инструкции, которые побуждают компьютер выполнять способ, и к компьютерно-читаемому носителю, содержащему инструкции, которые побуждают компьютер выполнять способ.
В машинном зрении и компьютерной графике трехмерные реконструкции реализуют воспроизведение формы и внешнего вида реальных объектов. Чтобы достигнуть этой цели, цифровые трехмерные модели реальных объектов создаются посредством множества методик. В качестве одной из этих методик широко используется современная фотограмметрическая методика, которая проводит измерения от фотографий, чтобы воссоздать точные позиции точек поверхности реальных объектов.
Типичный способ фотограмметрии для реконструкции реального объекта может содержать следующие этапы.
Сначала множество фотоизображений реконструируемого объекта извлекается камерой или камерами, одновременно или в разное время съемки, с разных положений камер, которые являются комбинацией позиции и ориентации камеры.
После этого характерные точки каждого фотоизображения обнаруживаются и извлекаются из фотоизображений хорошо известным методом, например, посредством использования детектора характерных признаков: масштабно-инвариантной трансформации признаков (Scale-Invariant Feature Transform, SIFT) или ускоренного надежного детектора признаков (Speeded-Up Robust Features, SURF).
Характерным признаком на снятом фотоизображении является его "интересная" часть, например, угловые точки (края с градиентами в нескольких направлениях), пятна или гребни этого фотоизображения.
Впоследствии характерные признаки, обнаруженные на всех фотоизображениях, сопоставляются для обнаружения геометрических отношений между фотоизображениями хорошо известным методом, например, с помощью трекера Лукаса-Канаде.
После этого широко реализованный алгоритм под названием Structure from Motion (структура на основе движения) (SfM) используется для извлечения характерных признаков из фотоизображений и вычисления ориентации камер, а также позиций характерных точек реконструируемого объекта. В настоящее время на рынке доступно множество программного обеспечения SfM. Результатом коммерчески доступного программного обеспечения SfM может являться облако трехмерных точек, соответствующих обнаруженным двухмерным характерным признакам на снятых фотоизображениях.
Посредством облака трехмерных точек может быть воссоздана поверхность модели объекта. Качество модели объекта зависит, среди прочего, от локальной плотности облака трехмерных точек, которая определяется как отношение количества трехмерных точек, расположенных в области, к площади наиболее подходящей поверхности или объема, соответствующих трехмерным точкам. Чем выше локальная плотность облака трехмерных точек, тем лучше качество модели объекта.
На последнем этапе объектная модель текстурируется, чтобы приобрести реалистичный внешний вид.
Во время этапа реконструкции модели объекта с помощью облака трехмерных точек сначала могут быть реконструированы геометрические структуры, такие как плоскости, кривые поверхности или многогранники, в качестве строительных блоков модели объекта.
Наиболее близким аналогом для настоящего изобретения является документ CHRIS RUSSELL ET AL: "Dense Non-rigid Structure from Motion", опубл. 06.12.2012 г. и доступный по адресу https://ieeexplore.ieee.org/document/6375035, относящийся к обработке, моделированию, визуализации и передаче трехмерного изображения, в котором раскрываются подходы к плотной нежесткой структуре из движения, которые расширяются до плотной реконструкции без шаблонов, которая может избежать локальных минимумов как в дискретных, так и в непрерывных подзадачах.
Однако скорость реконструкции геометрических структур до сих пор довольно низка из-за высокой вычислительной сложности, и качество результата реконструкции также может быть неудовлетворительным, например, из-за низкой локальной плотности облака трехмерных точек в области, в которой геометрическая структура должна быть реконструирована.
Таким образом, задача настоящего раскрытия состоит в том, чтобы обеспечить быструю, а также более точную трехмерную реконструкцию целевого объекта.
Эта задача решена посредством независимых пунктов приложенной формулы изобретения. Зависимые пункты относятся к предпочтительным вариантам осуществления.
Настоящее раскрытие относится к способу трехмерной реконструкции объекта, содержащему следующие этапы:
A) формирование множества изображений объекта с помощью по меньшей мере одной камеры, в частности, с разных ракурсов и позиций камеры;
B) извлечение характерных признаков объекта из множества изображений;
C) формирование облака трехмерных точек, размещенных в трехмерной модели, представляющей объект, причем каждая из трехмерных точек соответствует одному из упомянутых характерных признаков, который может быть извлечен по меньшей мере из двух из множества изображений;
D) выбор области в одном из множества изображений, которая содержит проекцию по меньшей мере части заранее заданной трехмерной геометрической структуры, в качестве строительного блока объекта,
- причем заранее заданная трехмерная геометрическая структура представима математическим уравнением, которое содержит множество неизвестных коэффициентов, и
- причем подмножество упомянутых характерных признаков объекта, каждый из которых соответствует одной из упомянутых трехмерных точек, содержится в упомянутой области, и количество характерных признаков в подмножестве характерных признаков не меньше, т.е. равно или больше, чем количество неизвестных коэффициентов математического уравнения;
E) идентификация изображений, каждое из которых содержит по меньшей мере один из характерных признаков в подмножестве упомянутых характерных признаков;
F) определение первого набора трехмерных точек, соответствующих подмножеству характерных признаков, упомянутых на этапе D, и второго набора трехмерных точек, содержащих по меньшей мере одну трехмерную точку, соответствующую по меньшей мере одному характерному признаку, который не принадлежит подмножеству упомянутых характерных признаков, но может быть извлечен по меньшей мере из двух из идентифицированных на этапе E изображений;
G) определение упомянутого математического уравнения, которое соответствует заранее заданной трехмерной геометрической структуре, посредством первого набора и второго набора трехмерных точек; и
H) визуализация трехмерной модели объекта посредством по меньшей мере заранее заданной трехмерной геометрической структуры.
Различные варианты осуществления могут предпочтительно реализовать следующие признаки.
Особенно благоприятно, что с помощью упомянутых выше этапов D-G значительно сокращается время воссоздания требуемых геометрических структур в качестве строительных блоков для реконструируемого объекта. Кроме того, общее качество реконструкции значительно улучшается, несмотря на относительно низкую локальную плотность облака трехмерных точек.
После упомянутого на этапе C формирования облака трехмерных точек, представляющих реконструируемый объект, любое из извлеченных изображений может быть отобрано для выбора области в отобранном изображении при условии, что удовлетворены оба из следующих предварительных условий.
Во-первых, в этой области отобранного изображения обеспечена проекция по меньшей мере части заранее заданной трехмерной геометрической структуры, представимой математическим уравнением, например, с M неизвестными коэффициентами, в качестве строительных блоков для реконструируемого объекта.
Во-вторых, в этой области доступны обнаруженные характерные точки, причем если количество упомянутых характерных точек обозначено как N, N должно быть не меньше, чем M.
Этот выбор области из извлеченного изображения может быть проведен пользователем, который управляет программным обеспечением для воссоздания реального объекта. В качестве альтернативы операция выбора может быть выполнена компьютерной программой, в которой оба упомянутые выше предварительных условия были предопределены и сохранены широко известным методом.
После процесса выбора на этапе E идентифицируются другие релевантные изображения. Релевантные изображения представляют собой подмножество извлеченных изображений и определенных как изображения, каждое из которых содержит по меньшей мере одну из N характерных точек, которые могут быть извлечены из упомянутой выбранной области изображения, отобранной на этапе D.
Поскольку каждая из трехмерных точек в облаке трехмерных точек, сформированном на этапе C, соответствует двухмерному характерному признаку (точке), который может быть извлечен по меньшей мере из двух из снятых изображений, первый набор, состоящий из N трехмерных точек, изобретательно определяется в соответствии с N характерными точками, упомянутыми на этапе D.
Определяется второй набор, состоящий, например, из X трехмерных точек. Эти X трехмерных точек соответствуют X характерным точкам, которые не принадлежат упомянутым N характерным точкам, но являются другими характерными точками, каждая из которых может быть извлечена по меньшей мере из двух из упомянутых релевантных изображений, т.е. упомянутого подмножества снятых изображений.
Затем может быть определено математическое уравнение, которое соответствует заранее заданной трехмерной геометрической структуре, с использованием первого и второго наборов трехмерных точек.
Поскольку математическое уравнение имеет M неизвестных коэффициентов, и количество N трехмерных точек в первом наборе равно или больше, чем количество неизвестных коэффициентов M, математическое уравнение может быть определено или распознано, т.е., M неизвестных коэффициентов могут быть вычислены с помощью только N трехмерных точек в первом наборе.
Второй набор с X трехмерными точками затем используется для оценки математического уравнения, определенного первым набором с N трехмерными точками. Например, относительные координаты X трехмерных точек во втором наборе помещаются в определенное математическое уравнение соответственно, чтобы проверить, будет ли уравнение по-прежнему соблюдаться.
Поскольку подмножество изображений, идентифицированное на этапе E, является релевантным для изображения, отобранного на этапе D, так как эти изображения имеют по меньшей мере одну общую характерную точку в выбранной области, которая содержит проекцию по меньшей мере части заранее заданной трехмерной геометрической структуры, существует высокая вероятность, что X характерных признаков в подмножестве изображений, упомянутых на этапе F, соответствуют по меньшей мере одной трехмерной точке на поверхности заранее заданной трехмерной геометрической структуры.
Другими словами, второй набор с X трехмерными точками может содержать по меньшей мере одну трехмерную точку на поверхности заранее заданной трехмерной геометрической структуры.
Во время упомянутой выше проверки соблюдения уравнения, чем больше трехмерных точек во втором наборе могут соответствовать или могут приблизительно соответствовать уравнению, тем вероятнее, что математическое уравнение корректно определено или является наиболее подходящей формулой для представления заранее заданной трехмерной геометрической структуры.
С другой стороны, чем меньше трехмерных точки во втором наборе соответствуют или приблизительно соответствуют уравнению, тем менее вероятно, что математическое уравнение корректно определено или является наиболее подходящей формулой для представления заранее заданной трехмерной геометрической структуры.
Если результат упомянутой проверки соблюдения уравнения не является удовлетворительным, поскольку, например, только одна треть трехмерных точек во втором наборе может соответствовать или приблизительно соответствовать уравнению, процесс выбора на этапе D, а также последующие этапы E-G могут быть повторены, пока результат проверки не станет удовлетворять пользователя или достигнет заранее заданного порогового значения широко известным методом.
Тем самым, с помощью настоящего изобретения может быть максимально точно определена заранее заданная трехмерная геометрическая структура, представимая математическим уравнением с M неизвестными коэффициентами, в качестве строительного блока объекта, который является очень важным базовым элементом трехмерной модели визуализируемого объекта.
Кроме того, особенно выгодно то, что даже когда локальная плотность облака трехмерных точек в заранее заданной геометрической структуре является относительно низкой, с помощью настоящего изобретения точность определенной заранее заданной геометрической структуры все еще находится на высоком уровне.
Кроме того, с помощью этапа D выбора настоящего изобретения скорость определения заранее заданной трехмерной геометрической структуры и, тем самым, также последующей визуализации трехмерной модели объекта значительно увеличивается по сравнению с существующим уровнем техники.
Кроме того, благодаря введению этапа оценки, использующего второй набор трехмерных точек, определение заранее заданной трехмерной геометрической структуры не является чрезмерно чувствительным к выбору области на этапе D.
В предпочтительном варианте осуществления геометрические структуры представляют собой плоскость, сферу, цилиндр, конус, тороидальную структуру или аналогичное трехмерное тело правильной формы.
В качестве примера возьмем плоскость, которая может быть описана математическим уравнением ax+by+cz=d с тремя переменными x, y, z и четырьмя неизвестными коэффициентами a, b, c, d. При условии, что в выбранной области отобранного изображения количество характерных признаков в указанном подмножестве характерных признаков не меньше трех, четыре неизвестных коэффициента a, b, c, d могут быть вычислены путем расчетов с помощью трехмерных точек в первом наборе, соответствующих подмножеству характерных признаков. Количество трехмерных точек должно быть достаточным для вычисления всех неизвестных коэффициентов математического уравнения.
После этого второй набор трехмерных точек, определение которого уже было подробно разъяснено выше, используется для оценки того, является ли определенное математическое уравнение с тремя определенными коэффициентами наилучшим подходящим для заранее заданной плоскости или нет.
2
2
2
2
Другой пример описан следующим образом: сфера может быть описана математическим уравнением (x-a) + (y-b) + (z-c) = r с тремя переменными x, y, z и четырьмя неизвестными коэффициентами a, b, c, r. При условии, что в выбранной области отобранного изображения количество характерных признаков из упомянутого подмножества характерных признаков не меньше четырех, четыре неизвестных коэффициента a, b, c, r могут быть вычислены путем расчетов посредством трехмерных точек в первом наборе, соответствующем подмножеству характерных признаков.
После этого второй набор трехмерных точек, определение которого уже было подробно разъяснено выше, используется для оценки того, является ли определенное математическое уравнение с четырьмя определенными коэффициентами наилучшим подходящим для заранее заданной сферы или нет.
В другом предпочтительном варианте осуществления способ трехмерной реконструкции объекта содержит следующие дополнительные этапы:
I) идентификация точек схождения множества изображений, соответственно;
J) ограничение заранее заданной трехмерной геометрической структуры посредством по меньшей мере одной из точек схождения.
Следует отметить, что этапы I и J выполняются не после этапа H, а перед ним. Предпочтительно этапы I и J выполняются между этапами B и H. Более предпочтительно этап J выполняется между этапами F и H.
На этапе I точки схождения множества изображений идентифицируются и извлекаются хорошо известным методом, например, посредством Гауссовской сферы. Точка схождения является точкой на плоскости изображения чертежа в перспективе, в которой двухмерные перспективные проекции (или чертежи) взаимно параллельных линий в трехмерном пространстве выглядят сходящимися.
Поскольку точка схождения ограничивает нормальное направление (если такое имеется) поверхности плоскости трехмерной геометрической структуры, эти точки схождения могут использоваться для ограничения или определения заранее заданной трехмерной геометрической структуры. Тем самым заранее заданная трехмерная геометрическая структура может быть определена более точно.
В другом предпочтительном варианте осуществления точки схождения идентифицируются посредством анализа сходящихся линий в множестве изображений. Изображение может быть описано посредством горизонтальной оси изображения и вертикальной оси изображения или иметь такие оси. В соответствии с этим сходящиеся линии вблизи с горизонтальной осью изображения используются для идентификации по меньшей мере точки схождения для горизонтальных линий сцены, и сходящиеся линии вблизи к вертикальной оси изображения используются для идентификации по меньшей мере точки схождения для вертикальных линий сцены.
В другом предпочтительном варианте осуществления трехмерная геометрическая структура текстурируется посредством по меньшей мере части изображения среди упомянутого множества изображений, причем упомянутая часть изображения идентифицируется и выбирается посредством трехмерных точек в облаке трехмерных точек. Тем самым достигается быстрое и относительно точное текстурирование трехмерной геометрической структуры.
В другом предпочтительном варианте осуществления визуализированная трехмерная модель оценивается посредством проецирования множества изображений на модель и вычисления степени совпадения между изображениями и моделью. Если степень совпадения не удовлетворяет пользователя, процесс выбора на этапе D и/или упомянутый выше процесс текстурирования могут быть выполнены еще раз.
В другом предпочтительном варианте осуществления вычисленная степень совпадения используется для оптимизации по меньшей мере одного из определенных неизвестных коэффициентов посредством нахождения локальной максимальной степени совпадения при изменении значения определенного коэффициента.
Степень совпадения между текстурой модели и множеством изображений может быть описана фотометрической ошибкой. Фотометрическая ошибка может использоваться для оптимизации по меньшей мере одного коэффициента математического уравнения. Это возможно посредством нахождения локального минимума фотометрической ошибки при итерационном изменении значения коэффициента. С этой целью может использоваться любой известный алгоритм нелинейной оптимизации, например, алгоритм Левенберга-Марквардта.
По сравнению с известными алгоритмами подгонки точек, такими как RANSAC, в этом варианте осуществления настоящего способа визуализированная трехмерная модель является более точной, поскольку в этом варианте осуществления используется информация о миллионах пикселей из множества изображений, и, таким образом, она может достигать точности на уровне субпикселей.
В другом предпочтительном варианте осуществления характерные признаки объекта, извлеченные из множества изображений, используются для вычисления упомянутой степени совпадения посредством определения, могут ли упомянутые характерные признаки также быть извлечены из визуализированной трехмерной модели. Высокая степень совпадения достигается, если более 50%, и особенно более 70% характерных признаков, извлеченных из множества изображений, также могут быть извлечены из визуализированной трехмерной модели. Выгодно, чтобы таким образом была реализована полная автоматизация оценки качества визуализации трехмерной модели.
Следует понимать, что термины "фотоизображение", "изображение", "картинки" или любые другие их вариации являются взаимозаменяемыми в настоящей заявке на патент.
Дополнительные выгодные подробные сведения и признаки могут быть взяты из приведенного ниже описания иллюстративного варианта осуществления изобретения в сочетании со следующим чертежом.
Фиг. 1 показывает схематическую иллюстрацию варианта осуществления способа настоящего изобретения для трехмерной реконструкции объекта.
В соответствии с фиг. 1 семь значков 1-7 камер на левой стороне представляют семь изображений 1-7 объекта 100, подлежащего трехмерной реконструкции, при этом изображения сняты одной камерой с разных ракурсов.
Следует отметить, что эти изображения 1-7 также могут быть сняты несколькими камерами из различных положений камер либо одновременно, либо в разные моменты съемки. Хотя на фиг. 1 показаны только семь изображений по той причине, что меньшее количество изображений подходит для простого объяснения, не исключено, что для реализации способа настоящего изобретения может быть снято и использовано большее количество изображений.
После этого из изображений 1-7 извлекаются "интересные" части на изображениях 1-7, такие как угловые точки и гребни объекта 100, т.е. характерные точки объекта 100. Эти двухмерные характерные точки или характерные признаки объекта 100 не показаны на фиг. 1.
После этого формируется облако трехмерных точек, размещенных в трехмерной модели, представляющей объект 100, каждая из трехмерных точек соответствует одному из характерных признаков, которые могут быть извлечены по меньшей мере из двух из изображений 1-7. Эти трехмерные точки обозначены на фиг. 1 номерами 12, 14, 16, 18, 20, 22, 24, 26.
Далее в изображении 4 выбирается область 40. Эта область содержит проекцию части 30 заранее заданной сферы 10 в качестве строительного блока объекта 100. Для удобства объяснения на фиг. 1 заранее заданная сфера 10 и трехмерные точки 12-26 намеренно увеличены, в то время как реконструируемый объект 100 не показан с конкретной формой/границей.
2
2
2
2
Заранее заданная сфера 10 представима математическим уравнением (x-a) + (y-b) + (z-c) = r с тремя переменными x, y, z и четырьмя неизвестными коэффициентами a, b, c, r.
Подмножество характерных признаков объекта 100, каждый из которых соответствует одной из трехмерных точек 16, 18, 20, 22, содержится в области 40, и количество характерных признаков в этом подмножестве характерных признаков равно четырем, что равно количеству неизвестных коэффициентов a, b, c, r математического уравнения.
Выбор изображения из извлеченных изображений 1-7 и последующий выбор области из выбранного изображения может быть проведен пользователем, который управляет программным обеспечением для реконструкции реального объекта. В качестве альтернативы это также может быть выполнено компьютерной программой.
После этого идентифицируются изображения 3-6, каждое из которых содержит по меньшей мере один из характерных признаков, соответствующих трехмерным точкам 16-22.
Затем определяется первый набор трехмерных точек 16-22. Также определяется второй набор трехмерных точек, состоящий из одной трехмерной точки 24. Эта трехмерная точка 24 соответствует одному характерному признаку, который не принадлежит характерным признакам, соответствующим трехмерным точкам 16-22, но может быть извлечен из двух изображений 5 и 6 из упомянутых выше идентифицированных изображений 3-6.
После этого посредством первого набора и второго набора трехмерных точек определяется математическое уравнение (x-a)² + (y-b)² + (z-c)² = r², которое соответствует заранее заданной сфере 10.
Поскольку математическое уравнение имеет четыре неизвестных коэффициента a, b, c, r, и количество трехмерных точек 16-22 в первом наборе равно количеству неизвестных коэффициентов a, b, c, r, математическое уравнение может быть определено или распознано, т.е. неизвестные коэффициенты a, b, c, r могут быть вычислены с помощью только четырех трехмерных точек 16-22 в первом наборе.
Поскольку идентифицированные изображения 3-6 являются релевантными для выбранного изображения 4, так как эти изображения имеют по меньшей мере одну общую характерную точку в выбранной области 40, которая является проекцией части 30 заранее заданной сферы 10, существует высокая вероятность, что дополнительный характерный признак, который может быть извлечен из изображений 5, 6 и соответствует трехмерной точке 24, является характерным признаком, соответствующим одной трехмерной точке на поверхности заранее заданной сферы 10.
Другими словами, второй набор может содержать одну трехмерную точку на поверхности заранее заданной сферы 10.
В связи с этим второй набор с трехмерной точкой 24 используется для оценки математического уравнения, определенного первым набором. Относительные координаты трехмерной точки 24 во втором наборе помещаются в определенное математическое уравнение соответственно, чтобы проверить, будет ли уравнение по-прежнему соблюдаться.
Если в соответствии с результатом проверки уравнение по-прежнему соблюдается или приблизительно соблюдается, определенное математическое уравнение может рассматриваться как наиболее подходящая формула для представления заранее заданной сферы 10.
Если в соответствии с результатом проверки уравнение далеко от соблюдения, определенное математическое уравнение может рассматриваться как неподходящее для представления заранее заданной сферы 10, и упомянутый выше процесс выбора требует еще одного повторения, пока определенное математическое уравнение не пройдет проверку.
На последнем этапе трехмерная модель объекта 100 визуализируется посредством по меньшей мере определенной наиболее подходящей заранее заданной сферы 10.