СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ, СПОСОБ И УСТРОЙСТВО ОБУЧЕНИЯ
IMAGE PROCESSING METHOD, TRAINING METHOD AND APPARATUS

Область техники, к которой относится изобретения
[0001] Настоящее изобретение относится к области обработки изображений и, в частности, к способу обработки изображений, способу и устройству обучения.
Уровень техники
[0002] Изображения - визуальная основа человеческого восприятия мира. Люди могут использовать изображения для получения, выражения и передачи информации. Чтобы быстро получить информацию об изображении, для обработки изображения может использоваться нейронная сеть, для реализации таких функций, как классификация изображений, распознавание лиц и обнаружение цели. Обычно клиентское устройство отправляет данные изображения на облачное устройство, на котором развернута нейронная сеть, а облачное устройство выполняет обработку изображения. Однако очень большой объем данных изображения вызывает относительно высокую задержку взаимодействия клиента с облаком.
[0003] Известное техническое решение обеспечивает синергию между клиентом и облаком, основанную на передаче карты признаков. Клиентское устройство извлекает исходную карту признаков подлежащего обработке изображения и извлекает множество главных компонент исходной карты признаков, используя метод главных компонент (principal components analysis, PCA). Клиентское устройство отправляет линейную комбинацию множества главных компонент на облачное устройство, облачное устройство получает восстановленную карту признаков на основе множества главных компонент и получает результат обработки изображения на основе восстановленной карты признаков. Однако объемы данных множества главных компонент все еще очень велики. Следовательно, облачному устройству требуется относительно много времени для приема множества главных компонент.
[0004] Следовательно, как уменьшить объем данных, передаваемых между клиентским устройством и облачным устройством в процессе обработки изображений, является проблемой, которую необходимо срочно решить в настоящее время.
Раскрытие сущности изобретения
[0005] Настоящее изобретение предоставляет способ обработки изображения, способ обучения и устройство для решения проблемы, связанной с передачей большого объема данных в процессе обработки изображения.
[0006] Для достижения вышеуказанной цели в настоящем изобретении используются следующие технические решения.
[0007] Согласно первому аспекту настоящее изобретение предоставляет способ обработки изображения. Способ может применяться к отправляющему узлу или может применяться к устройству связи, которое может поддерживать терминальное устройство при реализации способа. Например, устройство связи включает в себя микросхемную систему. Способ включает в себя: Отправляющий узел получает подлежащее обработке изображение, вводит подлежащее обработке изображение, в сверточную нейронную сеть, выполняет извлечение признаков из подлежащего обработке изображения с использованием слоя извлечения признаков, включенного в сверточную нейронную сеть, для получения первой карты признаков и сжимает первую карту признаков с помощью слоя сжатия признаков, включенного в сверточную нейронную сеть, чтобы получить вторую карту признаков. Количество каналов второй карты признаков меньше количества каналов первой карты признаков. Кроме того, отправляющий узел отправляет вторую карту признаков принимающему узлу. Извлечение признаков выполняется на подлежащем обработке изображении с использованием слоя извлечения признаков, чтобы получить первую карту признаков, так что объем данных первой карты признаков меньше, чем объем данных подлежащего обработке изображения. Кроме того, первая карта признаков сжимается с использованием слоя сжатия признаков, чтобы получить вторую карту признаков, так что количество каналов второй карты признаков меньше количества каналов первой карты признаков. Следовательно, когда разрешение первой карты признаков не увеличивается, объем данных второй карты признаков меньше, чем объем данных первой карты признаков. Это уменьшает объем данных карты признаков, отправляемых отправляющим узлом на принимающий узел, и уменьшает задержку передачи между клиентским устройством и облачным устройством.
[0008] В возможном примере разрешение первой карты признаков составляет W×H, разрешение второй карты признаков - W`×H`, при этом W`×H`<W×H. Объем данных карты признаков определяется произведением разрешения на количество каналов. Например, когда разрешение второй карты признаков меньше, чем разрешение первой карты признаков, поскольку количество каналов второй карты признаков меньше, чем количество каналов первой карты признаков, объем данных второй карты признаков меньше, чем объем данных первой карты признаков. Это уменьшает объем данных карты признаков, отправляемых отправляющим узлом на принимающий узел, и уменьшает задержку передачи между клиентским устройством и облачным устройством.
[0009] В возможной реализации слой сжатия признаков включает в себя по меньшей мере один сверточный слой. Например, сверточный слой может использоваться для выполнения понижающей дискретизации на первой карте признаков, чтобы уменьшить разрешение первой карты признаков. В качестве другого примера сверточный слой может использоваться для уменьшения количества каналов первой карты признаков для получения второй карты признаков.
[0010] В другой возможной реализации способ дополнительно содержит: Отправляющий узел получает результат обработки изображения подлежащего обработке изображения. Результат обработки изображения определяется принимающим узлом на основе второй карты признаков. Отправляющий узел выполняет извлечение признаков и сжатие подлежащего обработке изображения для получения второй карты признаков, а принимающий узел определяет результат обработки изображения подлежащего обработке изображения с помощью второй карты признаков. Это реализует взаимодействие клиента с облаком в способе обработки изображений и преодолевает недостаток недостаточной вычислительной мощности или недостаточной емкости хранилища отправляющего узла.
[0011] В другой возможной реализации способ дополнительно содержит: Отправляющий узел отображает результат обработки изображения. Отображение подлежащего обработке изображения и результата обработки изображения помогает пользователю получить различную информацию в подлежащем обработке изображении, такую как физическая классификация, распознавание лиц и обнаружение цели. Это упрощает процесс ручного получения информации об изображении и повышает эффективность получения визуальной информации.
[0012] Согласно второму аспекту настоящее изобретение предоставляет способ обработки изображений. Способ может применяться к принимающему узлу или может применяться к устройству связи, которое может поддерживать терминальное устройство при реализации способа. Например, устройство связи включает в себя микросхемную систему. Способ включает в себя: Принимающий узел принимает вторую карту признаков и восстанавливает вторую карту признаков, используя слой восстановления признаков, включенный в сверточную нейронную сеть, чтобы получить третью карту признаков. Принимающий узел обрабатывает третью карту признаков, используя слой вывода признаков и слой обработки изображений, которые включены в сверточную нейронную сеть, чтобы получить результат обработки изображения. Принимающий узел далее отправляет результат обработки изображения. Результат обработки изображения указывает информацию о подлежащем обработке изображении. Вторая карта признаков получается после того, как отправляющий узел выполняет извлечения признаков на подлежащем обработке изображении с использованием сверточной нейронной сети, чтобы получить первую карту признаков, и сжимает первую карту признаков. Количество каналов второй карты признаков меньше количества каналов третьей карты признаков, а количество каналов первой карты признаков такое же, как количество каналов третьей карты признаков. В способе обработки изображения, предоставляемом в настоящем изобретении, принимающий узел должен определить результат обработки изображения подлежащего обработке изображения на основе только второй карты признаков, отправленной отправляющим узлом, и количество каналов второй карты признаков меньше количества каналов третьей карты признаков, необходимых для обработки изображения. Следовательно, когда разрешение второй карты признаков не увеличивается, объем данных, принимаемых принимающим узлом от отправляющего узла, уменьшается, и уменьшается задержка передачи между клиентским устройством и облачным устройством.
[0013] В необязательной реализации слой восстановления признаков включает в себя по меньшей мере один слой обратной свертки. Например, слой обратной свертки может использоваться для выполнения повышающей дискретизации (upsampling) на второй карте признаков, чтобы улучшить разрешение второй карты признаков. В качестве другого примера, слой обратной свертки может использоваться для увеличения количества каналов второй карты признаков, чтобы получить третью карту признаков.
[0014] В другой необязательной реализации разрешение второй карты признаков составляет W`×H`, разрешение третьей карты признаков равно W×H, при этом W`×H`<W×H. Объем данных карты признаков определяется произведением разрешения на количество каналов. Например, когда разрешение второй карты признаков меньше, чем разрешение первой карты признаков, поскольку количество каналов второй карты признаков меньше, чем количество каналов первой карты признаков, объем данных первой карты признаков меньше, чем объем данных второй карты признаков.
[0015] В другой необязательной реализации то, что принимающий узел получает вторую карту признаков, содержит: Принимающий узел получает вторую карту признаков, отправленную отправляющим узлом. То, что принимающий узел отправляет результат обработки изображения, содержит: Принимающий узел отправляет результат обработки изображения отправляющему узлу.
[0016] Согласно третьему аспекту настоящее изобретение дополнительно предоставляет способ обучения сверточной нейронной сети. Способ обучения может применяться к устройству связи, которое может поддерживать терминальное устройство при реализации способа. Например, устройство связи включает в себя микросхемную систему. Способ включает в себя: получение обучающего набора, который включает в себя по меньшей мере одно обучающее изображение; и обучение первого слоя структуры "бутылочного горлышка" в первой сверточной нейронной сети на основе обучающего набора, а также первого слоя извлечения признаков и первого слоя вывода признаков в первой сверточной нейронной сети для получения второй сверточной нейронной сети. Вторая сверточная нейронная сеть включает в себя первый слой извлечения признаков, второй слой структуры "бутылочного горлышка" и первый слой вывода признаков. Первый слой извлечения признаков используется для извлечения признаков на подлежащем обработке изображении чтобы получить первую карту признаков, слой сжатия признаков во втором слое структуры "бутылочного горлышка" используется для сжатия первой карты признаков для получения второй карты признаков, а количество каналов второй карты признаков меньше количества каналов первой карты признаков. Когда сверточная нейронная сеть используется для извлечения карты признаков подлежащего обработке изображения, разрешение подлежащего обработке изображения уменьшается или остается неизменным. Вторая сверточная нейронная сеть, полученная путем обучения первой сверточной нейронной сети с использованием способа обучения, предоставленного в настоящем изобретении, может использоваться для выполнения извлечения признаков и сжатия подлежащего обработке изображения. Это уменьшает количество каналов карты признаков подлежащего обработке изображения и дополнительно уменьшает объем данных карты признаков, отправленных отправляющим узлом на принимающий узел. Кроме того, поскольку первая сверточная нейронная сеть и вторая сверточная нейронная сеть имеют один и тот же первый слой извлечения признаков и один и тот же первый слой вывода признаков, в процессе обучения сверточной нейронной сети необходимо обучать только слой структуры "бутылочного горлышка". Это сокращает вычислительные ресурсы, необходимые для обучения сверточной нейронной сети.
[0017] В необязательной реализации обучение первого слоя структуры "бутылочного горлышка" в первой сверточной нейронной сети на основе обучающего набора, а также первого слоя извлечения признаков и первого слоя вывода признаков в первой сверточной нейронной сети для получения второй сверточной нейронной сети включает в себя: ввод обучающего набора в третью сверточную нейронную сеть для получения первого набора; ввод обучающего набора в первую сверточную нейронную сеть для получения второго набора; вычисление функции потерь на основе четвертой карты признаков в первом наборе и пятой карты признаков во втором наборе; и обновление параметра первого слоя структуры "бутылочного горлышка" на основе функции потерь, чтобы получить второй слой структуры "бутылочного горлышка", чтобы получить вторую сверточную нейронную сеть. Третья сверточная нейронная сеть включает в себя второй слой извлечения признаков и второй слой вывода признаков, параметр первого слоя извлечения признаков такой же, как параметр второго слоя извлечения признаков, а параметром первого слоя вывода признаков такой же, как параметр второго слоя вывода признаков. Четвертая карта признаков, включенная в первый набор, получается после того, как второй слой извлечения признаков и второй слой вывода признаков используются для выполнения извлечения признаков на обучающем изображении, а пятая карта признаков, включенная во второй набор, получается после того, как первый слой структуры "бутылочного горлышка" и первый слой вывода признаков используются для выполнения восстановления и обработки признаков на второй карте признаков. Согласно способу обучения, предоставленному в настоящем изобретении, особенно для одного и того же обучающего изображения, функция потерь вычисляется для расстояния между множеством соответствующих карт признаков (четвертая карта признаков и пятая карта признаков) в первой сверточной нейронной сети и третьей сверточной нейронной сети, чтобы получить вторую сверточную нейронную сеть. Это помогает максимально сократить расстояние между четвертой картой признаков и пятой картой признаков, тем самым уменьшая ошибку между первой картой признаков и третьей картой признаков и повышая точность обработки изображений.
[0018] В другой необязательной реализации ввод обучающего набора в первую сверточную нейронную сеть для получения второго набора включает в себя: выполнение извлечения признаков на обучающем изображении с использованием первого слоя извлечения признаков для получения первой карты признаков; сжатие первой карты признаков с использованием слоя сжатия признаков, включенного в первый слой структуры "бутылочного горлышка", для получения шестой карты признаков; восстановление шестой карты признаков с использованием слоя восстановления признаков, включенного в первый слой структуры "бутылочного горлышка", чтобы получить третью карту признаков; и обработку третьей карты признаков с использованием второго слоя вывода признаков для получения пятой карты признаков, включенной во второй набор. Количество каналов третьей карты признаков такое же, как количество каналов первой карты признаков, а количество каналов шестой карты признаков меньше количества каналов первой карты признаков.
[0019] В другой необязательной реализации вычисление функции потерь на основе четвертой карты признаков в первом наборе и пятой карты признаков во втором наборе включает в себя: получение первого расстояния между четвертой картой признаков и пятой картой признаков; получение второго расстояния между первой картой признаков и третьей картой признаков; и вычисление функции потерь на основе первого расстояния и второго расстояния. Функция потерь вычисляется с использованием как первого расстояния между четвертой картой признаков и пятой картой признаков, так и второго расстояния между первой картой признаков и третьей картой признаков. Это помогает максимально сократить расстояние между четвертой картой признаков и пятой картой признаков и максимально сокращает расстояние между первой картой признаков и третьей картой признаков, тем самым уменьшая ошибку обработки между слоем сжатия признаков и слоем восстановления признаков и повышение точности обработки изображений.
[0020] В другой необязательной реализации разрешение первой карты признаков равно W×H, разрешение второй карты признаков составляет W`×H`, при этом W`×H`<W×H.
[0021] Согласно четвертому аспекту настоящее изобретение дополнительно предоставляет устройство обработки изображений. Для получения информации о положительных эффектах см. описания в любой реализации первого аспекта. Подробности не описаны здесь снова. Устройство обработки изображений имеет функцию реализации поведения в экземпляре способа в любой реализации первого аспекта. Функция может быть реализована аппаратным обеспечением или может быть реализована аппаратным обеспечением, исполняющим соответствующее программное обеспечение. Аппаратное обеспечение или программное обеспечение включает в себя один или несколько модулей, соответствующих вышеуказанной функции. В возможной конструкции устройство обработки изображений применяется к отправляющему узлу, и устройство обработки изображений включает в себя: блок приемопередатчика, выполненный с возможностью получения подлежащего обработке изображения; блок извлечения признаков, выполненный с возможностью выполнения извлечения признаков на подлежащем обработке изображении с использованием слоя извлечения признаков, включенного в сверточную нейронную сеть, для получения первой карты признаков; и блок сжатия признаков, выполненный с возможностью сжатия первой карты признаков с помощью слоя сжатия признаков, включенного в сверточную нейронную сеть, для получения второй карты признаков, где количество каналов второй карты признаков меньше количества каналов первой карты признаков. Блок приемопередатчика дополнительно выполнен с возможностью отправки второй карты признаков принимающему узлу.
[0022] В возможной реализации слой сжатия признаков включает в себя по меньшей мере один сверточный слой.
[0023] В другой возможной реализации разрешение первой карты признаков составляет W×H, разрешение второй карты признаков - W`×H`, при этом W`×H`<W×H.
[0024] В другой возможной реализации блок приемопередатчика дополнительно выполнен с возможностью приема результата обработки изображения подлежащего обработке изображения. Результат обработки изображения определяется принимающим узлом на основе второй карты признаков.
[0025] В другой возможной реализации устройство обработки изображений дополнительно включает в себя блок отображения, выполненный с возможностью отображения подлежащего обработке изображения, и/или результата обработки изображения.
[0026] Согласно пятому аспекту настоящее изобретение дополнительно предоставляет другое устройство обработки изображений. Для получения информации о положительных эффектах см. описания в любой реализации второго аспекта. Подробности не описаны здесь снова. Устройство обработки изображений имеет функцию реализации поведения в экземпляре способа в любой реализации второго аспекта. Функция может быть реализована аппаратным обеспечением или может быть реализована аппаратным обеспечением, исполняющим соответствующее программное обеспечение. Аппаратное обеспечение или программное обеспечение включает в себя один или несколько модулей, соответствующих вышеуказанной функции. В возможной конструкции устройство обработки изображений применяется к принимающему узлу, и устройство обработки изображений включает в себя: блок приемопередатчика, выполненный с возможностью приема второй карты признаков, где вторая карта признаков получается после того, как отправляющий узел выполняет извлечение признаков на подлежащем обработке изображение с использованием сверточной нейронной сети, чтобы получить первую карту признаков, и сжимает первую карту признаков; блок восстановления признаков, выполненный с возможностью восстановления второй карты признаков с использованием слоя восстановления признаков, включенного в сверточную нейронную сеть, для получения третьей карты признаков, где количество каналов второй карты признаков меньше количества каналов третьей карты признаков, и количество каналов первой карты признаков такое же, как количество каналов третьей карты признаков; и блок обработки изображений, выполненный с возможностью обработки третьей карты признаков с использованием слоя вывода признаков и слоя обработки изображений, которые включены в сверточную нейронную сеть, для получения результата обработки изображения, где результат обработки изображения указывает информацию о подлежащем обработке изображении. Блок приемопередатчика выполнен с возможностью отправки результата обработки изображения.
[0027] В возможной реализации слой восстановления признаков включает в себя по меньшей мере один слой обратной свертки.
[0028] В другой возможной реализации разрешение второй карты признаков составляет W`×H`, разрешение третьей карты признаков составляет W×H, а разрешение W`×H`<W×H.
[0029] В другой возможной реализации блок приемопередатчика, в частности, выполнен с возможностью приема второй карты признаков, отправленной отправляющим узлом. Блок приемопередатчика, в частности, выполнен с возможностью отправки результата обработки изображения отправляющему узлу.
[0030] Согласно шестому аспекту настоящее изобретение дополнительно предоставляет устройство для обучения сверточной нейронной сети. Для получения информации о положительных эффектах см. описания в любой реализации третьего аспекта. Подробности не описаны здесь снова. Устройство обработки изображений имеет функцию реализации поведения в экземпляре способа в любой реализации третьего аспекта. Функция может быть реализована аппаратным обеспечением или может быть реализована аппаратным обеспечением, исполняющим соответствующее программное обеспечение. Аппаратное обеспечение или программное обеспечение включает в себя один или несколько модулей, соответствующих вышеуказанной функции. В возможной конструкции устройство для обучения включает в себя: блок получения, выполненный с возможностью получения обучающего набора, где обучающий набор включает в себя по меньшей мере одно обучающее изображение; и блок обработки, выполненный с возможностью обучения первого слоя структуры "бутылочного горлышка" в первой сверточной нейронной сети на основе обучающего набора, а также первого слоя извлечения признаков и первого слоя вывода признаков в первой сверточной нейронной сети, чтобы получить вторую сверточную нейронную сеть. Вторая сверточная нейронная сеть включает в себя первый слой извлечения признаков, второй слой структуры "бутылочного горлышка" и первый слой вывода признаков. Первый слой извлечения признаков используется для извлечения признаков на подлежащем обработке изображении чтобы получить первую карту признаков, слой сжатия признаков во втором слое структуры "бутылочного горлышка" используется для сжатия первой карты признаков для получения второй карты признаков, а количество каналов второй карты признаков меньше количества каналов первой карты признаков.
[0031] В возможной реализации блок обработки включает в себя: первый блок обучения, выполненный с возможностью ввода обучающего набора в третью сверточную нейронную сеть для получения первого набора, где третья сверточная нейронная сеть включает в себя второй слой извлечения признаков и второй слой вывода признаков, параметр первого слоя извлечения признаков такой же, как параметр второго слоя извлечения признаков, параметр первого слоя вывода признаков такой же, как параметр второго слоя вывода признаков, первый набор включает в себя четвертую карту признаков, и четвертая карта признаков получается после того, как второй слой извлечения признаков и второй слой вывода признаков используются для выполнения извлечения признаков на обучающем изображении; второй блок обучения, выполненный с возможностью ввода обучающего набора в первую сверточную нейронную сеть для получения второго набора, где второй набор включает в себя пятую карту признаков, а пятая карта признаков получается после того, как первый слой структуры "бутылочного горлышка" и первый слой вывода признаков используются для выполнения восстановления и обработки признаков на второй карте признаков; блок вычисления потерь, выполненный с возможностью вычисления функции потерь на основе четвертой карты признаков в первом наборе и пятой карты признаков во втором наборе; и третий блок обучения, выполненный с возможностью обновления параметра первого слоя структуры "бутылочного горлышка" на основе функции потерь, чтобы получить второй слой структуры "бутылочного горлышка", чтобы получить вторую сверточную нейронную сеть.
[0032] В другой возможной реализации ввод обучающего набора в первую сверточную нейронную сеть для получения второго набора включает в себя: выполнение извлечения признаков на обучающем изображении с использованием первого слоя извлечения признаков для получения первой карты признаков; сжатие первой карты признаков с использованием слоя сжатия признаков, включенного в первый слой структуры "бутылочного горлышка", для получения шестой карты признаков, где количество каналов шестой карты признаков меньше количества каналов первой карты признаков; восстановление шестой карты признаков с использованием слоя восстановления признаков, включенного в первый слой структуры "бутылочного горлышка", чтобы получить третью карту признаков, где количество каналов третьей карты признаков такое же, как количество каналов первой карты признаков; и обработку третьей карты признаков с использованием второго слоя вывода признаков для получения пятой карты признаков, включенной во второй набор.
[0033] В другой возможной реализации блок вычисления потерь, в частности, выполнен с возможностью получения первого расстояния между четвертой картой признаков и пятой картой признаков. Блок вычисления потерь, в частности, выполнен с возможностью получения второго расстояния между первой картой признаков и третьей картой признаков. Блок вычисления потерь, в частности, выполнен с возможностью вычисления функции потерь на основе первого расстояния и второго расстояния.
[0034] В другой возможной реализации разрешение первой карты признаков составляет W×H, разрешение второй карты признаков - W`×H`, при этом W`×H`<W×H.
[0035] Согласно седьмому аспекту настоящее изобретение дополнительно предоставляет устройство связи, включающее в себя процессор и схему интерфейса. Схема интерфейса выполнена с возможностью: приема сигнала от устройства связи, отличного от упомянутого устройства связи, и передачи сигнала процессору или отправки сигнала от процессора на устройство связи, отличное от упомянутого устройства связи, а процессор выполнен с возможностью реализовать этапы работы способа в любом из первого аспекта или возможных реализаций первого аспекта, или любого одного из второго аспекта или возможных реализаций второго аспекта, или любого одного из третьего аспекта или возможных реализаций третьего аспекта, используя логическую схему или выполняя инструкцию кода.
[0036] Согласно восьмому аспекту настоящее изобретение предоставляет считываемый компьютером носитель данных. Носитель данных хранит компьютерную программу или инструкцию. Когда компьютерная программа или инструкция выполняется устройством связи, этапы работы способа в любом из первого аспекта или возможных реализаций первого аспекта, или любого одного из второго аспекта или возможных реализаций второго аспект, или любой один из третьего аспекта, или возможных реализаций третьего аспекта.
[0037] Согласно девятому аспекту настоящее изобретение представляет компьютерный программный продукт. Когда компьютерный программный продукт запускается на компьютере, вычислительному устройству предоставляется возможность реализовать этапы работы способа в любом из первого аспекта или возможных реализаций первого аспекта, или любого одного из второго аспекта или возможных реализации второго аспекта или любого одного из третьего аспекта или возможных реализаций третьего аспекта.
[0038] Согласно десятому аспекту настоящее изобретение предоставляет микросхему, включающую в себя память и процессор. Память выполнена с возможностью хранения компьютерной инструкции, а процессор выполнен с возможностью вызова компьютерной инструкции из памяти и выполнения компьютерной инструкции, чтобы выполнять этапы операции способа в любом из первого аспекта или возможных реализаций первого аспекта, или любой один из второго аспекта, или возможных реализаций второго аспекта, или любой один из третьего аспекта, или возможных реализаций третьего аспекта.
[0039] На основе реализаций, представленных в вышеупомянутых аспектах, настоящее изобретение может быть дополнительно объединено для обеспечения большего количества реализаций.
Краткое описание чертежей
[0040] Фиг. 1 - схематическая диаграмма системы решения синергии клиент-облако в соответствии с настоящим изобретением;
[0041] Фиг. 2 - схематическая блок-схема последовательности операций способа обработки изображения согласно настоящему изобретению;
[0042] Фиг. 3 - схематическая структурная диаграмма сверточной нейронной сети согласно настоящему изобретению;
[0043] Фиг. 4 - схематическая структурная диаграмма сверточной нейронной сети известного уровня техники;
[0044] Фиг. 5 (a), фиг. 5 (b) и фиг. 5 (c) - схематическая диаграмма отображения при обработке изображения в соответствии с настоящим изобретением;
[0045] Фиг. 6 - схематическая блок-схема последовательности операций способа обучения согласно настоящему изобретению;
[0046] Фиг. 7 - схематическая диаграмма 1 обучения сверточной нейронной сети в соответствии с настоящим изобретением;
[0047] Фиг. 8A - схематическая диаграмма 2 обучения сверточной нейронной сети в соответствии с настоящим изобретением;
[0048] Фиг. 8B - схематическая диаграмма 3 обучения сверточной нейронной сети в соответствии с настоящим изобретением;
[0049] Фиг. 9 - схематическая блок-схема последовательности операций другого способа обучения согласно настоящему изобретению;
[0050] Фиг. 10 - схематическая структурная диаграмма устройства для обучения и устройства обработки изображений согласно настоящему изобретению; и
[0051] Фиг. 11 - схематическая структурная диаграмма устройства связи согласно настоящему изобретению.
Описание вариантов осуществления изобретения
[0052] В описании, формуле изобретения и сопровождающих чертежах настоящего изобретения такие термины, как «первый», «второй» и «третий» предназначены для различения различных объектов, но не ограничивают конкретную последовательность.
[0053] В вариантах осуществления настоящего изобретения такие слова, как «пример» или «например» используются, чтобы дать пример, иллюстрацию или описание. Любой вариант осуществления или схема исполнения, описанные как «пример» или «например» в вариантах осуществления настоящего изобретения, не следует толковать как более предпочтительные или имеющие больше преимуществ, чем другой вариант осуществления или схема исполнения. Использование слов «пример» или «например» предназначено для представления относительного понятия конкретным образом.
[0054] Для ясного и краткого описания следующих вариантов осуществления сначала кратко описывается родственная технология.
[0055] Фиг. 1 - схематическая диаграмма системы решения синергии клиент-облако в соответствии с настоящим изобретением. Система включает в себя клиентское устройство 110, граничное устройство 120 и облачное устройство 130. Клиентское устройство 110 может быть подключено к граничному устройству 120 беспроводным или проводным способом. Клиентское устройство 110 может быть подключено к облачному устройству 130 беспроводным или проводным способом. Граничное устройство 120 может быть подключено к облачному устройству 130 беспроводным или проводным способом. Например, клиентское устройство 110, граничное устройство 120 и облачное устройство 130 могут обмениваться данными друг с другом по сети, и сеть может быть Интернетом.
[0056] Клиентское устройство 110 может быть терминальным устройством, пользовательским оборудованием (user equipment, UE), мобильной станцией (mobile station, MS), мобильным терминалом (mobile terminal, MT) или т.п. Клиентское устройство 110 может быть мобильным телефоном (например, терминалом 111, показанным на фиг. 1), планшетным компьютером (например, терминалом 112, показанным на фиг. 1), компьютером с функцией беспроводного приемопередатчика (например, терминал 113, показанный на фиг. 1), терминальным устройством виртуальной реальности (Virtual Reality, VR), терминальным устройством дополненной реальности (Augmented Reality, AR), беспроводным терминалом в управлении производством (industrial control), беспроводным терминалом в режиме автономного вождения (elf driving) (например, терминал 114, показанный на фиг. 1), беспроводным терминалом в интеллектуальной сети (smart grid), беспроводным терминалом в транспортной безопасности (transportation safety), беспро беспроводным терминалом терминал умного города (smart city) (например, терминал 115 и терминал 116, показанные на фиг. 1), беспроводным терминалом в умном доме (smart home) и т.п. Например, терминал 114 может быть устройством обработки изображений в системе с автоматическим управлением, терминал 115 может быть фотографическим устройством, используемым для наблюдения за дорогой, а терминал 116 может быть устройством сбора (например, камерой), используемым для распознавание лиц. Конкретная технология и конкретная форма устройства, которые используются клиентским устройством, не ограничиваются вариантами осуществления настоящего изобретения.
[0057] Если вычислительная мощность или емкость памяти клиентского устройства 110 относительно велики, клиентское устройство 110 может выполнять обработку изображения над подлежащем обработке изображением с использованием нейронной сети с искусственным интеллектом (artificial intelligence, AI). Подлежащее обработке изображение может быть собрано клиентским устройством 110 или может быть реализовано устройством сбора изображений, которое соединено с возможностью связи с клиентским устройством 110. Устройство для сбора изображений может быть видеокамерой, камерой и т.п. Например, подлежащее обработке изображение, может быть изображением, собранным камерой, или может быть кадром изображения в видео, собранном видеокамерой.
[0058] Если вычислительная мощность или емкость памяти клиентского устройства 110 недостаточны, сложная нейронная сеть AI не может быть запущена для выполнения обработки изображения.
[0059] В возможной реализации клиентское устройство 110 может передавать изображение на граничное устройство 120 или на облачное устройство 130, а граничное устройство 120 или облачное устройство 130 запускает нейронную сеть AI для обработки изображения для получить результат обработки изображения. Например, терминал 116 для наблюдения за дорогой собирает изображение дороги, когда терминал 114 (например, автомобиль или грузовик) проезжает перекресток, и отправляет изображение дороги на граничное устройство 120. Граничное устройство 120 запускает нейронную сеть AI, чтобы определить, является ли номерной знак терминала 114 локальным номерным знаком. Если номерной знак терминала 114 является нелокальным номерным знаком, граничное устройство 120 отправляет информацию о номерном знаке и изображение терминала 114 на терминальное устройство для управления трафиком.
[0060] В другой возможной реализации клиентское устройство 110 может передавать изображение на граничное устройство 120. Пограничное устройство 120 предварительно обрабатывает изображение и отправляет результат, полученный посредством предварительной обработки, на облачное устройство 130. Облачное устройство 130 получает результат обработки изображения. Например, нейронная сеть AI включает в себя первую часть сети, которая используется для извлечения исходной карты признаков (карты признаков) изображения, и вторую часть сети, которая используется для получения результата обработки изображения. на основе исходной карты признаков. Например, граничное устройство 120 запускает первую часть сети и отправляет исходную карту признаков изображения на облачное устройство 130, а облачное устройство 130 запускает вторую часть сети для обработки исходной карты признаков, для получения результата обработки изображения.
[0061] Облачное устройство 130 может быть сервером, выполненным с возможностью обработки данных изображения, например сервером 131, показанным на фиг. 1. В качестве альтернативы, облачное устройство 130 может быть множеством виртуальных машин, предоставляемых сервером 131 с использованием технологии виртуализации, и виртуальные машины выполняют обработку изображений.
[0062] Фиг. 1 - это просто схематическая диаграмма. Система может дополнительно включать в себя другое устройство, которое не показано на фиг. 1. Количество клиентских устройств, граничных устройств и облачных устройств, включенных в систему, не ограничено в вариантах осуществления настоящего изобретения.
[0063] Однако объемы данных изображения и исходной карты признаков, которые передаются на граничное устройство или облачное устройство, очень велики. Следовательно, задержка отправки данных клиентским устройством на облачное устройство относительно велика. Для решения вышеупомянутой проблемы настоящее изобретение предоставляет способ обработки изображений. Способ включает в себя: Отправляющий узел получает подлежащее обработке изображение, вводит подлежащее обработке изображение, в сверточную нейронную сеть, выполняет извлечение признаков из подлежащего обработке изображения с использованием слоя извлечения признаков, включенного в сверточную нейронную сеть, для получения первой карты признаков и сжимает первую карту признаков с помощью слоя сжатия признаков, включенного в сверточную нейронную сеть, чтобы получить вторую карту признаков. Количество каналов второй карты признаков меньше количества каналов первой карты признаков. Кроме того, отправляющий узел отправляет вторую карту признаков принимающему узлу. Извлечение признаков выполняется на подлежащем обработке изображении с использованием слоя извлечения признаков, чтобы получить первую карту признаков, так что объем данных первой карты признаков меньше, чем объем данных подлежащего обработке изображения. Кроме того, первая карта признаков сжимается с использованием слоя сжатия признаков, чтобы получить вторую карту признаков, так что количество каналов второй карты признаков меньше количества каналов первой карты признаков. Следовательно, когда разрешение первой карты признаков не увеличивается, объем данных второй карты признаков меньше, чем объем данных первой карты признаков. Это уменьшает объем данных карты признаков, отправляемых отправляющим узлом на принимающий узел, и уменьшает задержку передачи между клиентским устройством и облачным устройством.
[0064] Ниже подробно описаны реализации вариантов осуществления настоящего изобретения со ссылкой на прилагаемые чертежи.
[0065] Здесь описание предоставляется с использованием примера, в котором отправляющий узел может реализовывать функции и/или функцию клиентского устройства и/или граничного устройства, показанного на фиг. 1, а принимающий узел может реализовать функцию облачного устройства, показанного на фиг. 1. Фиг. 2 - схематическая блок-схема последовательности операций способа обработки изображения согласно настоящему изобретению. Способ обработки изображения включает следующие этапы.
[0066] S210: Отправляющий узел получает подлежащее обработке изображение.
[0067] Подлежащее обработке изображение, может включать в себя по меньшей мере одно из двоичного изображения, изображения в градациях серого, индексного изображения или изображения с истинным цветом.
[0068] В возможном случае подлежащее обработке изображение, может быть собрано отправляющим узлом. Как показано на фиг. 1, если отправляющий узел является любым из терминала 111 в терминал 116, отправляющий узел может собирать изображение, используя блок сбора изображений (например, камеру), предварительно установленный на отправляющем узле.
[0069] В другом возможном случае подлежащее обработке изображение, может быть собрано устройством сбора изображений, которое соединено с возможностью связи с отправлющим узлом. Как показано на фиг. 1 устройство сбора изображений может быть терминалом 115 или терминалом 116, а отправляющий узел может быть сервером, подключенным к терминалу 115 или терминалу 116, или тому подобным.
[0070] S220: Отправляющий узел выполняет извлечение признаков на подлежащем обработке изображении используя слой извлечения признаков, включенный в сверточную нейронную сеть, для получения первой карты признаков.
[0071] Сверточная нейронная сеть (convolutional neuron network, CNN) - это глубокая нейронная сеть со сверточной структурой, которая представляет собой архитектуру глубокого обучения (deep learning). В архитектуре глубокого обучения многослойное обучение выполняется на разных абстрактных уровнях с помощью алгоритма машинного обучения. В качестве архитектуры глубокого обучения CNN представляет собой искусственную нейронную сеть с прямой связью. Нейроны в искусственной нейронной сети с прямой связью могут реагировать на входное изображение. Сверточная нейронная сеть включает в себя «извлекатель признаков» (англ. feature extractor), включающий в себя сверточный слой и субдискритизирующий слой. Извлекатель признаков можно рассматривать как фильтр. Процесс свертки можно рассматривать как использование обучаемого фильтра для выполнения свертки входного изображения или сверточной карты признаков (feature map).
[0072] Например, сверточный слой - это нейронный слой, который находится в сверточной нейронной сети и используется для выполнения сверточной обработки входного сигнала. Сверточный слой может включать в себя множество операторов свертки. Оператор свертки также называется ядром. При обработке изображений оператор свертки функционирует как фильтр, который извлекает определенную информацию из матрицы входного изображения. Оператор свертки может быть по существу весовой матрицей, и весовая матрица обычно заранее определена. В процессе выполнения операции свертки на изображении весовая матрица обычно используется для обработки пикселей со степенью детализации один пиксель (или два пикселя, в зависимости от значения шага свертки) в горизонтальном направлении на входном изображении, для извлечения определенного признака из изображения. Для извлечения различных характеристик изображения могут использоваться разные весовые матрицы. Например, одна весовая матрица используется для извлечения информации о краях изображения, другая весовая матрица используется для извлечения определенного цвета изображения, а еще одна весовая матрица используется для размытия ненужного шума в изображении. Размеры множества весовых матриц (строки×столбцы) одинаковы. Размеры карт признаков, извлеченных из множества весовых матриц с одинаковым размером, также одинаковы, и затем множество извлеченных карт признаков с одинаковым размером объединяются для формирования выходных данных операции свертки. Значения весов в этих весовых матрицах должны быть получены путем массового обучения в конкретном приложении. Каждая весовая матрица, сформированная с использованием значений весов, полученных посредством обучения, может использоваться для извлечения информации из входного изображения, чтобы позволить сверточной нейронной сети выполнять правильное прогнозирование. Когда сверточная нейронная сеть имеет множество сверточных слоев, относительно большое количество главных признаков обычно извлекается на начальном сверточном слое. Главный признак может также называться низкоуровневым признаком (low-level feature). По мере увеличения глубины сверточной нейронной сети признак, извлеченный на последующем сверточном слое, становится более сложным, например признак с высокоуровневой семантикой (high-level semantic feature). Признак с более высокой семантикой более применим к решаемой проблеме.
[0073] Сверточная нейронная сеть включает в себя по меньшей мере один сверточный слой (convolutional layer). Сверточный слой включает в себя по меньшей мере один блок свертки. Сверточный слой может использоваться для извлечения различных карт признаков подлежащего обработке изображения. Карта признаков - это трехмерные данные, которые выводятся таким слоем, как сверточный слой, слой активации, субдискритизирующий слой или слой пакетной нормализации в сверточной нейронной сети, и три измерения карты признаков: высота (высота, H), ширина (ширина, W) и количество каналов (канал, C). Произведение W и H может называться разрешением (W×H) карты признаков. Карта признаков может представлять различную информацию подлежащего обработке изображения, например - информацию о краях, линию и текстуру в изображении.
[0074] Например, разрешение подлежащего обработке изображения составляет 96×96, и подлежащее обработке изображение разделяется на 144 выборки изображения 8×8. Слой извлечения признаков используется для выполнения свертки всех выборок изображения 8×8 и агрегирования всех результатов, полученных посредством свертки, для получения первой карты признаков подлежащего обработке изображения.
[0075] В некоторых возможных примерах сверточная нейронная сеть может дополнительно включать в себя слой активации, например, слой выпрямленных линейных блоков (rectified linear units layer, ReLU) или параметрический выпрямленный линейный блок (parametric rectified linear unit, PReLU).
[0076] В некоторых других возможных примерах сверточная нейронная сеть может дополнительно включать в себя другие функциональные модули, такие как субдискритизирующий слой (pooling layer), слой пакетной нормализации (batch normalization layer, BN layer) и полносвязный слой (fully connected layer). Связанный принцип каждого функционального модуля CNN см. в соответствующих описаниях в предшествующем уровне техники. Подробности повторно не приводятся.
[0077] S230: Отправляющий узел сжимает первую карту признаков, используя слой сжатия признаков, включенный в сверточную нейронную сеть, чтобы получить вторую карту признаков.
1
1
1
2
2
2
[0078] В данном описании размер первой карты признаков обозначен как W×H×C, а размер второйкарты признаков обозначен как W×H×C.
in1
in1
1
out1
out1
2
in1
out1
[0079] Вышеупомянутый слой сжатия признаков включает в себя по меньшей мере один сверточный слой. Сверточный слой используется для уменьшения количества каналов первой карты признаков, а количество каналов второй карты признаков меньше количества каналов первой карты признаков. Например, количество входных каналов сверточного слоя равно C, где C=C, а количество выходных каналов сверточного слоя равно C, где C=C. ЗдесьC>C. Например, количество выходных каналов составляет 1/K количества входных каналов, а K может быть равным 2, 3, 4, 6, 8, 12 или 16.
1
2
1
2
1
2
[0080] В возможном примере сверточный слой может дополнительно использоваться для выполнения понижающей дискретизации на первой карте признаков. Например, шаг свертки (stride) сверточного слоя обозначается как 2, и выполняется понижающая дискретизация на первой карте признаков для получения второй карты признаков. Здесь W=2W, H=2H, C=2C.
[0081] В необязательной реализации ядро свертки сверточного слоя может быть определено на основе фактической вычислительной мощности и требований к обработке изображения отправляющего узла. Например, ядро свертки сверточного слоя может быть 3×3, 5×5 или 7×7.
[0082] В известном техническом решении субдискритизирующий слой обычно используется для уменьшения размерности данных карты признаков в нейронной сети. Операция объединения субдискритизирующего слоя в основном уменьшает параметр карты признаков с помощью ядра пулинга, например объединение максимального значения, объединение среднего значения и объединение минимального значения. Однако, в процессе уменьшения общего объема данных карты признаков с помощью субдискритизирующего слоя данные канала карты признаков увеличиваются. Например, в модели VGG (Visual Geometry Group Network) в CNN сеть VGG включает в себя сверточный слой и полносвязный слой. Сеть VGG подключена к нескольким блокам vgg_block последовательно, а гиперпараметр сети VGG определяется переменной conv_rach. Эта переменная определяет количество выходных каналов каждого блока VGG в сети VGG. В процессе уменьшения размеров данных на карте признаков с помощью блока VGG высота и ширина исходной карты признаков уменьшаются вдвое, а количество каналов исходной карты признаков удваивается. В этом случае, хотя общий объем данных карты признаков уменьшается, после того, как карта признаков передается на облачное устройство, поскольку количество каналов увеличивается, а разрешение уменьшается, информация изображения, соответствующая каждому каналу в карте признаков, уменьшена, и относительно большой объем информации изображения теряется в восстановленной карте признаков, полученной облачным устройством. Следовательно, существует относительно большая разница между результатом обработки изображения и информацией, фактически указываемой подлежащим обработке изображением.
1
2
1
2
1
2),
[0083] Однако, в способе обработки данных, предусмотренном в этом варианте осуществления настоящего изобретения, отправляющий узел сжимает первую карту признаков, используя слой сжатия признаков, включенный в сверточную нейронную сеть, чтобы получить вторую карту признаков, и основное различие между первой картой признаков и второй картой признаков заключаются в том, что количество каналов второй карты признаков меньше, чем количество каналов первой карты признаков. Когда разрешение второй карты признаков меньше чем разрешение первой карты признаков (например, C/C=W/W=H/Hинформация изображения, соответствующая каждому каналу во второй карте признаков, остается неизменной, и теряется меньше информации изображения восстановленной карты признаков, полученной после того, как принимающий узел восстанавливает вторую карту признаков. Когда разрешение первой карты признаков такое же, как разрешение второй карты признаков, информация изображения, соответствующая каждому каналу во второй карте признаков, увеличивается, меньше информации изображения восстановленной карты признаков, полученной после того, как принимающий узел восстанавливает вторую карту признаков теряется, и разница между результатом обработки изображения, полученным принимающим узлом на основе второй карты признаков, и информацией, фактически указанной в подлежащем обработке изображении уменьшается.
[0084] S240: Отправляющий узел отправляет вторую карту признаков принимающему узлу.
[0085] В необязательной реализации, когда отправляющий узел отправляет вторую карту признаков принимающему узлу, отправляющий узел может сначала кодировать вторую карту признаков, чтобы получить поток битов, и отправить поток битов принимающему узлу. Например, способ кодирования может быть способом кодирования без потерь, например LZMA (lempel-ziv-markov chain-algorithm). В качестве другого примера, способ кодирования может быть способом кодирования с потерями, например, способ кодирования объединенной группы экспертов по фотографии (joint photographic experts group, JPEG), способом расширенного видеокодирования (advanced video coding, AVC), способом высокоэффективного кодирования видео (high efficiency video coding, HEVC) или другим способом кодирования изображения. В качестве другого примера, способ кодирования может быть способом энтропийного кодирования на основе сверточной нейронной сети и арифметического кодирования, например, способом энтропийного кодирования, ориентированным на карту признаков вариационного автокодера (variation auto encoder, VAE).
[0086] В одном примере отправляющий узел может округлить вторую карту признаков до 8 бит, получать данные в формате YUV400 через каждый канал и вводить данные в кодер HEVC или кодер VVC.
[0087] В другом примере отправляющий узел может округлить вторую карту признаков до N-битных данных, а затем сжать N-битные данные с помощью алгоритма кодирования без потерь.
[0088] В другом примере отправляющий узел может выполнять сжатие с использованием кодировщика, предназначенного для данных карты признаков.
[0089] В качестве альтернативы отправляющий узел может не кодировать вторую карту признаков. Например, отправляющий узел отправляет принимающему узлу вторую карту признаков, которая выводится слоем сжатия признаков.
[0090] В возможном случае взаимодействие между отправляющим узлом и принимающим узлом может выполняться с использованием сети, показанной на фиг. 1. Например, передача может выполняться между отправляющим узлом и принимающим узлом с использованием протокола управления передачей (transmission control protocol, TCP), Интернет-протокола (Internet Protocol, IP) или TCP/IP.
[0091] S250: Принимающий узел восстанавливает вторую карту признаков, используя слой восстановления признаков, включенный в сверточную нейронную сеть, чтобы получить третью карту признаков.
[0092] В этом варианте осуществления настоящего изобретения вторая карта признаков получается после того, как отправляющий узел выполняет извлечение признаков и сжатие подлежащего обработке изображения с использованием слоя извлечения признаков и слоя сжатия признаков, которые включены в сверточную нейронную сеть. Однако, в некоторых возможных примерах вторая карта признаков может альтернативно пересылаться сетевым устройством, которое обменивается данными с отправляющим узлом после того, как другое устройство обработки выполняет извлечение признаков и сжатие подлежащего обработке изображения. Например, устройством обработки может быть мобильный телефон, а сетевым устройством может быть маршрутизатор.
3
3
3
[0093] В данном описании размер третьей карты признаков обозначен как W×H×C.
2
3
3
1
in2
in2
2
out2
out2
3
in2
out2.
[0094] Слой восстановления признаков может включать в себя по меньшей мере один слой обратной свертки (de-convolution layer), и слой обратной свертки используется для увеличения количества каналов второй карты признаков, так что C<C, and C=C. Например, количество входных каналов слоя обратной свертки равно C, где C=C, а количество выходныхканалов слоя обратной свертки равно C, где C=C. ЗдесьC <CНапример, количество выходных каналов может быть в K раз больше количества входных каналов, а K может быть равным 2, 3, 4, 6, 8, 12 или 16.
3
2
1
3
2
1
[0095] В возможном примере слой обратной свертки может дополнительно использоваться для выполнения повышающей дискретизации на второй карте признаков. Например, шаг свертки слоя обратной свертки обозначается как 2, а повышающая дискретизация выполняется на второй карте признаков для получения третьей карты признаков. Здесь W=2W=W, C=2C=C.
[0096] В необязательной реализации ядро свертки слоя обратной свертки может быть определено на основе фактической вычислительной мощности и требований к обработке изображения принимающего узла. Например, ядро свертки слоя обратной свертки может быть 3×3, 5×5 или 7×7.
[0097] В возможной конструкции, если вторая карта признаков передается в форме потока битов, принимающий узел может дополнительно декодировать поток битов, и способ декодирования потока битов принимающим узлом соответствует способу кодирования второй карты признаков с помощью отправляющий узел.
[0098] Фиг. 3 - схематическая структурная диаграмма сверточной нейронной сети согласно настоящему изобретению. Сверточная нейронная сеть 300 включает в себя первую часть сети 310 и вторую часть сети 320. Отправляющий узел может получить вторую карту признаков подлежащего обработке изображения используя первую часть сети 310, а принимающий узел может обработать вторую карту признаков, используя вторую часть сети 320, чтобы получить результат обработки изображения.
[0099] Первая часть сети 310 включает в себя слой 311 извлечения признаков и слой 312 сжатия признаков, а вторая часть сети 320 включает в себя слой 321 восстановления признаков и слой 322 вывода признаков.
[00100] Для слоя 312 сжатия признаков и слоя 321 восстановления признаков настоящее изобретение дополнительно предоставляет следующие возможные реализации.
in
out1
out1
in1.
out2
out2
in
out3
out3
in
out4
out4
in
[00101] В первом возможном случае слой 312 сжатия признаков включает в себя два сверточных слоя. Первый сверточный слой используется для реализации понижающей дискретизации на первой карте признаков, а второй сверточный слой используется для уменьшения количества каналов первой карты признаков для получения второй карты признаков. Например, количество входных каналов первого сверточного слоя обозначается как C, шаг свертки первого сверточного слоя равен 2, а количество выходных каналов первого сверточного слоя равно C, где C=CВходная карта признаков второго сверточного слоя является выходной картой признаков первого сверточного слоя, шаг свертки второго сверточного слоя равен 1, а количество выходных каналов второго сверточного слоя равно C, где C<C. Соответственно, слой 321восстановления признаков включает в себя один сверточный слой и один слой обратной свертки. Сверточный слой используется для увеличения количества каналов второй карты признаков, а затем слой обратной свертки используется для реализации повышающей дискретизации на второй карте признаков для получения третьей карты признаков. Например, входная карта признаков сверточного слоя является выходной картой признаков (например, предыдущая вторая карта признаков) слоя сжатия признаков, шаг свертки сверточного слоя равен 1, а количество выходных каналов сверточного слоя это C, где C=C. Шаг свертки слоя обратной свертки равен 2, а количество выходных каналов слоя обратной свертки равно C, где C=C.
in
out1
out1
in.
out2
out2
out1
out3
out3
out1
out4
out4
in
[00102] Во втором возможном случае слой 312 сжатия признаков включает в себя два сверточных слоя. Первый сверточный слой используется для уменьшения количества каналов первой карты признаков, а второй сверточный слой используется для реализации понижающей дискретизации на первой карте признаков для получения второй карты признаков. Например, количество входных каналов первого сверточного слоя обозначается как C, шаг свертки первогосверточного слоя равен 1, а количество выходных каналов первого сверточного слоя равно C, где C<CВходом второгосверточного слояявляется выход первого сверточного слоя, шаг свертки второго сверточного слоя равен 2, а количество выходных каналов второго сверточного слоя равно C, где C<C. Соответственно, слой 321 восстановления признаков включает в себя один сверточный слой и один слой обратной свертки. Cлой обратной свертки сначала используется для реализации повышающей дискретизации на второй карте признаков, а затем сверточный слой используется для увеличения количества каналов второй карты признаков для получения третьей карты признаков. Например, вход слоя обратной свертки является выходом слоя сжатия признаков, шаг свертки слоя обратной свертки равен 2, количество выходных каналов слоя обратной свертки равно C, где C=C. Шаг сверткисверточного слоя равен 1, а количество выходных каналов сверточного слоя равно C, где C=C.
in
out1
out1
in
out2
out2
out1
out3
out3
out1
out4
out4
out3
out5
out5
in
[00103] В третьем возможном случае слой 312 сжатия признаков и слой 321 восстановления признаков могут быть асимметричными структурами. Например, слой сжатия признаков включает в себя три сверточных слоя. Количество входных каналов первого сверточного слоя обозначается как C, шаг свертки первого сверточного слоя равен 1, а количество выходных каналов первого сверточного слоя равно C, где C<C. Входом второго сверточного слоя является выход первого сверточного слоя, шаг свертки второго сверточного слоя равен 2, а количество выходных каналов второго сверточного слоя равно C, где C=C. Вход третьего сверточного слоя является выходом второго сверточного слоя, шаг свертки третьего сверточного слоя равен 2, а количество выходных каналов третьего сверточного слоя равно C, где C=C. Соответственно, слой восстановления признаков включает в себя два слоя обратной свертки. Входом первого слоя обратной свертки является выход слоя сжатия признаков, шаг свертки первого слоя обратной свертки равен 2, а количество выходных каналов первого слоя обратной свертки равно C, где C=C. Вход второго слоя обратной свертки является выходом первого слоя обратной свертки, ядро свертки второго слоя обратной свертки составляет 3×3, 5×5 или 7×7, шаг свертки второго слоя обратной свертке равен 2, а количество выходных каналов второго слоя обратной свертки равно C, где C=C.
[00104] Вышеупомянутые с первого по третий возможные случаи представляют собой просто варианты осуществления, представленные в настоящем изобретении, и не представляют собой ограничения для настоящего изобретения. В некоторых других возможных случаях слой сжатия признаков может дополнительно включать в себя больше сверточных слоев, а слой восстановления признаков также может включать в себя больше сверточных слоев и больше слоев обратной свертки.
[00105] В необязательной реализации вывод сверточного слоя или слоя обратной свертки может обрабатываться слоем активации, таким как ReLU, BN-слоем и т.п., и затем вводиться в следующий сверточный слой или слой обратной свертки, для улучшения нелинейности выходной карты признаков слоя сжатия признаков или слоя восстановления признаков, тем самым повышая точность обработки изображения. В настоящем изобретении это не ограничено.
[00106] В необязательной реализации нейронная сеть, включающая в себя слой 311 извлечения признаков и слой 322 вывода признаков, может использоваться для выполнения обработки изображения над подлежащим обработке изображением. Фиг. 4 - схематическая структурная диаграмма сверточной нейронной сети известного уровня техники. Сверточная нейронная сеть 400 включает в себя слой 410 извлечения признаков и слой 420 вывода признаков. Слой 312 сжатия признаков, показанный на фиг. 3 может реализовывать ту же функцию, что и слой 410 извлечения признаков, и слой 321 восстановления признаков, показанный на фиг. 3 может реализовывать ту же функцию, что и слой 420 вывода признаков.
[00107] Как показано на фиг. 4, слой 410 извлечения признаков может включать в себя сетевой слой conv1 и сетевой слой conv2, и как сетевой слой conv1, так и сетевой слой conv2 могут быть сверточными слоями. Например, если параметром подлежащего обработке изображения является W×H×3, параметр выходной карты признаков сетевого слой conv1 равен (W/2)×(H/2)×64, а параметр выходной карты признаков (первой карты признаков) сетевого слоя conv2 равен (W/4)×(H/4)×256.
[00108] Слой 420 вывода признаков может включать в себя сетевой слой conv3, сетевой слой conv4 и сетевой слой conv5. Например, сетевые слои conv3-conv5 могут быть сверточными слоями. Например, параметр выходной карты признаков сетевого слоя conv3 равен (W/8)×(H/8)×512, параметр выходной карты признаков сетевого слоя conv4 равен (W/16)×( H/16)×1024, а параметр выходной карты признаков сетевого слоя conv5 равен (W/32)×(H/32)×2048.
[00109] Как показано на фиг. 4, базовая сеть (backbone network) сверточной нейронной сети 400 включает в себя сетевые слои conv1-conv5, и базовая сеть используется для извлечения множества карт признаков подлежащего обработке изображения.
[00110] Кроме того, сверточная нейронная сеть дополнительно включает в себя слой 424 neck-сети (neck network) и слой 425 головной сети (head network).
[00111] Слой 424 neck-сети может использоваться для дальнейшего выполнения интеграции карты признаков, которая выводится головной сетью, для получения новой карты признаков. Например, слой 424 neck-сети может быть сетью пирамиды признаков (feature pyramid network, FPN).
[00112] Слой 425 головной сети используется для обработки карты признаков, которая выводится слоем 424 neck-сети чтобы получить результат обработки изображения. Например, головная сеть включает в себя полносвязный слой и модуль softmax. Для получения дополнительной информации о neck-сети (neck network) и головной сети (head network) см. Соответствующие описания в предшествующем уровне техники. Подробности здесь не описаны.
[00113] Другими словами, в настоящем изобретении слой сжатия признаков и слой восстановления признаков вводятся в базовую сеть сверточной нейронной сети, так что первая карта признаков может быть сжата при обеспечении обработки изображения, а количество каналов первой карта признаков может быть уменьшено, тем самым уменьшая объем данных, передаваемых между отправляющим узлом и принимающим узлом.
[00114] S260: Принимающий узел обрабатывает вторую карту признаков, используя слой вывода признаков и слой обработки изображений, которые включены в сверточную нейронную сеть, чтобы получить результат обработки изображения.
[00115] Слой обработки изображения может включать в себя слой 424 neck-сети и слой 425 головной сети, показанные на фиг. 4. Результат обработки изображения указывает информацию о подлежащем обработке изображении.
[00116] В первом возможном исполнении результат обработки изображения может быть результатом выполнения обнаружения цели на подлежащем обработке изображении и информация может быть областью в подлежащем обработке изображении. Как показано на фиг. 1, в сценарии наблюдения за дорогой, отправляющий узел может быть терминалом 116 (например, камерой наблюдения на перекрестке), а принимающий узел может быть сервером 131. Например, терминал 116 собирает подлежащее обработке изображение, когда терминал 114 (например, автомобиль или грузовик) проезжает перекресток, и отправляет на сервер 131 карту признаков, полученную после извлечения признаков и сжатия признаков. выполняются на подлежащем обработке изображении. Если сервер 131 определяет, что номерной знак терминала 114 является нелокальным номерным знаком, сервер 131 отправляет информацию о нелокальном номерном знаке на центральное устройство управления для управления трафиком в форме пакета данных.
[00117] Во втором возможном исполнении результат обработки изображения может быть результатом выполнения распознавания лица на подлежащем обработке изображении. Как показано на фиг. 1, в сценарии входа и выхода из административного здания отправляющий узел может быть терминалом 115 (например, камерой наблюдения административного здания), а принимающий узел может быть сервером 131. Например, терминал 115 собирает изображения лиц, когда пользователь 1 и пользователь 2 входят в административное здание, и отправляет на сервер 131 карты признаков, полученные после извлечения признаков и сжатия изображений лиц. Сервер 131 определяет, являются ли пользователь 1 и пользователь 2 авторизованными пользователями, зарегистрированными в административном здании. Например, сервер 131 сопоставляет черту лица в подлежащем обработке изображении с библиотекой сопоставления лиц, и если сопоставление прошло успешно, сервер 131 определяет, что пользователь 1 является авторизованным пользователем, и отправляет информацию об успешной проверке в терминал 115. Терминал 115 открывает ворота входа и выхода на основе информации об успешной проверке, и пользователь 1 может войти в административное здание через ворота входа и выхода.
[00118] В третьем возможном исполнении результат обработки изображения может быть результатом выполнения классификации объекта для подлежащего обработке изображения и информация о подлежащем обработке изображении может быть информацией классификации объекта в изображении. Как показано на фиг. 1, в домашнем сценарии отправляющий узел может быть любым из терминала 111 в терминал 113, а принимающий узел может быть сервером 131. Например, терминал 111 собирает изображения в доме, включая диван, телевизор и стол, и отправляет на сервер 131 карты признаков, полученные после извлечения признаков и сжатия изображений. Сервер 131 определяет классификацию объектов на изображениях на основе карт признаков и ссылки для покупок, соответствующей каждому типу изображения, и отправляет информацию в терминал 111.
[00119] В четвертом возможном исполнении результат обработки изображения может быть результатом выполнения географического позиционирования подлежащего обработке изображения. Как показано на фиг. 1, в сценарии вождения транспортного средства отправляющий узел может быть терминалом 114 (например, регистратором данных о событиях, установленным в автомобиле или грузовике), а принимающий узел может быть сервером 131. Например, терминал 114 выполняет извлечение признаков и сжатие подлежащего обработке изображения (например, изображение дороги, где изображение дороги включает в себя информацию об относительном местоположении дома, дерева, административного здания и каждого эталонного объекта. которые показаны на фиг. 1), которое снимается, когда терминал 114 приближается к перекрестку, для получения карты признаков и отправляет карту признаков на сервер 131. Сервер 131 выполняет восстановление признаков и обработку изображений на карте признаков для получения географического местоположения, соответствующего подлежащему обработке изображению, и отправляет это географическое местоположение в терминал 114.
[00120] Вышеупомянутые возможные конструкции являются просто возможными реализациями, предоставленными для описания способа обработки изображений в настоящем изобретении, и не представляют собой ограничения для настоящего изобретения. Способ обработки изображений, представленный в настоящем изобретении, может быть дополнительно применен к большему количеству сценариев обработки изображений.
[00121] Необязательно, как показано на фиг. 2, способ обработки изображения дополнительно включает в себя следующие этапы S270 и S280.
[00122] S270: Принимающий узел отправляет результат обработки изображения.
[00123] В возможном случае принимающий узел может отправить результат обработки изображения отправляющему узлу, показанному на фиг. 2.
[00124] В другом возможном случае принимающий узел может отправить результат обработки изображения другому узлу. Например, в сценарии наблюдения за дорогой другой узел может быть центральным устройством управления в системе управления дорожным движением.
[00125] В способе обработки изображений, предоставляемом в настоящем изобретении, отправляющему узлу необходимо отправить только вторую карту признаков принимающему узлу, а количество каналов второй карты признаков меньше количества каналов первой карты признаков. Следовательно, когда разрешение первой карты признаков не увеличивается, объем данных, отправляемых отправляющим узлом на принимающий узел, уменьшается, и уменьшается задержка передачи между клиентским устройством и облачным устройством.
[00126] S280: Отправляющий узел отображает результат обработки изображения.
[00127] Отправляющий узел может иметь область отображения. Например, область отображения может включать в себя панель отображения. Панель дисплея может быть жидкокристаллическим дисплеем (Liquid Crystal Display, LCD), органическим светоизлучающим диодом (Organic Light-Emitting Diode, OLED), органическим светоизлучающим диодом с активной матрицей (Active-Matrix Organic Light Emitting Diode, AMOLED), гибким светодиодом (Flex Light-Emitting Diode, FLED), мини-светодиодом, микро-светодиодом, микро-OLED, светоизлучающим диодом с квантовыми точками (Quantum Dot Light Emitting Diodes, QLED ), или тому подобным. В некоторых вариантах осуществления отправляющий узел может включать в себя один или несколько дисплеев 194.
[00128] Здесь описание предоставляется с использованием примера, в котором отправляющий узел является мобильным телефоном, а сценарий обработки изображения представляет собой классификацию объектов. В первом возможном примере отправляющий узел отображает только подлежащее обработке изображение. Как показано на фиг. 5 (a) мобильный телефон отображает подлежащее обработке изображение, и подлежащее обработке изображение включает в себя множество графиков.
[00129] Во втором возможном примере отправляющий узел отображает только результат обработки изображения. Как показано на фиг. 5 (b) мобильный телефон отображает тип объекта на подлежащем обработке изображении например, чашка или ручка.
[00130] В третьем возможном примере отправляющий узел отображает подлежащее обработке изображение, и результат обработки изображения. Как показано на фиг. 5 (c), при отображении подлежащего обработке изображения мобильный телефон отмечает тип каждого объекта в соответствующем месте подлежащего обработке изображения.
[00131] Отображение подлежащего обработке изображения и результата обработки изображения помогает пользователю получить различную информацию в подлежащем обработке изображении такую как физическая классификация, распознавание лиц и обнаружение цели. Это упрощает процесс ручного получения информации об изображении и повышает эффективность получения визуальной информации.
[00132] В необязательной реализации после получения результата обработки изображения отправляющий узел может дополнительно выполнить другую обработку. Например, пользователю сообщается имя объекта на изображении, снятом отправляющим узлом. В качестве альтернативы, если принимающий узел анализирует вторую карту признаков и дает предупреждающую информацию, отправляющий узел отправляет предупреждающее голосовое приглашение, чтобы напомнить пользователю в среде, соответствующей отправляющему узлу, обратить внимание на безопасность. В настоящем изобретении это не ограничено.
[00133] Следует отметить, что вышеупомянутый вариант осуществления описан с использованием примера, в котором отправляющий узел может реализовывать функции и/или функцию клиентских устройств и/или граничного устройства, показанных на фиг. 1, а принимающий узел может реализовать функцию облачного устройства, показанного на фиг. 1. В другом возможном случае, если отправляющий узел может реализовать функцию клиентского устройства, показанного на фиг. 1, принимающий узел может дополнительно реализовывать функцию граничного устройства, показанного на фиг. 1.
[00134] Вышеупомянутая сверточная нейронная сеть может быть получена путем добавления слоя структуры "бутылочного горлышка" к существующей сети обработки изображений (сверточной нейронной сети 400, показанной на фиг. 4) и обучения слоя структуры "бутылочного горлышка" на основе сети обработки изображений. Структура "бутылочного горлышка" (bottleneck structure) - это структура многослойной сети. Количество входных каналов такое же, как количество выходных каналов слоя структуры "бутылочного горлышка", но количество каналов промежуточной карты признаков слоя структуры "бутылочного горлышка" меньше количества входных каналов. Например, входные данные (например, первая карта признаков подлежащего обработке изображения) слоя структуры "бутылочного горлышка" сначала проходят через один или несколько слоев нейронной сети, чтобы получить промежуточные данные (например, вторую карту признаков), а затем промежуточные данные проходят через один или несколько слоев нейронной сети для получения выходных данных (например, третьей карты признаков). Объем данных (то есть произведение ширины, высоты и количества каналов) промежуточных данных меньше, чем количество входных и выходных данных.
[00135] В способе обработки изображения, предусмотренном в вышеупомянутом варианте осуществления настоящего изобретения, сеть обработки изображения включает в себя слой извлечения признаков, слой вывода признаков и слой обработки изображений, слой структуры "бутылочного горлышка" включает в себя слой сжатия признаков и слой восстановления признаков, а сверточная нейронная сеть может включать в себя две части: первую часть сети, которая включает в себя слой извлечения признаков и слой сжатия признаков, и вторую часть сети, которая включает в себя слой восстановления признаков, слой вывода признаков и слой обработки изображения. Например, функция отправляющего узла может быть реализована с использованием первой части сети сверточной нейронной сети, которая развернута на отправляющем узле, а функция принимающего узла может быть реализована с использованием второй части сети сверточная нейронная сеть, развернутая на принимающем узле.
[00136] Чтобы получить сверточную нейронную сеть в вышеупомянутом варианте осуществления для реализации вышеупомянутого способа обработки изображений, настоящее изобретение дополнительно предоставляет способ обучения сверточной нейронной сети. Фиг. 6 - схематическая блок-схема последовательности операций способа обучения согласно настоящему изобретению. Способ обучения может выполняться отправляющим узлом или принимающим узлом или может выполняться другим электронным устройством. В настоящем изобретении это не ограничено. Способ обучения включает следующие этапы.
[00137] S610: Получение обучающего набора.
[00138] В обучающий набор входит по меньшей мере одно обучающее изображение. Например, обучающий набор может включать в себя от 50 000 до 100 000 обучающих изображений, и обучающее изображение может быть любым из двоичного изображения, изображения в градациях серого, индексного изображения и изображения с истинным цветом.
[00139] S620: Обучение первого слоя структуры "бутылочного горлышка" первой сверточной нейронной сети на основе обучающего набора, а также первого слоя извлечения признаков и первого слоя вывода признаков первой сверточной нейронной сети, чтобы получить вторую сверточную нейронную сеть.
[00140] Фиг. 7 - схематическая диаграмма 1 обучения сверточной нейронной сети в соответствии с настоящим изобретением. Первая сверточная нейронная сеть 710 включает в себя первый слой T701 извлечения признаков, первый слой 711 структуры "бутылочного горлышка" и первый слой P701 вывода признаков. Вторая сверточная нейронная сеть 720 включает в себя первый слой T701 извлечения признаков, второй слой 721 структуры "бутылочного горлышка" и первый слой P701 вывода признаков. Первый слой T701 извлечения признаков может использоваться для реализации функции слоя 311 извлечения признаков, показанного на фиг. 3, первый слой P701 вывода признаков может использоваться для реализации функции слоя 322 вывода признаков, показанного на фиг. 3, и второй слой 721 структуры "бутылочного горлышка"» может использоваться для реализации функций слоя 312 сжатия признаков и слоя 321 восстановления признаков, показанных на фиг. 3.
[00141] И первый слой 711 структуры "бутылочного горлышка", и второй слой 721 структуры "бутылочного горлышка" являются структурами "бутылочного горлышка" (bottleneck structure), а структура "бутылочного горлышка" является структурой многослойной сети. Например, входные данные (например, первая карта признаков подлежащего обработке изображения) второго слоя 721 структуры "бутылочного горлышка" сначала проходят через один или несколько слоев нейронной сети, чтобы получить промежуточные данные (например, вторую карту признаков), а затем промежуточные данные проходят через один или несколько слоев нейронной сети, чтобы получить выходные данные (например, третью карту признаков). Объем данных (то есть произведение ширины, высоты и количества каналов) промежуточных данных меньше, чем количество входных и выходных данных.
[00142] Как показано на фиг. 7, количество каналов второй карты FM2` признаков меньше количества каналов первой карты FM1 признаков.
[00143] Вторая карта FM2` признаков получается после того, как первый слой T701 извлечения признаков и второй слой 721 структуры "бутылочного горлышка" используются для выполнения извлечения и сжатия признаков на обучающем изображении. Например, первый слой T701 извлечения признаков используется для выполнения извлечения признаков на обучающем изображении, чтобы получить первую карту FM1 признаков. Слой 7211 сжатия признаков во втором слое 721 структуры "бутылочного горлышка" используется для сжатия первой карты FM1 признаков для получения второй карты FM2` признаков.
[00144] Первая карта FM1 признаков получается после того, как первый слой T701 извлечения признаков используется для выполнения извлечения признаков на обучающем изображении.
[00145] В возможном случае, как показано на фиг. 7, количество каналов второй карты FM2 признаков больше или равно количеству каналов второй карты FM2` признаков.
[00146] Вторая карта FM2 признаков получается после того, как первый слой T701 извлечения признаков и первый слой 711 структуры "бутылочного горлышка" используются для выполнения извлечения и сжатия признаков на обучающем изображении. Например, первый слой T701 извлечения признаков используется для выполнения извлечения признаков на обучающем изображении, чтобы получить первую карту FM1 признаков. Слой 7111 сжатия признаков в первом слое 711 структуры "бутылочного горлышка" используется для сжатия первой карты FM1 признаков для получения второй карты FM2 признаков .
[00147] Когда субдискритизирующий слой в сверточной нейронной сети используется для извлечения карты признаков подлежащего обработке изображения, разрешение подлежащего обработке изображения уменьшается или остается неизменным. Вторая сверточная нейронная сеть, полученная путем обучения первой сверточной нейронной сети с использованием способа обучения, предоставленного в настоящем изобретении, может использоваться для выполнения извлечения признаков и сжатия подлежащего обработке изображения. Это уменьшает количество каналов карты признаков подлежащего обработке изображения и дополнительно уменьшает объем данных карты признаков, отправленных отправляющим узлом на принимающий узел.
[00148] Кроме того, поскольку первая сверточная нейронная сеть и вторая сверточная нейронная сеть имеют один и тот же первый слой извлечения признаков и один и тот же первый слой вывода признаков, в процессе обучения сверточной нейронной сети необходимо обучать только слой структуры "бутылочного горлышка". Это сокращает вычислительные ресурсы, необходимые для обучения сверточной нейронной сети.
[00149] Фиг. 8A - схематическая диаграмма 2 обучения сверточной нейронной сети в соответствии с настоящим изобретением. Третья сверточная нейронная сеть 730 включает в себя второй слой T702 извлечения признаков и второй слой P702 вывода признаков. Параметр первого слоя T701 извлечения признаков такой же, как параметр второго слоя T702 извлечения признаков, и параметр первого слоя P701 вывода признаков такой же, как параметр второго слоя P702 вывода признаков. Третья сверточная нейронная сеть 730 может использоваться для реализации функции сверточной нейронной сети 400, показанной на фиг. 4. Вышеупомянутый параметр может включать в себя максимальное количество итераций (max_batches), размер пакета (batch_size) и т.п. Для получения информации о различных параметрах сверточной нейронной сети см. Соответствующие описания в предшествующем уровне техники. Подробности здесь не описаны.
[00150] Фиг. 8B - схематическая диаграмма 3 обучения сверточной нейронной сети в соответствии с настоящим изобретением. Что касается технического содержания первой сверточной нейронной сети 710, показанной на фиг. 8B, обратитесь к первой сверточной нейронной сети 710, показанной на фиг. 7. Подробности не описаны здесь снова.
[00151] Для S620 традиционный подход состоит в обучении первой сверточной нейронной сети 710 с использованием обучающего набора (включающего в себя обучающее изображение и аннотационную информацию, соответствующую обучающему изображению, например, блок обнаружения объекта и категорию признака), используемый, когда третья сверточная нейронная сеть 730 обучается для получения параметра модели первого слоя 711 структуры "бутылочного горлышка". Однако, поскольку обучающий набор, используемый при обучении третьей сверточной нейронной сети 730, включает в себя аннотационную информацию, соответствующую обучающему изображению, обучение первой сверточной нейронной сети 710 потребляет большое количество вычислительных ресурсов, и скорость обучения относительно невысока.
[00152] Следовательно, чтобы решить вышеупомянутую проблему, фиг. 9 - схематическая блок-схема последовательности операций другого способа обучения в соответствии с настоящим изобретением. S620 может включать в себя способ обучения, соответствующий этапам работы с S621 по S624.
[00153] S621: Введение обучающего набора в третью сверточную нейронную сеть, чтобы получить первый набор.
[00154] Первый набор включает в себя четвертую карту признаков, а четвертая карта признаков получается после того, как второй слой извлечения признаков и второй слой вывода признаков используются для выполнения извлечения признаков и обработки изображения на обучающем изображении. Здесь описание предоставляется с использованием примера, в котором второй слой T702 извлечения признаков, показанный на фиг. 8A и фиг. 8B включает в себя сетевой слой conv1 и сетевой слой conv2, а второй слой P702 вывода признаков, показанный на фиг. 8A и фиг. 8B включает в себя сетевой слой conv3, сетевой слой conv4 и сетевой слой conv5. Первый набор может включать в себя любую одну или несколько из четвертой карты FM4_1 признаков, полученной после того, как сетевой слой conv3 используется для обработки первой карты FM1 признаков, четвертой карты FM4_2 признаков, полученной после того, как сетевой слой conv4 используется для обработки четвертой карты FM4_1 признаков, и четвертой карты FM4_3 признаков, полученной после того, как сетевой слой conv5 используется для обработки четвертой карты FM4_2 признаков.
[00155] Следует отметить, что пример, в котором третья сверточная нейронная сеть не включает в себя слой структуры "бутылочного горлышка", используется для описания в данном документе. Однако, в некоторых возможных реализациях третья сверточная нейронная сеть может включать в себя слой структуры "бутылочного горлышка". Например, когда третья сверточная нейронная сеть включает в себя N (N - положительное целое число) слоев структуры "бутылочного горлышка", первая сверточная нейронная сеть имеет на один первый слой структуры "бутылочного горлышка" больше, чем третья сверточная нейронная сеть. Например, в дополнение ко всем структурам третьей сверточной нейронной сети первая сверточная нейронная сеть дополнительно включает в себя один первый слой структуры "бутылочного горлышка". В способе обучения, представленном в этом варианте осуществления настоящего изобретения, первый слой структуры "бутылочного горлышка" первой сверточной нейронной сети обучается с использованием третьей сверточной нейронной сети, чтобы получить вторую сверточную нейронную сеть.
[00156] S622: Введение обучающего набора в первую сверточную нейронную сеть, чтобы получить второй набор.
[00157] Второй набор включает в себя пятую карту признаков, а пятая карта признаков получается после того, как первый слой структуры "бутылочного горлышка" и первый слой вывода признаков используются для выполнения восстановления признаков и обработки изображений на второй карте признаков. Здесь описание предоставляется с использованием примера, в котором первый слой T701 извлечения признаков, показанный на фиг. 8B включает в себя сетевой слой conv1 и сетевой слой conv2, а также первый слой P701 вывода признаков, показанный на фиг. 8B включает в себя сетевой слой conv3, сетевой слой conv4 и сетевой слой conv5. Второй набор может включать в себя любую одну или несколько из пятой карты FM5_1 признаков, полученной после того, как сетевой слой conv3 используется для обработки третьей карты FM3 признаков, пятой карты FM5_2 признаков, полученной после того, как сетевой слой conv4 используется для обработки пятой карты FM5_1 признаков, и пятой карты FM5_3 признаков, полученной после того, как сетевой слой conv5, используется для обработки пятой карты FM5_2 признаков.
[00158] S623: Вычисление функции потерь на основе четвертой карты признаков в первом наборе и пятой карты признаков во втором наборе.
[00159] В возможной реализации функция потерь может быть вычислена на основе расстояния между четвертой картой признаков и пятой картой признаков.
1
i
[00160] В одном примере функция потерь может быть вычислена с использованием нормы L1 средней абсолютной ошибки (1-norm) между четвертой картой признаков и пятой картой признаков. Например, L1 norm=||x||=, где i - порядковый номер, x - расстояние между i-й четвертой картой признаков и i-й пятой картой признаков, а N - общее количество четвертых карт признаков, включенных в первый набор, и всего пятых карт признаков, включенных во второй набор.
2
i
[00161] В другом примере функция потерь также может быть вычислена с использованием нормы L2 среднеквадратичной ошибки (2-norm) между четвертой картой признаков и пятой картой признаков. Например, L2 norm=||x||=, где i - порядковый номер, x - расстояние между i-й четвертой картой признаков и i-й пятой картой признаков, а N - общее количество четвертых карт признаков, включенных в первый набор, и общее количество пятых карт признаков, включенных во второйнабор.
[00162] Например, функция потерь обозначается как Loss. Здесь используется пример, в котором функция потерь вычисляется на основе нормы L2 (2-норма) средней квадратичной ошибки между четвертой картой признаков и пятой картой признаков, а Loss=w1×L2 (FM4_1, FM5_1) + w2×L2 (FM4_2, FM5_2) + w3×L2 (FM4_3, FM5_3).
[00163] Здесь w1, w2 и w3 являются предварительно установленными весовыми коэффициентами, и все от w1 до w3 могут быть положительными действительными числами. Например, w1=0,3, w2=0,3 и w3=0,4. L2 (A, B) указывает норму L2 (2-норма), используемую для вычисления разницы между двумя частями трехмерных данных: A и B.
[00164] В необязательной реализации функция потерь может быть вычислена с использованием слагаемого регуляризации второй карты FM2 признаков , и слагаемое регуляризации может включать в себя любой из следующих трех элементов:
[00165] 1. Средняя амплитуда второй карты FM2 признаков , где весовой коэффициент этого элемента является отрицательным действительным числом.
[00166] 2. Норма L1 градиента между элементом признака второй карты FM2 признаков и элементом признака, соседним с элементом признака второй карты FM2 признаков на том же канале, где весовой коэффициент этого элемента является отрицательным действительным числом.
[00167] 3. Расчетное значение кодированного бита второй карты FM2 признаков , где весовой коэффициент этого элемента является положительным действительным числом.
[00168] В процессе обработки изображения вторая карта признаков подлежащего обработке изображения получается путем сжатия первой карты признаков. Следовательно, в процессе вычисления функции потерь добавляется элемент регуляризации второй карты FM2 признаков , и первый слой структуры "бутылочного горлышка" обучается на основе элемента регуляризации второй карты признаков. Это помогает уменьшить ошибку, вызванную сжатием первой карты признаков.
[00169] S624: Обновление параметра первого слоя структуры "бутылочного горлышка" на основе функции потерь, чтобы получить второй слой структуры "бутылочного горлышка", чтобы получить вторую сверточную нейронную сеть.
[00170] Например, параметр первого слоя структуры "бутылочного горлышка" обновляется с использованием алгоритма обратного распространения (backward propagation, BP), основанного на функции потерь, полученной путем вычисления, для получения второго слоя структуры "бутылочного горлышка", чтобы получить вторую сверточную нейронную сеть. Связанный принцип алгоритма BP см. в связанных описаниях в предшествующем уровне техники. Подробности здесь не описаны.
[00171] В способе обучения, представленном в настоящем изобретении, условием для получения второй сверточной нейронной сети может быть тем, что количество раз обратного распространения достигает порогового значения, или может быть тем, что значение функции потерь меньше или равно пороговому значению, или может быть тем, что разница между значениями функции потерь, которые получены в результате двух последовательных вычислений, меньше или равна пороговому значению. В настоящем изобретении это не ограничено.
[00172] Согласно способу обучения, предоставленному в настоящем изобретении, особенно для одного и того же обучающего изображения, функция потерь вычисляется для расстояния между множеством соответствующих карт признаков (четвертая карта признаков и пятая карта признаков) в первой сверточной нейронной сети и третьей сверточной нейронной сети, чтобы получить вторую сверточную нейронную сеть. Это помогает максимально сократить расстояние между четвертой картой признаков и пятой картой признаков, тем самым уменьшая ошибку между первой картой признаков и третьей картой признаков и повышая точность обработки изображений.
[00173] В другой необязательной реализации на фиг. 9 - схематическая блок-схема последовательности операций другого способа обучения в соответствии с настоящим изобретением. S622 может включать в себя следующие этапы с S622a по S622d.
[00174] S622a: Выполнение извлечения признаков на обучающем изображении, используя первый слой извлечения признаков, чтобы получить первую карту признаков.
[00175] Как показано на фиг. 8B, извлечения признаков выполняется на обучающем изображении с использованием первого слоя T701 извлечения признаков, чтобы получить первую карту FM1 признаков.
[00176] S622b: Сжатие первой карты признаков, используя слой сжатия признаков, чтобы получить шестую карту признаков.
[00177] Как показано на фиг. 8B первая карта FM1 признаков сжимается с использованием слоя 7111 сжатия признаков, чтобы получить вторую карту FM2 признаков (например, вышеупомянутую шестую карту признаков). Количество каналов второй карты FM2 признаков меньше количества каналов первой карты FM1 признаков.
[00178] S622c: Восстановление шестой карты признаков, используя слой восстановления признаков, чтобы получить третью карту признаков.
[00179] Как показано на фиг. 8B, вторая карта FM2 признаков восстанавливается с использованием слоя 7111 восстановления признаков, чтобы получить третью карту FM3 признаков. Количество каналов первой карты FM1 признаков такое же, как количество каналов третьей карты FM3 признаков, и разрешение первой карты FM1 признаков также может быть таким же, как разрешение третьей карты FM3 признаков.
[00180] S622d: Обработка третей карты признаков, используя второй слой вывода признаков, чтобы получить пятую карту признаков, включенную во второй набор.
[00181] Как показано на фиг. 8B, третья карта FM3 признаков обрабатывается с использованием первого слоя 7112 вывода признаков, чтобы получить пятую карту признаков (например, любую одну или несколько из пятой карты FM5_1 признаков, пятой карты FM5_2 признакови пятой карты FM5_3 признаков).
[00182] S623 может включать в себя следующие этапы с S623a по S623c.
[00183] S623a: Получение первого расстояния между четвертой картой признаков и пятой картой признаков.
[00184] Первое расстояние может быть нормой L1 или нормой L2 между четвертой картой признаков и пятой картой признаков.
[00185] S623b: Получение второго расстояния между первой картой признаков и третьей картой признаков.
[00186] Второе расстояние может быть нормой L1 или нормой L2 между первой картой признаков и третьей картой признаков.
[00187] Например, как показано на фиг. 8A и фиг. 8B, второе расстояние может быть нормой L2 между первой картой FM1 признаков и третьей картой FM3 признаков.
[00188] S623c: Вычисление функции потерь на основе первого расстояния и второго расстояния.
[00189] Например, функция потерь обозначается как Loss. Здесь, предполагая, что функция потерь вычисляется на основе нормы L2 среднеквадратичной ошибки (2-norm) между четвертой картой FM4 признаков и пятой картой FM5 признаков и нормой L2 среднеквадратичной ошибки (2-norm) между первой картой FM1 признаков и третьей картой FM3 признаков, Loss=w1×L2 (FM4_1, FM5_1) + w2×L2 (FM4_2, FM5_2) + w3×L2 (FM4_3, FM5_3) + w4×L2 (FM1, FM3).
[00190] Здесь w1, w2, w3 и w4 являются предварительно установленными весовыми коэффициентами, и все от w1 до w4 могут быть положительными действительными числами. Например, w1=w2=w3=w4=0,25 или w1=0,35, w2=w3=0,25 и w1=0,15, или w1=0,4, w2=0,3, w3=0,2 и w4=0,1. L2 (A, B) указывает норму L2 (2-норма), используемую для вычисления разницы между двумя частями трехмерных данных: A и B.
[00191] Функция потерь вычисляется с использованием как первого расстояния между четвертой картой признаков и пятой картой признаков, так и второго расстояния между первой картой признаков и третьей картой признаков. Это помогает максимально сократить расстояние между четвертой картой признаков и пятой картой признаков и максимально сокращает расстояние между первой картой признаков и третьей картой признаков, тем самым уменьшая ошибку обработки между слоем сжатия признаков и слоем восстановления признаков и повышение точности обработки изображений.
[00192] В предшествующем уровне техники способ PCA обычно используется для уменьшения размерности данных карты признаков. Способ PCA - это способ многомерного статистического анализа, в котором линейное преобразование выполняется для множества переменных для выбора относительно небольшого количества важных переменных. Например, в процессе сжатия карты признаков нейронной сети клиентское устройство получает, используя способ PCA, главные компоненты группы изображений из 128-канальных исходных карт признаков, соответствующих изображениям. Например, группа изображений включает в себя три изображения, а количество главных компонент трех изображений составляет 47, 48 и 49. В процессе, в котором облачное устройство восстанавливает карты признаков на основе главных компонент изображений, количество главных компонент изображений различно. Следовательно, после того, как три изображения восстановлены, количество каналов восстановленных карт признаков изображений может измениться на 126, 127 и 128, и, следовательно, количество каналов исходных карт признаков отличается от количества каналов восстановленной карты признаков.
[00193] По сравнению с разницей значений между исходной картой признаков и восстановленной картой признаков в способе PCA в предшествующем уровне техники, когда первая сверточная нейронная сеть обучается с использованием способа обучения в настоящем изобретении, рассматривается расстояние между несжатой первой картой признаков и восстановленной третьей картой признаков. Таким образом, хотя процесс сжатия и восстановления первой карты признаков существует, когда вторая сверточная нейронная сеть получена посредством обучения, разница между первой картой признаков и третьей картой признаков определенно меньше, чем разница значений между исходной картой признаков и восстановленной картой признаков в способе PCA. Другими словами, способ обработки изображения, представленный в настоящем изобретении, имеет лучшую производительность сжатия, чем способ PCA.
[00194] В одном примере, способ PCA может реализовать сокращение данных примерно в три раза, когда индикатор средней средней точности (mean Average Precision, mAP) уменьшается на 2%. Например, когда среднее значение количеств главных компонент, сформированных из 128-канальных исходных карт признаков, соответствующих группе изображений с использованием способа PCA, составляет 47,9, MAP уменьшается примерно на 2%.
[00195] Однако, используя вторую сверточную нейронную сеть, полученную с помощью способа обучения в настоящем изобретении, сокращение данных в 64 раза может быть выполнено на 128-канальных первых картах признаков, соответствующих группе изображений (например, ширине, высоте, и количество каналов второй карты признаков соответственно уменьшается до 1/4 ширины, высоты и количества каналов первой карты признаков). По сравнению с потоком битов, полученным путем сжатия первой карты признаков, на которой сокращение не выполняется, поток битов, полученный путем сжатия второй карты признаков, полученной после сжатия данных в 64 раза, уменьшает объем данных на 90% при уменьшении mAP меньше чем на 1%.
[00196] Кроме того, согласно способу обучения, предоставленному в настоящем изобретении, необходимо лишь ввести большое количество обучающих изображений, а карты признаков, сформированные в первой сверточной нейронной сети и третьей сверточной нейронной сети, возбуждаются обучающими изображениями в качестве обучения, без зависимости от введения «вручную» аннотационных данных визуальной задачи, за счет чего уменьшается зависимость данных от обучения изображениями. Карта признаков используется в качестве источника обучения, поэтому способ обучения, представленный в настоящем изобретении, является более универсальным.
[00197] Можно понять, что для реализации функций в вышеупомянутых вариантах осуществления хост включает в себя соответствующую аппаратную структуру и/или программный модуль для выполнения каждой функции. Специалист в данной области техники должен понимать, что в сочетании с примерами, описанными в вариантах осуществления, раскрытых в настоящем изобретении, блоки и этапы способа могут быть реализованы аппаратными средствами или комбинацией аппаратных средств и компьютерного программного обеспечения. Выполнение функции аппаратным или аппаратным обеспечением, управляемым компьютерным программным обеспечением, зависит от конкретных сценариев приложений и конструктивных ограничений технических решений.
[00198] Фиг. 10 - схематическая структурная диаграмма устройства для обучения и устройства обработки изображений согласно настоящему изобретению. Ниже описываются структуры и функции устройства 1010 для обучения, первого устройства 1020 обработки изображений и второго устройства 1030 обработки изображений со ссылкой на фиг. 10. Следует понимать, что в этом варианте осуществления только структуры и функциональные модули устройства 1010 для обучения, первого устройства 1020 обработки изображений и второго устройства 1030 обработки изображений получаются посредством разделения в качестве примера. Конкретное подразделение не ограничено в настоящем изобретении.
[00199] Как показано на фиг. 10, устройство 1010 для обучения включает в себя блок 1011 получения и блок 1012 обработки. Устройство 1010 для обучения выполнено с возможностью реализации способа обучения, соответствующего этапам работы в варианте осуществления способа, показанном на фиг. 6 или фиг. 9.
[00200] Когда устройство 1010 для обучения выполнено с возможностью реализации функции в варианте осуществления способа, показанном на фиг. 6, блок 1011 получения выполнен с возможностью выполнения S610, а блок 1012 обработки выполнен с возможностью выполнения S620.
[00201] Необязательно, когда устройство 1010 для обучения выполнено с возможностью реализации функции в варианте осуществления способа, показанном на фиг. 9, блок 1012 обработки включает в себя первый блок 1012a обучения, второй блок 1012b обучения, блок 1012c вычисления потерь и третий блок 1012d обучения. Первый блок 1012a обучения выполнен с возможностью выполнения S621, второй блок 1012b обучения выполнен с возможностью выполнения S622 и возможных подэтапов S622a-S622d из S622, блок 1012c вычисления потерь выполнен с возможностью выполнения S623 и возможных подэтапов S623a-S623c S623, а третий блок 1012d обучения выполнен с возможностью выполнения S624.
[00202] Как показано на фиг. 10, первое устройство 1020 обработки изображений включает в себя первый блок 1021 приемопередатчика, блок 1022 извлечения признаков, блок 1023 сжатия признаков и блок 1024 отображения. Первое устройство 1020 обработки изображений выполнено с возможностью реализации способа обработки изображения, соответствующего этапам работы отправляющего узла в варианте осуществления способа, показанном на фиг. 2.
[00203] Когда первое устройство 1020 обработки изображений выполнено с возможностью реализации функции отправляющего узла в варианте осуществления способа, показанном на фиг. 2, первый блок 1021 приемопередатчика выполнен с возможностью выполнения S210 и S240, блок 1022 извлечения признаков выполнен с возможностью выполнения S220, а блок 1023 сжатия признаков выполнен с возможностью выполнения S230. Необязательно, блок 1024 отображения выполнен с возможностью выполнения S280.
[00204] Как показано на фиг. 10, второе устройство 1030 обработки изображений включает в себя второй блок 1031 приемопередатчика, блок 1032 восстановления признаков и блок 1033 обработки изображений. Первое устройство 1020 обработки изображений выполнено с возможностью реализации способа обработки изображения, соответствующего этапам работы принимающего узла в варианте осуществления способа, показанном на фиг. 2.
[00205] Когда второе устройство 1030 обработки изображений выполнено с возможностью реализации функции принимающего узла в варианте осуществления способа, показанном на фиг. 2, второй блок 1031 приемопередатчика выполнен с возможностью выполнения S270, блок 1032 восстановления признаков выполнен с возможностью выполнения S250, а блок 1033 обработки изображений выполнен с возможностью выполнения S260.
[00206] Более подробные описания устройства 1010 для обучения, первого устройства 1020 обработки изображений и второго устройства 1030 обработки изображений непосредственно относятся к соответствующим описаниям в варианте осуществления способа, показанном на фиг. 2, фиг. 6 или фиг. 9. Подробности не описаны здесь снова.
[00207] Фиг. 11 - схематическая структурная диаграмма устройства связи согласно настоящему изобретению. Устройство 1100 связи включает в себя процессор 1110 и интерфейс 1120 связи. Процессор 1110 и интерфейс 1120 связи связаны друг с другом. Можно понять, что интерфейс 1120 связи может быть приемопередатчиком или интерфейсом ввода/вывода. Необязательно, устройство 1100 связи может дополнительно включать в себя память 1130, выполненную с возможностью хранения инструкции, выполняемой процессором 1110, или входных данных, необходимых процессору 1110 для выполнения инструкции, или данных, сформированных после того, как процессор 1110 выполняет инструкцию.
[00208] Когда устройство 1100 связи выполнено с возможностью реализации способа, показанного на фиг. 2, фиг. 6 или фиг. 9, могут быть реализованы функции устройства 1010 для обучения, первого устройства 1020 обработки изображений и второго устройства 1030 обработки изображений. Подробности не описаны здесь снова.
[00209] В этом варианте осуществления настоящего изобретения конкретная среда связи между интерфейсом 1120 связи, процессором 1110 и памятью 1130 не ограничена. В этом варианте осуществления настоящего изобретения на фиг. 11 интерфейс 1120 связи, процессор 1110 и память 1130 соединены через шину 1140. Шина жирной линией на фиг. 11. Способ соединения между другими компонентами является просто примером для описания и не является ограничением. Шину можно разделить на адресную шину, шину данных, шину управления и подобное. Для простоты представления используется только одна толстая линия для представления шины на Фиг. 11, но это не означает, что есть только одна шина или только один тип шины.
[00210] Память 1130 может быть выполнена с возможностью хранения программы и модуля, например программной инструкции/модуля, соответствующей способу обработки изображения и способу обучения, которые предоставлены в вариантах осуществления настоящего изобретения. Процессор 1110 выполняет программу и модуль, которые хранятся в памяти 1130, для выполнения различных функций приложений и обработки данных. Интерфейс связи 1120 выполнен с возможностью выполнения сигнализации или передачи данных с другим устройством. В настоящем изобретении устройство 1100 связи может иметь множество интерфейсов 1120 связи.
[00211] Память может быть, но не ограничивается, памятью с произвольным доступом (Random Access Memory, RAM), памятью только для чтения (Read Only Memory, ROM), программируемой памятью только для чтения (Programmable Read-Only Memory, PROM), стираемую программируемую постоянную память (Erasable Programmable Read-Only Memory, EPROM), электрически стираемую программируемую постоянную память (Electric Erasable Programmable Read-Only Memory, EEPROM) и тому подобное.
[00212] Процессор может быть интегральной микросхемой и может обладать возможностью обработки сигналов. Процессор может быть процессором общего назначения, включая центральный процессор (Central Processing Unit, CPU), сетевой процессор (Network Processor, NP) и т.п.; или может быть цифровым сигнальным процессором (Digital Signal Processing, DSP), специализированной интегральной схемой (Application Specific Integrated Circuit, ASIC), программируемой вентильной матрицей (Field-Programmable Gate Array, FPGA) или другим программируемым логическим устройством, дискретным затвором или транзисторным логическим устройством, дискретный аппаратный компонент и т.п.
[00213] Этапы способа в вариантах осуществления настоящего изобретения могут быть реализованы аппаратно или могут быть реализованы способом выполнения программной инструкции процессором. Программная инструкция может быть сформирована соответствующим программным модулем. Программный модуль может храниться в RAM, флэш-памяти, ROM, PROM, EPROM, EEPROM, регистре, на жестком диске, съемном жестком диске, CD-ROM или на любом другом носителе данных, известном в данной области техники. Например, носитель данных связан с процессором, так что процессор может считывать информацию с носителя данных или записывать информацию на носитель данных. Конечно, носитель данных может быть компонентом процессора. Процессор и носитель данных могут быть расположены в ASIC. Кроме того, ASIC может располагаться в устройстве связи или терминальном устройстве. Конечно, процессор и носитель данных могут альтернативно существовать в устройстве связи или терминальном устройстве как дискретные сборки.
[00214] Все или некоторые из вышеизложенных вариантов осуществления могут быть реализованы с помощью программного обеспечения, аппаратного обеспечения, встроенного программного обеспечения или любой их комбинации. Когда программное обеспечение используется для реализации вариантов осуществления, все или некоторые варианты осуществления могут быть реализованы в форме компьютерного программного продукта. Компьютерный программный продукт включает в себя одну или несколько компьютерных программ или инструкций. Когда компьютерные программы или инструкции загружаются и выполняются на компьютере, выполняются все или некоторые процедуры или функции в вариантах осуществления настоящего изобретения. Компьютер может быть компьютером общего назначения, специализированным компьютером, компьютерной сетью, устройством связи, пользовательским оборудованием или другим программируемым устройством. Компьютерные программы или инструкции могут храниться на считываемом компьютером носителе данных или могут передаваться со считываемого компьютером носителя данных на другой считываемый компьютером носитель данных. Например, компьютерные программы или инструкции могут передаваться с веб-сайта, компьютера, сервера или центра обработки данных на другой веб-сайт, компьютер, сервер или центр обработки данных проводным или беспроводным способом. Считываемый компьютером носитель данных может быть любым используемым носителем, доступным для компьютера, или устройством хранения данных, таким как сервер или центр обработки данных, объединяющим один или несколько используемых носителей. Используемый носитель может быть магнитным носителем, например, дискетой, жестким диском или магнитной лентой, может быть оптическим носителем, например, цифровым видеодиском (digital video disc, DVD), или может быть полупроводниковым носителем, например твердотельным накопителем (solid state disk, SSD).
[00215] В вариантах осуществления настоящего изобретения, если не указано иное или существует логический конфликт, термины и/или описания между различными вариантами осуществления согласованы и могут ссылаться друг на друга, а технические характеристики в различных вариантах осуществления могут быть объединены на основе их внутренней логической взаимосвязи для формирования нового варианта осуществления.
[00216] В настоящем изобретении "по меньшей мере один" означает один или более, а "множество" означает два или более. Термин «и/или» описывает отношения связи между связанными объектами и представляет, что могут существовать три отношения. Например, A и/или B может обозначать следующие три случая: Существует только A, существуют как A, так и B, и существует только B. A и B могут быть в единственном или множественном числе. В текстовых описаниях настоящего изобретения символ «/» указывает связь «или» между связанными объектами. В формуле настоящего изобретения символ «/» обозначает связь «разделение» между связанными объектами.
[00217] Можно понять, что различные числа в вариантах осуществления настоящего изобретения используются просто для различения для простоты описания и не используются для ограничения объема вариантов осуществления настоящего изобретения. Порядковые номера вышеупомянутых процессов не означают последовательности выполнения. Последовательность выполнения процессов должна определяться на основе функций и внутренней логики процессов.