СПОСОБ СЖАТИЯ ВЕКТОРА ИЗОБРАЖЕНИЯ
METHOD OF COMPRESSION OF IMAGE VECTOR

Область техники
[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] В некоторых вариантах осуществления настоящего технического решения первый вектор 206 изображения с потерями может сохраняться сервером 106 обработки в хранилище 108 обработки. Дополнительно или альтернативно сервер 106 обработки может быть выполнен с возможностью передавать информацию о первом векторе 206 изображения с потерями на клиентский сервер 112, для хранения в клиентском хранилище 114.
[63] Первый сжатый вектор 204 изображения требует меньше памяти для хранения, чем первый вектор 202 изображения, поскольку первый меньше по размеру, чем последний. Например, первый сжатый вектор 204 изображения может потребовать в 5, 10, 20 или 100 раз (т.е. коэффициент сжатия) меньше памяти для хранения, чем первый вектор 202 изображения. В некоторых вариантах осуществления настоящего технического решения коэффициент сжатия кодировщика 208 может быть пропорциональным отношению между числом нод в слое 212 ввода и числом нод в слое 214 сжатого состояния.
[64] В некоторых вариантах осуществления настоящего технического решения коэффициент сжатия кодировщика 208 и коэффициент распаковки декодера 210 идентичны. Это означает, что кодировщик 210 может распаковывать первый сжатый вектор 204 изображения для вывода первого вектора 206 изображения с потерями с коэффициентом распаковки, идентичным коэффициенту сжатия, с которым кодировщик 208 сжимает первый вектор 202 изображения для создания первого сжатого вектора 204 изображения.
[65] Следует отметить, что первый вектор 206 изображения с потерями, выведенный декодером 210, может иметь меньше информации по сравнению с первым вектором 202 изображения после сжатия первого вектора 202 изображения кодировщиком 208 и после распаковки первого сжатого вектора 204 изображения декодером 210. Как будет описано ниже, в соответствии с вариантами осуществления настоящего технического решения автокодировщик 333 может быть обучен таким образом, что потеря информации в первом векторе 206 изображения с потерями происходит за счет дополнительных характеристик изображения первого вектора 202 изображения или первого вектора 206 изображения с потерями. Другими словами, варианты осуществления настоящего технического решения нацелены на выборочное сжатие автокодировщиком 333. Другими словами, автокодировщик 333 обучен сжимать вектор изображения таким образом, что потери информации, связанные с целевой характеристикой (или с целевыми характеристиками) по меньшей мере минимизируются за счет потенциально повышенных потерь информации, связанных с дополнительной(ими) характеристикой(ами) изображения, которые могут быть всеми другими характеристиками, не являющимися целевой характеристикой (целевыми характеристиками).
[66] Кроме того, как будет далее описано ниже, в некоторых вариантах осуществления настоящего технического решения автокодировщик 333 может быть обучен сжимать и распаковывать первый вектор 202 изображения для минимизации потерь целевых характеристик изображения за счет дополнительных характеристик изображения первого вектора 202 изображения.
[67] Как было упомянуто выше, данный вектор изображения может представлять данное цифровое изображение, которое хранится как данный вектор изображения. Таким образом, первый вектор 202 изображения представляет первое цифровое изображение (не изображено). В дальнейших вариантах осуществления настоящего технического решения слой 212 ввода может включать в себя несколько нод, идентичных числу пикселей в первом цифровом изображении, представленном первым вектором 202 изображения. Например, если первый вектор 202 включает в себя количество измерений, равное числу пикселей в первом цифровом изображении, причем каждое измерение первого вектора 202 изображения может быть назначено соответствующей ноде в слое 212 ввода кодировщика 208. Кодировщик 208 может быть создан таким образом, что слой 212 ввода включает в себя количество нод, идентичное числу измерений первого вектора 202 изображений и/или любого другого вектора изображения, который может быть введен в кодировщик 208.
[68] В некоторых вариантах осуществления настоящего технического решения сервер 106 может быть выполнен с возможностью получать первый пакет 150 данных от клиентского сервера 112 по сети 110, как изображено на Фигуре 1. Клиентский сервер 112 может создавать первый пакет 150 данных. В общем случае первый пакет 150 данных может включать в себя данные для обучения автокодировщика 333, реализуемого на сервере 106 обработки. Первый пакет 150 данных может включать в себя набор обучающих векторов изображения (не изображены) и алгоритм 304 извлечения (изображенный на Фигуре 3). В дополнительных вариантах осуществления настоящего технического решения набор обучающих векторов изображения (не изображен) и алгоритм 304 извлечения может быть извлечен клиентским сервером 112 из клиентского хранилища 114 для создания первого пакета 150 данных. В другом варианте осуществления настоящего технического решения набор обучающих векторов и алгоритм 304 извлечения могут храниться в хранилище 108 обработки, и сервер 106 обработки может извлекать их оттуда для обучения автокодировщика 333.
[69] В другом варианте осуществления настоящего технического решения обучающие векторы изображения в наборе обучающих векторов изображения (не изображены) могут представлять соответствующие обучающие цифровые изображения, ранее снятые устройством 102 съемки изображений, изображенным на Фигуре 1. В таком случае устройство 102 съемки изображений могло отправить исходный пакет 111 данных, включающий в себя набор обучающих векторов изображения клиентскому серверу 112 по сети 110 для хранения в клиентском хранилище 114. В других вариантах осуществления настоящего технического решения исходный пакет 111 данных мог быть отправлен серверу 106 обработки для хранения набора обучающих векторов изображения в хранилище 108 обработки. В некоторых вариантах осуществления настоящего технического решения набор обучающих векторов изображения мог быть предварительно выбран экспертом перед сохранением на клиентском хранилище 114 и/или хранилище 108 обработки. В дополнительном варианте осуществления настоящего технического решения обучающие векторы изображений могут быть извлечены из других источников, отличающихся от устройства 102 съемки изображений, клиентским сервером 112 и/или сервером 106 обработки.
[70] В общем случае, алгоритм 304 извлечения выполнен с возможностью извлекать информацию о целевых характеристиках изображения первого вектора 202 изображения. Первый вектор 202 изображения может включать в себя множество характеристик изображения. В общем случае множество характеристик изображения может включать в себя дополнительные характеристики изображения и целевые характеристики изображений. В некоторых вариантах осуществления сервера целевая(ые) характеристика(и) изображения идентифицируется(ются) оператором алгоритма 304 извлечения на основе конкретного применения изображения, снятого устройством 102 съемки изображений. Другими словами, целевые характеристики изображения являются конкретными характеристиками изображения первого вектора 202 изображения, которые рассматриваются как релевантные для конкретного применения снятых изображений. В некоторых вариантах осуществления настоящего технического решения дополнительные характеристики изображения могут быть всеми характеристиками изображения в множестве характеристик изображения данного цифрового изображения, которые не рассматриваются как значимые для конкретного применения снятых изображений.
[71] Например, в случае, когда снятые изображения будут применяться в приложениях классификации (т.е., к примеру, для классификации данного изображения на основе присутствия или отсутствия конкретного отснятого объекта,), оператор может настроить алгоритм 304 извлечения таким образом, что он извлекает целевые характеристики изображения, связанные с такими классами, как: (i) присутствие человека, (ii) присутствие кота, (iii) присутствие трубопровода, (iv) присутствие дороги, (v) присутствие городской местности, (vi) вероятность появления лица, изображенного на данном цифровом изображении, представленном соответствующим данным вектором изображения, из которого алгоритм 304 извлечения может извлекать информацию о целевых характеристиках изображения данного вектора изображения. В некоторых вариантах осуществления настоящего технического решения реализовывать алгоритм 304 извлечения может дополнительная нейронная сеть, в том случае, когда дополнительная нейронная сеть была обучена извлекать целевые характеристики изображения. В различных приложениях классификации могут быть предусмотрены дополнительные классы, отличающиеся от тех, что представлены выше, без отклонения от объема настоящего технического решения.
[72] В другом примере, в случае, когда снятые изображения будут применяться в приложениях фильтрации (т.е. для фильтрации данного изображения на основе, к примеру, качества данного изображения), оператор может настроить алгоритм 304 извлечения таким образом, что он извлекает целевые характеристики изображения, связанные с такими визуальными качествами цифрового изображения, как: (i) яркость, (ii) текстура, (iii) контраст, (iv) интенсивность, (v) параметры цвета данного цифрового изображения, представленного данным вектором изображения, из которого алгоритм 304 извлечения может извлекать информацию о целевых характеристиках изображения данного вектора изображения. В различных приложениях фильтрации могут быть предусмотрены дополнительные визуальные качества, отличающиеся от тех, что представлены выше, без отклонения от объема настоящего технического решения.
[73] В дополнительном примере, в случае, когда снятые изображения будут применяться в приложениях распознавания и определения (т.е. для определения конкретного объекта на изображении или в связи с объектом, снятым на изображении), оператор может настроить алгоритм 304 извлечения таким образом, что он извлекает целевые характеристики изображения, связанные с такими физическими качествами или качествами расположения, присущими цифровому изображению, как: (i) прозрачность, (ii) температура, определенная из записанных длин волн в данном цифровом изображении, (iii) размер объекта на изображении, (iv) относительный размер объекта по отношению к размеру другого объекта на данном цифровом изображении, (v) расположение объекта, (vi) относительное расположение объекта по отношению к расположению другого объекта на данном цифровом изображении, представленном данным вектором изображения, из которого алгоритм 304 извлечения может извлекать информацию о целевых характеристиках изображения данного вектора изображения. В различных приложениях фильтрации могут быть предусмотрены дополнительные физические качества или качества расположения, отличающиеся от тех, что представлены выше, без отклонения от объема настоящего технического решения.
[74] В некоторых вариантах осуществления настоящего технического решения оператор может настроить алгоритм 304 извлечения на создание соответствующего вектора целевых характеристик изображения для каждого данного вектора изображения, введенного в алгоритм 304 извлечения. Например, с учетом Фигуры 4, конкретный вектор 406 целевых характеристик изображения может быть выведен конкретным алгоритмом 440 извлечения на основе конкретного вектора 402 изображения, и конкретный вектор 406 целевых характеристик изображения включает в себя информацию о целевых характеристиках изображения в конкретном векторе 402 изображения. В широком смысле конкретный вектор 406 целевых характеристик изображения представляет целевые характеристики изображения, которые рассматриваются как релевантные для данного применения, на предмет возможности которого конкретный вектор 402 изображения анализируется.
[75] Допустим, в этом случае конкретный вектор 402 изображения представляет конкретное изображение 404. Конкретное изображение 404 и информация о целевых характеристиках изображения вектора 402 изображения схематически показаны на Фигуре 4 исключительно с целью иллюстрации. В некоторых вариантах осуществления настоящего технического решения в конкретный алгоритм 440 извлечения может быть введено большое количество векторов изображения на основе того, как оператор настроил конкретный алгоритм 440 извлечения. Конкретный вектор 402 извлечения, введенный в конкретный алгоритм 440 извлечения может быть, например, матрицей или тензором. В других вариантах осуществления настоящего технического решения вместо того, чтобы быть представленной как вектор (1×N), как на Фигуре 4, информация о целевых характеристиках изображения конкретного вектора 402 изображения может быть представлена как матрица или тензор.
[76] В примере, приведенном на Фигуре 4, конкретный алгоритм 440 извлечения может быть настроен на извлечение конкретного вектора 406 целевых характеристик изображения, включающего в себя информацию о некоторых или всех следующих целевых характеристиках изображения:
• Вероятность присутствия человеческого лица на конкретном изображении 404, причем информация об этом хранится в измерении 410 конкретного вектора 406 целевых характеристик изображения;
• Присутствие кота на конкретном изображении 404, причем информация об этом хранится в измерении 412 конкретного вектора 406 целевых характеристик изображения;
• Присутствие собаки на конкретном изображении 404, причем информация об этом хранится в измерении 414 конкретного вектора 406 целевых характеристик изображения;
• Расположение квадрата на конкретном изображении 404, причем информация об этом хранится в измерениях 416, 418, 420 и 422 конкретного вектора 406 целевых характеристик изображения;
• Параметр текстуры конкретного изображения 404, причем информация об этом хранится в измерении 424 конкретного вектора 406 целевых характеристик изображения;
• Градиент яркости конкретного изображения 404, причем информация об этом хранится в измерении 426 конкретного вектора 406 целевых характеристик изображения; и
• Другие целевые характеристики изображения 404, причем информация о них хранится в измерении 428 конкретного вектора 406 целевых характеристик изображения.
[77] Конкретный алгоритм 440 извлечения может определить, что вероятность присутствия человеческого лица на конкретном изображении 404 составляет 40,7%, и это значение сохраняется в измерении 410. Конкретный алгоритм 440 извлечения может определить, что присутствие кота на конкретном изображении 404 подтверждено, и следовательно, в измерении 412 сохраняется значение 1. Алгоритм 304 извлечения может определить, что присутствие собаки на конкретном изображении 404 не подтверждено (т.е. указание на отсутствие собаки на конкретном изображении 404), и следовательно, в измерении 414 сохраняется значение 0. Алгоритм извлечения может определить, что расположение квадрата на конкретном изображении 404 определяется положением А, В, С, D, и эти значения положения сохраняются в измерениях 416, 418, 420 и 422, соответственно. Конкретный алгоритм 440 извлечения может определить, что параметр текстуры конкретного изображения 404 представлен значением X, которое сохраняется в измерении 424. Конкретный алгоритм 440 извлечения может определить, что градиент яркости конкретного изображения 404 представлен значением Y, которое сохраняется в измерении 426.
[78] Следовательно, предусматривается, что в некоторых вариантах осуществления настоящего технического решения конкретный вектор 406 целевых характеристик изображения может включать в себя по меньшей мере одно измерение, которое указывает двоичное значение (т.е. измерения 412 и 414). В других вариантах осуществления настоящего технического решения конкретный вектор 406 целевых характеристик изображения может включать в себя по меньшей мере одно измерение, которое указывает значение в процентах (т.е. измерение 410). В дополнительных вариантах осуществления настоящего технического решения информация по меньшей мере об одной целевой характеристике изображения может быть представлена более чем одним измерением в конкретном векторе 406 целевых характеристик изображения (т.е. положение квадрата на конкретном изображении 404 представлено измерениями 416, 418, 420 и 422). Следует отметить, что конкретный вектор 406 целевых характеристик изображения может включать в себя измерения 428, которые представляют информацию о других целевых характеристиках изображения с другими типами значений, отличающимися от тех, что представлены выше, без отклонения от объема настоящего технического решения.
[79] В других вариантах осуществления настоящего технического решения после получения сервером 106 обработки первого пакета 150 данных, сервер 106 обработки может хранить набор обучающих векторов изображения и алгоритм 304 извлечения в хранилище 108 обработки. Дополнительно или альтернативно сервер 106 обработки может быть выполнен с возможностью выполнять обучающую итерацию автокодировщика 333.
[80] На Фиг. 3 представлена схема 300 обучающей итерации автокодировщика 333. Обучающий вектор 302 изображения может быть выбран сервером 106 обработки в наборе обучающих векторов, полученных от клиентского сервера 112. Обучающий вектор 302 изображения может быть введен в автокодировщик 333 с помощью операции 250 ввода и в алгоритм 304 извлечения с помощью стандартной операции 350 извлечения ввода. В некоторых вариантах осуществления настоящего технического решения сервер 106 обработки может быть выполнен с возможностью выполнять операцию 250 ввода и стандартную операцию 350 извлечения ввода одновременно. Однако в других вариантах осуществления настоящего технического решения предусматривается, что сервер 106 обработки может быть выполнен с возможностью выполнять операцию 250 ввода и стандартную операцию 350 извлечения ввода последовательно. Например, сервер 106 обработки может быть выполнен с возможностью выполнения стандартной операции 350 извлечения ввода в ответ на выполнение операции 280 вывода.
[81] Сервер 106 может быть выполнен с возможностью, в результате выполнения стандартной операции 350 извлечения ввода, создавать эталонный вектор 310 целевых характеристик исходного изображения на основе обучающего вектора 302 изображения. Как пояснялось выше, эталонный вектор 310 целевых характеристик исходного изображения может включать в себя информацию о целевых характеристиках изображения из вектора 302 изображения.
[82] Сервер 106 обработки может быть выполнен с возможностью, в результате выполнения операции 250 ввода, сжимать обучающий вектор 302 изображения с помощью автокодировщика 333 (т.е. кодировщика 208). Сервер 106 обработки может быть выполнен с возможностью определять обучающий сжатый вектор изображения (не изображен) на основе обучающего вектора 302 изображения. В некоторых вариантах осуществления настоящего технического решения в течение обучающей итерации сервер 106 обработки может быть выполнен с возможностью не выводить обучающий сжатый вектор изображения. Вместо этого сервер 106 обработки может быть выполнен с возможностью распаковывать обучающий сжатый вектор изображения с помощью декодера 210 автокодировщика 333 следом за определением этого вектора. В результате распаковки сервер 106 обработки может быть выполнен с возможностью определять обучающий вектор 306 изображения с потерями на основе обучающего сжатого вектора изображения. Обучающий вектор 306 изображения с потерями может быть выведен сервером 106 обработки из автокодировщика 333 с помощью операции 280 вывода.
[83] В некоторых вариантах осуществления настоящего технического решения сервер 106 обработки может быть выполнен с возможностью выполнять операцию 380 извлечения ввода с потерями с помощью ввода обучающего вектора 306 изображения с потерями в алгоритм 304 извлечения. Аналогично обработке обучающего вектора 302 изображения с помощью алгоритма 304 извлечения сервер 106 обработки может быть выполнен с возможностью создавать с помощью алгоритма 304 извлечения вектор 312 целевых характеристик изображения с потерями на основе обучающего вектора 306 изображения с потерями. Как пояснялось выше, вектор 312 целевых характеристик изображения с потерями может включать в себя информацию о целевых характеристиках изображения из обучающего вектора 306 изображения с потерями.
[84] В соответствии с вариантами осуществления настоящего технического решения сервер 106 обработки может быть выполнен с функцией 314 сравнения для обучения автокодировщика 333. В общем случае функция 314 сравнения выполнена с возможностью сравнивать два данных вектора для создания значения, которое представляет расхождение между двумя данными векторами. Функция 314 сравнения может, например: (i) вычитать первый вектор из второго вектора в случае наличия двух данных векторов, (ii) определять эвклидово расстояние между двумя данными векторами, (iii) выполнять любой другой известный способ определения того, насколько несхожи два данных вектора друг с другом. Специалист в данной области техники поймет, что варианты осуществления функции 314 сравнения могут различаться на основе структуры двух данных векторов (например, вектор, матрица, тензор и так далее).
[85] В некоторых вариантах осуществления настоящего технического решения сервер 106 обработки может быть выполнен с возможностью вводить эталонный вектор 310 целевых характеристик исходного изображения и вектор 312 целевых характеристик изображения с потерями в функцию 314 сравнения. Функция 314 сравнения может сравнивать эталонный вектор 310 целевых характеристик исходного изображения и вектор 312 целевых характеристик изображения с потерями. Функция 314 сравнения может быть выполнена с возможностью определять параметр 316 расхождения, который представляет расхождение между информацией о целевых характеристиках изображения из обучающего вектора 302 изображения и информацией о целевых характеристиках изображения из обучающего вектора 306 изображения с потерями.
[86] В дополнительных вариантах осуществления настоящего технического решения сервер 106 обработки может быть выполнен с возможностью выполнять соответствующую обучающую итерацию для каждого обучающего вектора изображения в наборе обучающих векторов, аналогично тому, как сервер 106 обучения может выполнять обучающую итерацию, описанную выше.
[87] В некоторых вариантах осуществления настоящего технического решения использование соответствующего параметра расхождения обучающих итераций для обучения автокодировщика 333 может дать возможность серверу 106 обработки обучать автокодировщик 333 минимизировать потери целевых характеристик изображения за счет дополнительных характеристик изображения данного далее введенного в автокодировщик 333 вектора изображения. Например, сервер 106 обработки может быть выполнен с возможностью модифицировать алгоритм сжатия и алгоритм распаковки на основе каждого параметра расхождения для итерационного обучения автокодировщика 333. В некоторых вариантах осуществления настоящего технического решения каждый параметр расхождения может быть введен в автокодировщик 333 сервером 106 обработки для воздействия на его обучение. Другими словами, данный в последствии введенный вектор изображения может быть сжат кодировщиком 208 в данный последующий сжатый вектор изображения таким образом, что данный последующий сжатый вектор изображения распаковывается декодером 210, данный последующий вектор изображения с потерями может потерять меньше информации о целевых характеристиках изображения, чем если бы он был введен в автокодировщик, обученный обычным способом (например, автокодировщик, обученный в соответствии с общеизвестными способами).
[88] В некоторых вариантах осуществления настоящего технического решения сервер 106 обработки может быть выполнен с возможностью исполнять способ 500 (представленный на Фиг. 5) обучения автокодировщика 333 сжатию данного вектора изображения. Различные этапы способа 500 будут описаны далее более подробно.
ЭТАП 502: создание эталонного вектора целевых характеристик исходного изображения на основе вектора изображения
[89] Способ 500 начинается на этапе 502, на котором сервер 106 обработки создает эталонный вектор 310 целевых характеристик исходного изображения на основе обучающего вектора 302 изображения (изображен на Фигуре 3). Эталонный вектор 310 целевых характеристик исходного изображения может включать в себя информацию о целевых характеристиках изображения из обучающего вектора 302 изображения. Как было упомянуто выше, целевая(ые) характеристика(и) изображения может(гут) быть предварительно определена(ы) оператором системы 100.
[90] В некоторых вариантах осуществления настоящего технического решения эталонный вектор 310 целевых характеристик исходного изображения может быть создан сервером 106 обработки с помощью алгоритма 304 извлечения. Эталонный вектор 310 целевых характеристик исходного изображения может быть создан сервером 106 обработки после инициации стандартной операции 350 извлечения ввода. Целевые характеристики изображения обучающего вектора 302 обучения могут быть определены оператором алгоритма 304 извлечения на основе потенциального применения, с учетом которого автокодировщик 333 обучается.
ЭТАП 504: сжатие вектора изображения с помощью автокодировщика
[91] Способ 500 продолжается на этапе 504, на котором сервер 106 обработки сжимает обучающий вектор 302 изображения с помощью автокодировщика 333. В некоторых вариантах осуществления настоящего технического решения сжатие обучающего вектора 302 изображения включает в себя определение сервером 106 обработки обучающего сжатого вектора изображения на основе обучающего вектора 302 изображения.
[92] Сервер 106 обработки может сжимать обучающий вектор 302 с помощью ввода обучающего вектора 302 изображения в слой 212 ввода кодировщика 208 (изображен на Фигуре 2). Сервер 106 обработки может выводить обучающий сжатый вектор изображения из слоя 214 сжатого состояния кодировщика 208.
[93] Обучающий сжатый вектор изображения может требовать меньшего объема памяти, чем обучающий вектор 302 изображения, изображенный на Фигуре 3. Например, обучающий сжатый вектор изображения может потребовать в 5, 10, 20 или 100 раз (т.е. коэффициент сжатия) меньше памяти для хранения, чем обучающий вектор 302 изображения, изображенный на Фигуре 3.
ЭТАП 506: распаковка сжатого вектора изображения с помощью автокодировщика
[94] Способ 500 продолжается на этапе 506, на котором сервер 106 обработки распаковывает сжатый обучающий вектор изображения с помощью автокодировщика 333. В некоторых вариантах осуществления настоящего технического решения распаковка сжатого обучающего вектора изображения включает в себя определение сервером 106 обработки обучающего вектора изображения с потерями на основе сжатого обучающего вектора изображения. В другом варианте осуществления настоящего технического решения определение обучающего вектора 306 изображения с потерями может включать в себя сервер 106 обработки, инициирующий операцию 280 вывода.
[95] В другом варианте осуществления настоящего технического решения обучающий вектор 306 изображения с потерями может иметь меньше информации о целевых характеристиках изображения, чем обучающий вектор 302 изображения.
ЭТАП 508: создание вектора целевых характеристик изображения с потерями на основе вектора изображения с потерями
[96] Способ 500 продолжается на этапе 508, на котором сервер 106 обработки создает вектор 312 целевых характеристик изображения с потерями на основе обучающего вектора 306 изображения с потерями. Вектор 312 целевых характеристик изображения с потерями может включать в себя информацию о целевых характеристиках изображения из обучающего вектора 306 изображения с потерями. В некоторых вариантах осуществления настоящего технического решения вектор 312 целевых характеристик изображения с потерями может быть создан сервером 106 обработки с помощью алгоритма 304 извлечения.
ЭТАП 510: сравнение эталонного вектора целевых характеристик исходного изображения с вектором целевых характеристик изображения с потерями
[97] Способ 500 продолжается на этапе 510, на котором сервер 106 обработки сравнивает эталонный вектор 310 целевых характеристик исходного изображения с вектором 312 целевых характеристик изображения с потерями. В некоторых вариантах осуществления настоящего технического решения сервер 106 обработки может быть выполнен с возможностью сравнивать эталонный вектор 310 целевых характеристик исходного изображения и вектор 312 целевых характеристик изображения с потерями, вводя их в функцию 314 сравнения. Функция 314 сравнения может быть основана на структуре эталонного вектора 310 целевых характеристик исходного изображения и вектора 312 целевых характеристик изображения с потерями.
[98] В других вариантах осуществления настоящего технического решения функция 314 сравнения может определять параметр 316 расхождения, который представляет расхождение между информацией о целевых характеристиках изображения из обучающего вектора 302 изображения и информацией о целевых характеристиках изображения из обучающего вектора 306 изображения с потерями.
ЭТАП 512: использование параметра расхождения для обучения автокодировщика
[99] Способ 500 заканчивается на этапе 512, на котором сервер 106 обработки использует параметр 316 расхождения для обучения автокодировщика 333. Другими словами, обучающая итерация автокодировщика может закончиться тем, что сервер 106 обработки модифицирует алгоритм сжатия кодировщика 208 и алгоритм распаковки декодера 210 с помощью параметра 316 расхождения, вводя параметр расхождения в автокодировщик 333.
[100] В некоторых вариантах осуществления настоящего технического решения использование параметра 316 расхождения для обучения автокодировщика 333 может дать возможность серверу 106 обработки обучать автокодировщик 333 минимизировать потери целевых характеристик изображения за счет дополнительных характеристик изображения данного далее введенного в автокодировщик 333 вектора изображения. Другими словами, обучение автокодировщика 333 с помощью параметра 316 расхождения может дать возможность серверу 106 обработки обучать автокодировщик 333 избирательно контролировать потери целевых характеристик изображения во множестве характеристик изображения данного далее введенного в автокодировщик 333 вектора изображения. Автокодировщик 333 может сжимать и распаковывать данный далее введенный вектор изображения контролируемым способом, причем потери целевых характеристик изображения минимизированы за счет дополнительных характеристик изображения.
[101] В некоторых вариантах осуществления настоящего технического решения сервер 106 обработки может быть выполнен с возможностью отправлять второй пакет 170 данных (Фигура 1) по сети 110 клиентскому серверу 112. Второй пакет 170 данных может включать в себя декодер 210 автокодировщика 333, обученный способом 500. В других вариантах осуществления настоящего технического решения второй пакет 170 данных может включать в себя автокодировщик 333 (кодировщик 208 и декодер 210), обученные способом 500.
[102] В дополнительных вариантах осуществления настоящего технического решения сервер 106 обработки может быть выполнен с возможностью отправлять третий пакет 180 данных устройству 102 съемки изображений. Третий пакет 180 данных может включать в себя кодировщик 208 автокодировщика 333, обученный способом 500.
[103] Устройство 102 съемки изображений может быть выполнено с возможностью снимать с помощью своей функции съемки набор векторов изображения (не изображен). В дополнительных вариантах осуществления настоящего технического решения сервер 106 обработки может быть выполнен с возможностью отправлять четвертый пакет 160 данных от устройства 102 съемки изображений по сети 110. Четвертый пакет 160 данных может включать в себя набор векторов изображения (не изображен). Набор векторов изображения может включать в себя векторы изображения, которые требуют обработки сервером 106 обработки. В некоторых вариантах осуществления настоящего технического решения обработка сервером 106 обработки может включать в себя сжатие каждого вектора изображения в наборе векторов изображения с помощью автокодировщика 333 для вывода соответствующего сжатого вектора изображения для каждого вектора изображения, введенного в автокодировщик 333. Эти соответствующие сжатые векторы изображений могут затем сохраняться сервером 106 обработки в хранилище 108 обработки. Сервер 106 обработки может быть выполнен с возможностью передавать информацию об этих сжатых векторах обработки на клиентский сервер 112. В результате клиентский сервер 112 может хранить сжатые вектора изображения в клиентском хранилище 114.
[104] В некоторых вариантах осуществления настоящего технического решения устройство 102 съемки изображений может передавать четвертый пакет 160 данных по сети 110 клиентскому серверу 112 для обработки набора векторов изображения, хранящихся в нем. Обработка клиентским сервером 112 может включать в себя сжатие каждого вектора изображения в наборе векторов изображения с помощью автокодировщика 333 для вывода соответствующего сжатого вектора изображения для каждого вектора изображения, введенного в автокодировщик 333.
[105] В других вариантах осуществления настоящего технического решения устройство 102 съемки изображений может быть выполнено с возможностью сжимать каждый вектор изображения в наборе векторов изображения с помощью кодировщика 208 для вывода соответствующего сжатого вектора изображения для каждого вектора изображения, введенного в кодировщик 208. В этом случае четвертый пакет 160 данных может включать в себя информацию о соответствующем сжатом векторе изображения, выведенном кодировщиком в устройстве 102 съемки изображений.
[106] В некоторых вариантах осуществления настоящего технического решения сервер 106 обработки и/или клиентский сервер 112 и/или устройство 102 съемки изображений может быть выполнено с возможностью выполнять способ сжатия данного вектора изображения.
[107] Способ (не изображен) сжатия данного вектора изображения может включать в себя сжатие кодировщиком 208, обученным способом 500, данного вектора изображения. В некоторых вариантах осуществления настоящего технического решения сжатие данного вектора изображения кодировщиком 208, обученным способом 500, может включать в себя определение соответствующего сжатого вектора изображения на основе данного вектора изображения. Определение соответствующего сжатого вектора изображения может включать в себя применение алгоритма сжатия кодировщика 208, обученного способом 500.
[108] Способ сжатия данного вектора изображения может также включать в себя распаковку декодером 210, обученным способом 500, соответствующего сжатого вектора изображения. Распаковка соответствующего сжатого вектора изображения кодировщиком 210, обученным способом 500, может включать в себя определение соответствующего вектора изображения с потерями на основе соответствующего сжатого вектора изображения. Определение данного вектора изображения с потерями может включать в себя применение алгоритма сжатия декодера 210, обученного способом 500.
[109] В некоторых вариантах осуществления настоящего технического решения алгоритм сжатия и алгоритм распаковки могут быть обучены (способом 500) таким образом, что они минимизируют потери в характеристиках целевого изображения за счет дополнительных характеристик изображения. В этом случае данный вектор изображения с потерями включает в себя меньше дополнительных характеристик изображения, чем данный вектор изображения.
[110] Важно иметь в виду, что варианты осуществления настоящего технического решения могут быть реализованы с проявлением и других технических результатов.
[111] Специалисты в данной области техники поймут, что в настоящем описании выражение «получение данных» от пользователя подразумевает получение электронным устройством данных от пользователя в виде электронного (или другого) сигнала. Кроме того, специалисты в данной области техники поймут, что отображение данных пользователю через графический интерфейс пользователя (например, экран компьютерного устройства и тому подобное) может включать в себя передачу сигнала графическому интерфейсу пользователя, этот сигнал включает в себя данные, которые могут быть обработаны, и по меньшей мере часть этих данных может отображаться пользователю через графический интерфейс пользователя.
[112] Некоторые из этих этапов, а также передача-получение сигнала хорошо известны в данной области техники и поэтому для упрощения были опущены в конкретных частях данного описания. Сигналы могут быть переданы-получены с помощью оптических средств (например, оптоволоконного соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).
[113] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы.
[114] Таким образом, с одной точки зрения, варианты осуществления настоящего технического решения, описанные выше, можно изложить следующим образом, структурированно, пронумерованными пунктами.
[115] ПУНКТ 1. Компьютерный способ (500) обучения автокодировщика (333) сжатию вектора (302) изображения, причем вектор (302) изображения включает в себя дополнительные характеристики изображения и целевые характеристики изображения, способ (500) выполняется на сервере (106), способ (500) включает в себя:
• создание (502) сервером (106) эталонного вектора (310) целевых характеристик исходного изображения на основе вектора (302) изображения, причем эталонный вектор (310) целевых характеристик исходного изображения включает в себя информацию о целевых характеристиках изображения из вектора (302) изображения;
• сжатие (504) сервером (106) вектора (302) изображения с помощью автокодировщика (333), причем сжатие (504) включает в себя определение сервером (106) сжатого вектора изображения на основе вектора (302) изображения;
• распаковку (506) сервером (106) сжатого вектора изображения с помощью автокодировщика (333), причем распаковка (506) сжатого вектора изображения включает в себя определение сервером (106) вектора (306) изображения с потерями на основе сжатого вектора изображения;
• создание (508) сервером (106) вектора (312) целевых характеристик изображения с потерями на основе вектора (306) изображения с потерями, причем вектор (312) целевых характеристик изображения с потерями включает в себя информацию о целевых характеристиках изображения из вектора (306) изображения с потерями;
• сравнение (510) сервером (106) эталонного вектора (310) целевых характеристик исходного изображения с вектором (312) целевых характеристик изображения с потерями, причем сравнение (510) включает в себя определение сервером (106) параметра (316) расхождения, представляющего расхождение между информацией о целевых характеристиках изображения из вектора (302) изображения и информацией о целевых характеристиках изображения из вектора (306) изображения с потерями; и
• использование (512) сервером (106) параметра (316) расхождения для обучения автокодировщика (333).
[116] ПУНКТ 2 Способ (500) по п. 1, в котором создание (502) эталонного вектора (310) целевых характеристик исходного изображения включает в себя обработку сервером (106) вектора (302) изображения с помощью алгоритма (304) извлечения.
[117] ПУНКТ 3 Способ (500) по п. 1, в котором создание (508) вектора (312) целевых характеристик изображения с потерями включает в себя обработку сервером (106) вектора (306) изображения с потерями с помощью алгоритма (304) извлечения.
[118] ПУНКТ 4 Способ (500) по п. 1-3, в котором вектор (306) изображения с потерями включает в себя меньше информации о характеристиках изображения, чем вектор (302) изображения.
[119] ПУНКТ 5 Способ (500) по п. 1, в котором автокодировщик (333) применяет алгоритм сжатия для сжатия (504) вектора (302) изображения; и
в котором использование (512) параметра (316) расхождения для обучения автокодировщика (333) осуществляется сервером (106), выполненным с возможностью обучать алгоритм сжатия таким образом, что он минимизирует потери целевых характеристик изображения за счет дополнительных характеристик изображения.
[120] ПУНКТ 6 Способ (500) по п. 1-5, в котором сравнение (510) эталонного вектора (310) целевых характеристик исходного изображения с вектором (312) целевых характеристик изображения с потерями включает в себя ввод сервером (106) эталонного вектора (310) целевых характеристик исходного изображения и вектора (312) целевых характеристик изображения с потерями в функцию (314) сравнения.
[121] ПУНКТ 7 Способ (500) по п. 3, в котором целевые характеристики изображения идентифицируются оператором алгоритма (304) извлечения на основе потенциального применения изображения, снятого устройством (102) съемки изображений.
[122] ПУНКТ 8 Способ (500) по п. 7, в котором снятое изображение будет потенциально применяться по меньшей мере:
• либо при классификации;
• либо при фильтрации;
• либо при распознавании.
[123] ПУНКТ 9 Способ (500) по п. 8, в котором целевые характеристики изображения связаны по меньшей мере:
• либо с классами классификации;
• либо с визуальными свойствами;
• либо с физическими свойствами;
• либо со свойствами расположения.
[124] ПУНКТ 10 Способ (500) по п. 3 и 9, в котором нейронная сеть осуществляет алгоритм (304)извлечения.
[125] ПУНКТ 11 Компьютерный способ сжатия вектора (202) изображения, причем вектор (202) изображения включает в себя дополнительные характеристики изображения и целевые характеристики изображения, способ выполняется на сервере (106), способ включает в себя:
• сжатие сервером (106) вектора (202) изображения с помощью автокодировщика (333), причем сжатие включает в себя определение сервером (106) сжатого вектора (204) изображения на основе вектора (202) изображения, а определение сжатого вектора (204) изображения включает в себя применение автокодировщиком (333) алгоритма сжатия;
• распаковку сервером (106) сжатого вектора (204) изображения с помощью автокодировщика (333), причем распаковка включает в себя определение сервером (106) вектора (206) изображения с потерями на основе сжатого вектора (204) изображения, а определение вектора (206) изображения с потерями включает в себя применение автокодировщиком (333) алгоритма распаковки;
алгоритм сжатия и алгоритм распаковки могут быть обучены таким образом, что они минимизируют потери в характеристиках целевого изображения за счет дополнительных характеристик изображения, причем вектор (206) изображения с потерями включает в себя меньше дополнительных характеристик изображения, чем вектор (202) изображения.
[126] ПУНКТ 12 Сервер (106) для обучения автокодировщика (333) сжатию вектора (302) изображения, причем вектор (302) изображения включает в себя дополнительные характеристики изображения и целевые характеристики изображения, сервер (106) выполнен с возможностью выполнять способ (500) по п. 1-10.
[127] ПУНКТ 13 Сервер (106) для сжатия вектора (202) изображения, причем вектор (202) изображения включает в себя дополнительные характеристики изображения и целевые характеристики изображения, сервер (106) выполнен с возможностью выполнять способ по п. 11.