СИСТЕМА И СПОСОБ ДОПОЛНЕНИЯ ИЗОБРАЖЕНИЯ СТИЛИЗОВАННЫМИ СВОЙСТВАМИ
SYSTEM AND METHOD OF ADDING STYLIZED PROPERTIES TO IMAGE

Область техники
[1] Настоящее описание относится в общем случае к процессу обработки изображения и, конкретнее, к системе и способу дополнения цифрового изображения с помощью стилизованных свойств.
Уровень техники
[2] Существует множество технологии для определения и обнаружения объектов на электронной карте или изображении, например, различные типы компьютерного зрения, пиксельный анализ, ручное человеческое распознавание и т.д. Дополнительно, существуют технологии для работы и обучения нейронных сетей и других алгоритмов машинного обучения для определения объектов на картах, например, технологии для преобразования изображения или спутникового изображения/карты в схематическую карту. Как правило, алгоритмы машинного обучения обучаются человеком-модератором, который предоставляет примеры в виде спутниковой карты и соответствующей схематической карты территории, подготовленной человеком, например, одного и того же объекта на обоих картах таким образом, чтобы алгоритм машинного обучения обучался тому, как один и тот же объект выглядит (одни те же объекты выглядят) на различных изображениях/картах.
[3] Тем не менее, эти технологии ограничены в том смысле, что, если изображение
требует обновления, старое изображение/карта будет полностью заменяться на новое изображение или карту. Однако, в некоторых случаях, более старое изображение может обладать более высоким качеством или разрешением по сравнению с новым изображением. Кроме того, процесс обновления может потребовать покупки нового изображения у третьей стороны, которая предоставляет новое геопространственное изображение. В то же время, конечные пользователи обычно предпочитают актуальные изображения, демонстрирующие текущий ландшафт и свойства изображения в случае карты или пейзажа, которые предоставляются сервисами, например, Яндекс.Карты или Google Maps.
[4] Соответственно, существует необходимость в технологии обновления
оригинальных (или старых) изображений для отображения текущего состояния запечатленного пейзажа/ландшафта.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[5] Настоящее описание предлагается для анализа и изменения изображений путем извлечения графических свойств (объекта) из первого изображения и дополнения второго изображения с помощью этих свойств. В результате, описанные система и способ предоставляют идентификацию различных свойств изображения из различных изображений одного и того же объекта, причем объект мог измениться с течением времени.
[6] В одном варианте осуществления технологии, способ может включать в себя получение первого изображения, которое включает в себя один или несколько объектов, представленных на изображении с помощью пикселей, с первым набором графических свойств и получение второго изображения, которое включает в себя один или несколько объектов, представленных на изображении с помощью пикселей, со вторым набором графических свойств. Кроме того, объект может быть идентифицирован на двух изображениях как первая и вторая версии объектов, и вторая версия объекта представляет собой обновление первой версии объекта. Способ далее может применять к первому изображению и второму изображению первый алгоритм машинного обучения, ранее обученный для извлечения графических свойств объектов, причем первый набор графических свойств и второй набор графических свойств первой версии объекта и второй версии объекта извлекаются соответственно. Кроме того, второй алгоритм машинного обучения может применяться к первому и второму наборам графических свойств для определения различий в первом и втором наборах графических свойств. Технический результат решения заключается в реализации назначения расширенного арсенала технических средств для дополнения объекта цифрового изображения стилизованными графическими свойствами.
[7] Далее, после того как различия были определены, второй алгоритм машинного обучения может создавать третий набор графических свойств, который основан на различиях между первым и вторым наборами графических свойств, причем третий набор графических свойств различает вид объекта на первой и второй версиях объекта. Затем способ переходит к созданию, на основе первого изображения, графического фильтра (т.е. стилизации) для стилизации изображений в соответствии с графическим видом первого изображения. Графический фильтр далее применяет стилизацию к третьему набору графических свойств для стилизации третьего набора графических свойств под первое изображение. Наконец, первая версия объекта на первом изображении может быть дополнена путем применения третьего набора графических свойств к первой версии объекта на первом изображении.
[8] В другом варианте осуществления технологии, способ включает в себя идентификацию, на первом изображении, первой версии объекта, обладающей первым набором графических свойств; идентификацию, на втором изображении, второй версии объекта, обладающей вторым набором графических свойств, причем первая и вторая версии объекта представляют один и тот же объект; извлечение первого и второго наборов графических свойств из первого и второго изображений соответственно; создание третьего набора графических свойств путем вычисления различий между первым набором графических свойств первой версии объекта и вторым набором графических свойств второй версии объекта; и дополнение первой версии объекта на первом изображении на основе третьего набора графических свойств.
[9] В качестве уточнения примера варианта осуществления технологии, способ включает в себя предоставление графического фильтра на основе стилизации графического вида первого изображения; и преобразование третьего набора графических свойств на основе графического фильтра.
[10] В качестве уточнения примера варианта осуществления технологии, дополнение первой версии объекта на первом изображении основано на преобразованном третьем наборе графических свойств.
[11] В качестве уточнения примера варианта осуществления технологии, способ включает в себя инициирование отображения первого изображения после дополнения первой версии объекта на первом изображении.
[12] В качестве уточнения примера варианта осуществления технологии, создание третьего набора графических свойств включает в себя создание пустого третьего набора графических свойств, если вторая версия объекта отсутствует на втором изображении.
[13] В качестве уточнения примера варианта осуществления технологии, дополнение первой версии объекта на первом изображении включает в себя удаление объекта с первого изображения в ответ на пустой третий набор графических свойств.
[14] В качестве уточнения примера варианта осуществления технологии, способ включает в себя определение изменений по меньшей мере в одном из следующего: цвет, форма, размер и текстура объекта - между первой версией и второй версией объекта на основе третьего набора графических свойств.
[15] В качестве уточнения примера варианта осуществления технологии, дополнение первой версии объекта на первом изображении включает в себя стилизацию объекта на основе определенных изменений по меньшей мере в одном из следующего: цвет, форма, размер и текстура объекта.
[16] В другом примерном варианте осуществления технологии, предлагается система дополнения цифрового изображения. В этом варианте осуществления технологии, система включает в себя базу данных, выполненную с возможностью сохранять первое изображение, включающее в себя первую версию объекта, обладающую первым набором графических свойств; и процессор выполнен с возможностью получать второе изображение, включающее в себя вторую версию объекта, обладающую вторым набором графических свойств, причем первая и вторая версии объекта представляют один и тот же объект; осуществлять извлечение первого и второго наборов графических свойств из первого и второго изображений соответственно; осуществлять создание третьего набора графических свойств путем вычисления различий между первым набором графических свойств первой версии объекта и вторым набором графических свойств второй версии объекта; и осуществлять дополнение первой версии объекта на первом изображении на основе третьего набора графических свойств.
[17] В качестве уточнения примера варианта осуществления технологии, второе изображение создается на основе данных о изображении, полученных спутником.
[18] В качестве уточнения примера варианта осуществления технологии, предлагается постоянный компьютерный носитель для дополнения изображения, который содержит исполняемые компьютером инструкции. В данном варианте осуществления технологии, инструкции содержатся для идентификации, на первом изображении, первой версии объекта, обладающей первым набором графических свойств; идентификации, на втором изображении, второй версии объекта, обладающей вторым набором графических свойств, причем первая и вторая версии объекта представляют один и тот же объект; извлечения первого и второго наборов графических свойств из первого и второго изображений соответственно; создания третьего набора графических свойств путем вычисления различий между первым набором графических свойств первой версии объекта и вторым набором графических свойств второй версии объекта; и дополнения первой версии объекта на первом изображении на основе третьего набора графических свойств.
[19] Представленное выше описание упрощенных вариантов осуществления технологии служит для понимания ее основных аспектов. Это описание не является исчерпывающим для всех рассматриваемых вариантов осуществления технологии, и не предназначено для определения ключевых или важнейших элементов всех вариантов осуществления технологии или для ограничения объема любого или всех вариантов осуществления технологии. Единственной его целью является представление одного или нескольких вариантов осуществления технологии в упрощенной форме перед более подробным описанием, которое следует ниже. Для выполнения вышеизложенной задачи, один или несколько вариантов технологии включают в себя признаки, описанные и конкретно указанные в формуле изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[20] Прилагаемые чертежи включены в данное описание и составляют его часть, иллюстрируют один или несколько примерных вариантов осуществления технологии и, вместе с подробным описанием, служат для пояснения принципов и вариантов осуществления технологии.
[21] На Фиг. 1 представлена блок-схема системы для дополнения цифрового изображения с помощью стилизованных свойств в соответствии с примерным вариантом осуществления технологии.
[22] На Фиг. 2 представлена блок-схема дополняющего изображение устройства для дополнения цифрового изображения с помощью стилизованных свойств в соответствии с примерным вариантом осуществления технологии.
[23] На Фиг. 3 представлен пример сопоставленного спутником изображения, которое анализируется модулем извлечения свойств в соответствии с примерным вариантом осуществления технологии.
[24] На Фиг. 4 представлен другой пример сопоставленного спутником изображения, которое анализируется модулем извлечения свойств в соответствии с примерным вариантом осуществления технологии.
[25] На Фиг. 5А и 5В представлен другой пример сопоставленного спутником изображения, которое анализируется модулем извлечения свойств в соответствии с примерным вариантом осуществления технологии.
[26] На Фиг. 6 представлена блок-схема способа для дополнения цифрового изображения с помощью стилизованных свойств в соответствии с примерным вариантом осуществления технологии.
[27] На Фиг. 7 представлена блок-схема примера компьютерной системы общего назначения (которая может быть сервером), на которой могут быть реализованы описанные система и способ в соответствии с примерным вариантом осуществления технологии.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[28] Различные варианты осуществления технологии далее будут описаны со ссылкой на чертежи, на которых используются одинаковые номера для одинаковых элементов. В дальнейшем описании, для целей описания, будет указано множество пронумерованных конкретных деталей для улучшения понимания одного или нескольких вариантов настоящей технологии. Тем не менее, может быть понятно, что в некоторых или всех случаях, любой описанный далее вариант может быть реализован без принятия конкретных деталей реализации, которые будут описаны далее. В других случаях, хорошо известные структуры и устройства показаны в виде блок-схемы для упрощения описания одного или нескольких вариантов. Представленное далее упрощенное описание одного или нескольких вариантов технологии служит для понимания основных ее вариантов осуществления. Это описание не является исчерпывающим для всех рассматриваемых вариантов осуществления технологии, и не предназначено для определения ключевых или важнейших элементов всех вариантов осуществления технологии или для ограничения объема любого или всех вариантов осуществления технологии.
[29] На Фиг. 1 представлена блок-схема системы для дополнения цифрового изображения с помощью стилизованных свойств в соответствии с примерным вариантом осуществления технологии. Как показано на чертеже, система 100 включает в себя множество устройств 102, 014,106 и 108 захвата изображений и устройство 110 дополнения изображений, которое может связываться со множеством устройств 102, 014, 106 и 108 захвата изображений через сеть 120. В общем случае, сеть 120 может представлять собой сетевую среду любого типа для передачи данных и операций данных, и может включать в себя систему передачи данных (не показано), которая соединяет различные компоненты системы 100 с помощью провода, кабеля, оптоволокна и/или беспроводных линий, которые обеспечиваются известными сетевыми элементами различных типов, например, концентраторами, маршрутизаторами, коммутаторами и так далее. Следует учитывать, что сеть может поддерживать различные известные протоколы для передачи информации между сетевыми ресурсами. В одном варианте осуществления технологии, части сети могут являться частями сети Интернет или интранет, которые используют различные инфраструктуры передачи данных, например, Ethernet, WiFi и так далее.
[30] В соответствии с примерным вариантом осуществления технологии, спутник 102 выполнен с возможностью захватывать пейзажи географической области с помощью известных методик. Например, захваченные пейзажи или изображения могут включать в себя спутниковые изображения географических регионов на карте и, тем самым, предоставляют визуальное представление карты, которая отображает реальный пейзаж, включающий в себя различные объекты, например, здания, дороги, деревья, водоемы и другие памятники и сооружения. Кроме того, спутник 102 может быть выполнен с возможностью передавать захваченные данные об изображении с помощью линии данных для передачи данных между спутником 102 и сетью 120. В этом случае, сеть 120 может включать в себя одну или несколько спутниковых станций, выполненных с возможностью получать захваченные данные и передавать их устройству 110 дополнения изображения (которое может включать в себя один или несколько серверов) через сеть 120. В одном варианте осуществления технологии, захваченные данные об изображении могут быть переданы как сырые данные об изображении, которые могут быть обработаны и отформатированы в подходящие файлы изображений с помощью устройства 110 дополнения изображений, и сохранены в базе данных, как будет более подробно описано далее.
[31] Кроме того, другие устройства захвата изображений могут включать в себя, например, смартфон или планшет 104, персональный компьютер/сервер 106 и/или камеру 108. Эти устройства аналогичным образом функционально соединены с устройством 110 дополнения изображений через сеть 120, например, и может аналогично захватывать данные об изображении с помощью камеры, присоединенной или встроенной как компонент аппаратного обеспечения. Как будет понятно из нижеследующего описания, представленные здесь система и способ разработаны для получения любых данных о захваченном изображении из двух изображений одного и того же пейзажа, но в различные моменты времени, и для дополнения одного из захваченных изображений с помощью свойств и стилей другого изображения. В этом случае, конкретное устройство, предоставленное для захвата и/или предоставления данных об изображении, никаким образом не ограничивается конкретными устройствами захвата изображений, показанными на Фиг. 1. Тем не менее, для целей настоящего описания, система и способ будут описаны со ссылкой на данные об изображении, захваченные с помощью спутника 102, которые могут представлять собой, например, геопространственное изображение, представляющее собой карту конкретной территории.
[32] Как будет показано далее, устройство 110 дополнения изображений может включать в себя вычислительное устройство 112 и базу 114 данных. В примере варианта осуществления технологии, устройство 110 дополнения изображений сформировано из одного или нескольких серверов, выполненных с возможностью получать захваченные данные об изображении и обрабатывать данные в соответствии с примерными алгоритмами, описанными далее. Пример аппаратных и программных компонентов устройства 110 дополнения изображений описан далее со ссылкой на Фиг. 7.
[33] В примере варианта осуществления технологии, вычислительное устройство 112 устройства 110 дополнения изображений может включать в себя центральный процессор (CPU) или микропроцессор, который способен, среди прочего, выполнять модуль дополнения изображений, который выполнен с возможностью получать множество изображений и дополнять по меньшей мере одно из изображений с помощью специфических свойств, полученных из других изображений. В этом варианте осуществления технологии, модуль дополнения изображений включает в себя программный код (например, выполняемые процессором инструкции) в памяти, который может быть выполнен с возможностью выполнять/улучшать описанные алгоритмы. Кроме того, база 114 данных устройства 110 дополнения изображений способна получать и сохранять, предпочтительно в структурированном формате, множество захваченных изображений, а также данные стилизации и правила, относящиеся к сохраненным изображениям. Также подразумевается, что, после того как дополненное изображение было создано устройством 110 дополнения изображений, это изображение может быть предоставлено для отображения, например, путем передачи его на устройство отображения, такое как смартфон 104 и/или персональный компьютер 106, на котором оно будет отображаться.
[34] В соответствии с примером варианта осуществления технологии, устройство 110 дополнения изображений выполнено с возможностью идентифицировать различные свойства изображений из нескольких изображений, обладающих одним и тем же объектом, но на которых объект может изменяться во времени, например, если спутник 102 захватил данные об изображении на аэростатической карте зимой и летом. В этом варианте осуществления технологии, устройство 110 дополнения изображений выполнено с возможностью для извлечения свойств из первого изображения, которое может считаться дополнительным изображением, и свойства которого далее могут применяться ко второму изображению, которое может считаться главным или базовым изображением.
[35] Например, картографический сервер (например, сервер 106) может обладать изображением с конкретным объектом (например, здание на карте), для которого на сервере 106 есть несколько изображений, например, аэростатические изображения, которые были сделаны в различные времена года. Кроме того, возможно, что эти изображения могут быть также сделаны с различным уровнем увеличения и даже могут представлять объект, который изменяется во времени. Например, объект может являться строящимся зданием (т.е. считаться первой версией объекта) и построенным зданием (т.е. считаться второй версией объекта), изображение здания в летнее время (т.е. считаться первой версией объекта) и далее изображение здания зимой со снегом (т.е. считаться второй версией объекта) и так далее. В этом случае, устройство 110 дополнения изображений выполнено с возможностью определить свойство изображений идентифицированного объекта и дополнять базовое изображение (например, первую версию здания) новыми определенными свойствами (например, полностью завершенное здание или здание со снегом на крыше). В качестве преимущества, система не требует обновления всего изображения каждый раз, когда объект(ы) изменяется(ются), вместо этого возможно просто обновить часть базового изображения таким образом, чтобы она включала в себя новое свойство и стилизацию.
[36] На Фиг. 2 представлена блок-схема дополняющего изображение устройства для дополнения цифрового изображения с помощью стилизованных свойств в соответствии с примерным вариантом осуществления технологии. Как показано, устройство 110 дополнения изображений включает в себя модуль 130 дополнения изображений и базу 114 данных, которая показана как включающая первую базу 114А данных сохраненных объектов 122 и вторую базу 114 В данных стилизаций 124. Кроме того, устройство 110 дополнения изображений включает в себя интерфейс 140, который может включать в себя, например, контроллер сетевого интерфейса, выполненный с возможностью устанавливать связь с каждым устройством захвата изображений через сеть 120, включая, например, 102.
[37] Как показано далее, модуль 130 дополнения изображений может состоять из множества модулей или субмодулей. Конкретнее, модуль 130 дополнения изображений может включать в себя модуль 132 извлечения свойств, модуль 134 графического фильтра и модуль 136 обработки изображений. Следует иметь в виду, что каждый из этих модулей может учитываться как отдельный компонент или формировать, например, единый программный модуль.
[38] В общем случае, термин «модуль» может учитываться как выполняемый на одном или нескольких компьютерах, включая физические устройства, компоненты или множество компонентов, выполненных с использованием аппаратного обеспечения, например, с помощью, интегральной схемы специального назначения (ASIC) или программируемой логической интегральной схемы (FPGA), или же комбинации аппаратного и программного обеспечения, например, с помощью микропроцессорной системы и набора инструкций, реализующих функционал модуля, которые (при выполнении) трансформируют микропроцессорную систему в устройство специального назначения. Модуль также может быть реализован в виде комбинации обоих, причем некоторые конкретные функций реализуются за счет аппаратного обеспечения, а другие функции реализуются комбинацией аппаратного и программного обеспечения. В некоторых вариантах осуществления технологии, по меньшей мере частично, в некоторых случаях модуль может быть целиком реализован на процессоре компьютера общего назначения. Соответственно, каждый модуль может быть реализован в виде множества различных конфигураций и не ограничивается конкретным вариантом осуществления, описанным здесь.
[39] В соответствии с примером варианта осуществления технологии, модуль 132 извлечения свойств выполнен с возможностью анализировать множество изображений (по меньшей мере два изображения) одного и того же пейзажа (или по меньшей мере части одного и того же пейзажа) и идентифицировать общие объекты на каждом изображении. Например, в соответствии с примером варианта осуществления технологии, модуль 132 извлечения свойств выполнен с возможностью выполнять обычные способы анализа изображений для определения и обнаружения объектов на картографическом изображении. Способы анализа изображений могут включать в себя, например, способы компьютерного зрения, анализ пикселей, ручное распознавание человеком и так далее. В этом случае, модуль 132 извлечения свойств может включать в себя одну или несколько нейронных сетей и/или другие алгоритмы машинного обучения, которые могут быть обучены для обнаружения конкретных объектов на картах (например, при преобразовании изображения или спутниковой карты в схематическую карту). Алгоритмы машинного обучения могут быть обучены, например, человеком-модератором, который демонстрирует примеры, такие как предоставление спутниковой карты и соответствующей схематической карты территории одного и того же объекта на обоих картах таким образом, чтобы алгоритм машинного обучения был обучен тому, как идентифицировать то, как одинаковые объекты могут выглядеть на различных картографических изображениях. Эти алгоритмы машинного обучения для идентификации конкретных объектов на изображений хорошо известны специалистам в данной области техники и не будут описаны далее более подробно.
[40] Тем не менее, в соответствии с примером варианта осуществления технологии, модуль 132 извлечения свойства далее выполнен с возможностью извлекать конкретные идентифицированные графические свойства из общего объекта, идентифицированного на каждом изображении (например, базовом изображении и дополнительном изображении). Например, с использованием алгоритмов машинного обучения, модуль 132 извлечения свойств может извлекать первый набор графических свойств из первой версии объекта на первом (т.е. базовом) изображении и второй набор графических характеристик из второй версии объекта на втором (т.е. дополнительном) изображении. С применением алгоритма машинного обучения, модуль 132 извлечения свойств далее выполнен с возможностью обнаруживать графические отличия в объекте на двух изображениях. В этом случае, модуль 132 извлечения свойств может быть обучен для работы с цветами, формами и размерами свойств и может извлекать конкретные свойства, соответствующие графическим различиям. Как было описано, алгоритм машинного обучения может представлять собой нейронную сеть, например, сверточную нейронную сеть (CNN) в соответствии с примером варианта. Нейронная сеть может быть обучена на множестве тренировочных наборов данных. Обучающий набор данных может включать в себя множество пар объектов со схематической карты, связанных, например, с соответствующим спутниковым изображением. Для подобной пары, человек-модератор может вручную связывать объект со схематической карты с объектом со спутникового изображения. Например, человек-модератор может отмечать (через пользовательский интерфейс) крышу (например, обладающую белым цветом и прямоугольной формой) на спутниковом изображении. Далее, человек-модератор может связывать "крышу" со спутникового изображения с той же "крышей" на карте-схеме. Обучение продолжается над множеством пар объектов. Далее, нейронная сеть может быть способна отслеживать изменения (и обнаруживать изменения) на основе выученных соответствий схематической карты и спутникового изображения.
1
1
1
1
2
2
2
2
[41] Кроме того, в соответствии с примером варианта осуществления технологии, нейронной сети может быть далее предоставлено множество дополнительных обучающих наборов данных. Множество дополнительных обучающих наборов данных может включать в себя графические объекты (например, спутниковые изображения), каждый из которых обладает парным измененным объектом. Например, пара может представлять собой: (1) первое изображение крыши, обладающей белым цветом и (2) второе изображение крыши, обладающее коричневым цветом, где изображения могут относиться к одной и той же крыше, отличающейся только цветом. Другой пример пары может состоять в том, что первое изображение здания обладает балконом, а второе изображение здания не обладает балконом, и при этом изображение может относиться к одному и тому же зданию. Для каждой из пар, нейронная сеть может быть выполнена с возможностью создавать карту изменений, показывающую пиксели изображений, которые могли быть изменены. Например, первый набор пикселей (например, с координатами в пространстве ([X, Xi]; [Y Yi]) является новым, а второй набор пикселей (например, с координатами ([X, Xi]; [Y, Yi]) обладает измененными цветами. Цвет индивидуального пикселя (например, в системе RGB) может изменяться, например, с [255,255,222] на [158,200,241]. Для набора изменений пикселей, нейронная сеть может определять область изменения пикселей. Для области изменения пикселей, нейронная сеть может определять по меньшей мере одно из: а) число изменений пикселей, Ь) средний "уровень" изменений (например, изменение черного цвета на белый является большим изменением, а изменение с черного цвета на серый является сравнительно небольшим изменением), с) изменение формы может быть определено нейронной сетью когда набор пикселей изменил свое местоположение и/или изменил форму (например, черный прямоугольник в верхнем левом углу первого изображения стал черным квадратом, при этом оставшись в верхнем левом углу второго изображения). Дополнительно, нейронная сеть может изучать контекст пикселя и/или множества пикселей путем определения соответствующих контекстов. Например, "контекст" может представлять собой тип изображения, так например, нейронная сеть может обнаружить множество объектов "зданий" и решить, что первое изображение представляет собой вид города, или нейронная сеть может обнаружить множество объектов "деревья", и решить, что второе изображение представляет собой "лес". Конкретный тип изображения может быть определен нейронной сетью на основе ранее изученных изображений. В то же время, нейронная сеть может быть осведомлена об общем шаблоне изображения, например, набор изображений представляет собой деревья, которые человек идентифицирует как изображения леса, и нейронная сеть может идентифицировать как конкретный тип (например, тип №34, множество одинаковых зеленых объектов), но не как буквально "лес".
[42] Дополнительно, нейронная сеть может быть обучена извлекать свойства из изображений в соответствии с примером варианта. Например, нейронная сеть может быть обучена с помощью способа семантической сегментации (или любого другого способа извлечения свойств, например, Deep feature synthesis, Isomap и так далее.
[43] С учетом приведенного выше примера, первый набор графических свойств из первой версии объекта может представлять собой "крышу" с цветом "белый" и размером изображения 45×80 пикселей. Далее, второй набор графических свойств из второй версии объекта может представлять собой "крышу" с цветом "коричневый" и размером изображения 45×80 пикселей. Путем извлечения графических свойств из каждой версии объекта, модуль 132 извлечения свойств выполнен с возможностью обнаруживать графические различия между двумя наборами графических свойств.
[44] Как показано далее, модуль 132 извлечения свойств связан с базой 114А данных, которая может хранить один или несколько сохраненных объектов 122. Таким образом, устройство 110 дополнения изображения выполнено с возможностью получать данные изображений от каждого устройства захвата изображений, например, спутника 102, и создавать данные изображений, которые хранятся в базе 114А данных. Следует иметь в виду, что в одном варианте осуществления технологии данные об изображении могут сохраняться со связанными метаданными, которые в общем случае указывают на местоположение на карте (например, географические координаты), дату и время года, а также другую связанную информацию. В этом случае, когда устройство 110 дополнения изображений получает дополнительное изображение, которое также включает в себя информацию, модуль 132 извлечения свойств выполнен с возможностью быстро идентифицировать, с помощью метаданных, например, "базового" изображения для выполнения извлечения объекта/свойства, что было описано ранее. Дополнительно, в одном варианте осуществления технологии, устройство 110 дополнения изображений может далее сохранять новые изображения в базе 114А данных и использовать множество изображений для алгоритмов машинного обучения модуля 132 извлечения свойств, как описано ранее.
[45] Как показано на Фиг. 2, модуль 134 графического фильтра выполнен с возможностью предоставлять стилизацию извлеченному свойству. Другими словами, как описано ранее, извлеченное свойство может обладать характеристиками стилизации, которые отличаются от базового изображения. В этом случае, модуль 134 графического фильтра включает в себя второй алгоритм машинного обучения, который выполнен с возможностью создавать третий набор графических свойств, основанных на различиях, определенных между первым набором графических свойств первой версии объекта и вторым набором графических свойств второй версии объекта. Фактически, третий набор графических свойств может быть использован для различения вида объекта между первой версией объекта и второй версией объекта.
[46] В соответствии с примером варианта осуществления технологии, модуль 134 графического фильтра далее выполнен с возможностью создавать графический фильтр (т.е. стилизацию) для стилизации изображений в соответствии с графическим видом первого изображения. Например, если базовое изображение получено в зимнее время и все объекты покрыты снегом, но извлеченное свойство версии объекта из дополнительного изображения получено в летнее время, без снега, модуль 134 графического фильтра выполнен с возможностью использовать третий набор графических свойств, которые указывают на различия между извлеченными свойствами, и применять снежную стилизацию (например, добавлять белый цвет) к идентифицированному объекту (например, новому зданию) таким образом, чтобы он мог смешаться с имеющимся пейзажем при добавлении его на базовое изображение. Альтернативно, если базовое изображение получено летом, а дополнительное изображение получено зимой, графический фильтр может быть применен к идентифицированному объекту (например, новому зданию), чтобы избавиться от снега на крыше, например, включая цвет изменений и текстуру (например, деревянную текстуру) для графического фильтра.
[47] Таким образом, в соответствии с примером варианта осуществления технологии, модуль 134 графического фильтра может включать в себя первый алгоритм машинного обучения (например, нейронную сеть), который выполнен с возможностью применять стиль, а второй алгоритм машинного обучения обучен отдельно и определяет уровень, на котором измененное изображение похоже на оригинальное изображение, и насколько статистически близко оно к изображению (т.е. дополнительному изображению) со стилизованным объектом, который будет перемещен. В этом случае, как описано выше, алгоритмы машинного обучения модуля 134 графического фильтра выполнены с возможностью стилизации изображений, например, путем получения двух изображений (т.е. базового и дополнительного изображения) одного и того же объекта, но с различными характеристиками или параметрами, например, дневное и ночное освещение или затемнение и его отсутствие, летнее и зимнее время, солнечные погодные условия и дождливые, и так далее. Модуль 134 графического фильтра далее выполнен с возможностью получить доступ к базы 114 В данных стилизаций, которая может включать в себя множество стилизаций 124 и правил для идентификации, на основе пар изображений, правил для стилизации каждого из объектов.
[48] Например, правила стилизации могут обладать инструкциями для фильтрации изображений, которые следует применять к извлеченным свойствам на основе сравнения изображения и/или конкретного объекта. В одном конкретном примере, для здания (т.е. идентифицированного объекта), когда базовое изображение и дополнительное изображение изменяют стиль с ночного на дневной, алгоритм машинного обучения может быть обучен на основе правил стилизации на изменение цветов извлеченного свойства (например, яркость +10 и добавить +1 каждому из цветов RGB, тем самым, например, первый цвет RGB [251,251,001] становится вторым цветом RGB [251,251,002]). В этом примере, текстура извлеченного свойства не будет изменяться. На основе этих правил, модуль 136 обработки изображений далее выполнен с возможностью модифицировать изображение с извлеченными свойствами путем редактирования изображения с помощью внедрения этих изменений.
[49] В другом примере, если вода (например, бассейн) является извлеченным свойством, которое отсутствовало на базовом изображении (например, ранее - задний двор с травой), алгоритм машинного обучения модуля 134 графического фильтра выполнен с возможностью изменять текстуру изображения путем изменения пикселей, перемещения пикселей, удаления пикселей и т.д. базового изображения. В дальнейшем, для изменения зимних фотографий на летние и наоборот, алгоритм машинного обучения модуля 134 графического фильтра может сохранять примеры текстуры "лед", примеры лесных озер "глубокие воды" и так далее, как шаблоны стилизации в базе 114 В данных, которые могут далее быть доступны при процессе дополнения изображений. В этом случае, каждый пример относится как к самому объекту (т.е. озеру), так и к его контексту (т.е. озеро в лесу), где контекст может учитываться алгоритмом машинного обучения.
[50] Кроме того, в соответствии с примером варианта осуществления технологии, модуль 130 дополнения изображений включает в себя модуль 136 обработки изображений, который выполнен с возможностью использовать правила стилизации, идентифицированные модулем 134 графического фильтра для изменения базового изображения с извлеченными и стилизованными свойствами. Другими словами, модуль 136 обработки изображений выполнен с возможностью дополнять базовое изображение с помощью новых свойств (например, третий набор графических свойств) для создания пересмотренного или обновленного изображения. Это обновленное изображение далее может быть передано с помощью интерфейса 140 устройству отображения, например, персональному компьютеру 106 для отображения на экране.
[51] Как было описано выше, модуль 132 извлечения свойства выполнен с возможностью идентифицировать объекты на изображениях и извлекать конкретные свойства. В примере варианта осуществления технологии, модуль 132 извлечения свойств включает в себя нейронную сеть, которая идентифицирует объекты с помощью семантической сегментации полученного изображения. В общем случае, каждый пиксель на изображении, множество свойств изображений может быть определено как соответствующее текстуре, цвету и т.д. Для примера, в примере варианта осуществления технологии, модуль 132 извлечения свойств может назначать каждому пикселю класс (например, дорога, дом, водоем и так далее) и, в рамках каждого класса, нейронная сеть может быть обучена на предыдущих изображениях для назначения каждому классу весовых коэффициентов. Например, пиксель с координатами (0,1) в изображении может обладать цветами RGB [255, 255, 222] и весовыми коэффициентами [5, 10, 0] Кроме того, весовые коэффициенты могут указывать на то, что пиксель определен нейронной сетью как дорога с 5% вероятности, как дом/здание с 10% вероятности и как озеро или другой водоем с 0% вероятности. При обучении, нейронная сеть может изучать сам пиксель (цвета), а также соседние пиксели, например, пиксели с координатами (1,1), (1,0), (0,2) и так далее.
[52] В примере варианта осуществления технологии, нейронная сеть может далее определять весовой коэффициент для каждого соседнего пикселя как и на изображении в целом и, например, один и тот же тип дерева считается в целом одинакового размера и так далее. Кроме того, нейронная сеть модуля 132 извлечения свойств может быть обучена с помощью геопространственных изображений и схема может быть подготовлена вручную, например, с помощью людей операторов/асессоров. Итоговая схема (например, Яндекс.Карты, Google Maps и т.д.) может показывать расположенные здания, дороги, водоемы и так далее. Таким образом, нейронная сеть модуля 132 извлечения свойств может быть эффективно обучена для идентификации на спутниковых изображениях, какой пиксель относится к какой категории (т.е. тип свойства, например, дерево, здание и т.д.) и какие свойства используются, т.е. например, текстура, цвет и контекст.
[53] В соответствии с примером варианта осуществления технологии, поскольку нейронная сеть модуля 132 извлечения свойств обучена соответствующим образом, нейронная сеть может быстро идентифицировать объекты на изображении для новых входящих изображений. Нейронная сеть может использовать фильтры для быстрой идентификации объектов при сравнении с обычным попиксельным анализом. Например, используемые фильтры могут обладать множеством изученных шаблонов, которые являются общими для конкретного типа изображений, например, сопоставленных изображений, захваченных спутником 102.
[54] В соответствии с этим вариантом осуществления технологии, нейронная сеть модуля 132 извлечения свойств выполнена с возможностью применять множество фильтров для того, чтобы обнаруживать наличие и расположение одного или нескольких объектов на изображении. В таблице 1 показан пример типов фильтров, которые могут быть использованы:
где весовой коэффициент () = счетчик наличия конкретного объекта на конкретном изображении
[55] Таким образом, в соответствии с примером варианта осуществления технологии, тип фильтра может указывать на вероятность того, что идентифицированный объект относится к конкретному типу ожидаемого объекта на изображении. Например, на основе множества результатов примененных фильтров, нейронная сеть может определять, что, на основе предыдущего обучения, линия с треугольником является деревом. Следует учитывать, что этот пример является упрощенным, но нейронная сеть может быть обучена с помощью сложных фильтров для быстрой идентификации типов объектов на изображении. Таким образом, в общем случае, наложенный фильтр может идентифицировать значение линии в связи с чем-то другим или наоборот. В результате, нейронная сеть модуля 132 извлечения свойств выполнен с возможностью идентифицировать контексты частей изображений.
[56] На Фиг. 3 представлен пример сопоставленного спутником изображения, которое анализируется модулем 132 извлечения свойств в соответствии с примерным вариантом осуществления технологии. В этом примере, изображение 300 может быть захвачено спутником 102 и передано устройству 110 дополнения изображений. Тип фильтра может относиться ко множеству линий, которые простираются, например, на заранее определенное число пикселей. Таким образом, в результате, алгоритм машинного обучения модуля 132 извлечения свойств может быть выполнен с возможностью применять фильтры на изображение 300 для идентификации множества объектов на изображении 300. Среди прочего, как показано, модуль 132 извлечения объектов выполнен с возможностью идентифицировать множество дорог 310. Таким образом, с помощью фильтров, как описано выше, модуль 132 извлечения свойств выполнен с возможностью идентифицировать границы дорог 310 как простирающиеся по прямой линии через определенное число пикселей, например, на изображении 300. Если эти линии идентифицированы (и нет других свойств, идентифицированных в соседних пикселях), алгоритм машинного обучения может определять с достаточно высокой вероятностью, что идентифицированное свойство 310 является дорогой.
[57] На Фиг. 4 представлен другой пример сопоставленного спутником изображения, которое анализируется модулем 132 извлечения свойств в соответствии с примерным вариантом осуществления технологии. В этом примере, изображение 400 может быть захвачено спутником 102 и передано устройству 110 дополнения изображений. Кроме того, тип фильтра может быть множеством соседних линий, которые вместе формируют прямоугольник или прямоугольную форму. В этом случае, алгоритм машинного обучения модуля 132 извлечения свойств может быть выполнен с возможностью применять фильтры на изображение 400 для идентификации множества объектов, таких как здания 410A, 410В и 410C на изображении 400. Таким образом, в соответствии с примером варианта, подразумевается, что изображение 400 является дополнительным изображением, полученным от спутника 102, и что здания 410А-410С могут быть идентифицированы как новые здания при анализе вида базового изображения, которое по меньшей мере частично перекрывается с изображением 400, но может быть годовой давности, например, здания 410А-410С еще не были построены и, следовательно, не присутствуют на базовом сопоставленном изображении. Следовательно, при получении дополнительного изображения 400, модуль 132 извлечения свойств выполнен с возможностью применять алгоритм машинного обучения, который использует множество фильтров, как описано выше, для идентификации новых зданий 410А-410С.
[58] На Фиг. 5А и 5В представлен другой пример сопоставленного спутником изображения, которое анализируется модулем извлечения свойств в соответствии с примерным вариантом осуществления технологии. В этом случае, на Фиг. 5А представлено полученное изображение 500А, которое содержит пространство 510A, на котором здание присутствовало на базовом (т.е. оригинальном или предшествующем) изображении, но было удалено на новом сообщении. Таким образом, как показано на Фиг. 5В, после того как фильтры были применены с помощью модуля 132 извлечения свойств, все здания могут быть идентифицированы (например, здание 520), которое существует на оригинальном спутниковом изображении и новом спутниковом изображении 510А, а также отсутствующее здание, например, пространство 510В, которое представлено пунктирным прямоугольником. В этом случае, третий набор графических свойств, который является разницей между набором графических свойств из первой версии объекта и набором графических свойств из второй версии объекта, может считаться "пустым", указывая на то, что объект в дополнительном изображении был удален.
[59] После того как объекты были идентифицированы модулем 132 извлечения свойств, как показано на любом из примеров изображений, описанных выше, модуль 130 дополнения изображений далее выполнен с возможностью перемещать объект для дополнения базового изображения. Таким образом, в примере варианта осуществления технологии, модуль 132 извлечения свойств далее выполнен с возможностью идентифицировать объект(ы), например, с помощью семантической сегментации для получения контура с потенциальной погрешностью для каждого объекта. Например, первый объект (т.е. первое множество пикселей или пиксельного пространства в дополнительном изображении) с контурами может быть автомобилем (т.е. с набором окружающих пикселей, учитывая пиксели самого объекта). Далее, второй объект (т.е. второе множество пикселей или пиксельных пространств) может быть идентифицирован как здание и так далее. После того как были идентифицированы контуры объекта, модуль 132 извлечения свойств выполнен с возможностью обрезать контуры идентифицированного объекта и создать временной файл изображения объекта для перемещения на базовое изображение.
[60] После того как объект был идентифицирован и извлечен, модуль 134 графического фильтра выполнен с возможностью предоставлять стилизацию извлеченному объекту как описано ранее. Таким образом, модуль 134 графический фильтр выполнен с возможностью модифицировать извлеченный объект (который может временно храниться как отдельный файл изображения) с помощью третьего набора графических свойств, таким образом, чтобы он обладал теми же свойствами (т.е. "стилем"), что и базовое изображение. В этом случае, базовое изображение может быть связано с конкретными свойствами, например, зимой, заснеженными условиями, временем дня и так далее. Эта информация может храниться как метаданные с базовым изображением базе 114А данных или быть получена путем выполнения последовательного анализа базового изображения. Модуль 134 графического фильтра далее выполнен с возможностью изменять или модифицировать объект с помощью различных способов редактирования изображения таким образом, чтобы извлеченные объекты включали те же свойства (например, заснеженные условия), что и базовое изображение, чтобы эффективно смешиваться с сопоставленным пейзажем, когда они добавляются к базовому изображению. Наконец, модуль 136 обработки изображений выполнен с возможностью перемещать измененный с помощью фильтров извлеченный объект на базовое изображение для эффективного создания дополненного изображения. Например, в одном варианте осуществления технологии, модуль 136 обработки изображений перемещает объект, и при этом перекрывает измененный с помощью фильтров объект на базовом изображении. В другом варианте осуществления технологии, модуль 136 обработки изображений может перемещать объект путем применения на объект и/или границы объекта техник размывания. В еще одном варианте осуществления технологии, модуль 136 обработки изображений может также использовать способы сглаживания градиента(ов) для сглаживания границ перехода по меньшей мере одного из объекта и базового изображения.
[61] На Фиг. 6 представлена блок-схема способа для дополнения цифрового изображения с помощью стилизованных свойств в соответствии с примерным вариантом осуществления технологии. Следует иметь в виду, что следующее описание примера способа относится к примерам компонентов, которые описаны выше. Как было показано, изначально на этапе 605, новое или дополнительное изображение получают с помощью устройства 110 дополнения изображений. На основе метаданных, связанных с дополнительным изображением, устройство 110 дополнения изображений выполнено с возможностью идентифицировать соответствующее базовое изображение в базе 114 данных на этапе 610, которое по меньшей мере частично перекрывается с пейзажем дополнительного изображения и наоборот. Далее, на этапе 615, после того как базовое изображение идентифицировано, модуль 132 извлечения изображений далее выполнен с возможностью идентифицировать общие объекты на каждом из изображений и извлекать графические свойства каждой версии объекта с помощью алгоритмов машинного обучения, которые описаны выше.
[62] Как показано далее, модуль 134 графического фильтра использует алгоритм машинного обучения для сравнения извлеченных свойств из каждой версии объекта для идентификации правил стилизации для идентифицированного объекта на этапе 620. В одном варианте осуществления технологии, модуль 134 модуль графического фильтра может определять, обладает ли объект на обоих изображения на этапе 625 различными графическими свойствами. Например, на базовом изображении идентифицированный объект может представлять собой воду, но замерзшую, поскольку изображение было снято зимой. Далее, дополнительное изображение может включать в себя воду, но не замерзшую, поскольку изображение было снято летом. В этом варианте осуществления технологии, способ переходит к этапу 630, где стилизация для объекта идентифицирована путем извлечения графических свойств объекта из каждого изображения и определения третьего набора графических свойств в виде различий между извлеченными свойствами. Альтернативно, если объект не присутствует на обоих изображениях (например, "пустой" результат для третьего набора графических свойств), способ может переходить к этапу 635, где, например, другие части изображения могут сравниваться для идентификации подходящей стилизации путем извлечения относительных графических свойств. В другом варианте осуществления технологии, стилизация и/или правила стилизации могут быть доступны, например, в базе 114В данных.
[63] В любом случае, после идентификации подходящей стилизации на основе третьего набора графических свойств, стилизация применяется с помощью модуля 134 графического фильтра к идентифицированному объекту на этапе 640. То есть, контур объекта вырезают из дополнительного изображения и стилизуют с помощью нейронной сети. Далее, стилизованный объект перемещается на базовое изображение для создания дополненного изображения на этапе 645. Наконец, это дополненное изображение может быть выведено на этапе 650 для отображения, например, с помощью устройства отображения. Следует отметить, что дисплей может представлять собой электронный дисплей любого типа для просмотра изображений или может представлять собой любой тип рендеринга, адаптированный, например, для просмотра изображений.
[64] Следует иметь в виду, что несмотря на то, что пример системы и способа описан в отношении сопоставленных спутниковых изображений, описанные здесь алгоритмы могут быть использованы для дополнения изображения любого типа. Например, алгоритмы могут быть использованы для редактировании видео, например, путем дополнения видео потока с помощью добавления/модификации видеокадров некоторыми типами объектов, которые не присутствовали в оригинальных кадрах (например, преобразование первого названия на китайском на второе название на английском во всем видео потоке). Кроме того, если изображения захвачены электронными фотоаппаратами, алгоритмы машинного обучения предоставляют методологию для автоматического редактирования базового изображения с помощью извлеченных объектов и свойств последующего изображения. Кроме того, примерные система и способ, которые описаны здесь, могут также применяться для обнаружения изменений и соответствующего изменения содержимого для сервисов дополненной реальности и решений (например, для игр с дополненной реальностью и для дополнения (с изображением и видео) водительского окна для улучшенного опыта вождения автомобиля). В подобном случае, водитель, например, может искать конкретную точку интереса (POI), например, кофейню Starbucks™. С помощью картографического/навигационного приложения (например, Яндекс.Навигатор и Яндекс.Карты) водитель может построить маршрут к ближайшей кофейне Starbucks™ от текущего местоположения пользователя. Водитель может построить маршрут к ближайшему кафе Starbucks™ и может захотеть увидеть эту точку интереса подсвеченной через водительское окно. Конкретный вид POI может быть определен на основе панорамных изображений, связанных с объектом на картографическом сервисе (например, Яндекс.Панорамы или Google Street view). На основе вида POI, алгоритм машинного обучения, описанный здесь, может изменять вид POI путем, например, подсвечивания цветов здания, в котором находится POI, и указания другим цветом и формой на свободное парковочное место рядом с POI. Другими словами, пример системы и способа, описанный здесь, может работать в режиме реального времени, помогая водителям и пилотам. В то же время, в другом варианте осуществления технологии, пример системы и способа, описанный здесь, может также помогать дальтоникам путем изменения цветов в режиме реального времени для пользователей мобильного устройства, включая (без установления ограничений) очки.
[65] На Фиг. 7 представлена блок-схема примера компьютерной системы общего назначения (которая может быть сервером), на которой могут быть реализованы описанные система и способ в соответствии с примерным вариантом осуществления технологии. Как показано, вычислительное устройство общего назначения предоставляется в форме компьютерной системы 20 или подобного, включая блок 21 обработки, системную память 22 и системную шину 23, которая соединяет различные системные компоненты, включая системную память, с блоком 21 обработки. Следует учитывать, что компьютерная система 20 может соответствовать, например, устройству 110 дополнения изображений.
[66] В этом варианте осуществления технологии, системная шина 23 может представлять собой шинную структуру любого типа, который включает в себя шину памяти, контроллер памяти, периферическую шину и локальную шину, использующую любую из множества шинных архитектур. Системная память включает в себя постоянную память (ПЗУ) 24 и оперативную память (ОЗУ) 25. В ПЗУ 24 хранится базовая система ввода/вывода 26 (BIOS), содержащая основные процедуры, которые помогают передавать информацию между элементами в компьютере 104, например, во время запуска.
[67] Кроме того, компьютер 20 может далее включать в себя привод 27 жесткого диска (соответствующий жесткому диску 136, например) для записи и чтения жесткого диска (например, жесткого диска 136), привод 28 магнитного диска для чтения или записи съемного магнитного диска 29 и привод 30 оптического диска для чтения и записи съемного оптического диска 31, например, CD-диска, DVD-диска или других оптических носителей. Привод 27 жесткого диска, привод 28 магнитного диска и привод 30 оптического диска соединены с системной шиной 23 с помощью интерфейса 32 привода жесткого диска, интерфейса 33 привода магнитного диска и интерфейса 34 привода оптического диска соответственно. Приводы и соответствующие им машиночитаемые носители предоставляют энергонезависимые хранилища для машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 20.
[68] Несмотря на то, что описанный здесь пример среды включает в себя жесткий диск, съемный магнитный диск 29 и съемный оптический диск 31, специалистам в данной области техники будет понятно, что другие типы машиночитаемых носителей, которые могут хранить данные, доступные компьютеру, например, магнитные кассеты, флеш-карты, цифровые видеодиски, накопители Бернулли, ОЗУ, ПЗУ и так далее, также могут быть использованы в примере рабочей среды.
[69] Ряд программных модулей может быть сохранен на жестком диске 29, оптическом диске 31, ПЗУ 24 или ОЗУ 25, включая операционную систему 35. Компьютер 20 включает в себя файловую систему 36, связанную с или включенную в операционную систему 35, одно или несколько программных приложений 37, другие программные модули 38 и программные данные 39. Пользователь может вводить команды и информацию в компьютер 20 через устройства ввода, например, клавиатуру 40 и указывающее устройство 42. Другие устройства ввода (не показано) могут включать в себя микрофон, джойстик, геймпад, спутниковую антенну, сканнер и так далее.
[70] Эти и другие устройства ввода часто соединены с блоком 21 обработки через интерфейс 46 последовательного порта, который соединен с системной шиной, но могут быть соединены и с помощью других интерфейсов, например, параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или другой тип устройства отображения соединен с системной шиной 23 через интерфейс, например, видеоадаптер 48. В дополнении к монитору 47, персональные компьютеры обычно включают в себя другие периферические устройства вывода (не показано), например, динамики и принтеры.
[71] Компьютер 20 может работать в сетевой среде с помощью логических связей с одним или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 могут представлять собой другой компьютер, сервер, маршрутизатор, сетевой ПК, одноранговое устройство или другую сетевую ноду, и обычно включает в себя многие или все элементы, описанные ранее в отношении компьютера 20. Логические связи включают в себя сетевой интерфейс 51 и соединены в локальную сеть (т.е. LAN) 51, например, и/или глобальную сеть (не показано). Подобные сетевые среды часто встречаются в офисах, корпоративных компьютерных сетях, Интранет и Интернет.
[72] При использовании в сетевой среде локальной сети, компьютер 20 соединен с локальной сетью 51 через сетевой интерфейс или адаптер 53. При использовании в сетевой среде глобальной сети, компьютер 20 обычно включает в себя модем 54 или другие средства для установления связи через глобальную сеть, например, Интернет.
[73] Модем 54, который может быть внешним или внутренним, соединен с системной шиной 23 через интерфейс 46 последовательного порта. В сетевой среде, программные модули, которые представлены в отношении компьютера 20 или его частей, могут быть сохранены на удаленном устройстве хранения. Следует иметь в виду, что представленные сетевые связи, являются только примерами, и могут быть использованы другие средства установления соединения между компьютерами.
[74] В различных вариантах осуществления настоящей технологии, системы и способы, описанные здесь, могут быть реализованы на аппаратном обеспечении, прикладном программном обеспечении, системном программном обеспечении или любой из их комбинаций. При реализации в виде прикладного программного обеспечения, способы могут быть сохранены в виде одной или нескольких инструкций или кода на постоянном машиночитаемом носителе. Машиночитаемый носитель включает в себя хранилище данных. В качестве примера, а не ограничения, подобный машиночитаемый носитель может представлять собой ОЗУ, ПЗУ, электрически стираемое программируемое ПЗУ, флэш-память или любой другой тип электрического, магнитного или оптического носителя, или любой другой носитель, который может быть использован для переноса или хранения желаемого программного кода в форме инструкций или структур данных, к которым может обращаться процессор компьютера общего назначения.
[75] Для ясности стоит отметить, что здесь описаны не все обычные свойства вариантов осуществления технологии. Следует иметь в виду, что при модификации какого-либо конкретного варианта осуществления технологии необходимо принять ряд специфичных для варианта осуществления решений для достижения конкретных целей разработчика, и эти конкретные цели будут различаться для различных вариантов осуществления и для различных разработчиков. Следует иметь в виду, что подобная разработка может быть сложной и затратной по времени, но, тем не менее, не будет представлять сложности для специалистов в данной области техники, обладающих преимуществом от прочтения настоящего описания.
[76] Кроме того, следует иметь в виду, что фразеология и терминология используется здесь в целях описания, а не ограничения, таким образом, терминология или фразеология настоящего описания должна интерпретироваться специалистами в данной области техники с учетом представленных здесь указаний и руководства в сочетании со знаниями специалистов в соответственной(ых) области(ях) техники. Более того, ни одному термину в описании или формуле не следует приписывать особого или специального значения, если явно не указано иное.
[77] Различные описанные здесь аспекты технологии охватывают нынешние и будущие известные эквиваленты известных модулей, указанных в данном описании в целях иллюстрации. Кроме того, несмотря на представленные и описанные варианты осуществления технологии и приложения, специалистам в данной области техники, обладающим преимуществом от прочтения настоящего описания, будет очевидно, что возможна реализация многих других вышеописанных модификаций без отступления от представленной здесь концепции осуществления технологии.