СПОСОБ ФОРМИРОВАНИЯ ПАНОРАМНОГО ИЗОБРАЖЕНИЯ
METHOD FOR PANORAMIC IMAGE GENERATION

Область техники
[0001] Настоящая технология в целом относится к видеозаписи и, в частности, к способу формирования панорамного изображения трехмерного (3D) объекта.
Уровень техники
[0002] Предоставление изображений трехмерных объектов может иметь различные применения - например, на онлайн-платформах для объявлений. Как упоминается в данном документе, онлайн-платформа для объявлений - это открытый онлайн-ресурс, предоставляющий возможность для одних пользователей продавать (также называемые здесь «продавцами») свои товары другим пользователям таких онлайн-платформ для объявлений, которые могут покупать эти товары (также именуемые здесь «покупатели»). Таким образом, такие онлайн-платформы для объявлений могут включать в себя множество - например, сотни тысяч или даже миллионы - классифицированных рекламных объявлений, связанных с различными товарами. Некоторые примеры таких онлайн-платформ для объявлений могут включать в себя онлайн-платформы для объявлений, нацеленные на определенные категории товаров - например, онлайн-платформу для продажи автомобилей Auto.ru™, в основном предлагающую автомобили, запчасти для автомобилей и сопутствующие услуги; в то время как другие могут разрешать продажу товаров различных категорий, такие как Avito™, Kijiji™ и т.п.
[0003] Более конкретно, используя функциональные возможности данной онлайн-платформы для объявлений, продавцы могут загружать информацию о данном предмете, который они хотят продать, например, о данном автомобиле, через связанную учетную запись пользователя. Такая информация может включать, например, изображения данного автомобиля и некоторые его технические характеристики. В то же время покупатели могут провести поиск данного автомобиля на основании определенных технических характеристик, которые им интересны, и найти данный автомобиль в каталоге предметов, связанных с данной онлайн-платформой для объявлений. Далее покупатели могут ознакомиться с внешним видом данного автомобиля по предоставленным изображениям. Например, покупатели могут быть заинтересованы в том, чтобы получить панорамное изображение данного автомобиля, которое могло быть сформировано на основе видеозаписи, снятой при перемещении связанной камеры вокруг данного автомобиля.
[0004] Однако у продавцов может не получиться правильно записать такое панорамное изображение. Например, когда данный продавец снимает видеозапись прохождения вокруг данного автомобиля, его руки могут дрожать или подергиваться по меньшей мере в определенные моменты времени во время записи. В качестве другого примера они могут не полностью осознавать неправильную ориентацию своей камеры при записи видеозаписи для получения панорамного изображения желаемого качества. В результате панорамное изображение данного автомобиля может быть неудовлетворительным для покупателей, предоставляя плохую информацию о данном автомобиле и занимая место для хранения данной онлайн-платформы для объявлений.
[0005] Определенные подходы предшествующего уровня техники были предложены для решения указанной выше технической проблемы, нацеленные на улучшение качества результирующего панорамного изображения данного трехмерного объекта.
[0006] Патент США № 10,482,321-B2, выданный 19 ноября 2019 г., предназначенный Cerner Innovation Inc.и озаглавленный «Methods and Systems for Identifying the Crossing of a Virtual Barrier», раскрывает раскрытые системы, методы и носители для идентификации пересечения виртуального барьера. Человек на трехмерном изображении комнаты может быть ограничен граничной рамкой (ограничивающим прямоугольником). Положение граничной рамки можно отслеживать с течением времени относительно виртуального барьера. Если граничная рамка касается или пересекает виртуальный барьер, предупреждение может быть отправлено контролируемому лицу, лицу, осуществляющему уход, или врачу.
[0007] Патент США № 8,165,348-B2, выданный 24 апреля 2012 г., предназначенный International Business Machines Corp. и озаглавленный «Detecting Objects Crossing a Virtual Boundary Line», раскрывает подход, который обнаруживает объекты, пересекающие виртуальную граничную линию. В частности, эту возможность предоставляет средство обнаружения объектов. Средство обнаружения объектов содержит граничный компонент, выполненный с возможностью определения виртуальной граничной линии в интересующей области видео и установления набора областей участков фона, окружающих виртуальную граничную линию. Средство обнаружения объектов дополнительно содержит компонент извлечения, выполненный с возможностью извлечения набора атрибутов из каждой из набора областей участков фона и обновления модели истории участков фона с помощью набора атрибутов из каждой из набора областей участков фона. Компонент анализа выполнен с возможностью анализа модели истории участков фона, чтобы определить, пересекает ли объект, захваченный по меньшей мере в одной из набора областей участков земли, виртуальную граничную линию в интересующей области видео.
[0008] Публикация корейской патентной заявки № 2019/087,942-A, опубл. 25 июля 2019 г. иозаглавленная «Object Tracking Device and Method», раскрывает камеру для захвата объекта и вывода изображения на экран, камеру для распознавания объекта, установки целевой области, включающей объект на экране изображения, установки положения камеры так, чтобы объект был включен в экран изображения, блок распознавания целевого объекта для установки виртуальной граничной линии на экране и целевой области или положения камеры, если целевой объект не пересекает виртуальную граничную линию, и перемещения целевой области или камеры, когда целевой объект перемещается и пересекает виртуальную граничную линию, и блок слежения за целью. Это позволяет предотвратить ухудшение ощущения зрителя от просмотра, вызванное частым перемещением экрана изображения, и обеспечить стабильное изображение экрана.
Сущность изобретения
[0009] Следовательно, существует потребность в системах и способах, которые позволяют избежать, уменьшить или преодолеть ограничения предшествующего уровня техники.
[0010] Разработчики настоящей технологии поняли, что качество панорамного вида данного трехмерного объекта может быть улучшено, если электронное устройство, связанное с камерой, может быть выполнено так, чтобы предлагать его пользователю (такому как данный продавец, например) расположить камеру, перемещая ее вокруг данного трехмерного объекта, таким образом, чтобы камера должным образом захватила соответствующую предварительно определенную часть данного трехмерного объекта.
[0011] Более конкретно, варианты осуществления настоящей технологии направлены на систему и способ для формирования электронным устройством обратной связи с пользователем, указывающей на данное неправильное положение камеры при производстве видеозаписи данного трехмерного объекта. Данное неправильное положение камеры может быть определено на основе степени перекрытия между данным изображением по меньшей мере части данного трехмерного объекта, обнаруженным в соответствующем кадре видеозаписи, и специально заданным визуальным опорным кадром, очерчивающим поле зрения камеры.
[0012] Соответственно, на основе предоставленной обратной связи пользователю может быть предоставлена возможность регулировать положения камеры во время видеозаписи, так что каждое из множества изображений представляет соответствующую часть данного трехмерного объекта в пределах предварительно определенных пороговых расстояний от краев визуального опорного кадра, что может дополнительно позволить компиляцию панорамного вида данного 3D лучшего качества.
[0013] Более конкретно, в соответствии с первым широким аспектом настоящей технологии предоставляется способ формирования видео трехмерного объекта с использованием камеры. Способ выполняется процессором камеры. Способ включает: формирование, посредством процессора, визуального опорного кадра, причем визуальный опорный кадр указывает на границы, в пределах которых трехмерный объект должен быть расположен; захват, посредством процессора, изображения окружающей области вокруг трехмерного объекта; в ответ на обнаружение, посредством процессора, в изображении по меньшей мере части трехмерного объекта: формирование, посредством процессора, граничной рамки, охватывающей первую заданную часть трехмерного объекта; определение, посредством процессора, параметра перекрытия между граничной рамкой и визуальным опорным кадром, причем параметр перекрытия указывает на соотношение между частью граничной рамки за пределами визуального опорного кадра и общей площадью поверхности граничной рамки; сравнение, посредством процессора, параметра перекрытия с множеством пороговых значений, в ответ на превышение параметром перекрытия данного одного из множества пороговых значений, формирование, посредством процессора, соответствующего одного из множества предварительно определенных указаний для регулировки положения камеры для захвата части трехмерного объекта в пределах визуального опорного кадра, тем самым формируя его скорректированное изображение; сохранение, посредством процессора, скорректированного изображения для включения его во множество изображений, составляющих видео трехмерного объекта.
[0014] В некоторых вариантах осуществления способа множество предварительно определенных указаний содержит множество увеличивающихся указаний, причем множество увеличивающихся указаний последовательно становятся более заметными по мере увеличения параметра перекрытия.
[0015] В некоторых вариантах осуществления способа данное одно из множества предварительно определенных указаний, связанных с данным одним из множества пороговых значений, более явно выражено, чем предыдущее из множества предварительно определенных указаний, связанных с предыдущим из множества пороговых значений.
[0016] В некоторых вариантах осуществления способа, каждое из множества пороговых значений связано с одним из: соответствующего постоянного абсолютного значения параметра перекрытия и соответствующего процентного отношения ассоциированного края визуального опорного кадра, покрытого граничной рамкой вне его.
[0017] В некоторых вариантах осуществления способа, в ответ на параметр перекрытия, превышающий данное одно из множества пороговых значений на двух противоположных краях визуального опорного кадра, способ дополнительно содержит формирование первого указания об ошибке.
[0018] В некоторых вариантах осуществления способа захват изображения выполняется в ответ на перемещение камеры вокруг трехмерного объекта.
[0019] В некоторых вариантах осуществления способа видео представляет собой последовательность изображений, составляющих панорамный вид.
[0020] В некоторых вариантах осуществления способа, в ответ на то, что захват изображения окружающей области вокруг трехмерного объекта выполняется меньше, чем предварительно определенный период после формирования предыдущего из множества изображений, составляющих видео трехмерного объекта, способ дополнительно включает исключение изображения из дальнейшей обработки.
[0021] В некоторых вариантах осуществления способа обнаружение в изображении первой заданной части трехмерного объекта дополнительно содержит сжатие изображения.
[0022] В некоторых вариантах осуществления способа сжатие дополнительно содержит преобразование изображения в буфер пикселей, имеющий 32-битный формат RGBA.
[0023] В некоторых вариантах осуществления способа способ дополнительно содержит определение на основе первой заданной части трехмерного объекта типа трехмерного объекта.
[0024] В некоторых вариантах осуществления способа, в ответ на то, что трехмерный объект не относится к предварительно определенному типу трехмерных объектов, способ дополнительно содержит исключение изображения из дальнейшей обработки.
[0025] В некоторых вариантах осуществления способа, в ответ на то, что тип трехмерного объекта не определен как предварительно определенный тип в предварительно определенном количестве последовательно захваченных изображений, способ дополнительно содержит формирование второго указания об ошибке.
[0026] В некоторых вариантах осуществления способа предварительно определенный тип трехмерного объекта включает в себя транспортное средство.
[0027] В некоторых вариантах осуществления способа, в ответ на то, что граничная рамка, охватывающая первую заданную часть трехмерного объекта, имеет размеры, меньшие, чем соответствующие предварительно определенные пороговые значения, способ дополнительно содержит исключение изображения из дальнейшей обработки.
[0028] В некоторых вариантах осуществления способа, в ответ на то, что граничная рамка, охватывающая первую заданную часть трехмерного объекта, смещена на расстояние от центра визуального опорного кадра большее, чем предварительно определенное пороговое значение расстояния, способ дополнительно содержит исключение изображения из дальнейшей обработки.
[0029] В некоторых вариантах осуществления способа в ответ на обнаружение в изображении вместе с первой заданной частью трехмерного объекта по меньшей мере другой части другого трехмерного объекта, способ дополнительно содержит:
формирование второй граничной рамки по меньшей мере для другой части другого трехмерного объекта;
определение соответствующих размеров граничной рамки и второй граничной рамки; и
выбор для дальнейшей обработки одной из граничной рамки и второй граничной рамки, имеющей меньший размер.
[0030] В некоторых вариантах осуществления способа, в ответ на то, что граничная рамка позиционируется в пределах визуального опорного кадра на расстоянии, отнесенном от любого из его краев меньше, чем первое предварительно определенное пороговое значение расстояния, способ дополнительно содержит формирование третьего указания об ошибке.
[0031] В некоторых вариантах осуществления способа третье указание об ошибке содержит тактильное указание.
[0032] В некоторых вариантах осуществления способа способ дополнительно содержит вызов отображения видео трехмерного объекта.
[0033] В некоторых вариантах осуществления способа вызов отображения дополнительно содержит вызов отображения указаний каждого из множества предварительно определенных указаний, связанных с соответствующими метками времени, причем данная метка времени, связанная с данным одним из множества предварительно определенных указаний, указывает время, когда было сформировано данное одно из множества предварительно определенных указаний.
[0034] В некоторых вариантах осуществления способа вызов отображения дополнительно содержит вызов отображения ассоциированного инициированного одного из множества предварительно определенных указаний для данного из множества изображений.
[0035] В контексте настоящего описания термин «окружение» данного трехмерного объекта относится к области или объему вокруг данного трехмерного объекта, включая часть его текущей окружающей обстановки, доступную для захвата с помощью одной или нескольких направленных на нее камер, например, для формирования последовательности изображений данного трехмерного объекта.
[0036] В контексте настоящего описания «сервер» - это компьютерная программа, которая работает на соответствующем аппаратном обеспечении и способна принимать запросы (например, от электронных устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть реализовано как один физический компьютер или одна физическая компьютерная система, но ни то, ни другое не требуется в отношении настоящей технологии. В данном контексте использование выражения «сервер» не предназначено для обозначения того, что каждая задача (например, полученные инструкции или запросы) или любая конкретная задача была принята, выполнена или вызвана к выполнению тем же сервером (то есть тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество программных элементов или аппаратных устройств может быть вовлечено в прием/отправку, выполнение или обеспечение выполнения любой задачи или запроса, или последствий любой задачи или запроса; и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба этих случая включены в выражение «по меньшей мере один сервер».
[0037] В контексте настоящего описания «электронное устройство» - это любое компьютерное оборудование, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать как сервер для других электронных устройств, однако это не обязательно в отношении настоящей технологии. Таким образом, некоторые (неограничивающие) примеры электронных устройств включают в себя самоуправляемые устройства, персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в данном контексте тот факт, что устройство функционирует как электронное устройство, не означает, что оно не может функционировать как сервер для других электронных устройств.
[0038] В контексте настоящего описания выражение «информация» включает в себя информацию любого характера или вида, которая может быть сохранена в базе данных. Таким образом, информация включает в себя, но без ограничения, визуальные произведения (например, карты), аудиовизуальные произведения (например, изображения, фильмы, звукозаписи, презентации и т.д.), данные (например, данные о местоположении, данные о погоде, данные о дорожном движении, числовые данные и т.д.), текст (например, мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[0039] В контексте настоящего описания «база данных» - это любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерного оборудования, на котором данные хранятся, реализованы или иным образом доступны для использования. База данных может находиться на том же оборудовании, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном оборудовании, например на выделенном сервере или множестве серверов.
[0040] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. использовались в качестве прилагательных только с целью обеспечения различия между существительными, которые они изменяют друг от друга, а не для описания каких-либо конкретных отношений между этими существительными. Кроме того, как обсуждается здесь в других контекстах, ссылка на «первый» элемент и «второй» элемент не препятствует тому, чтобы эти два элемента были одним и тем же фактическим элементом реального мира.
[0041] Каждая из реализаций настоящей технологии обладает по меньшей мере одним из вышеупомянутых аспектов и/или задач, но не обязательно имеет их все. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.
[0042] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0043] Эти и другие признаки, аспекты и преимущества настоящей технологии станут более понятными из нижеследующего описания, приложенной формулы изобретения и сопроводительных чертежей, на которых:
[0044] Фиг.1 изображает схематическое представление примерной компьютерной системы, конфигурируемой для реализации некоторых неограничивающих вариантов осуществления настоящей технологии;
[0045] Фиг.2 изображает схематическое представление сетевой вычислительной среды, содержащей компьютерную систему по Фиг.1 и подходящей для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии;
[0046] Фиг.3 изображает схематическое представление размещения электронного устройства сетевой вычислительной среды по Фиг.2 относительно трехмерного объекта для формирования, посредством процессора компьютерной системы по Фиг.1, его видеозаписи в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии;
[0047] Фиг.4 изображает схематическое представление графического пользовательского интерфейса (GUI) во время формирования, посредством процессора компьютерной системы по фиг.1, первого из множества изображений, связанных с видеозаписью трехмерного объекта, представленного на фиг.3, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии;
[0048] Фиг.5 изображает схематическое представление GUI во время формирования, посредством процессора компьютерной системы по фиг.1, второго из множества изображений, связанных с видеозаписью трехмерного объекта, представленного на фиг.3, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии;
[0049] Фиг.6 изображает схематическое представление GUI во время формирования, посредством процессора компьютерной системы по фиг.1, третьего из множества изображений, связанных с видеозаписью трехмерного объекта, представленного на фиг.3, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии;
[0050] Фиг.7 изображает схематическое представление GUI для вызова, посредством процессора компьютерной системы по фиг.1, отображения видеозаписи трехмерного объекта, представленного на фиг.3, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии;
[0051] Фиг.8 изображает блок-схему способа формирования, посредством процессора компьютерной системы по фиг.1, видеозаписи трехмерного объекта, представленного на фиг.3, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.
Подробное описание
[0052] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области смогут разработать различные механизмы, которые, хоть и не описаны или показаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее сущность и объем.
[0053] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области поймут, что различные реализации настоящей технологии могут иметь большую сложность.
[0054] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия понимаю и, опять же, не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области может осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.
[0055] Более того, все утверждения в данном документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры, предназначены для охвата как их структурных, так и функциональных эквивалентов, независимо от того, известны они в настоящее время или разрабатываются в будущем. Таким образом, например, специалисты в данной области осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, будет понятно, что любые блок-схемы, схемы последовательности операций, схемы изменения состояний, псевдо-коды и подобное представляют различные процессы, которые могут быть по сути представлены на считываемых компьютером носителях и таким образом исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.
[0056] Функции различных элементов, показанных на фигурах, включая любой функциональный блок, обозначенный как «процессор», могут быть обеспечены за счет использования специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного выполнять программное обеспечение в сочетании с соответствующим программным обеспечением. При обеспечении процессором функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. Кроме того, явное использование термина "процессор" или "контроллер" не должно истолковываться как относящееся исключительно к аппаратному обеспечению, способному исполнять программное обеспечение, и может в неявной форме включать в себя, без ограничений, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и энергонезависимое хранилище. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.
[0057] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое явно или неявно показано.
[0058] Учитывая эти основополагающие вещи, рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.
Компьютерная система
[0059] На фиг.1 изображена компьютерная система 100, подходящая для использования с некоторыми реализациями настоящей технологии. Компьютерная система 100 содержит различные аппаратные компоненты, включая один или несколько одноядерных или многоядерных процессоров, совместно представленных процессором 110, блок графической обработки (GPU) 111, твердотельный накопитель 120, оперативную память 130, интерфейс 140 дисплея и интерфейс 150 ввода/вывода.
[0060] Связь между различными компонентами компьютерной системы 100 может быть обеспечена одной или несколькими внутренними и/или внешними шинами 160 (например, шиной PCI, универсальной последовательной шиной, шиной Firewire IEEE 1394, шиной SCSI, шиной Serial-ATA и т.д.), с которой различные компоненты оборудования связаны электронным образом.
[0061] Интерфейс 150 ввода/вывода может быть связан с сенсорным экраном 190 и/или с одной или несколькими внутренними и/или внешними шинами 160. В некоторых вариантах осуществления сенсорный экран 190 представляет собой экран 215. Сенсорный экран 190 также может называться экраном, например экраном 215 электронного устройства 210, изображенного на Фиг.2. В вариантах осуществления, проиллюстрированных на фиг. 1, сенсорный экран 190 содержит воспринимающее касание аппаратное обеспечение 194 (например, чувствительные к давлению ячейки, встроенные в слой дисплея, позволяющие обнаруживать физическое взаимодействие между пользователем и дисплеем) и контроллер 192 сенсорного ввода/вывода, обеспечивающий возможность связи с интерфейсом 140 дисплея и/или одной или более внутренними и/или внешними шинами 160. В некоторых неограничивающих вариантах осуществления настоящей технологии интерфейс 150 ввода/вывода может быть подключен к клавиатуре (отдельно не изображена), мыши (отдельно не изображена) или сенсорной площадке (отдельно не изображена), позволяя пользователю взаимодействовать с компьютерной системой 100 в дополнение к сенсорному экрану 190 или вместо него.
[0062] Следует отметить, что некоторые компоненты компьютерной системы 100 могут быть опущены в некоторых неограничивающих вариантах осуществления настоящей технологии. Например, клавиатура и мышь (обе отдельно не изображены) могут быть исключены, особенно (но не ограничиваясь этим), когда компьютерная система 100 реализована как компактное электронное устройство, такое как смартфон.
[0063] Согласно реализациям настоящей технологии твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в оперативную память 130 и исполнения процессором 110 и/или GPU 111. Например, программные инструкции могут быть частью библиотеки или приложения.
Сетевая вычислительная среда
[0064] Со ссылкой на фиг.2 изображена сетевая вычислительная среда 200, подходящая для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии. Сетевая вычислительная среда 200 включает в себя электронное устройство 210, соединенное с возможностью осуществления связи через сеть 240 связи с сервером 250. В неограничивающих вариантах осуществления настоящей технологии электронное устройство 210 может быть связано с пользователем 230.
[0065] В неограничивающих вариантах осуществления настоящей технологии электронное устройство 210 может быть любым компьютерным аппаратным обеспечением, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. Таким образом, некоторые неограничивающие примеры электронного устройства 210 могут включать в себя персональные компьютеры (настольные компьютеры, портативные компьютеры, нетбуки и т.д.), смартфоны и планшеты. Таким образом, электронное устройство 210 может содержать некоторые или все компоненты компьютерной системы 100, изображенной на Фиг.1.
[0066] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии сетевая вычислительная среда 200 может включать в себя камеру 220, соединенную с возможностью осуществления связи с электронным устройством 210. Камера 220 может быть сконфигурирована процессором 110 электронного устройства 210 для захвата данных изображения, указывающих на объекты, на которые она направлена, а также на их окружение.
[0067] С этой целью, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, камера 220 может содержать по меньшей мере один датчик изображения и связанную с ним оптическую систему (обе отдельно не изображены), дополнительно связанную с процессором 110 электронного устройства 210. Вообще говоря, по меньшей мере один датчик изображения может быть сконфигурирован процессором 110 для формирования данных изображения путем преобразования входящего потока света в электрические сигналы. Неограничивающие примеры реализации по меньшей мере одного датчика изображения могут включать в себя, например, датчик изображения на основе устройства с зарядовой связью (CCD) и датчик изображения на основе комплементарного металло-оксидного полупроводник (CMOS).
[0068] В некоторых неограничивающих вариантах осуществления настоящей технологии упомянутый по меньшей мере датчик изображения может быть выполнен с возможностью формирования данных изображения в форме последовательности изображений, снятой с предварительно определенным интервалом времени. В других неограничивающих вариантах осуществления настоящей технологии данные изображения могут содержать данные, указывающие на видеозапись, непрерывно записываемую упомянутым по меньшей мере датчиком изображения в течение предварительно определенного периода.
[0069] В конкретном неограничивающем примере по меньшей мере один датчик изображения может быть реализован как датчик изображения CMOS типа, доступный от Sony Semiconductor Solutions Corporation, адрес: 4-14-1 Asahi-cho, Atsugi-shi, Kanagawa, 243-0014, Япония. Следует четко понимать, что первичный датчик изображения может быть реализован в любом другом подходящем оборудовании.
[0070] Кроме того, следует понимать, что в дополнительных неограничивающих вариантах осуществления настоящей технологии упомянутый по меньшей мере один датчик изображения камеры 220 может содержать массив аналогичным образом реализованных датчиков изображения.
[0071] Соответственно, процессор 110 может быть дополнительно выполнен с возможностью приема данных изображения с камеры 220 и сохранения их для дальнейшего использования в одном из твердотельного накопителя 120 и оперативной памяти 130, например.
[0072] Кроме того, используя экран 215 электронного устройства 210, пользователю 230 может быть предоставлена возможность наблюдать за окружением электронного устройства 210 для выбора определенных объектов, представляющих интерес, для захвата, посредством камеры 220, данных изображения, указывающих на них. Кроме того, процессор 110 может быть выполнен с возможностью формирования на основе данных изображения, принятых от камеры 220, одного или нескольких соответствующих изображений интересующих объектов и вывода одного или нескольких соответствующих изображений на экран 215.
[0073] В некоторых неограничивающих вариантах осуществления настоящей технологии камера 220 может быть встроенной камерой. Например, как показано на фиг. 2, камера 220 может быть частью электронного устройства 210, при этом электронное устройство 210 реализовано, например, как смартфон со встроенной в него камерой 220. В конкретном неограничивающем примере смартфоном может быть смартфон Samsung™ Galaxy™ S10, включающий в себя камеру 220 с разрешением изображения около 12 мегапикселей и разрешением видеозаписи UHD 4K (3840 на 2160 пикселей), настроенную для создания видеозаписи со скоростью до 60 кадров в секунду, например, предоставленный Samsung Group на 40-м этаже здания Samsung Electronics Building, 11, Seocho-daero 74-gil, Seocho District, Сеул, Южная Корея. Следует четко понимать, что смартфон может быть реализован в любом другом подходящем оборудовании.
[0074] Однако в других неограничивающих вариантах осуществления настоящей технологии (не изображены) электронное устройство 210 может быть реализовано как автономная цифровая интеллектуальная камера, такая как зеркальная цифровая камера Canon™ EOS™ 77D, предоставленная Canon Inc. адрес: 3, Chome-30-2 Shimomaruko, Ota City, Токио 146-8501, Япония. В этих вариантах осуществления по меньшей мере некоторые функции экрана 215, такие как перемещение камеры 220 в окрестностях электронного устройства 210 для выбора интересующих объектов, могут быть доступны через оптический видоискатель (не изображен) электронного устройства 210. Следует четко понимать, что автономная цифровая интеллектуальная камера может быть реализована в любом другом подходящем оборудовании.
[0075] В других неограничивающих вариантах осуществления настоящей технологии (не изображены) электронное устройство 210 может быть реализовано таким образом, что оно не включает в себя камеру 220, встроенную в него. С этой целью в этих вариантах осуществления камера 220 может быть реализована как не интеллектуальная камера и может дополнительно подключаться к электронному устройству 210 через соответствующий интерфейс связи интерфейса 150 ввода/вывода.
[0076] Кроме того, согласно некоторым неограничивающим вариантам осуществления настоящей технологии, процессор 110 электронного устройства 210 может быть выполнен с возможностью приема данных изображения интересующих объектов и передачи через сеть 240 связи данных изображения на сервер 250.
[0077] В соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии сервер 250 может быть выполнен с возможностью хранения данных изображения для предоставления к ним общего доступа, например, через данную онлайн-платформу для объявлений, связанную с сервером 250. В качестве неограничивающего примера данной онлайн-платформы для объявлений может быть онлайн-платформа для объявлений Auto.ru™, управляемая ООО «Яндекс», адрес: 119021, Москва, улица Льва Толстого, 16.
[0078] Например, в некоторых неограничивающих вариантах осуществления настоящей технологии сервер 250 может быть выполнен с возможностью разрешать доступ к данным изображения через сеть 240 связи множеству других электронных устройств (отдельно не изображенных), реализованных аналогично электронному устройству 210, связанных с различными пользователями. Каждое из множества других электронных устройств может дополнительно быть выполнено с возможностью формирования на основе принятых данных изображения одного или нескольких соответствующих изображений интересующих объектов, снятых камерой 220 электронного устройства 210, и связанным пользователям таким образом может быть разрешено просматривать и/или загружать одно или несколько соответствующих изображений, например.
[0079] В некоторых неограничивающих вариантах осуществления настоящей технологии сервер 250 может быть реализован как обычный компьютерный сервер и может содержать некоторые или все компоненты компьютерной системы 100 на Фиг.1. В одном неограничивающем примере сервер 250 реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™, но также может быть реализован в любом другом подходящем оборудовании, программном обеспечении и/или микропрограммном обеспечении, или их комбинации. В проиллюстрированных неограничивающих вариантах осуществления настоящей технологии сервер 250 является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии (не изображены) функциональные возможности сервера 250 могут быть распределены и могут быть реализованы посредством нескольких серверов.
Сеть связи
[0080] В некоторых неограничивающих вариантах осуществления настоящей технологии сеть 240 связи представляет собой Интернет. В альтернативных неограничивающих вариантах осуществления настоящей технологии сеть 240 связи может быть реализована как любая подходящая локальная сеть (LAN), глобальная сеть (WAN), частная сеть связи и т.п. Следует четко понимать, что реализации для сети связи приведены только в целях иллюстрации. Как реализуется соответствующая линия связи (не пронумерованная отдельно) между каждым из электронного устройства 210, сервера 250, каждым из множества других электронных устройств и сетью 240 связи, будетзависеть, среди прочего, от того, как реализовано каждое из электронного устройства 210, сервера 250 и множества других электронных устройств. Просто в качестве примера, а не ограничения, в тех вариантах осуществления настоящей технологии, где электронное устройство 210 реализовано как устройство беспроводной связи, такое как смартфон, канал связи может быть реализован как канал беспроводной связи. Примеры каналов беспроводной связи включают в себя, но не ограничиваются ими, канал связи в сети 3G, канал связи в сети 4G и т.п. Сеть 240 связи также может использовать беспроводное соединение с сервером 250 и каждым из множества других электронных устройств.
Формирование видеозаписи
[0081] Как упоминалось выше, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии процессор 110 может быть выполнен с возможностью: (1) формировать, используя камеру 220, видеозапись данного трехмерного объекта, такого как трехмерный объект 350, изображенный на фиг. 3; (2) сохранять видеозапись трехмерного объекта 350 в одном из твердотельного накопителя 120 и оперативной памяти 130; и (3) передавать видеозапись на сервер 250, например, через сеть 240 связи. В дополнительных неограничивающих вариантах осуществления настоящей технологии процессор 110 также может быть выполнен с возможностью вызывать отображение видеозаписи на экране 215 электронного устройства 210 перед ее передачей на сервер 250.
[0082] Согласно некоторым неограничивающим вариантам осуществления настоящей технологии процессор 110 может быть выполнен с возможностью формирования видеозаписи трехмерного объекта 350, в то время как камера 220 перемещается вокруг трехмерного объекта 350.
[0083] Со ссылкой на Фиг.3 изображено схематическое представление создания видеозаписи трехмерного объекта 350 в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии. В некоторых неограничивающих вариантах осуществления настоящей технологии камера 220 может перемещаться вокруг трехмерного объекта, когда пользователь 230, направляя камеру 220 к трехмерному объекту 350 с помощью электронного устройства 210, обходит трехмерный объект 350 вдоль данной траектории 320. Как можно понять, данная траектория 320 может иметь по существу круговую форму. Следует отметить, что также могут быть предусмотрены другие способы заставить камеру 220 перемещаться вокруг трехмерного объекта 350 по данной траектории 320, такие как использование соответствующих монтажных сборок.
[0084] Таким образом, в некоторых неограничивающих вариантах осуществления настоящей технологии видеозапись может содержать множество изображений, снятых последовательно, когда пользователь 230 ходит вокруг трехмерного объекта 350, при этом каждое из множества изображений указывает на соответствующий аспект трехмерного объекта 350 и его окружение 310, снятые с соответствующей перспективы камеры 220. В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью формирования на основе множества изображений панорамного вида трехмерного объекта 350 для его дальнейшей передачи на сервер 250.
[0085] Таким образом, панорамный вид трехмерного объекта 350 может использоваться для имитации при просмотре другими пользователями прогулки вокруг трехмерного объекта 350 для оценки определенных деталей внешнего вида трехмерного объекта 350 с разных точек зрения. Однако, когда пользователь 230 производит видеозапись трехмерного объекта 350, его или ее руки могут дрожать или подергиваться. Кроме того, пользователь 230 во время обхода трехмерного объекта 350 может просто не знать о неправильном положении камеры 220 относительно трехмерного объекта 350.
[0086] Например, трехмерный объект 350 может быть по-разному центрирован на экране 215 электронного устройства 210, по меньшей мере на некоторых из множества его изображений. Кроме того, когда пользователь 230 расположен слишком близко к трехмерному объекту 350, например, представление трехмерного объекта 350 может выходить за границы экрана 215, не позволяя камере 220 захватить соответствующий аспект трехмерного объекта 350 полностью, в данном одном из множества изображений. Кроме того, когда пользователь 230 расположен слишком далеко от трехмерного объекта 350, например, трехмерный объект 350 может быть слишком удален от краев экрана 215 в данном одном из множества изображений, где мгновенные размеры трехмерного объекта 350 могут не соответствовать размерам в предыдущем одном из множества изображений.
[0087] Соответственно, камера 220, неправильно расположенная относительно трехмерного объекта 350, может вносить определенные несоответствия по меньшей мере в некоторые из множества изображений, которые будут использоваться процессором 110 для создания панорамного вида трехмерного объекта 350. В результате панорамный вид трехмерного объекта 350 может быть, например, скошенным. Таким образом, такой панорамный вид может не быть адекватно информативным для других пользователей, поскольку его качество может не позволять другим пользователям просматривать каждый аспект трехмерного объекта 350. В качестве другого примера, определенные несоответствия могут привести к тому, что процессор 110 вообще не сможет сформировать на основе множества изображений панорамный вид трехмерного объекта 350.
[0088] Таким образом, неограничивающие варианты осуществления настоящей технологии направлены на способ формирования множества изображений трехмерного объекта 350, изображающих его соответствующие аспекты, последовательно расположенные на экране 215, что может дополнительно позволить формировать более плавный панорамный вид трехмерного объекта. 350. Более конкретно, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, в ответ на заданное неправильное положение камеры 220, процессор 110 может быть выполнен с возможностью заставлять электронное устройство 210 формировать соответствующее одно из множества предварительно определенных указаний (например, для пользователя 230) для регулировки текущего положения камеры 220 для формирования данного одного из множества изображений, составляющих панорамный вид трехмерного объекта 350 улучшенного качества. Как данное одно из множества изображений трехмерного объекта 350 может быть сформировано процессором 110 в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, будет описано непосредственно ниже со ссылкой на Фиг.4-7.
Исключение неправильных изображений трехмерного объекта
[0089] Со ссылкой на фиг.4 изображено схематическое представление GUI во время формирования процессором 110 первого изображения 402 из множества изображений первого заданного аспекта трехмерного объекта 350 в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[0090] Как можно понять из фиг.4, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, процессор 110 может быть выполнен с возможностью формировать, в пределах экрана 215, визуальный опорный кадр 404. В соответствии с настоящей технологией визуальный опорный кадр 404 используется как вспомогательное средство для пользователя 230 для ориентации камеры 220 относительно трехмерного объекта 350. Другими словами, визуальный опорный кадр 404 указывает границы в пределах экрана 215 электронного устройства 210, внутри которых трехмерный объект 350 должен находиться во время его видеозаписи, чтобы позволить процессору 110 формировать панорамный вид трехмерного объекта 350. Визуальный опорный кадр 404 также может использоваться для предоставления некоторых из множества предварительно определенных указаний в случае, когда камера 220 позиционируется неправильно относительно трехмерного объекта 350, как будет описано ниже.
[0091] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью формирования на экране 215 окна 406 информационного сообщения для вывода в нем сообщений, таких как первое данное сообщение 408, связанное с соответствующими из множество предварительно определенных указаний, побуждающих пользователя 230 выполнять определенные действия, относящиеся к позиционированию камеры 220 относительно трехмерного объекта 350, чтобы сформировать его панорамный вид. Окно 406 информационного сообщения может использоваться для предоставления по меньшей мере некоторых из множества предварительно определенных указаний, таких как сообщения об ошибках, уведомляющие пользователя 230 о неправильном текущем положении камеры 220 относительно трехмерного объекта 350, как будет дополнительно описано ниже.
[0092] Как упоминалось выше, используя камеру 220 и экран 215 электронного устройства 210, пользователю 230 может быть предоставлена возможность захватить первое изображение 402 окружения 310 трехмерного объекта 350, включая по меньшей мере его первую заданную часть (изображено на фиг. 4). В соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии процессор 110 может быть выполнен с возможностью использования первого изображения 402, если оно было снято в предварительно определенный интервал времени после захвата предыдущего из множества изображений трехмерного объекта 350, при этом предыдущее из множества изображений было снято непосредственно перед захватом первого изображения 402. Например, в ответ на то, что первое изображение 402 было снято менее, чем за предварительно определенный интервал времени после захвата предыдущего из множества изображений, процессор 110 может быть выполнен с возможностью исключить первое изображение 402 из дальнейшей обработки. В некоторых неограничивающих вариантах осуществления настоящей технологии предварительно определенный интервал времени может составлять, например, 3 секунды. Однако следует отметить, что в различных других неограничивающих вариантах осуществления настоящей технологии могут использоваться другие значения предварительно определенного временного интервала, такие как 1, 2, 5 или даже 10 секунд, в качестве примера.
[0093] Соответственно, если процессор 110 определяет, что первое изображение 402 было снято камерой 220 во временном интервале после захвата предыдущего из множества изображений, который равен или больше предварительно определенного временного интервала, процессор 110 может быть дополнительно выполнен с возможностью обнаружения в первом изображении 402 первой заданной части трехмерного объекта 350, указывающей на его первый данный аспект. С этой целью в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью применения одного или нескольких методов распознавания объектов.
[0094] В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может сначала быть выполнен с возможностью преобразования первого изображения 402 в один из предварительно определенных форматов изображения для дальнейшего анализа. В некоторых неограничивающих вариантах осуществления настоящей технологии один из предварительно определенных форматов изображения содержит, например, 32-битный формат изображения RGBA в качестве примера. Однако следует отметить, что другие предварительно определенные форматы изображения также могут использоваться, не выходя за рамки настоящей технологии. В дополнительных неограничивающих вариантах осуществления настоящей технологии перед преобразованием процессор 110 может быть выполнен с возможностью сжатия первого изображения 402, тем самым уменьшая его до предварительно определенного размера, такого как, например, 300 на 300 пикселей. Также следует четко понимать, что в различных неограничивающих вариантах осуществления настоящей технологии предварительно определенный размер для процедуры сжатия первого изображения 402 не ограничивается указанным выше значением и может составлять, например, 100 на 100 пикселей, 200 на 200 пикселей и 500 на 500 пикселей.
,
[0095] В некоторых неограничивающих вариантах осуществления настоящей технологии один или несколько методов распознавания объектов могут включать в себя, без ограничения, методы распознавания объекта шаблона и методы распознавания геометрических объектов на основе признаков. Методы распознавания объекта шаблона могут дополнительно включать в себя, например, но не в качестве ограничения, методы классификации, методы кластеризации, методы регрессии, методы маркировки последовательностей с действительным знаком и т.п. Кроме того, методы распознавания геометрических объектов на основе признаков могут включать в себя, без ограничения: методы кластеризации позы, методы инвариантности, методы геометрического хеширования и т.п. Кроме того, следует отметить, что в некоторых неограничивающих вариантах осуществления настоящей технологии реализация как методов распознавания объекта шаблона, так и методов распознавания геометрического объекта на основе признаков может быть основана на одном или нескольких алгоритмах машинного обучения. С этой целью один или несколько алгоритмов машинного обучения могут быть специально сконфигурированы (обучены) для обнаружения трехмерного объекта 350 на основе соответствующего обучающего набора данных, содержащегосреди прочего, аннотированные (помеченные) изображения различных его аспектов.
[0096] Кроме того, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, процессор 110 может быть сконфигурирован на основе первой заданной части трехмерного объекта 350 и с использованием одного или нескольких методов распознавания объекта для определения типа объекта, связанного с ним. Таким образом, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, применяя один или несколько методов распознавания объекта, процессор 110 может быть выполнен с возможностью обнаружения первой заданной части трехмерного объекта 350 в первом изображении 402 и дальнейшего определения связанного с ним типа объекта. Только в качестве примера в некоторых неограничивающих вариантах осуществления настоящей технологии тип объекта может включать транспортное средство, предмет мебели, предмет одежды, растение, животное и т.п.
[0097] В некоторых неограничивающих вариантах осуществления настоящей технологии первое изображение 402 может не позволять процессору 110 определять тип объекта для трехмерного объекта 350. Например, первая заданная часть трехмерного объекта 350 может быть слишком маленькой, поскольку она может не указывать на нее, и поэтому один или несколько методов распознавания объекта могут не определять тип объекта для трехмерного объекта 350 на основе его первой заданной части. Таким образом, в ответ на то, что не определяется тип объекта для трехмерного объекта 350, процессор 110 может быть выполнен с возможностью формирования первого указания об ошибке из множества предварительно определенных указаний. Например, в некоторых неограничивающих вариантах осуществления настоящей технологии первое указание об ошибке может содержать первое сообщение об ошибке (не изображено), которое процессор 110 может дополнительно быть выполнен выводить в окне 406 информационного сообщения. Например, первое сообщение об ошибке (не изображено) может уведомить пользователя 230 о том, что процессору 110 не удалось определить присутствие трехмерного объекта 350 на экране 215. В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью формировать первое сообщение об ошибке (не изображено) после предварительно определенного количества последовательных попыток определить тип объекта трехмерного объекта 350 в соответствующих одних из множества его изображений. В конкретных неограничивающих вариантах осуществления настоящей технологии предварительно определенное количество последовательных попыток может составлять 3; однако другие значения предварительно определенного количества последовательных попыток, такие как, например, 2, 4 или даже 10, также могут использоваться процессором 110, не выходя за рамки объема настоящей технологии.
[0098] В некоторых неограничивающих вариантах осуществления настоящей технологии тип объекта может быть предварительно определен в том смысле, что процессор 110 может быть выполнен с возможностью определения того, относится ли трехмерный объект 350 к предварительно определенному типу объекта. В качестве примера, а не ограничения, в некоторых неограничивающих вариантах осуществления настоящей технологии заданный тип объекта может быть транспортным средством, таким как легковой автомобиль, грузовик, автобус и т.п.
[0099] Таким образом, в некоторых неограничивающих вариантах осуществления настоящей технологии, если процессору 110 не удалось определить, что трехмерный объект 350 относится к предварительно определенному типу объекта, процессор 110 может быть дополнительно выполнен с возможностью исключения первого изображения 402 из дальнейшей обработки.
[0100] Соответственно, в ответ на определение типа объекта для трехмерного объекта 350 на основе его первой заданной части в первом изображении 402 процессор 110 может быть выполнен с возможностью анализа пространственного положения первой заданной части трехмерного объекта 350 в пределах визуального опорного кадра 404. Как это может стать очевидным, пространственное положение первой заданной части трехмерного объекта 350 в пределах визуального опорного кадра 404 может свидетельствовать о текущем положении камеры 220 по отношению к трехмерному объекту 350. Таким образом, на основе анализа пространственного положения процессор 110 может быть выполнен с возможностью формировать по меньшей мере некоторые из множества предварительно определенных указаний, если необходимо, предлагая пользователю 230 отрегулировать текущее положение камеры 220 для формирования скорректированного данного одного из множества изображений, составляющих панорамный вид трехмерного объекта 350, или полностью исключить первое изображение 402 из дальнейшей обработки.
[0101] Кроме того, при продолжении ссылки на фиг.4, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, для того, чтобы проанализировать пространственное положение первой заданной части трехмерного объекта 350 в пределах визуального опорного кадра 404, процессор 110 может быть выполнен с возможностью формирования граничной рамки 410, охватывающей первую заданную часть трехмерного объекта 350.
[0102] В контексте настоящего описания термин «граничная рамка» в широком смысле относится к трехмерной рамке (например, параллелепипеду) или двухмерной рамке (например, прямоугольнику - например, граничной рамке 410) с наименьшим возможным размером (например, объем или его площадь, соответственно), позволяющим полностью охватить данный трехмерный объект, например заданную часть трехмерного объекта 350, представленного в соответствующем одном из множества его изображений.
[0103] Например, в некоторых неограничивающих вариантах осуществления настоящей технологии (не изображены) процессор 110 может быть выполнен с возможностью отбрасывать первое изображение 402, если по меньшей мере один из вертикального размера и горизонтального размера граничной рамки 410 меньше (или не больше в качестве другого примера), чем соответствующее одно из порогового значения вертикального размера и порогового значения горизонтального размера. В некоторых неограничивающих вариантах осуществления настоящей технологии каждое из порогового значения вертикального размера и порогового значения горизонтального размера может быть предварительно определено как абсолютное значение. Тем не менее, в других неограничивающих вариантах осуществления настоящей технологии пороговое значение вертикального размера и пороговое значение горизонтального размера могут быть предварительно определены как процентное отношение от соответствующего края визуального опорного кадра 404. В качестве примера, пороговое значение вертикального размера может быть предварительно определено как 25% от вертикального края визуального опорного кадра 404; а пороговое значение горизонтального размера может быть предварительно определено как 20% от горизонтального края визуального опорного кадра 404.
[0104] Кроме того, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии (не изображены), процессор 110 может быть выполнен с возможностью отбрасывать первое изображение 402, если граничная рамка 410, охватывающая первую заданную часть трехмерного объекта 350, имеет такие размеры, что она не охватывает центр визуального опорного кадра 404. Кроме того, в других неограничивающих вариантах осуществления настоящей технологии, процессор 110 может быть выполнен с возможностью отбрасывать первое изображение 402, если центр граничной рамки 410 смещен от центра визуального опорного кадра 404 на расстояние большее, чем предварительно определенное пороговое значение расстояния смещения.
[0105] Кроме того, предположим, что первое изображение 402 представляет, вдоль первой заданной части трехмерного объекта 350, заданную часть по меньшей мере другого трехмерного объекта, например, второго трехмерного объекта (не изображенного на фиг. 4). Таким образом, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, процессор 110 может быть выполнен с возможностью формирования второй граничной рамки (не изображена), охватывающей заданную часть второго трехмерного объекта. В этих вариантах осуществления процессор 110 может быть выполнен с возможностью выбора, на основе связанных граничных рамок, одного из трехмерного объекта 350 и второго трехмерного объекта (не изображен) для дальнейшего формирования его соответствующего панорамного вида. Следовательно, в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью определения соответствующих размеров каждой из граничной рамки 410 и второй граничной рамки (не изображена) и, кроме того, выбора одной, имеющей наименьшие размеры. Другими словами, процессор 110 может быть выполнен с возможностью выбора одной из граничной рамки 410 и второй граничной рамки (не изображена), имеющей наименьшую площадь поверхности.
[0106] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии, процессор 110 может быть выполнен с возможностью формировать одно или более из множества предварительно определенных указаний, если граничная рамка 410 находится на расстоянии от любого из краев визуального опорного кадра 404 меньшем, чем предварительно определенное пороговое значение расстояния. Например, как показано на фиг.4, граничная рамка 410 отнесена от левого края (отдельно не обозначены) визуального опорного кадра 404 на заданное расстояние 412. Таким образом, согласно некоторым неограничивающим вариантам осуществления настоящей технологии, в ответ на то, что данное расстояние 412 меньше, чем предварительно определенное пороговое значение расстояния, процессор 110 может быть выполнен с возможностью формирования второго указания об ошибке из множества предварительно определенных указаний. Понятно, что второе указание об ошибке может уведомлять пользователя 230 о том, что камера 220 расположена слишком близко к трехмерному объекту 350 при захвате первого изображения 402.
[0107] Следует отметить, что в некоторых неограничивающих вариантах осуществления настоящей технологии, предварительно определенное пороговое значение расстояния может быть одинаковым для каждого из краев (отдельно не обозначены) визуального опорного кадра 404 - такиим, как 15 точек в качестве примера. Тем не менее, в других неограничивающих вариантах осуществления настоящей технологии, предварительно определенное пороговое значение расстояния может быть различным для каждого из краев визуального опорного кадра 404 - например, предварительно определенное пороговое значение расстояния может составлять 15 точек для левого края, 10 точек для правого края и т.п.
[0108] Например, в некоторых неограничивающих вариантах осуществления настоящей технологии второе указание об ошибке может содержать тактильное взаимодействие между пользователем 230 и электронным устройством 210, которое процессор 110 заставляет электронное устройство 210 формировать. В качестве примера тактильным взаимодействием может быть вибрация корпуса (отдельно не обозначенного) электронного устройства 210.
ФОрмирование скорректированных изображений трехмерного объекта
[0109] Как упоминалось выше, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии процессор 110 может быть выполнен с возможностью формирования одного или нескольких из множества предварительно определенных указаний для регулировки текущего положения камеры 220 относительно трехмерного объекта 350, тем самым формируя те из множества изображений, которые дополнительно используются для составления панорамного вида трехмерного объекта 350.
[0110] С этой целью в некоторых неограничивающих вариантах осуществления настоящей технологии, процессор 110 может быть выполнен с возможностью формировать одно или более из множества предварительно определенных указаний на основе пространственного положения граничной рамки 410 относительно визуального опорного кадра 404. С этой целью в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью формирования некоторых из множества предварительно определенных указаний на основе так называемого параметра перекрытия, связанного с данным одним из множества изображений, например первым изображением 402.
[0111] В некоторых неограничивающих вариантах осуществления настоящей технологии, параметр перекрытия может быть определен как отношение части общей поверхности (отдельно не обозначено) граничной рамки 410 вне визуального опорного кадра 404 к общей площади поверхности граничной рамки 410. Однако в других неограничивающих вариантах осуществления настоящей технологии параметр перекрытия может быть определен как абсолютный размер, например, в точках части граничной рамки 410, закрывающей соответствующий один из краев визуального опорного кадра 404.
[0112] Кроме того, в дополнительных неограничивающих вариантах осуществления настоящей технологии, общая поверхность граничной рамки 410 может быть определена с учетом некоторого допуска, такого как предварительно определенное пороговое значение расстояния, связанное с каждым из краев визуального опорного кадра 404, упомянутых выше в отношении второго указания об ошибке. Таким образом, как показано на фиг.4, в ответ на то, что граничная рамка 410 отстоит от визуального опорного кадра 404 меньше, чем на предварительно определенное пороговое значение расстояния, процессор 110 может быть выполнен с возможностью формировать визуальное указание 414 из множества предварительно определенных указаний.
[0113] В некоторых неограничивающих вариантах осуществления настоящей технологии, визуальное указание 414 может быть изменением цвета ассоциированного края визуального опорного кадра 404, исходящим из его центра и проходящим наружу. В некоторых неограничивающих вариантах осуществления настоящей технологии, величина визуального указания 414, то есть, размер части соответствующего одного из краев визуального опорного кадра 404, к которому применяется изменение цвета, может указывать на значение параметра перекрытия между граничной рамкой 410 и визуальным опорным кадром 404.
[0114] Как будет описано ниже со ссылкой на фиг. 5 и 6, в некоторых неограничивающих вариантах осуществления настоящей технологии зависимость между величиной визуального указания 414 и значением параметра перекрытия может быть линейной. Однако в других неограничивающих вариантах осуществления настоящей технологии также могут быть предусмотрены другие зависимости между этими значениями, такие как квадратичная, кубическая и экспоненциальная, в качестве примера.
[0115] В некоторых неограничивающих вариантах осуществления настоящей технологии параметр перекрытия между граничной рамкой 410 и визуальным опорным кадром 404 может быть связан с множеством пороговых значений параметра перекрытия. Кроме того, в этих вариантах осуществления, когда параметр перекрытия превышает данное одно из множества пороговых значений параметра перекрытия, процессор 110 может быть выполнен с возможностью формирования соответствующего одного из множества предварительно определенных указаний. Кроме того, в ответ на то, что параметр перекрытия равен или больше данного одного из множества пороговых значений параметра перекрытия, процессор 110 может быть выполнен с возможностью формирования визуального указания 414 соответствующей величины, как будет описано ниже.
[0116] Согласно конкретным неограничивающим вариантам осуществления настоящей технологии каждое из множества пороговых значений параметра перекрытия может содержать по меньшей мере одно из: (1) в тех вариантах осуществления, где параметр перекрытия определяется как отношение между внешней частью граничной рамки 410 и общей площадью поверхности граничной рамки 410, соответствующее пороговое значение процентного отношения параметра перекрытия; и (2) в тех вариантах осуществления, где параметр перекрытия определяется как абсолютное значение внешней части, соответствующее абсолютное пороговое значение параметра перекрытия указывает абсолютное значение размера внешней части граничной рамки 410.
[0117] В некоторых неограничивающих вариантах осуществления настоящей технологии множество пороговых значений параметра перекрытия может включать в себя по меньшей мере три пороговых значения параметра перекрытия: нижнее пороговое значение параметра перекрытия, среднее пороговое значение параметра перекрытия и верхнее пороговое значение параметра перекрытия. В конкретных неограничивающих вариантах осуществления настоящей технологии каждое из множества пороговых значений параметра перекрытия может дополнительно быть, в зависимости от конкретных вариантов осуществления, соответственно: 1% или 5 точек; 5% или 25 точек; и 11% или 55 точек, например.
[0118] В некоторых неограничивающих вариантах осуществления настоящей технологии как текущее процентное отношение параметра перекрытия, так и его текущее абсолютное значение могут определяться процессором 110 одновременно для каждого из множества изображений. Кроме того, в этих вариантах осуществления процессор 110 может быть выполнен с возможностью выбора минимального одного из текущего процентного отношения параметра перекрытия и его текущего абсолютного значения для сравнения с множеством пороговых значений параметра перекрытия. Таким образом, параметр перекрытия может быть надежно оценен независимо от размера экрана 215 электронного устройства 210.
[0119] Например, в ответ на параметр перекрытия между граничной рамкой и заданным одним из краев визуального опорного кадра 404, равный или больше, чем нижнее пороговое значение параметра перекрытия (но меньше, чем среднее пороговое значение параметра перекрытия), процессор 110 может быть выполнен с возможностью формирования визуального указания 414 первой соответствующей величины, как показано на фиг. 4, в качестве примера.
[0120] Далее, со ссылкой на Фиг.5, изображено схематическое представление GUI во время формирования, посредством процессора 110, второго изображения 502 из множества изображений трехмерного объекта 350, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии. Как можно понять, второе изображение 502 изображает вторую заданную часть трехмерного объекта 350, которая указывает на его второй заданный аспект, захваченный в соответствующей перспективе камеры 220 относительно него.
[0121] Как может стать очевидным, процессор 110 может быть выполнен с возможностью обнаруживать во втором изображении 502 вторую заданную часть трехмерного объекта 350 и дополнительно определять тип объекта для трехмерного объекта 350 на основе его второй заданной части способом аналогичным описанному выше в отношении первого изображения 402. Кроме того, процессор 110 может быть выполнен с возможностью формирования граничной рамки 410, охватывающей вторую заданную часть трехмерного объекта 350, и определения, на основе его размеров, следует ли исключить второе изображение 502 из дальнейшей обработки или нет, как описано выше со ссылкой на фиг. 4.
[0122] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью определения того, что параметр перекрытия, связанный со вторым изображением 502, превышает среднее пороговое значение параметра перекрытия (однако не превышает верхнее пороговое значение параметра перекрытия). С этой целью процессор 110 может быть выполнен с возможностью формировать визуальное указание 414 второй соответствующей величины, причем вторая соответствующая величина больше первой соответствующей величины, как это можно понять из Фиг.5.
[0123] Наконец, в ответ на превышение параметром перекрытия верхнего порогового значения параметра перекрытия процессор 110 может быть выполнен с возможностью формирования более заметных из множества предварительно определенных указаний. Со ссылкой на фиг. 6 изображено схематическое представление GUI во время формирования процессором 110 третьего изображения 602 из множества изображений трехмерного объекта 350 в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии. Как можно понять, третье изображение 602 изображает третью заданную часть трехмерного объекта 350, которая указывает на его третий заданный аспект, захваченный в соответствующей перспективе камеры 220 относительно него.
[0124] В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью определения того, что параметр перекрытия, связанный с третьим изображением 602, превышает верхнее пороговое значение параметра перекрытия. С этой целью процессор 110 может быть выполнен с возможностью формировать визуальное указание 414 третьей соответствующей величины, причем третья соответствующая величина больше второй соответствующей величины. Поскольку зависимость между величиной визуального указания 414 и значением параметра перекрытия может быть линейной, как отмечено выше, в некоторых неограничивающих вариантах осуществления настоящей технологии третья соответствующая степень визуального указания 414 может быть максимально возможной; и, следовательно, оно может включать в себя изменение цвета всего соответствующего края визуального опорного кадра 404, например, его правого края, как показано на фиг. 6.
[0125] В дополнительных неограничивающих вариантах осуществления настоящей технологии процессор 110 может дополнительно быть выполнен с возможностью формирования рекомендательного указания из множества предварительно определенных указаний. В некоторых неограничивающих вариантах осуществления настоящей технологии рекомендательное указание может содержать рекомендательное сообщение 608. Таким образом, процессор 110 может быть выполнен с возможностью вывода рекомендательного сообщения 608 в окне 406 информационного сообщения на экране 215, тем самым предлагая пользователю 230 отрегулировать камеру 220 относительно трехмерного объекта 350. Кроме того, как изображено на фиг. 6, процессор 110 может быть дополнительно выполнен с возможностью вызывать изменение цвета окна 406 информационного сообщения при выводе в нем рекомендательного сообщения 608 для привлечения большего внимания пользователя 230 к текущему положению камеры 220.
[0126] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии (не изображены), если параметр перекрытия, связанный с данным одним из множества изображений трехмерного объекта 350, превышает любое из множества пороговых значений параметра перекрытия на двух противоположных краях визуального опорного кадра 404, процессор 110 может быть выполнен с возможностью формировать третье указание об ошибке из множества предварительно определенных указаний. В некоторых неограничивающих вариантах осуществления настоящей технологии третье указание об ошибке может содержать второе сообщение об ошибке (не изображено), которое должно выводиться в окне 406 информационного сообщения. Например, второе сообщение об ошибке может быть предназначено для уведомления пользователя 230 о том, что камера 220 расположена слишком близко к трехмерному объекту 350.
[0127] Таким образом, как можно понять из вышеизложенного, в некоторых неограничивающих вариантах осуществления настоящей технологии, в ответ на параметр перекрытия, превышающий множество пороговых значений параметра перекрытия, процессор 110 может быть выполнен с возможностью формирования соответствующих из множества предварительно определенных указаний для регулировки камеры 220 относительно трехмерного объекта 350, так что каждое из соответствующих указаний последовательно более заметно по мере увеличения значения параметра перекрытия. Как проиллюстрировано приведенными выше неограничивающими примерами, по мере увеличения значения параметра перекрытия процессор 110 может быть выполнен с возможностью формирования визуального указания 414 соответствующей более высокой величины и может дополнительно добавлять рекомендательные сообщения, направленные на привлечение большего внимания пользователя 230, по мере того, как положение камеры 220 относительно трехмерного объекта 350 получает большее смещение от соответствующего положения, позволяющего формировать панорамный вид трехмерного объекта 350. Более высокая соответствующая величина указания может быть более явно выраженным визуальным указанием, дополнительным тактильным указанием, дополнительным звуковым указанием или любой их комбинацией. Другими словами, в этих вариантах осуществления заданное одно из соответствующих указаний, связанных с данным одним из множества пороговых значений параметра перекрытия, более выражено, чем предыдущее из соответствующих указаний, связанных с предыдущим из множества пороговых значений параметра перекрытия. Таким образом, процессор 110 может быть выполнен с возможностью регулировки каждого из множества изображений трехмерного объекта, такого как его первое изображение 402, второе изображение 502 и третье изображение 602, тем самым позволяя формировать панорамный вид трехмерного объекта.
Отображение видеозаписи
[0128] Как отмечалось выше, в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью хранить и дополнительно вызывать отображение сформированной таким образом видеозаписи трехмерного объекта 350 на экране 215 электронного устройства 210. Со ссылкой на фиг. 7 изображено схематическое представление GUI во время отображения, посредством процессора 110, видеозаписи, включающей в себя множество изображений трехмерного объекта 350, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[0129] Как можно понять, видеозапись может быть связана с временной шкалой 702 видеозаписи для навигации внутри видеозаписи к заданному моменту времени, связанному с соответствующим одним из множества изображений трехмерного объекта 350. Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии временная шкала 702 видеозаписи может дополнительно содержать множество временных меток 704. В этих вариантах осуществления каждая из множества временных меток 704 может быть связана с соответствующим моментом времени, когда было сформировано соответствующее одно из множества изображений, связанных по меньшей мере с одним из множества предварительно определенных указаний.
[0130] Соответственно, пользователь 230 может активировать (например, нажав или щелкнув) заданную одну из множества временных меток 704, чтобы просмотреть ассоциированное изображение, такое как одно из первого изображения 402, второго изображения 502 и третьего изображения 602, и одно или несколько из множества предварительно определенных указаний, связанных с ними, таких как по меньшей мере одно из: первое указание об ошибке, второе указание об ошибке, третье указание об ошибке, визуальное указание 414 и рекомендательное сообщение 608, например, как описано выше со ссылкой на соответствующие фигуры.
[0131] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью формирования первого пользовательского исполнительного элемента 706 и второго пользовательского исполнительного элемента 708, связанных с видеозаписью трехмерного объекта 350. Например, первый пользовательский исполнительный элемент 706 может быть выполнен с возможностью предписывать процессору 110 повторно снимать множество изображений трехмерного объекта 350. С этой целью процессор 110 может быть выполнен с возможностью удаления каждого из множества изображений, таких как первое изображение 402, второе изображение 502 и третье изображение 602, которые были сняты ранее, и формирования множества изображений еще раз, как описано выше. Кроме того, второй пользовательский исполнительный элемент 708 может быть выполнен с возможностью предписывать процессору 110 загружать видеозапись через сеть 240 связи на сервер 250. Соответственно, сервер 250 может быть дополнительно выполнен с возможностью предоставления через сеть 240 связи общего доступа к видеозаписи трехмерного объекта 350 множеству других электронных устройств (не изображены), как описано выше в отношении сетевой вычислительной среды. Как упомянуто выше, видеозапись может использоваться как панорамный вид трехмерного объекта 350, имитирующего обход трехмерного объекта 350.
[0132] Таким образом, в некоторых неограничивающих вариантах осуществления настоящей технологии на основе множества временных меток 704 - например, их количества или связанных меток из множества предварительно определенных указаний - пользователь 230 может активировать один из первого пользовательского исполнительного элемента 706 и второго пользовательского исполнительного элемента 708, предписывая процессору 110 выполнять одну из соответствующих процедур, описанных выше.
[0133] Следует отметить, что в дополнительных неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью выполнения соответствующих процедур, связанных с первым пользовательским исполнительным элементом 706 и вторым пользовательским исполнительным элементом 708 автоматически, то есть без пользователя 230, приводящего их в действие. Например, процессор 110 может быть выполнен с возможностью либо повторной съемки видеозаписи, либо загрузки ее на сервер 250 на основе предварительно определенного порогового значения количества временных меток, такого как 3, в качестве примера. Кроме того, процессор 110 может быть выполнен с возможностью повторной видеозаписи трехмерного объекта 350, если было инициировано по меньшей мере одно конкретное предварительно определенное указание из множества предварительно определенных указаний, такое как третье указание об ошибке в качестве примера.
Способ
[0134] Учитывая архитектуру и примеры, приведенные выше, можно выполнить способ формирования видео трехмерного объекта, такого как видеозапись трехмерного объекта 350. Теперь со ссылкой на фиг. 8 изображена блок-схема способа 800 согласно неограничивающим вариантам осуществления настоящей технологии. Способ 800 может выполняться процессором 110.
[0135] В соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, видеозапись может содержать множество изображений, последовательно захваченных камерой 220, соединенной с возможностью осуществления связи с электронным устройством 210. В некоторых неограничивающих вариантах осуществления настоящей технологии камера 220 может перемещаться вокруг трехмерного объекта 350, например, пользователем 230, как описано со ссылкой на фиг.3. Таким образом, множество изображений трехмерного объекта 350 может представлять соответствующее множество различных аспектов трехмерного объекта 350, каждый из которых был снят в соответствующей перспективе камеры 220.
[0136] Следовательно, множество изображений, связанных с видеозаписью трехмерного объекта 350, может использоваться для составления его панорамного вида, моделирующего для других пользователей (например, связанных с множеством других электронных устройств, упомянутых выше) прогулку вокруг - например, по заданной траектории 320, как показано на Фиг.3.
Этап 802: ФОРМИРУЮТ, ПОСРЕДСТВОМ ПРОЦЕССОРА, ВИЗУАЛЬНЫЙ ОПОРНЫЙ КАДР, ПРИЧЕМ ВИЗУАЛЬНЫЙ ОПОРНЫЙ КАДР УКАЗЫВАЕТ ГРАНИЦЫ, В ПРЕДЕЛАХ КОТОРЫХ ДОЛЖЕН НАХОДИТЬСЯ ТРЕХМЕРНЫЙ ОБЪЕКТ.
[0137] Способ 800 начинается на этапе 802, с процессором 110, выполненным с возможностью формирования, на экране 215 электронного устройства 210, визуального опорного кадра, например визуального опорного кадра 404, как показано на фиг. 4-6. В соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии визуальный опорный кадр 404 представляет вспомогательное средство для пользователя (например, пользователя 230), чтобы ориентировать камеру 220 относительно трехмерного объекта 350 при захвате данного одного из множества его изображений - например, его первого изображения 402, изображенного на фиг. 4.
[0138] В некоторых неограничивающих вариантах осуществления настоящей технологии визуальный опорный кадр 404 может использоваться для формирования по меньшей мере некоторых из множества предварительно определенных указаний, таких как визуальное указание 414, как описано выше.
[0139] Таким образом, способ 800 переходит к этапу 804.
Этап 804: ЗАХВАТЫВАЮТ, ПОСРЕДСТВОМ ПРОЦЕССОРА, ИЗОБРАЖЕНИЕ ОКРУЖАЮЩЕЙ ОБЛАСТИ ВОКРУГ ТРЕХМЕРНОГО ОБЪЕКТА.
[0140] Кроме того, на этапе 804, в некоторых неограничивающих вариантах осуществления настоящей технологии, после того, как камера 220, используя визуальный опорный кадр 404, была ориентирована относительно трехмерного объекта 350, процессор 110 может быть выполнен с возможностью формирования заданного одного из множества изображений, такого как первое изображение 402, второе изображение 502 и третье изображение 602, соответственно, изображенные на фиг. 4-6. Каждое из множества изображений, изображающих соответствующую заданную часть трехмерного объекта 350, указывающую на его связанный аспект, используется для формирования его панорамного вида.
[0141] Как упоминалось выше, в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью отбрасывать данное одно из множества изображений, если оно было захвачено меньше, чем через предварительно определенный интервал времени после захвата предыдущего изображения из множества изображений, причем предыдущее из множества изображений было захвачено непосредственно перед захватом данного одного из множества изображений.
[0142] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может дополнительно быть выполнен с возможностью обнаружения, в пределах данного одного из множества изображений, соответствующей заданной части трехмерного объекта 350, например, его первой заданной части на первом изображении 402.
[0143] С этой целью процессор 110 может сначала быть выполнен с возможностью преобразования первого изображения 402 в один из предварительно определенных форматов изображения, который может быть, в конкретных неограничивающих вариантах осуществления настоящей технологии, формой изображения 32 RGBA, как описано выше. В дополнительных неограничивающих вариантах осуществления настоящей технологии перед преобразованием процессор 110 может быть выполнен с возможностью сжатия первого изображения 402 до предварительно определенного размера, например, 300 на 300 пикселей.
[0144] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии, как описано выше со ссылкой на фиг. 4, процессор 110 может быть выполнен с возможностью применения одного или нескольких методов распознавания объекта для обнаружения первой заданной части трехмерного объекта 350. Соответственно, делая это, процессор 110 может быть выполнен с возможностью определения типа объекта, связанного с трехмерным объектом 350. В некоторых неограничивающих вариантах осуществления настоящей технологии, в ответ на невозможность определить тип объекта в предварительно определенном количестве последовательно взятых изображений из множества изображений, процессор 110 может быть выполнен с возможностью формировать первое указание об ошибке из множества предварительно определенных указаний, как описано выше.
[0145] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью определения того, относится ли трехмерный объект 350 к предварительно определенному типу объекта, например, к транспортному средству. Например, в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью отбрасывать первое изображение 402 в ответ на определение на основе первой заданной части трехмерного объекта 350, что трехмерный объект 350 не является объектом предварительно определенного типа.
[0146] Таким образом, способ 800 переходит к этапу 806.
Этап 806: ФОРМИРУЮТ, ПОСРЕДСТВОМ ПРОЦЕССОРА, ГРАНИЧНУЮ РАМКУ, ОХВАТЫВАЮЩУЮ ПО МЕНЬШЕЙ МЕРЕ ЧАСТЬ ТРЕХМЕРНОГО ОБЪЕКТА.
[0147] Кроме того, на этапе 806 процессор 110 может быть выполнен с возможностью формирования на экране 215 электронного устройства 210 граничной рамки, такого как граничная рамка 410, охватывающая соответствующую заданную часть трехмерного объекта 350 в каждом из множества изображений, составляющих панорамный вид трехмерного объекта 350.
[0148] Кроме того, на основе размера граничной рамки 410 относительно визуального опорного кадра 404, процессор 110 может быть выполнен с возможностью исключать по меньшей мере некоторые из множества изображений трехмерного объекта 350 из дальнейшей обработки.
[0149] Например, в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью отбрасывать первое изображение 402, если по меньшей мере одно из вертикального размера и горизонтального размера граничной рамки 410, охватывающей первую заданную часть трехмерного объекта 350, меньше, чем соответствующее одно из порогового значения вертикального размера и порогового значения горизонтального размера, как описано выше со ссылкой на фиг.4.
[0150] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью исключать первое изображение 402 из дальнейшей обработки, если граничная рамка 410, охватывающая первую заданную часть трехмерного объекта 350, имеет такие размеры, что она не покрывает центр визуального опорного кадра 404. Кроме того, в других неограничивающих вариантах осуществления настоящей технологии, процессор 110 может быть выполнен с возможностью отбрасывать первое изображение 402, если центр граничной рамки 410 смещен от центра визуального опорного кадра 404 на расстояние большее, чем предварительно определенное пороговое значение расстояния смещения.
[0151] В дополнительных неограничивающих вариантах осуществления настоящей технологии (не изображены) в ответ на обнаружение в первом изображении 402 вдоль первой заданной части трехмерного объекта 350 заданной части второго трехмерного объекта процессор 110 может быть выполнен с возможностью формирования второй граничной рамки (не изображена), охватывающей заданную часть второго трехмерного объекта (не изображена). Кроме того, в этих вариантах осуществления (не изображены) процессор 110 может быть выполнен с возможностью выбора для дальнейшей обработки одного из трехмерного объекта 350 и второго трехмерного объекта (не изображен), связанного с соответствующей одной из граничной рамки 410 и второй граничной рамки (не изображена), имеющей наименьшие размеры.
[0152] Наконец, в некоторых неограничивающих вариантах осуществления настоящей технологии, в ответ на то, что граничная рамка 410 отнесена от любого из краев визуального опорного кадра 404 на расстояние, такое как заданное расстояние 412, изображенное на фиг.4, процессор 110 может быть выполнен с возможностью формирования второго указания об ошибке из множества предварительно определенных указаний. В конкретных неограничивающих вариантах осуществления настоящей технологии второе указание об ошибке может содержать тактильное взаимодействие между пользователем 230 и электронным устройством 210, как описано выше.
[0153] Таким образом, способ 800 переходит к этапу 808.
Этап 808: ОПРЕДЕЛЯЮТ, ПОСРЕДСТВОМ ПРОЦЕССОРА, ПАРАМЕТР ПЕРЕКРЫТИЯ МЕЖДУ ГРАНИЧНОЙ РАМКОЙ И ВИЗУАЛЬНЫМ ОПОРНЫМ КАДРОМ.
[0154] На этапе 808, в соответствии с некоторыми неограничивающими вариантами осуществления настоящей технологии, процессор 110 может быть выполнен с возможностью формирования одного или нескольких из множества предварительно определенных указаний для регулировки положения камеры 220 относительно трехмерного объекта 350 в каждом из множества его изображений на основе параметра перекрытия между граничной рамкой 410 и визуальным опорным кадром 404, как описано выше со ссылкой на фиг.4-6.
[0155] В некоторых неограничивающих вариантах осуществления настоящей технологии, параметр перекрытия может быть определен как отношение части общей поверхности (отдельно не обозначено) граничной рамки 410 вне визуального опорного кадра 404 к общей площади поверхности граничной рамки 410. Однако в других неограничивающих вариантах осуществления настоящей технологии параметр перекрытия может быть определен как абсолютный размер, например, в точках, например, части граничной рамки 410, закрывающей соответствующий один из краев визуального опорного кадра 404.
[0156] Таким образом, способ 800 переходит к этапу 810.
Этап 810: СРАВНИВАЮТ, ПОСРЕДСТВОМ ПРОЦЕССОРА, ПАРАМЕТР ПЕРЕКРЫТИЯ С МНОЖЕСТВОМ ПОРОГОВЫХ ЗНАЧЕНИЙ.
[0157] На этапе 810, согласно некоторым неограничивающим вариантам осуществления настоящей технологии, процессор 110 может быть выполнен с возможностью сравнения параметра перекрытия, связанного с данным одним из множества изображений трехмерного объекта 350, с множеством пороговых значений параметра перекрытия, как описано выше со ссылкой на фиг. 4-6.
[0158] Как можно понять, в зависимости от конкретных вариантов осуществления каждое из множества пороговых значений параметра перекрытия может содержать по меньшей мере одно из: (1) соответствующее пороговое значение процентного отношения параметра перекрытия; и (2) соответствующее абсолютное пороговое значение параметра перекрытия, указывающее абсолютное значение размера внешней части граничной рамки 410.
[0159] В некоторых неограничивающих вариантах осуществления настоящей технологии множество пороговых значений параметра перекрытия может включать в себя по меньшей мере три пороговых значения параметра перекрытия: нижнее пороговое значение параметра перекрытия, среднее пороговое значение параметра перекрытия и верхнее пороговое значение параметра перекрытия. В конкретных неограничивающих вариантах осуществления настоящей технологии каждое из множества пороговых значений параметра перекрытия может дополнительно быть, в зависимости от конкретных вариантов осуществления, соответственно: 1% или 5 точек; 5% или 25 точек; и 11% или 55 точек, например.
[0160] В некоторых неограничивающих вариантах осуществления настоящей технологии как текущее процентное отношение параметра перекрытия, так и его текущее абсолютное значение могут определяться процессором 110 одновременно для каждого из множества изображений. Кроме того, в этих вариантах осуществления процессор 110 может быть выполнен с возможностью выбора минимального одного из текущего процентного отношения параметра перекрытия и его текущего абсолютного значения для сравнения с множеством пороговых значений параметра перекрытия. Таким образом, параметр перекрытия может быть надежно оценен независимо от размера экрана 215 электронного устройства 210.
[0161] Таким образом, способ 800 переходит к этапу 812.
Этап 812: В ОТВЕТ НА ПАРАМЕТР ПЕРЕКРЫТИЯ, ПРЕВЫШАЮЩИЙ ЗАДАННОЕ ОДНО ИЗ МНОЖЕСТВА ПОРОГОВЫХ ЗНАЧЕНИЙ, ФОРМИРУЮТ, ПОСРЕДСТВОМ ПРОЦЕССОРА, СООТВЕТСТВУЮЩЕЕ ОДНО ИЗ МНОЖЕСТВА ПРЕДВАРИТЕЛЬНО ОПРЕДЕЛЕННЫХ УКАЗАНИЙ ДЛЯ РЕГУЛИРОВКИ ПОЛОЖЕНИЯ КАМЕРЫ ДЛЯ ЗАХВАТА ЧАСТИ ТРЕХМЕРНОГО ОБЪЕКТА В ПРЕДЕЛАХ ВИЗУАЛЬНОГО ОПОРНОГО КАДРА, ТЕМ САМЫМ ФОРМИРУЯ ЕГО СКОРРЕКТИРОВАННОЕ ИЗОБРАЖЕНИЕ.
[0162] На этапе 812, согласно некоторым неограничивающим вариантам осуществления настоящей технологии, в ответ на определение того, что параметр перекрытия, связанный с данным одним из множества изображений, превышает заданное одно из множества пороговых значений параметра перекрытия, процессор 110 может быть выполнен с возможностью формировать соответствующее одно или несколько из множества предварительно определенных указаний.
[0163] Например, в ответ на параметр перекрытия между граничной рамкой 410 и заданным одним из краев визуального опорного кадра 404, равный или превышающий нижнее пороговое значение параметра перекрытия (но меньше, чем среднее пороговое значение параметра перекрытия), то процессор 110 может быть выполнен с возможностью формирования визуального указания 414 первой соответствующей величины, как показано на Фиг.4, в качестве примера.
[0164] Кроме того, как показано на Фиг.5, в ответ на параметр перекрытия, связанный со вторым изображением 502, превышающий среднее пороговое значение параметра перекрытия (однако, не превышающий верхнее пороговое значение параметра перекрытия), процессор 110 может быть выполнен с возможностью формирования визуального указания 414 второй соответствующей величины, причем вторая соответствующая величина больше первой соответствующей величины.
[0165] Наконец, в ответ на параметр перекрытия, превышающий верхнее пороговое значение параметра перекрытия, процессор 110 может быть выполнен с возможностью формирования визуального указания 414 третьей соответствующей величины, причем третья соответствующая величина больше второй соответствующей величины. Как упомянуто выше, зависимость между величиной визуального указания 414 и значением параметра перекрытия может быть линейной; поэтому в некоторых неограничивающих вариантах осуществления настоящей технологии третья соответствующая величина визуального указания 414 может быть максимально возможной; и, следовательно, оно может включать в себя изменение цвета всего соответствующего края визуального опорного кадра 404, например, его правого края, как показано на фиг. 6.
[0166] В дополнительных неограничивающих вариантах осуществления настоящей технологии процессор 110 может дополнительно быть выполнен с возможностью формирования рекомендательного указания из множества предварительно определенных указаний в ответ на превышение параметром перекрытия верхнего порогового значения параметра перекрытия. В некоторых неограничивающих вариантах осуществления настоящей технологии рекомендательное указание может содержать рекомендательное сообщение 608. Таким образом, процессор 110 может быть выполнен с возможностью вывода рекомендательного сообщения 608 в окне 406 информационного сообщения на экране 215, тем самым предлагая пользователю 230 отрегулировать камеру 220 относительно трехмерного объекта 350. Кроме того, как изображено на фиг. 6, процессор 110 может быть дополнительно выполнен с возможностью вызывать изменение цвета окна 406 информационного сообщения при выводе в нем рекомендательного сообщения 608 для привлечения большего внимания пользователя 230 к текущему положению камеры 220.
[0167] Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии (не изображены), если параметр перекрытия, связанный с данным одним из множества изображений трехмерного объекта 350, превышает любое из множества пороговых значений параметра перекрытия на двух противоположных краях визуального опорного кадра 404, процессор 110 может быть выполнен с возможностью формировать третье указание об ошибке из множества предварительно определенных указаний, уведомляющее пользователя 230 о том, что камера 220 находится слишком близко к трехмерному объекту 350 в качестве примера.
[0168] Таким образом, в некоторых неограничивающих вариантах осуществления настоящей технологии, когда значение параметра перекрытия увеличивается, процессор 110 может быть выполнен с возможностью формирования более явно выраженного одного из множества предварительно определенных указаний, то есть постепенного увеличения величины визуального указания 414 и добавления рекомендательных сообщений, которые нацелены на привлечение большего внимания пользователя 230, поскольку текущее положение камеры 220 относительно трехмерного объекта 350 смещается дальше от положения, позволяющего формировать его панорамный вид. Другими словами, в некоторых неограничивающих вариантах осуществления настоящей технологии множество предварительно определенных указаний может содержать увеличивающиеся предварительно определенные указания, при этом каждое из увеличивающихся предварительно определенных указаний является более заметным, чем предыдущее, по мере увеличения значения параметра перекрытия.
[0169] Таким образом, в ответ на каждое из множества предварительно определенных указаний пользователь 230 может регулировать камеру 220 относительно трехмерного объекта 350, тем самым создавая соответствующие скорректированные изображения из множества изображений, позволяя процессору 110 составлять панорамный вид трехмерного объекта 350.
[0170] Таким образом, способ 800 переходит к этапу 814.
Этап 814: СОХРАНЯЮТ, ПОСРЕДСТВОМ ПРОЦЕССОРА, СКОРРЕКТИРОВАННОЕ ИЗОБРАЖЕНИЕ ДЛЯ ВКЛЮЧЕНИЯ ЕГО ВО МНОЖЕСТВО ИЗОБРАЖЕНИЙ, СОСТАВЛЯЮЩИХ ВИДЕО ТРЕХМЕРНОГО ОБЪЕКТА.
[0171] На этапе 814, в некоторых неограничивающих вариантах осуществления настоящей технологии, процессор 110 может быть выполнен с возможностью хранения множества изображений, связанных с видеозаписью трехмерного объекта 350, сформированных, как описано выше, в одном из твердотельного накопителя 120 и оперативной памяти 130.
[0172] Кроме того, процессор 110 может быть выполнен с возможностью вызывать отображение видеозаписи трехмерного объекта 350 на экране 215 электронного устройства 210, как описано выше со ссылкой на Фиг.7. Более конкретно, процессор 110 может быть выполнен с возможностью вызывать отображение видеозаписи, включая временную шкалу 702 видеозаписи, для перехода в видеозаписи к заданному моменту времени, связанному с соответствующим одним из множества изображений трехмерного объекта 350. Кроме того, в некоторых неограничивающих вариантах осуществления настоящей технологии временная шкала 702 видеозаписи может дополнительно содержать множество временных меток 704. Каждая из множества временных меток 704 может быть связана с соответствующим моментом времени, когда было сформировано соответствующее одно из множества изображений, ассоциированных по меньшей мере с одним из множества предварительно определенных указаний.
[0173] Соответственно, посредством активации данной одной из множества временных меток 704 для просмотра ассоциированного изображения, такого как одно из первого изображения 402, второго изображения 502 и третьего изображения 602, и одного или нескольких из множества предварительно определенных связанных с ними указаний, например, по меньшей мере, одного из следующего: первое указание об ошибке, второе указание об ошибке, третье указание об ошибке, визуальное указание 414 и рекомендательное указание (такое как рекомендательное сообщение 608), например, как описано выше.
[0174] Наконец, в некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 может быть выполнен с возможностью передачи видеозаписи трехмерного объекта 350 через сеть 240 связи на сервер 250. Сервер 250 может быть выполнен с возможностью предоставления, через сеть 240 связи, общего доступа к видеозаписи множеству других электронных устройств, как описано выше.
[0175] Таким образом, определенные варианты осуществления способа 800 позволяют формировать видеозаписи различных трехмерных объектов лучшего качества, обеспечивая более реалистичный вид их обхода, что дополнительно может позволить предоставить более конкретную информацию о визуальных аспектах трехмерных объектов.
[0176] Таким образом, способ 800 завершается.
[0177] Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому подразумевается, что объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.
[0178] Хотя вышеописанные реализации были описаны и показаны со ссылкой на конкретные этапы, выполняемые в конкретном порядке, следует понимать, что эти этапы могут быть объединены, подразделены или переупорядочены без отклонения от объема настоящей технологии. Соответственно, порядок и группировка упомянутых этапов не являются ограничениями настоящей технологии.