Способ сжатия вектора изображения

Иллюстрации

Показать все

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

Реферат

Область техники

[01] Описанные здесь способы и системы относятся к обработке цифровых изображений и, более конкретно, к сжатию их с потерями.

Уровень техники

[02] Сжатие изображений - процедура, обычно используемая для целей хранения и передачи данных изображений для уменьшения требуемой памяти и/или требуемой нагрузки на сеть. Сжатие и распаковка, однако, могут привести к потерям в качестве изображения. Процедура сжатия, в течение которой сжатое изображение теряет по меньшей мере некоторую информацию по сравнению с оригинальным изображением при сжатии, называется «сжатие с потерями».

[03] Автокодировщики - структуры для осуществления сжатия изображений с потерями. Стандартный автокодировщик представляет собой систему, состоящую из двух симметричных нейронных сетей, которые обычно обладают несколькими скрытыми уровнями. Первая нейронная сеть представляет собой кодирующую половину автокодировщика, а вторая нейронная сеть представляет собой декодирующую половину автокодировщика. Первая нейронная сеть может создавать сжатое изображение, а вторая нейронная сеть может затем использоваться для распаковки сжатого изображения, чтобы создавать изображение с потерями (англ. lossy image). Таким образом созданное сжатое изображение является приближенным к оригиналу изображением, хотя и сравнительно меньшего размера.

[04] Однако современные автокодировщики известного уровня техники обучены минимизировать общее расхождение между оригиналом и изображением с потерями, выведенным автокодировщиком. Другими словами, автокодировщик обычно обучен создавать изображение с потерями, которое в общем похоже на оригинальное.

Раскрытие

[05] Задачей предлагаемого технического решения является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники.

[06] Варианты осуществления настоящего технического решения были разработаны на основе предположения о том, что в определенных случаях применения алгоритмов сжатия и распаковки минимизация общего расхождения может быть неадекватной. Например, в определенных случаях может быть желательно выборочно минимизировать потери определенных характеристик изображения за счет повышения потерь других характеристик изображения.

[07] Например, когда изображение представляет собой фотографию местности с наземным трубопроводом, и изображения нужны для анализа топологических характеристик и/или характеристик расположения объектов, таких как трубы, может быть желательно сжать изображения, чтобы минимизировать объем памяти для хранения и/или требования нагрузки на сеть при передаче, в то же время сохраняя характеристики изображения, которые представляют эти топологические характеристики и/или характеристики расположения. И в самом деле, в некоторых случаях сохранение неважных характеристик изображений может не требоваться для их анализа и, следовательно, сохранение таких неважных характеристик изображения может потребовать больше объема памяти для хранения и дополнительно нагрузки на сеть при передаче сжатых изображений.

[08] В широком смысле варианты осуществления настоящего технического решения направлены на обучение автокодировщика на основе параметра расхождения, причем параметр расхождения был создан на основе сравнения (i) эталонного вектора целевых характеристик исходного изображения, созданного на основе конкретного алгоритма извлечения, который извлекает информацию о целевых характеристиках изображения из вектора оригинального изображения, (ii) вектора характеристик изображения с потерями, созданного на основе конкретного алгоритма извлечения, который извлекает информацию о целевых характеристиках изображения из вектора изображения с потерями, созданного после сжатия и распаковки вектора оригинального изображения.

[09] В некоторых вариантах осуществления настоящего технического решения предлагается компьютерный способ обучения автокодировщика сжатию вектора изображения. Вектор изображения включает в себя дополнительные характеристики изображения и целевые характеристики изображения. Способ выполняется на сервере и включает в себя создание сервером эталонного вектора целевых характеристик исходного изображения на основе вектора изображения. Эталонный вектор целевых характеристик исходного изображения включает в себя информацию о целевых характеристиках изображения из вектора изображения. Способ включает в себя сжатие сервером вектора изображения с помощью автокодировщика. Сжатие включает в себя определение сервером сжатого вектора изображений на основе вектора изображения. Способ включает в себя распаковку сервером сжатого вектора изображения с помощью автокодировщика. Распаковка сжатого вектора изображения включает в себя определение сервером вектора изображения с потерями на основе сжатого вектора изображения. Способ включает в себя создание сервером вектора целевых характеристик изображения с потерями на основе вектора изображения с потерями. Вектор целевых характеристик изображения с потерями включает в себя информацию о целевых характеристиках изображения из вектора изображения с потерями. Способ включает в себя сравнение сервером эталонного вектора целевых характеристик исходного изображения с вектором целевых характеристик изображения с потерями. Сравнение включает в себя определение сервером параметра расхождения, который представляет расхождение между информацией о целевых характеристиках изображения из вектора изображения и информацией о целевых характеристиках изображения из вектора изображения с потерями. Способ включает в себя использование сервером параметра расхождения для обучения автокодировщика. Технический результат заключается в обеспечении выборочной минимизации потери определенных характеристик изображения.

[10] В некоторых вариантах осуществления способа создание эталонного вектора целевых характеристик исходного изображения включает в себя обработку сервером вектора изображения с помощью алгоритма извлечения.

[11] В некоторых вариантах осуществления способа создание вектора целевых характеристик изображения с потерями включает в себя обработку сервером вектора изображения с потерями с помощью алгоритма извлечения.

[12] В некоторых вариантах осуществления способа вектор изображения с потерями включает в себя меньше информации о характеристиках изображения, чем вектор изображения.

[13] В некоторых вариантах осуществления способа автокодировщик применяет алгоритм сжатия для сжатия вектора изображения, а использование параметра расхождения для обучения автокодировщика включает в себя обучение сервером алгоритма сжатия таким образом, что это минимизирует потери целевых характеристик изображения за счет дополнительных характеристик изображения.

[14] В некоторых вариантах осуществления способа сравнение эталонного вектора целевых характеристик исходного изображения с вектором целевых характеристик изображения с потерями включает в себя ввод сервером эталонного вектора целевых характеристик исходного изображения и вектора целевых характеристик изображения с потерями в функцию сравнения.

[15] В некоторых вариантах осуществления способа целевые характеристики изображения идентифицируются оператором алгоритма извлечения на основе потенциального применения изображения, снятого устройством съемки изображений.

[16] В некоторых вариантах осуществления способа изображение будет потенциально применяться по меньшей мере либо при классификации, либо при фильтрации, либо при распознавании.

[17] В некоторых вариантах осуществления способа целевые характеристики изображения связаны по меньшей мере либо с классами классификации, либо с визуальными свойствами, либо с физическими свойствами, либо со свойствами расположения.

[18] В некоторых вариантах осуществления способа нейронная сеть осуществляет алгоритм извлечения.

[19] В некоторых вариантах осуществления настоящего технического решения предлагается компьютерный способ сжатия вектора изображения. Вектор изображения включает в себя дополнительные характеристики изображения и целевые характеристики изображения. Способ выполняется на сервере и включает в себя сжатие сервером вектора изображения с помощью автокодировщика. Сжатие включает в себя определение сервером сжатого вектора изображений на основе вектора изображения. Определение сжатого вектора изображения включает в себя применение автокодировщиком алгоритма сжатия. Способ включает в себя распаковку сервером сжатого вектора изображения с помощью автокодировщика. Распаковка включает в себя определение сервером вектора изображения с потерями на основе сжатого вектора изображения. Определение вектора изображения с потерями включает в себя применение автокодировщиком алгоритма распаковки. Алгоритм сжатия и алгоритм распаковки были обучены таким образом, что они минимизируют потери в характеристиках целевого изображения за счет дополнительных характеристик изображения. Вектор изображения с потерями включает в себя меньше дополнительных характеристик изображения, чем вектор изображения.

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

[21] В некоторых вариантах осуществления сервера сервер выполнен с возможностью обрабатывать вектор изображения с помощью алгоритма извлечения для создания эталонного вектора целевых характеристик исходного изображения.

[22] В некоторых вариантах осуществления сервера сервер выполнен с возможностью обрабатывать вектор изображения с потерями с помощью алгоритма извлечения для создания вектора целевых характеристик изображения с потерями.

[23] В некоторых вариантах осуществления сервера вектор изображения с потерями включает в себя меньше целевых характеристик изображения, чем вектор изображения.

[24] В некоторых вариантах осуществления сервера автокодировщик использует алгоритм сжатия для сервера, выполненного с возможностью сжимать вектор изображения. Использование параметра расхождения для обучения автокодировщика осуществляется сервером, выполненным с возможностью обучать алгоритм сжатия таким образом, что он минимизирует потери целевых характеристик изображения за счет дополнительных характеристик изображения.

[25] В некоторых вариантах осуществления сервера сервер выполнен с возможностью вводить эталонный вектор целевых характеристик исходного изображения и вектор целевых характеристик изображения с потерями в функцию сравнения для сравнения эталонного вектора целевых характеристик исходного изображения и вектора целевых характеристик изображения с потерями.

[26] В некоторых вариантах осуществления сервера целевые характеристики изображения идентифицируются оператором алгоритма извлечения на основе потенциального применения изображения, снятого устройством съемки изображений.

[27] В некоторых вариантах осуществления сервера изображение будет потенциально применяться по меньшей мере либо при классификации, либо при фильтрации, либо при распознавании.

[28] В некоторых вариантах осуществления сервера целевые характеристики изображения связаны по меньшей мере либо с классами классификации, либо с визуальными свойствами, либо с физическими свойствами, либо со свойствами расположения.

[29] В некоторых вариантах осуществления сервера нейронная сеть осуществляет алгоритм извлечения.

[30] В некоторых вариантах осуществления настоящего технического решения предлагается сервер для сжатия вектора изображения. Вектор изображения включает в себя дополнительные характеристики изображения и целевые характеристики изображения. Сервер выполнен с возможностью сжимать вектор изображения с помощью автокодировщика. Для сжатия сервер выполнен с возможностью определять сжатый вектор изображения на основе вектора изображения. Для определения сжатого вектора изображения сервер выполнен с возможностью применять, с помощью автокодировщика, алгоритм сжатия. Сервер выполнен с возможностью распаковывать сжатый вектор изображения с помощью автокодировщика. Для распаковки сервер выполнен с возможностью определять вектор изображения с потерями на основе сжатого вектора изображения. Для определения вектора изображения с потерями сервер выполнен с возможностью применять, с помощью автокодировщика, алгоритм распаковки. Алгоритм сжатия и алгоритм распаковки были обучены таким образом, что они минимизируют потери в характеристиках целевого изображения за счет дополнительных характеристик изображения. Вектор изображения с потерями включает в себя меньше дополнительных характеристик изображения, чем вектор изображения.

[31] В контексте настоящего описания, если конкретно не указано иное, «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для настоящего технического решения. В контексте настоящего технического решения использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами; оба варианта включены в выражение «по меньшей мере один сервер».

[32] В контексте настоящего описания, если конкретно не указано иное, «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Примерами клиентских устройств, среди прочего, являются персональные компьютеры (настольные компьютеры, ноутбуки и т.д.), смартфоны и планшеты. Следует иметь в виду, что устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.

[33] В контексте настоящего описания, если конкретно не указано иное, термин «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. В контексте настоящего описания слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными.

[34] В контексте настоящего описания, если конкретно не указано иное, термин «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).

[35] В контексте настоящего описания, если конкретно не указано иное, термин «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.

[36] В контексте настоящего описания, если четко не указано иное, «указание» информационного элемента может представлять собой сам информационный элемент или указатель, отсылку, ссылку или другой косвенный способ, позволяющий получателю указания найти сеть, память, базу данных или другой машиночитаемый носитель, из которого может быть извлечен информационный элемент. Например, указание файла может включать в себя сам файл (т.е. его содержимое), или же оно может являться уникальным дескриптором файла, идентифицирующим файл по отношению к конкретной файловой системе, или какими-то другими средствами передавать получателю указание на сетевую папку, адрес памяти, таблицу в базе данных или другое место, в котором можно получить доступ к файлу. Как будет понятно специалистам в данной области техники, степень точности, необходимая для такого указания, зависит от степени первичного понимания того, как должна быть интерпретирована информация, которой обмениваются получатель и отправитель указания. Например, если до передачи данных между отправителем и получателем понятно, что указание информационного элемента принимает вид ключа базы данных для записи в конкретной таблице заранее установленной базы данных, включающей в себя информационный элемент, то передача ключа базы данных - это все, что необходимо для эффективной передачи информационного элемента получателю, несмотря на то, что сам по себе информационный элемент не передавался между отправителем и получателем указания. Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты настоящей технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.

[37] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы.

Краткое описание чертежей

[38] Для лучшего понимания настоящего технического решения, а также других его аспектов и характерных черт, сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:

[39] На Фиг. 1 представлена схема системы для сжатия вектора изображения в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем;

[40] На Фиг. 2 представлена структура автокодировщика, причем автокодировщик является частью сервера обработки системы с Фигуры 1, как предусматривается в некоторых вариантах осуществления настоящего технического решения, не ограничивающих его объем;

[41] На Фиг. 3 представлена схема итерации обучения автокодировщика, как предусмотрено в некоторых вариантах осуществления настоящего технического решения;

[42] На Фиг. 4 представлена обработка вектора изображения автокодировщиком для создания вектора целевых характеристик изображения, как предусмотрено в некоторых вариантах осуществления настоящего технического решения; и

[43] На Фигуре 5 представлена блок-схема способа обучения автокодировщика сжатию вектора изображения, как предусмотрено в некоторых вариантах осуществления настоящего технического решения.

Осуществление

[44] На Фиг. 1 представлена принципиальная схема системы 100, выполненной в соответствии с вариантом осуществления настоящего технического решения, не ограничивающим его объем. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание иллюстративных вариантов осуществления настоящего технического решения. Таким образом, следующее описание должно рассматриваться только как описание иллюстративного варианта осуществления настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, те случаи, в которых не были представлены примеры модификаций, не должны интерпретироваться как то, что никакие модификации невозможны, и/или что то, что было описано, является единственным вариантом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящего технического решения, и в подобных случаях этот вариант представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.

[45] В некоторых вариантах осуществления настоящего технического решения система 100 может включать в себя устройство 102 съемки изображений, сервер 106 обработки, хранилище 108 обработки, клиентский сервер 112 и клиентское хранилище 114; все вышеперечисленное будет далее описано более подробно с использованием некоторых примерных вариантов осуществления настоящего технического решения. Как представлено на Фиг. 1, устройство 102 съемки изображений, сервер 106 обработки и клиентский сервер 112 функционально соединены через сеть 110.

[46] Реализация соединения через сеть 110 никак конкретно не ограничена и будет зависеть от того, какие устройства подключены к сети 110. В качестве неограничивающего примера, соединение сервера 106 обработки с сетью 110 может быть выполнено с помощью проводного соединения (например, соединение на основе сети Ethernet). В то же время другие устройства могут быть соединены другим способом. В тех примерах, где устройство 102 съемки изображений представляет собой беспроводное устройство связи (например, смартфон), соединение представляет собой беспроводную сеть передачи данных (например, среди прочего, линию передачи данных 3G, линию передачи данных 4G, беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п.).

[47] Как было упомянуто ранее, система 100 может включать в себя сервер 106 обработки и клиентский сервер 112. Любой из серверов - сервер 106 обработки и клиентский сервер 112 - может быть реализован как обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения сервер 106 обработки и/или клиентский сервер 112 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 106 обработки и/или клиентский сервер 112 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном неограничивающем варианте осуществления настоящего технического решения, и сервер 106 обработки, и клиентский сервер 112 являются одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих его объем, функциональность сервера 106 обработки и клиентского сервера 112 может быть разделена, и может выполняться с помощью нескольких серверов. В некоторых вариантах осуществления настоящего технического решения, сервер 106 обработки и клиентский сервер 112 может быть выполнен с возможностью сохранять машиночитаемые инструкции, и их использование упрощает достижение и/или выполнение некоторых или всех функциональностей настоящего технического решения.

[48] Варианты осуществления сервера 106 обработки и клиентского сервера 112 хорошо известны в данной области техники. Таким образом, достаточно отметить, что сервер 106 обработки и клиентский сервер 112 может включать в себя, среди прочего, интерфейсы сетевой связи (например, модем, сетевую карту и тому подобное) для двусторонней связи по сети 110; и процессоры (не изображены), соединенные с соответствующими интерфейсами сетевой связи, причем процессоры выполнены с возможностью выполнять различные процедуры, включая те, что описаны ниже. С этой целью процессоры могут сохранять и/или обладать доступом к машиночитаемым инструкциям, которые упоминались ранее.

[49] Как показано на Фиг. 1, хранилище 108 обработки функционально напрямую соединено с сервером 106 обработки, но в альтернативных вариантах осуществления настоящего технического решения хранилище 108 обработки может быть функционально соединено с сервером 106 обработки через сеть 110, что не является отклонением от настоящего технического решения. Несмотря на то что хранилище 108 обработки представлено здесь схематически как одиночный элемент, подразумевается, что хранилище 108 обработки может быть реализовано в распределенном виде, например, хранилище 108 обработки может обладать различными компонентами, каждый компонент выполнен под конкретный тип извлечения или хранения.

[50] Хранилище 108 обработки может представлять собой любой структурированный набор данных, не зависящий от конкретной структуры или аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом становятся доступны для использования. Хранилище 108 обработки может также находиться на том же оборудовании, что выполняет процесс, который сохраняет или использует информацию, хранящуюся в хранилище 108 обработки, или же оно может находиться на отдельном оборудовании, например, сервере 106 обработки. В общем случае хранилище 108 обработки получает данные от сервера 106 обработки и/или клиентского сервера 112 для их хранения и может предоставить сохраненные данные серверу 106 обработки и/или клиентскому серверу 112 для их использования.

[51] В некоторых вариантах осуществления настоящего технического решения клиентское хранилище 114 может быть (но не обязательно) выполнено аналогично хранилищу 108 обработки. В общем случае клиентское хранилище 114 получает данные от клиентского сервера 112 для их хранения и может предоставить сохраненные данные серверу 106 обработки и/или клиентскому серверу 112 для их использования.

[52] Устройство 102 съемки изображений может включать в себя оптический сенсор (например, прибор с зарядовой связью (ПЗС) или комплементарную структуру металл-оксид-полупроводник (КМОП) сенсора изображений), для упрощения функций камеры, например, съемки фотографий, видео и так далее. В общем случае устройство 102 съемки изображений может быть любым оптическим инструментом для съемки цифровых изображений, которые могут храниться локально, передаваться в другое место, или и то, и другое. Записанные и/или отснятые устройством 102 съемки изображений цифровые изображения могут быть индивидуальными фотоснимками или последовательностью изображений, которые можно охарактеризовать как видео. Цифровые изображения могут храниться локально или в другом месте как векторы изображений. Как будет понятно специалистам в данной области техники, устройство 102 съемки изображений может записывать и/или снимать изображения в видимом спектре и/или в других частях электромагнитного спектра. В общем, устройство 102 съемки изображений может быть любым оптическим устройством, которое создает единственное изображение объекта, кадр или их комбинацию, и записывает его на электронный датчик для хранения соответствующего вектора изображения, представляющего записанное изображение.

[53] В других вариантах осуществления настоящего технического решения устройство 102 съемки изображений может быть 3D-сканером, который позволяет создавать соответствующий вектор изображения, представляющий цифровое 3D изображение. В дополнительных вариантах осуществления настоящего технического решения устройство 102 съемки изображений может быть рентгеновским сканером, устройством съемки изображений для магнитно-резонансных исследований (MRI), устройством ультразвуковой съемки изображений, устройством лазерной съемки изображений и так далее. Другими словами, устройство 102 съемки изображений может быть любым электронным устройством, которое выполнено с возможностью создавать соответствующий вектор изображения, представляющий цифровое изображение, снятое на это устройство с помощью соответствующей техники съемки изображений или функции съемки.

[54] В некоторых вариантах осуществления настоящего технического решения устройство 102 съемки изображений может быть установлено на транспортном средстве, например, машине, самолете или беспилотном летательном аппарате (UAV) и так далее. Устройство 102 съемки изображений может включать в себя сетевой интерфейс (не изображен) для функционального соединения с сетью 110. В тех вариантах осуществления настоящего технического решения, в которых устройство 102 съемки изображений установлено на транспортном средстве, устройство 102 съемки изображений может обмениваться данными с сетью 110 по беспроводному соединению с этой сетью.

[55] В некоторых вариантах осуществления настоящего технического решения сервер 106 обработки может включать в себя автокодировщик 333, представленный на Фиг. 3. Исключительно с иллюстративными целями структура 200 автокодировщика 333 изображена на Фигуре 2 (структура 200 реализована в соответствии с вариантом осуществления настоящего технического решения). Так же известный, как автоассоциатор или сеть Diabolo, автокодировщик 333 является искусственной нейронной сетью, которая используется для кодировки данных, обычно с целью понижения размерности, и состоит из кодировщика 208 и декодера 210 (Фигура 2).

[56] Кодировщик 208 может включать в себя слой 212 ввода, скрытый слой 218 кодировщика 208 и слой 214 сжатого состояния. Следует отметить, что, хотя на Фигуре 2 кодировщик 208 изображен с одним скрытым слоем 218, кодировщик 208 может быть выполнен с множеством скрытых слоев в дополнительных вариантах осуществления настоящего технического решения. Декодер 210 может включать в себя слой 216 вывода, скрытый слой 220 декодера 210 и слой 214 сжатого состояния. Следует отметить, что, хотя на Фигуре 2 декодер 210 изображен с одним скрытым слоем 220, декодер 210 может быть выполнен с множеством скрытых слоев в дополнительных вариантах осуществления настоящего технического решения. В некоторых вариантах осуществления настоящего технического решения кодировщик 208 может включать в себя множество скрытых слоев, которое включает в себя такое же количество скрытых слоев, что и множество скрытых слоев декодера 210.

[57] В общем случае автокодировщик 333 может быть выполнен как модель обучения без учителя и нейронная сеть с прогнозированием событий и без обратной связи. Каждый слой автокодировщика 333 может включать в себя несколько нод, причем ноды действуют как элементы обработки или блоки обработки, которые соединены друг с другом с образованием сети. Слой 212 ввода, единственный пример скрытого слоя 218 кодировщика 208, слой 214 сжатого состояния, единственный пример скрытого слоя 220 декодера 210 и слой 216 вывода включают в себя ноды, которые соединены друг с другом с помощью взвешенных соединений с образованием сети, которая является автокодировщиком 333. В некоторых вариантах осуществления настоящего технического решения слой 212 ввода кодировщика 208 может иметь такое же число нод, что и слой 216 вывода декодера 210. В дополнительных вариантах осуществления настоящего технического решения автокодировщик 333 является симметричным, что означает, что декодер 210 реализован как зеркальное отображение кодировщика 208.

[58] В некоторых вариантах осуществления настоящего технического решения сервер 106 обработки может быть выполнен с возможностью вводить первый вектор 202 изображения в слой 212 ввода кодировщика 208 с помощью операции 250 ввода. В результате кодировщик 208 может быть выполнен с возможностью применения алгоритма сжатия (т.е. представленный взвешенными соединениями между различными слоями кодировщика 208) для определения первого сжатого вектора 204 изображения. Первый сжатый вектор 204 изображения может быть выведен автокодировщиком 333 из слоя 214 сжатого состояния. Другими словами, кодировщик 208 может быть выполнен с возможностью выводить первый сжатый вектор 204 изображения с помощью операции 260 сжатого вывода из слоя 214 сжатого состояния. И операция 250 ввода, и операция 260 сжатого вывода могут быть выполнены с использованием известных способов.

[59] В некоторых вариантах осуществления настоящего технического решения и операция 250 ввода, и операция 260 сжатого вывода могут быть инициированы сервером 106 обработки. Первый сжатый вектор 204 изображения может сохраняться сервером 106 обработки в хранилище 108 обработки. В другом варианте осуществления настоящего технического решения сервер 106 обработки может быть выполнен с возможностью передавать информацию о первом сжатом векторе 204 изображения на клиентский сервер 112, который может хранить первый вектор компактного изображения в клиентском хранилище 114.

[60] В других вариантах осуществления настоящего технического решения автокодировщик 333 может быть выполнен с возможностью обрабатывать первый сжатый вектор 204 изображения. Другими словами, первый сжатый вектор 204 изображения может быть введен в слой 214 сжатого состояния с помощью операции 270 сжатого ввода, и декодер 210 может быть выполнен с возможностью применять к нему алгоритм распаковки (т.е. представленный взвешенными соединениями между различными слоями декодера 210) для определения первого вектора 206 изображения с потерями. Первый вектор 206 изображения с потерями может быть выведен автокодировщиком 333 с помощью слоя 216 вывода. Другими словами, декодер 210 может быть выполнен с возможностью выводить из слоя 216 вывода первый вектор 206 изображения с потерями с помощью операции 280 вывода.

[61] В некоторых вариантах осуществления настоящего технического решения и операция 270 сжатого ввода, и операция 280 вывода могут быть инициированы сервером 106 обработки.

[62] В некоторых вариантах осуществл