СПОСОБ И УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ ПОЗЫ ЧЕЛОВЕКА, УСТРОЙСТВО И НОСИТЕЛЬ ДАННЫХ
METHOD AND DEVICE FOR DETERMINING A PERSON'S POSTURE, DEVICE AND DATA CARRIER

Родственная заявка
[0001] Данная заявка представляет собой национальную фазу России международной заявки № PCT/CN 2019/119633, поданной 20 ноября 2019 года, которая испрашивает приоритет на основании заявки на патент Китая №201811427578.X под названием «Способ и устройство для определения позы человека, устройство и носитель данных», поданной 27 ноября 2018 года, содержание которой полностью включено в настоящий документ посредством ссылки.
Область техники, к которой относится настоящее изобретение
[0002] Варианты осуществления настоящего изобретения относятся к технологиям определения позы человека, в частности, к способу и устройству для определения позы человека, устройству и носителю данных.
Предшествующий уровень техники настоящего изобретения
[0003] Технология определения поз человека, как наиболее амбициозное направление исследований в области машинного зрения, широко используется в таких сферах, как взаимодействие в системе «человек-машина», интеллектуальный мониторинг, виртуальная реальность и анализ поведения тела. Однако признаки компонентов изображения, где находятся различные ключевые точки, составляющие позу человека, подвержены многомасштабному аффинному преобразованию, и на изображение негативно влияют такие факторы, как одежда целевого лица, ракурс камеры, расстояние, изменения освещения и частичное затенение, и поэтому исследования в сфере определения поз человека продвигаются медленно.
[0004] В сопутствующих технологиях определение позы человека основано на использовании сверточной нейронной сети. При этом для обеспечения более высокой точности идентификации обычно необходимо собрать огромное количество обучающих выборок, часто необходимых для длительных наблюдений и обучения модели определения позы человека.
Краткое раскрытие настоящего изобретения
[0005] Вариантами осуществления настоящего изобретения предложен способ и устройство для определения позы человека, устройство и носитель данных.
[0006] Согласно первому аспекту вариантов осуществления настоящего изобретения предложен способ определения позы человека. Этот способ предусматривает: получение множества кадров данных изображения; получение множества опорных карт позы человека в текущем кадре данных изображения, выданных предварительно обученной моделью определения позы человека по факту ввода текущего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человека в предыдущем кадре данных изображения, причем модель определения позы человека генерируется путем обучения с использованием сверточной нейронной сети, применимой к встраиваемой платформе; идентификацию ключевой точки позы человека в каждой из опорных карт позы человека; генерирование карт достоверности позы человека на основании достоверности ключевых точек позы человека; определение того, является ли текущий кадр данных изображения последним кадром данных изображения; ввод - по факту установления того, что текущий кадр данных изображения не является последним кадром данных изображения карт достоверности позы человека в модель определения позы человека для их применения при генерировании карт достоверности позы человека в следующем кадре данных изображения; и завершение генерирования карт достоверности позы человека во множестве кадров данных изображения по факту установления того, что текущий кадр данных изображения является последним кадром данных изображения; при этом генерирование карт достоверности позы человека на основании достоверности ключевых точек позы человека предусматривает: определение того, являются ли достоверными ключевые точки позы человека; генерирование - по факту установления того, что ключевые точки человека являются достоверными - шаблонов маски с ключевыми точками позы человека в виде центральных точек в качестве карт достоверности позы человека; и принятие заданных данных изображения в качестве карт достоверности позы человека по факту становления того, что ключевые точки позы человека являются недостоверными.
[0007] Согласно второму аспекту вариантов осуществления настоящего изобретения предложено устройство для определения позы человека. Этой устройство включает в себя: модуль получения данных изображения, выполненный с возможностью получения множества кадров данных изображения; модуль выдачи опорных карт позы человека, выполненный с возможностью получения множества опорных карт позы человека в текущем кадре данных изображения, выданных предварительно обученной моделью определения позы человека по факту ввода текущего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человека в предыдущем кадре данных изображения, причем модель определения позы человека генерируется путем обучения с использованием сверточной нейронной сети, применимой к встраиваемой платформе; модуль идентификации ключевых точек позы человека, выполненный с возможностью идентификации ключевой точки позы человека в каждой из опорных карт позы человека; модуль генерации карт достоверности позы человека, выполненный с возможностью генерирования карт достоверности позы человека на основании достоверности ключевых точек позы человека; модуль оценки, выполненный с возможностью определения, является ли текущий кадр данных изображения последним кадром данных изображения; первый исполнительный модуль, выполненный с возможностью ввода - по факту установления того, что текущий кадр данных изображения не является последним кадром данных изображения карт достоверности позы человека в модель определения позы человека для их применения при генерировании карт достоверности позы человека в следующем кадре данных изображения; и второй исполнительный модуль, выполненный с возможностью завершения генерирования карт достоверности позы человека по множеству кадров данных изображения по факту установления того, что текущий кадр данных изображения является последним кадром данных изображения; при этом генерирование карт достоверности позы человека на основании достоверности ключевых точек позы человека предусматривает: определение того, являются ли достоверными ключевые точки позы человека; генерирование - по факту установления того, что ключевые точки человека являются достоверными шаблонов маски с ключевыми точками позы человека в виде центральных точек в качестве карт достоверности позы человека; и принятие заданных данных изображения в качестве карт достоверности позы человека по факту становления того, что ключевые точки позы человека являются недостоверными.
[0008] Согласно третьему аспекту вариантов осуществления настоящего изобретения дополнительно предложено устройство. Это устройство включает в себя: по меньшей мере, один процессор; и память, выполненную с возможностью хранения, по меньшей мере, одной программы; причем при выполнении, по меньшей мере, одним процессором, по меньшей мере, одной программы инициируется реализация этим процессором способа согласно первому аспекту вариантов осуществления настоящего изобретения.
[0009] Согласно четвертому аспекту вариантов осуществления настоящего изобретения дополнительно предложен машиночитаемый носитель данных, в котором хранится, по меньшей мере, одна компьютерная программа; при этом компьютерная программа при ее выполнении процессором инициирует реализацию процессором способа согласно первому аспекту вариантов осуществления настоящего изобретения.
Краткое описание фигур
[0010] На фиг. 1 показана блок-схема, иллюстрирующая алгоритм реализации способа определения позы человека согласно одному из вариантов осуществления настоящего изобретения;
[0011] На фиг. 2 показана блок-схема, иллюстрирующая применение сверточной нейронной сети согласно одному из вариантов осуществления настоящего изобретения;
[0012] На фиг. 3 показана блок-схема, иллюстрирующая алгоритм реализации другого способа определения позы согласно одному из вариантов осуществления настоящего изобретения;
[0013] На фиг. 4 показана структурная схема устройства для определения позы человека согласно одному из вариантов осуществления настоящего изобретения; и
[0014] На фиг. 5 показана структурная схема устройства согласно одному из вариантов осуществления настоящего изобретения.
Подробное раскрытие настоящего изобретения
[0015] Так называемое машинное зрение предназначено для имитации зрительной функции человека компьютером с последующим получением им возможности понимания реального мира путем наблюдения за ним так, как это присуще живому человеку. Машинное зрение нацелено, главным образом, на изучение возможности использования технологий машинного зрения для решения актуальных задач в отношении людей, включая идентификацию объектов, обнаружение и отслеживание людей, идентификацию лиц, определение человеческих поз, анализ движений человека и пр. Определение позы человека является важной частью идентификации поведения человека, а также служит важным содержанием исследований в рамках систем идентификации человеческого поведения, конечной целью которых является выдача структурных параметров всех или некоторых частей тела человека, например, контуров человеческого тела, положения и ориентации головы и положения или категории ключевой точки на части тела человека. Оно находит применение во многих важных сферах, например, для идентификации действий спортсменов, создания мультипликационных персонажей и контекстного поиска изображений и видео.
[0016] При определении позы человека человеческое тело рассматривается как совокупность различных компонентов, соединенных ключевыми точками, и определение позы человека основано на информации о положении каждой ключевой точки, причем информация о положении ключевой точки отображается двумерными или плоскими координатами. Для определения позы человека всего необходимо получить 14 ключевых точек, включая голову, шею, левое плечо, правое плечо, левый локоть, правый локоть, левое запястье, правое запястье, левое бедро, правое бедро, левое колено, правое колено, левую лодыжку и правую лодыжку человеческого тела.
[0017] В традиционных технологиях для определения позы человека принят способ определения позы человека на базе сверточной нейронной сети, причем главная задача, которую призвана решить сверточная нейронная сеть, заключается в том, как автоматически извлечь и абстрагировать определенный признак, а затем перенести этот признак на мишень-адресат для решения актуальных задач. Сверточная нейронная сеть обычно состоит из следующих трех частей: первой частью служит начальный слой; вторая часть состоит из слоя свертки, слоя активации и слоя пулинга (или слоя субдискретизации); а третья часть сформирована в виде полносвязного многослойного классификатора-перцептрона. Сверточная нейронная сеть характеризуется совместным использованием весов, что означает извлечение одного и того же признака в разных положениях во всей области изображения путем выполнения операции свертки одним ядром свертки; иначе говоря, одни и те же мишени в разных положениях в одном блоке данных изображения по существу идентичны по локальным признакам. Следует понимать, что с использованием одного ядра свертки может быть получен только один признак, а признак данных изображения может быть извлечен путем развертывания многоядерной свертки и обучения разных признаков с использованием каждого ядра свертки. Следует также понимать, что во время обработки изображения слой свертки выполняет функцию извлечения и агрегатирования признаков низкого уровня в признаки высокого уровня, причем признаки низкого уровня являются базовыми признаками, такими как текстура, края и прочие локальные признаки, а признаки высокого уровня, такие как человеческие лица и форма объекта, могут лучше отображать глобальные свойства выборки. Этот процесс представляет собой обобщение уровня целевого объекта сверточной нейронной сетью.
[0018] В сопутствующих технологиях во время определения позы человека на базе сверточной нейронной сети процесс определения позы человека по двум разным данным изображения выполняется независимо, что уменьшает точность определения позы человека. В частности, во время определения позы человека на видео возникает проблема, которая заключается в том, что результаты определения позы человека, соответствующей соседним кадрам изображения, слишком отличаются друг от друга.
[0020] Кроме того, заявитель выявил, по меньшей мере, следующие проблемы в сопутствующих технологиях: отсутствие графического процессора (GPU) во встраиваемой платформе для оптимизации операции свертывания с максимальным объемом вычислений в сверточной нейронной сети; следовательно, множество способов определения позы человека на базе сверточной нейронной сети не применимы к встраиваемой платформе.
[0020] Следует понимать, что если необходимо обеспечить, чтобы способ определения позы человека на базе сверточной нейронной сети мог быть реализован на встраиваемой платформе, сверточная нейронная сеть должна быть низкоуровневой по части объема вычислений и высокоуровневой по части быстродействия, а также удовлетворять фактическим требованиям к точности прогнозирования.
[0021] Во избежание ситуации, когда способ определения позы человека на базе сверточной нейронной сети не может быть успешно реализован на встраиваемой платформе, сверточная нейронная сеть может рассматриваться как подлежащая усовершенствованию. Например, может быть использована легковесная сверточная нейронная сеть. Сверточной нейронной сетью согласно вариантам осуществления настоящего изобретения называется легковесная сверточная нейронная сеть. Так называемая легковесная сверточная нейронная сеть обозначает сверточную нейронную сеть, которая применима к встраиваемой платформе.
[0022] Способ определения позы человека описан ниже на примере конкретных вариантов осуществления настоящего изобретения.
[0023] На фиг. 1 показана блок-схема, иллюстрирующая алгоритм реализации способа определения позы человека согласно одному из вариантов осуществления настоящего изобретения. Этот вариант осуществления применим к определению позы человека. Предложенный способ может быть реализован устройством для определения позы человека. Это устройство реализовано в виде программных средств и/или аппаратных средств. Это устройство может быть сконфигурировано в таком устройстве, как компьютер или мобильный терминал. Как показано на фиг. 1, предложенный способ предусматривает выполнение стадий 110-170.
[0024] На стадии 110 предусмотрено получение множества кадров данных изображения.
[0025] В вариантах осуществления настоящего изобретения видео рассматривается как состоящее, по меньшей мере, из одного кадра данных изображения. Для идентификации позы человека на видео, это видео может быть разделено на данные изображения по кадрам с последующим анализом каждого кадра данных изображения. В данном случае множество кадров данных изображения указывает на данные изображения в одном и том же видео; иначе говоря, видео включает в себя множество кадров данных изображения. Множеству кадров данных изображения названия присваиваются в хронологическом порядке. Для иллюстрации, если видео включает в себя N кадров данных изображения, где N≥1, то N-oe количество кадров данных изображения называется следующим образом: первый кадр данных изображения, второй кадр данных изображения, … (N-1)-ый кадр данных изображения и N-ый кадр данных изображения, в хронологическом порядке.
[0026] Следует понимать, что в случае, когда видео разделено на множество кадров данных изображения, каждый кадр данных изображения обрабатывается последовательно в хронологическом порядке. При этом определенный кадр данных изображения, обрабатываемый в данный момент времени, называется текущим кадром данных изображения; кадр данных изображения, предшествующий текущему кадру, называется предыдущим кадром данных изображения; а кадр данных изображения, следующий за текущим кадром данных изображения, называется следующим кадром данных изображения. Следует также понимать, что если текущий кадр данных изображения представляет собой первый кадр данных изображения, то для текущего кадра данных изображения предусмотрен только следующий кадр данных изображения, а предыдущий кадр данных изображения отсутствует; если текущий кадр данных изображения представляет собой последний кадр данных изображения, то для текущего кадра данных изображения предусмотрен только предыдущий кадр данных изображения, а следующий кадр данных изображения отсутствует; а если текущий кадр данных изображения не представляет собой ни первый кадр данных изображения, ни последний кадр данных изображения, то для текущего кадра данных изображения предусмотрен как предыдущий кадр данных изображения, так и следующий кадр данных изображения.
[0027] Причина последовательной обработки каждого кадра данных изображения в хронологическом порядке заключается в том, что при определении позы человека между двумя соседними кадрами данных изображения может существовать определенная корреляция; иначе говоря, если по предыдущему кадру данных изображения установлено, что ключевая точка появятся в определенном положении в предыдущем кадре данных изображения, то эта ключевая точка может также появиться примерно в том же положении и в текущем кадре данных изображения. Другими словами, если результат детектирования предыдущего кадра данных изображения удовлетворяет заданному условию, то текущий кадр данных изображения может быть обработан путем обращения к результату детектирования предыдущего кадра данных изображения.
[0028] На стадии 120 обеспечивается получение множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека по факту ввода текущего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человека в предыдущем кадре данных изображения, причем модель определения позы человека генерируется путем обучения с использованием сверточной нейронной сети, применимой к встраиваемой платформе.
[0029] В вариантах осуществления настоящего изобретения карта достоверности позы человека относится к изображению, содержащему ключевую точку позы человека; или же под картой достоверности позы человека понимается изображение, сгенерированное на основании ключевой точки позы человека, такое как изображение, сгенерированное с ключевой точкой позы человека в качестве центральной точки. Ключевой точкой позы человека, описанной в настоящем документе, может называться любая из 14 ключевых точек, включающих в себя голову, шею, левое плечо, правое плечо, левый локоть, правый локоть, левое запястье, правое запястье, левое бедро, правое бедро, левое колено, правое колено, левую лодыжку и правую лодыжку согласно описанию, представленному выше.
А
А
А
В
В
В
С
С
С
А
В
С
[0030] Опорная карта позы человека содержит информацию о положении множества точек, которые могут выполнять функцию ключевой точки позы человека, и значения вероятности, соответствующие информации о положении. Точки, которые могут выполнять функцию ключевой точки позы человека, называются точками-кандидатами. Соответственно, опорная карта позы человека содержит информацию о положении множества точек-кандидатов и значения вероятности, соответствующие информации о положении. Каждая точка-кандидат соответствует одному значению вероятности, а информация о положении отображается в виде координат. При этом какая из точек-кандидатов берется в качестве ключевой точки позы человека, может определяться на основании значений вероятности, соответствующих информации о положении множества точек-кандидатов. Для иллюстрации, в качестве ключевой точки позы человека выбирается точка-кандидат, соответствующая максимальному значению вероятности из числа множества значений вероятности, соответствующих информации о положении множества точек-кандидатов. Например, опорная карта позы человека включает в себя: информацию (х, у) о положении точки-кандидата А и соответствующее значение Р вероятности; информацию (х, у) о положении точки-кандидата В и соответствующее значение Р вероятности; информацию (х, у) о положении точки-кандидата С и соответствующее значение Р вероятности; при этом Р<Р<Р, и в качестве ключевой точки позы человека определяется точка-кандидат С.
[0031] Следует отметить, что каждая карта достоверности позы человека соответствует одной ключевой точке позы человека, а каждая опорная карта позы человека включает в себя множества точек-кандидатов. Точки-кандидаты представляют собой точки-кандидаты для определенной ключевой точки. Например, опорная карта позы человека включает в себя множество точек-кандидатов, которые являются точками-кандидатами для левого локтя. В другом примере опорная карта позы человека может также включать в себя множество точек-кандидатов, которые служат точками-кандидатами для левого колена. На основании описания, представленного выше, можно понять, что если по кадру данных изображения было установлено N-oe число ключевых точек для кадра данных изображения, то имеется, соответственно, N-oe число опорных карт позы человека и N-oe число карт достоверности позы человека.
[0032] Предварительно обученная модель определения позы человека генерируется путем обучения множества, состоящего из заданного количества обучающих выборок с использованием сверточной нейронной сети, применимой к встраиваемой платформе. Сверточная нейронная сеть, применимая к встраиваемой платформе, представляет собой легковесную сверточную нейронную сеть. Модель определения позы человека может включать в себя стержневую ветвь, первое ответвление, второе ответвление и третье ответвление, причем стержневая ветвь включает в себя остаточный модуль и модуль повышающей дискретизации, первое ответвление включает в себя уточняющий сетевой модуль, а второе ответвление включает в себя модуль обратной связи; при этом остаточный модуль включает в себя первый остаточный блок, второй остаточный блок и третий остаточный блок. Более подробное описание компонентов модели определения позы человека представлено далее по тексту.
[0033] Получение множества опорных карт позы человека, выдаваемых предварительно обученной моделью определения позы человека по факту выдачи текущего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человека в предыдущем кадре данных изображения, может быть выполнено двумя способами, описанными ниже.
[0034] В первом случае обеспечивается получение множества первых опорных карт позы человека путем ввода текущего кадра данных изображения в качестве входной переменной в предварительно обученную модель определения позы человека, а множество карт достоверности позы человека выдается на основании множества карт достоверности позы человека, полученных для предыдущего кадра данных изображения, причем для каждой из первых опорных карт позы человека выдается одна опорная карта позы человека в текущем кадре данных изображения на основании одной карты достоверности позы человека из числа множества карт достоверности позы человека, полученных для соответствующего предыдущего кадра данных изображения. Соответствующее соотношение, описанное выше, определяется на основании того, идентичны ли ключевые точки. Для иллюстрации, первая опорная карта позы человека в текущем кадре данных изображения относится к левому локтю, и поэтому она соотносится с картой достоверности позы человека, в которой соответствующей ключевой точкой является левый локоть, в предыдущем кадре данных изображения.
[0035] Следует понимать, что в первом случае карты достоверности позы человека в предыдущем кадре данных изображения не вводятся в качестве входных переменных в предварительно обученную модель определения позы человека вместе с текущим кадром данных изображения. Вместо этого, после получения множества первых опорных карт позы человека путем ввода текущего кадра данных изображения в предварительно обученную модель определения позы человека последовательно определяется, является ли достоверной каждая из первых опорных карт позы человека, на основании множества карт достоверности позы человека в предыдущем кадре данных изображения. В случае если первая опорная карта позы человека является достоверной, эта первая опорная карта позы человека принимается в качестве опорной карты позы человека для текущего кадра; а в случае если первая опорная карта позы человека является недостоверной, то в качестве опорной карты позы человека для текущего кадра принимается карта достоверности позы человека в предыдущем кадре данных изображения, соответствующая первой опорной карте позы человека.
[0036] Во втором случае текущий кадр данных изображения и карты достоверности позы человека в предыдущем кадре данных изображения принимаются в качестве входных переменных и вводятся в предварительно обученную модель определения позы человека с последующим выводом множества опорных карт позы человека.
[0037] Следует понимать, что во втором случае, описанном выше, карты достоверности позы человека в предыдущем кадре данных изображения также принимаются в качестве входных переменных и вводятся в предварительно обученную модель определения позы человека вместе с текущим кадром данных изображения. Что касается видео, то между двумя соседними кадрами данных изображения существует определенная корреляция. Результат по предыдущему кадру данных изображения принимается в качестве информации, поступающей в порядке обратной связи, и вводится в предварительно обученную модель определения позы человека для его применения в процессе прогнозирования итогового результата по текущему кадру данных изображения, что может повысить точность прогноза для модели определения позы человека.
[0038] Следует отметить, что во втором случае точность прогнозирования модели определения позы человека может быть повышена способом, который предусматривает следующее: определение того, являются ли достоверными карты достоверности позы человека в предыдущем кадре данных изображения; получение множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека путем ввода, после установления факта достоверности карт достоверности позы человека в предыдущем кадре данных изображения, текущего кадра данных изображения и карт достоверности позы человека в предыдущем кадре данных изображения в предварительно обученную модель определения позы человека; получение множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека путем ввода, после установления факта недостоверности карт достоверности позы человека в предыдущем кадре данных изображения, текущего кадра данных изображения и заданных данных изображения в предварительно обученную модель определения позы человека; или, в альтернативном варианте, получение множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека путем ввода, после установления факта недостоверности карт достоверности позы человека в предыдущем кадре данных изображения, текущего кадра данных изображения в предварительно обученную модель определения позы человека. Заданные данные изображения относятся к данным изображения, не содержащим накопленные знания, например, к полностью черному изображению или полностью нулевой матрице, если они представлены в виде матричной таблицы. В отношении итогового результата по текущему кадру данных изображения можно сказать, что данными изображения, содержащими накопленные знания, являются карты достоверности позы человека в предыдущем кадре данных изображения; а в отношении итогового результата по следующему кадру данных изображения можно сказать, что данными изображения, содержащими накопленные знания, являются карты достоверности позы человека в текущем кадре данных изображения.
[0039] Причина, по которой точность прогнозирования модели определения позы человека может быть повышена с помощью способа, описанного выше, заключается в следующем: если карты достоверности позы человека в предыдущем кадре данных изображения являются недостоверными, это указывает на ненадежность карт достоверности позы человека в предыдущем кадру данных изображения; в таком случае, если карты достоверности позы человека в предыдущем кадре данных изображения по-прежнему принимаются в качестве входных переменных и вводятся в предварительно обученную модель определения позы человека, то точность прогнозирования модели определения позы человека не повышается, а наоборот уменьшается. Исходя из представленного выше описания, необходимо обеспечить, чтобы карты достоверности позы человека в предыдущем кадре данных изображения, которые принимаются в качестве входных переменных и вводятся в предварительно обученную модель определения позы человека, были достоверными. Следовательно, являются ли достоверными карты достоверности позы человека в предыдущем кадре данных изображения, определяется перед обращением к картам достоверности позы человека в предыдущем кадре данных изображения. Если карты достоверности позы человека в предыдущем кадре данных изображения являются достоверными, то эти карты достоверности позы человека в предыдущем кадре данных изображения принимаются в качестве входных переменных и вводятся в предварительно обученную модель определения позы человека; и наоборот, если карты достоверности позы человека в предыдущем кадре данных изображения являются недостоверными, то эти карты достоверности позы человека в предыдущем кадре данных не вводятся в качестве входных переменных. Кроме того, являются ли карты достоверности позы человека в предыдущем кадре данных изображения достоверными, определяется способом, предусматривающим следующее: идентификацию ключевых точек позы человека в опорных картах позы человека в предыдущем кадре; генерирование шаблонов маски в качестве карт достоверности позы человека в предыдущем кадре данных изображения с принятием ключевых точек в качестве центральных точек по факту установления того, что значения вероятности, соответствующие ключевым точкам позы человека, превышают заданное пороговое значение, и определение карт достоверности позы человека в предыдущем кадре как достоверных; и принятие заданных данных изображения в качестве карты достоверности позы человека по факту установления того, что значения вероятности, соответствующие ключевым точкам позы человека, меньше или равны заданному пороговому значению, и определение карт достоверности позы человека в предыдущем кадре как недостоверных.
[0040] Следует также отметить, что множество опорных карт позы человека, описанное выше, предназначено для выдачи результата по текущему кадру данных изображения; иначе говоря, текущий кадр данных изображения соответствует множеству опорных карт позы человека. Для иллюстрации, если в текущем кадре данных изображения установлено N ключевых точек, выдается, соответственно, N-oe количество опорных карт позы человека. При этом имеется N-oe количество карт достоверности позы человека в предыдущем кадре данных изображения.
[0041] Следует также отметить, что в представленном выше описании определение того, являются ли карты достоверности позы человека в предыдущем кадре данных изображения достоверными, относится к определению того, является ли достоверной, соответственно, каждая из карт достоверности позы человека в предыдущем кадре данных изображения. Следует также понимать, что карты достоверности позы человека могут относиться к изображениям, содержащим ключевые точки, где разные ключевые точки соответствуют разным картам достоверности позы человека; следовательно, для разных ключевых точек условия определения того, являются ли карты достоверности позы человека достоверными, могут быть одинаковыми или разными, и могут определяться с учетом фактической ситуации, что не носит ограничительного характера в настоящем документе.
[0042] Кроме того, если текущий кадр данных изображения является первым кадром данных изображения, т.е. предыдущий кадр данных изображения отсутствует, то текущий кадр данных изображения вводится в предварительно обученную модель определения позы человека, или же в предварительно обученную модель определения позы человека вводится текущий кадр данных изображения и заданные данные изображения.
[0043] В некоторых вариантах осуществления настоящего изобретения предусмотрено, что получение множества опорных карт позы человека, выдаваемых предварительно обученной моделью определения позы человека по факту ввода текущего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человека в предыдущем кадре данных изображения, предусматривает: определение того, являются ли достоверными карты достоверности позы человека в предыдущем кадре данных изображения; получение множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека путем ввода по факту установления того, что карты достоверности позы человека в предыдущем кадре данных изображения являются достоверными - текущего кадра данных изображения и карт достоверности позы человека в предыдущем кадре данных изображения в предварительно обученную модель определения позы человек; получение множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека путем ввода - по факту установления того, что карты достоверности позы человека в предыдущем кадре данных изображения являются недостоверными текущего кадра данных изображения и заданных данных изображения в предварительно обученную модель определения позы человека.
[0044] В вариантах осуществления настоящего изобретения точность прогнозирования модели определения позы человека может быть повышена, если рассмотреть возможность использования способа, предусматривающего следующее: определение того, являются ли достоверными карты достоверности позы человека в предыдущем кадре данных изображения; получение множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека путем ввода по факту установления того, что карты достоверности позы человека в предыдущем кадре данных изображения являются достоверными - текущего кадра данных изображения и карт достоверности позы человека в предыдущем кадре данных изображения в предварительно обученную модель определения позы человек; получение множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека путем ввода - по факту установления того, что карты достоверности позы человека в предыдущем кадре данных изображения являются недостоверными - текущего кадра данных изображения и заданных данных изображения в предварительно обученную модель определения позы человека.
[0045] За счет выполнения указанных операций гарантируется, что карты достоверности позы человека в предыдущем кадре данных изображения, которые вводятся в качестве входных переменных в предварительно обученную модель определения позы человека, являются достоверными. Таким образом, точность прогнозирования модели определения позы человека для итогового результата по текущему кадру данных изображения повышается на базе накопленных знаний, содержащихся в картах достоверности позы человека в предыдущем кадре данных изображения.
[0046] К примеру, имеется N карт достоверности позы человека в предыдущем кадре данных изображения; и, соответственно, определяется, являются ли эти карты достоверности позы человека достоверными, при этом х карт достоверности позы человека считаются достоверными, a (N-x) карт достоверности позы человека считаются недостоверными. Затем, х карт достоверности позы человека, (n-х) заданных данных изображения и текущий кадр данных изображения могут быть введены в предварительно обученную модель определения позы человека для выдачи множества опорных карт позы человека.
[0047] В некоторых вариантах осуществления настоящего изобретения перед получением множества опорных карт позы человека, выданного предварительно обученной моделью определения позы человека по факту ввода текущего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человека в предыдущем кадре данных изображения, предложенный способ предусматривает: соответственную предварительную обработку каждого кадра данных изображения для получения обработанных данных изображения.
[0048] В вариантах осуществления настоящего изобретения предварительная обработка может предусматривать нормализацию и выбеливание, причем нормализацией называется преобразование исходного изображения, требующего обработки, в соответствующую уникальную стандартную форму путем выполнения ряда трансформаций, т.е. нахождение - с использованием инвариантных моментов изображения - набора параметров, которые позволяют устранить влияние других функций преобразования на преобразование изображения. Изображение в стандартной форме показывает инвариантные характеристики для выполнения аффинных преобразований, таких как перенос, вращение или масштабирование. Обычно нормализация предусматривает следующие стадии: централизацию координат, нормализацию смещения по оси X, нормализацию масштабирования и нормализацию вращения. Перед вводом текущего кадра данных изображения в предварительно обученную модель определения позы человека генерируется модель определения позы человека путем ее обучения с использованием нейронной сети. Нормализация данных изображения исполняет роль обобщения и унификации статистического распределения выборок, благодаря чему увеличивается скорость обучения сети и гарантируется, что малые величины в выходных данных не будут поглощены.
[0049] Вследствие сильной корреляции между соседними пикселями в данных изображения эти данные изображения являются избыточными при вводе в качестве входных переменных. Выбеливание выполняет функцию снижения избыточности во время ввода. В частности, за счет выбеливания входные переменные получают следующие характеристики: низкую корреляцию между признаками и идентичную дисперсию для всех признаков, причем при обработке изображения обычно задается единичная дисперсия.
[0050] Следует понимать, что после предварительной обработки изображения текущий кадр данных изображения, введенный в качестве входной переменной в предварительно обученную модель определения позы человека, становится обработанными данными изображения. Несомненно, предыдущий кадр данных изображения также становится обработанными данными изображения.
[0051] На стадии 130 идентифицируется ключевая точка позы человека в каждой из опорных карт позы человека.
[0052] Согласно описанию, представленному выше, в вариантах осуществления настоящего изобретения можно видеть, что опорная карта позы человека содержит информацию о положении каждой точки, которая может выполнять функцию ключевой точки позы человека, и значение вероятности, соответствующее информации о положении, причем ключевая точка позы человека представляет собой точку, которая определена как ключевая; иначе говоря, ключевая точка позы человека является ключевой точкой. При этом точки, которые могут выполнять функцию ключевой точки позы человека, называются точками-кандидатами.
[0053] Исходя из представленного выше описания, можно понять, что каждая из опорных карт позы человека содержит информацию о положении множества точек-кандидатов и значения вероятности, соответствующие информации о положении; а какая точка-кандидат принимается в качестве ключевой точки позы человека, определяется на основании значений вероятности, соответствующих информации о положении множества точек-кандидатов. К примеру, в качестве ключевой точки позы человека выбирается точка-кандидат, соответствующая наибольшему значению вероятности из множества значений вероятности, соответствующих информации о положении множества точек-кандидатов.
[0054] В некоторых вариантах осуществления настоящего изобретения каждая из опорных карт позы человека содержит множество точек-кандидатов на ключевую точку позы человека, причем координата каждой точки-кандидата соответствует одному значению вероятности; а идентификация ключевой точки позы человека в каждой из опорных карт позы человека предусматривает: определение в каждой из опорных карт позы человека координаты, соответствующей максимальному значению вероятности из множества значений вероятности, соответствующих координатам множества точек-кандидатов, и принятие точки-кандидата, соответствующей этой координате, в качестве ключевой точки позы человека.
[0055] В вариантах осуществления настоящего изобретения предусмотрено, что поскольку каждая из опорных карт позы человека содержит информацию о положении множества точек, которые могут служить ключевыми точками позы человека, и значения вероятности, соответствующие информации о положении, какая точка принимается в качестве ключевой точки позы человека, может определяться на основании значений вероятности, соответствующих информации о положении множества точек. К примеру, в опорных картах позы человека определяется координата, соответствующая максимальному значению вероятности, и она принимается в качестве ключевой точки позы человека.
[0056] Следует отметить, что каждая из опорных карт позы человека содержит только одну ключевую точку позы человека. Если ключевые точки позы человека определяются на основании значений вероятности согласно описанию, представленному выше, может иметь место следующая ситуация: в опорных картах позы человека имеется, по меньшей мере, два значения равной вероятности, которые оба превышают другие значения вероятности. Далее, координата, значение вероятности которой принимается в качестве ключевой точки позы человека, определяется на основании фактической ситуации, например, является ли узловое соединение обоснованным. К примеру, в опорных картах позы человека имеется два значения равной вероятности, которые оба превышают другие значения вероятности и имеют, соответственно, координаты А и В; затем определяется, является ли узловое соединение, устанавливаемое, соответственно, путем принятия точек А и В в качестве ключевых точек позы человека, обоснованным. Полученный результат может быть следующим: узловое соединение признается необоснованным с принятием координаты А в качестве ключевой точки позы человека, и узловое соединение признается обоснованным с принятием координаты В в качестве ключевой точки позы человека. Следовательно, в качестве ключевой точки позы человека принимается координата В.
[0057] На стадии 140 генерируются карты достоверности позы человека на основании достоверности ключевых точек позы человека.
[0058] В вариантах осуществления настоящего изобретения достоверность может включать в себя достоверность и недостоверность, при этом может быть предусмотрен следующий критерий определения достоверности и недостоверности: превышает ли значение вероятности, соответствующее ключевой точке позы человека, заданное пороговое значение. Иначе говоря, когда значение вероятности, соответствующее ключевой точке позы человека, превышает заданное пороговое значение, это может указывать на то, что ключевая точка позы человека является достоверной; а когда значение вероятности, соответствующее ключевой точке позы человека, меньше или равно заданному пороговому значению, это может указывать на то, что ключевая точка позы человека является недостоверной.
[0059] Исходя из этого, предусмотрено следующее: когда ключевые точки позы человека являются достоверными, генерируются шаблоны маски с ключевыми точками позы человека в виде центральных точек в качестве карт достоверности позы человека; а в случае, когда ключевые точки позы человека являются недостоверными, в качестве карт достоверности позы человека могут быть приняты заданные данные изображения. Описанные здесь заданные данные изображения аналогичны заданным данным изображения, описанным выше. Заданные данные изображения могут представлять собой полностью черное изображение или полностью нулевую матрицу, если они представлены в виде матричной таблицы. Являются ли ключевые точки позы человека достоверными, может быть установлено способом, предусматривающим следующее: определение того, превышают ли значения вероятности ключевых точек позы человека заданное пороговое значение; установление достоверности ключевой точки позы человека по факту превышения значения вероятности ключевой точки позы человека заданного порогового значения; и установление недостоверности ключевой точки позы человека, если значение вероятности ключевой точки позы человека меньше или равно заданному пороговому значению.
[0060] Следует отметить, что в случае если ключевые точки позы человека были определены как недостоверные, в качестве ключевых точек позы человека в текущем кадре данных изображения могут быть приняты ключевые точки позы человека, соответствующие предыдущему кадру данных изображения; однако для недостоверных ключевых точек позы человека соответствующие им карты достоверности позы человека генерируются не на основании соответствующих ключевых точек позы человека в предыдущем кадре данных изображения, а на основании карт достоверности позы человека заданных данных изображения.
[0061] В некоторых вариантах осуществления настоящего изобретения генерирование карт достоверности позы человека на основании достоверности ключевых точек позы человека предусматривает: определение того, являются ли ключевые точки позы человека достоверными; генерирование - по факту установления достоверности ключевых точек позы человека шаблонов маски с ключевыми точками позы человека в виде центральных точек в качестве карт достоверности позы человека; принятие по факту установления недостоверности ключевых точек позы человека - заданных данных изображения в качестве карт достоверности позы человека.
[0062] В вариантах осуществления настоящего изобретения шаблоном маски называется шаблон, полученный путем наложения маски на изображение или маскированием изображения. Наложение маски на изображение относится к управлению областью обработки изображения или процессом обработки путем затенения (полного или частичного) изображения, подлежащего обработке, с использованием выбранного изображения, графа или объекта. Конкретное изображение или объект, используемый для наложения, называется маской или трафаретом. При цифровой обработке изображения маской может служить двумерная матрица или многозначное изображение. Маскирование изображения предусматривает следующее: во-первых, извлечение целевой области, при котором предварительно созданная маска целевой области умножается на изображение, подлежащее обработке, для получения изображения целевой области, причем значения изображения в целевой области остаются неизменными, а значения изображения за пределами указанной области будут нулевыми; во-вторых, затенение определенных областей на обрабатываемом изображении с использованием маски с тем, чтобы указанные области не участвовали в процессе обработки и вычислении параметров обработки, а обрабатывались и учитывались только маскированные области; в-третьих, детектирование и извлечение структурных признаков обрабатываемого изображения, схожего с маской, с использованием шаблона сходства или метода согласования изображений; и, в-четвертых, создание изображения особой формы.
[0063] Генерирование карты достоверности позы человека по опорной карте позы человека на основании достоверности ключевой точки позы человека, предусматривает: генерирование по факту установления достоверности ключевой точки позы человека шаблона маски с ключевой точкой позы человека в виде центральной точки в качестве карты достоверности позы человека. К примеру, если ключевая точка позы человека является достоверной, то шаблон маски с ключевой точкой позы человека в виде центральной точки генерируется в качества карты достоверности позы человека с помощью гауссового ядра. Следует отметить, что область, затрагиваемая шаблоном маски, может быть определена путем установки параметров гауссового ядра, причем параметры гауссового ядра включают в себя ширину и высоту фильтрующего окна, а гауссово ядро может представлять собой двумерное гауссово ядро. Например, если определенное гауссово ядро представляет собой двумерное гауссово ядро, то параметры двумерного гауссового ядра будут такими: ширина фильтрующего окна равна 7 и высота фильтрующего окна равна 7. Иначе говоря, область, затрагиваемая шаблоном маски, представляет собой квадрат 7×7.
[0064] Следует отметить, что в случае, когда ключевые точки позы человека являются недостоверными, в качестве карт достоверности позы человека могут быть приняты заданные данные изображения, или же они могут рассматриваться в качестве шаблона маски. Описанные здесь заданные данные изображения аналогичны заданным данным изображения, описанным выше. Заданные данные изображения могут представлять собой полностью черное изображение или полностью нулевую матрицу, если они представлены в виде матричной таблицы.
[0065] В некоторых вариантах осуществления настоящего изобретения определение того, являются ли ключевые точки позы человека достоверными, предусматривает: определение того, превышают ли значения вероятности, соответствующие ключевым точкам позы человека, заданное пороговое значение; установление достоверности ключевых точек позы человека по факту определения того, что значения вероятности, соответствующие ключевым точкам позы человека, превышают заданное пороговое значение; и установление недостоверности ключевых точек позы человека по факту определения того, что значения вероятности, соответствующие ключевым точкам позы человека, меньше или равны заданному пороговому значению.
[0066] Следует отметить, что в вариантах осуществления настоящего изобретения пороговое значение может быть задано с учетом фактической ситуации, что не носит ограничительного характера в настоящем документе. Кроме того, пороговые значения, соответствующие разным ключевым точкам позы человека, могут быть одинаковыми или разными, или же они могут определяться на основании фактической ситуации, что не носит ограничительного характера в настоящем документе. Например, для значимых ключевых точек позы человека может быть задано более высокое пороговое значение; а для незначимых ключевых точек позы человека может быть задано более низкое пороговое значение. К примеру, если ключевой точкой позы человека является макушка головы, то соответствующее пороговое значение может быть равно 0,9; а если ключевой точкой позы человека является левое колено, то соответствующее пороговое значение может быть равно 0,5.
[0067] На стадии 150 определяется, является ли текущий кадр данных изображения последним кадром данных изображения; стадия 160 выполняется в том случае, если текущий кадр данных изображения не является последним кадром данных изображения; а стадия 170 выполняется в том случае, если текущий кадр данных изображения является последним кадром данных изображения.
[0068] На стадии 160 осуществляется ввод карт достоверности позы человека в текущем кадре данных изображения в модель определения позы человека для их применения при генерировании карт достоверности позы человека в следующем кадре данных изображения.
[0069] На стадии 170 завершается генерирование карт достоверности позы человека по множеству кадров данных изображения.
[0070] В одном из вариантов осуществления настоящего изобретения определяется, является ли текущий кадр данных изображения последним кадром данных изображения. В случае если текущий кадр данных изображения не является последним кадром данных изображения, то карты достоверности позы человека в текущем кадре данных изображения могут быть введены в модель определения позы человека в качестве опорных данных для итогового результата по следующему кадру данных изображения с тем, чтобы повысить точность итогового результата по следующему кадру данных изображения. Иначе говоря, обеспечивается получение множества опорных карт позы человека в следующем кадре данных изображения, выданных предварительно обученной моделью определения позы человека, по факту ввода следующего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человека в текущем кадре данных изображения; в каждой из опорных карт позы человека идентифицируется ключевая точка позы человека; и по факту установления достоверности каждой из ключевых точек позы человека генерируется карта достоверности позы человека.
[0071] Следует отметить, что если текущий кадр данных изображения является последним кадром данных изображения, то это указывает на то, что генерирование карт достоверности позы человека по множеству кадров данных изображения может быть завершено без ввода полученных карт достоверности позы человека в модель определения позы человека. Исходя из этого, можно понять, что если текущий кадр данных изображения является последним кадром данных изображения, то могут быть выполнены только стадии 120 и 130, и определено, являются ли ключевые точки позы человека достоверными; и если устанавливается, что ключевые точки позы человека являются недостоверными, то в качестве ключевых точек позы человека принимаются ключевые точки позы человека, соответствующие предыдущему кадру данных изображения. Несомненно, можно понять, что после выполнения стадий 120 и 130 может быть получена ключевая точка позы человека, соответствующая текущему кадру данных изображения, и определено, являются ли ключевые точки позы человека достоверными; и если устанавливается, что ключевые точки позы человека являются недостоверными, то в качестве ключевых точек позы человека принимаются ключевые точки позы человека, соответствующие предыдущему кадру данных изображения.
[0072] Следует также отметить, что все стадии 120-150 представляют собой операции по обработке текущего кадра данных изображения. Соответственно, опорные карты позы человека на стадии 120 и на стадии 130 относятся к опорным картам позы человека, соответствующим текущему кадру данных изображения; ключевые точки позы человека на стадиях 130 и 140 относятся к ключевым точкам позы человека, соответствующим текущему кадру данных изображения; а карты достоверности позы человека на стадиях 140 и 150 относятся к картам достоверности позы человека, соответствующим текущему кадру данных изображения.
[0073] Исходя из представленного выше описания, можно сказать, что текущий кадр данных изображения отображает определенный кадр данных изображения, подвергаемый обработке в данный момент времени. Следовательно, если определенным кадром данных изображения, который подвергается обработке в данный момент времени, является первый кадр данных изображения, то в качестве текущего кадра данных изображения может быть принят первый кадр данных изображения; а если определенным кадром данных изображения, который подвергается обработке в данный момент времени, является второй кадр данных изображения, то в качестве текущего кадра данных изображения может быть принят второй кадр данных изображения; и т.д. Иначе говоря, текущим кадром данных изображения может являться первый кадр данных изображения, второй кадр данных изображения, третий кадр данных изображения, …, (N-1)-ый кадр данных изображения или N-ый кадр данных изображения.
[0074] Предполагается, что видео включает в себя N кадров данных изображения, где N≥1. В случае если текущий кадр данных изображения не определен как N-ый кадр данных изображения, то могут быть повторно выполнены стадии 120-140 для завершения операции по обработке кадров данных изображения от первого кадра до (N-1)-ого кадра данных изображения; если текущий кадр данных изображения определен как N-ый кадр данных изображения, то могут быть выполнены стадии 120 и 130, и в качестве ключевых точек позы человека могут быть приняты соответствующие ключевые точки позы человека в предыдущем кадре данных изображения в случае, если ключевые точки позы человека не являются достоверными.
[0075] Согласно техническому решению, реализованному в этом варианте осуществления настоящего изобретения, после получения множества кадров данных изображения обеспечивается получение множества опорных карт позы человека, выдаваемых предварительно обученной моделью определения позы человека по факту ввода текущего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человека в предыдущем кадре данных изображения, причем предварительно обученная модель определения позы человека генерируется путем обучения с использованием сверточной нейронной сети, применимой к встраиваемой платформе; идентифицируются ключевые точки позы человека в опорных картах позы человека; генерируются карты достоверности позы человека в текущем кадре данных изображения с учетом достоверности ключевых точек позы человека; определяется, является ли текущий кадр данных изображения последним кадром данных изображения; если текущий кадр данных изображения не является последним кадром данных изображения, то в модель определения позы человека вводятся карты достоверности позы человека в текущем кадре данных изображения для их применения при генерировании карт достоверности позы человека в следующем кадре данных изображения; а если текущий кадр данных изображения является последним кадром данных изображения, то генерирование карт достоверности позы человека по множеству кадров данных изображения завершается, вследствие чего реализуется определение позы человека на встраиваемой платформе. При этом итоговый результат по предыдущему кадру данных изображения вводится в процесс прогнозирования итогового результата по текущему кадру данных изображения, что повышает точность прогноза.
[0076] В некоторых вариантах осуществления настоящего изобретения модель определения позы человека включает в себя стержневую ветвь, первое ответвление и второе ответвление, причем стержневая ветвь включает в себя остаточный модуль и модуль повышающей дискретизации, первое ответвление включает в себя уточняющий сетевой модуль, а второе ответвление включает в себя модуль обратной связи.
[0077] Получение множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека по факту ввода текущего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человека в предыдущем кадре данных изображения, предусматривает: получение первого результата свертки путем ввода текущего кадра данных изобретения в остаточный модуль для обработки и дополнительной обработки обработанного текущего кадра данных изображения в привязке к результату, полученному путем ввода карт достоверности позы человека в предыдущем кадре данных изображения в модуль обратной связи, и обработки в нем карт достоверности позы человека; получение второго результата сверки путем ввода первого результата свертки, выданного остаточным модулем, в модуль повышающей дискретизации и обработки в нем первого результата свертки; получение третьего результата свертки путем ввода первого результата свертки, выданного остаточным модулем, в уточняющий сетевой модуль, и обработки в нем первого результата свертки; и получение множества опорных карт позы человека путем сложения второго результата свертки и третьего результата свертки.
[0078] В вариантах осуществления настоящего изобретения остаточный модуль выполнен с возможностью извлечения из данных изображения определенных признаков, таких как края и контуры, а модуль повышающей дискретизации выполнен с возможностью извлечения из данных изображения контекстной информации. Уточняющий сетевой модуль выполнен с возможностью обработки первого результата свертки, выданного остаточным модулем, причем первый результат свертки может рассматриваться в качестве информации о промежуточных слоях сети. Иначе говоря, уточняющий сетевой модуль использует информацию о промежуточных слоях сети для повышения его возвращаемого градиента, что повышает точность прогнозирования сверточной нейронной сети. Модуль обратной связи выполнен с возможностью введения карт достоверности позы человека в предыдущем кадре данных изображения в сверточную нейронную сеть для повышения точности итогового результата по текущему кадру данных изображения.
[0079] Под вводом текущего кадра данных изображения в остаточный модуль для обработки и под вводом карт достоверности позы человека в предшествующем кадре данных изображения в модуль обратной связи для обработки с целью получения первого результата свертки может пониматься следующее: первый результат свертки может быть получен путем ввода текущего кадра данных изображения в остаточный модуль для обработки и дополнительной обработки обработанного текущего кадра данных изображения в привязке к результату, полученному после ввода карт достоверности позы человека в предыдущем кадре данных изображения в модуль обратной связи и обработки в нем карт достоверности позы человека.
[0080] Второй результат свертки может быть получен путем ввода первого результата свертки, выданного остаточным модулем, в модуль повышающей дискретизации и обработки в нем первого результата свертки; третий результат свертки может быть получен путем ввода первого результата свертки, выданного остаточным модулем, в уточняющий сетевой модуль и обработки в нем первого результата свертки; и путем сложения второго результата свертки и третьего результата свертки может быть получено множество опорных карт позы человека; при этом модуль повышающей дискретизации может выполнять повышающую дискретизацию с использованием метода интерполяции по соседним элементам или иных методов повышающей дискретизации, которые могут быть установлены в зависимости от фактической ситуации, что не носит ограничительного характера в настоящем документе.
[0081] За счет использования информации о промежуточных слоях сети обеспечивается повышение возвращаемого градиента уточняющего сетевого модуля, что повышает точность прогнозирования сверточной нейронной сети. Точность прогнозирования сверточной нейронной сети также повышается за счет введения модулем обратной связи карт достоверности позы человека в предыдущем кадре данных изображения в сверточную нейронную сеть для их применения при прогнозировании текущего кадра данных изображения модулем определения позы человека.
[0082] В некоторых вариантах осуществления настоящего изобретения остаточный модуль включает в себя первый остаточный блок, второй остаточный блок и третий остаточный блок.
[0083] Получение первого результата свертки путем ввода текущего кадра данных изображения в остаточный модуль с обработкой в нем текущего кадра данных изображения и дополнительной обработки текущего кадра данных изображения в привязке к результату, полученному путем ввода карт достоверности позы человека в предыдущем кадре данных изображения в модуль обратной связи, предусматривает: получение первого промежуточного результата путем ввода текущего кадра данных изображения в первый остаточный блок и обработки в нем текущего кадра данных изображения; получение второго промежуточного результата путем ввода первого промежуточного результата во второй остаточный блок и обработки в нем первого промежуточного результата, ввода карт достоверности позы человека в предыдущем кадре данных изображения в модуль обратной связи и обработки в нем карт достоверности позы человека и сложения результата, выданного вторым остаточным блоком, и результата, выданного модулем обратной связи; и получение третьего промежуточного результата в качестве первого результата свертки путем ввода второго промежуточного результата в третий остаточный блок и обработки в нем второго промежуточного результата. Количество каналов для первого промежуточного результата, второго промежуточного результата и третьего промежуточного результата последовательно увеличивается.
[0084] В вариантах осуществления настоящего изобретения остаточный модуль включает в себя первый остаточный блок, второй остаточный блок и третий остаточный блок, причем каждый остаточный блок состоит из подблока ShuffleNet и подблока ShuffleNet субдискретизации. Подблок ShuffleNet может оперировать с данными изображения любого размера и управляться двумя параметрами, такими как входная глубина и выходная глубина, соответственно; при этом входная глубина отображает количество промежуточных векторных слоев сети, подлежащих вводу, а выходная глубина обозначает количество промежуточных векторных слоев сети, выдаваемых подблоком, причем количество слоев соответствует количеству каналов. Подблок ShuffleNet извлекает высокие уровни признаков, сохраняя при этом информацию об исходном уровне, благодаря чему изменяется только глубина промежуточных векторных слоев сети без изменения размера данных изображения. Подблок ShuffleNet может рассматриваться в качестве усовершенствованного «сверточного слоя», который сохраняет свой размер без изменений. В сверточной нейронной сети количество каналов соотносится с количеством ядер свертки в каждом сверточном слое. Кроме того, следует отметить, что каждый остаточный блок может включать в себя только один подблок ShuffleNet. В сравнении с изначальным остаточным блоком, включающим в себя три подблока ShuffleNet, структура сети упрощена и, соответственно, уменьшен объем вычислений, а эффективность обработки данных повышена.
[0085] Благодаря последовательной обработки данных подблоками ShuffleNet субдискретизации в первом остаточном блоке, втором остаточном блоке и третьем остаточном блоке последовательно уменьшаются размеры первого промежуточного результата, второго промежуточного результата и третьего промежуточного результата; при этом для сохранения размера сети без изменений количество каналов для первого промежуточного результата, количество каналов для второго промежуточного результата и количество каналов для третьего промежуточного результата последовательно увеличивается. Кроме того, каждый канал соответствует карте признаков.
[0086] Следует отметить, что промежуточный результат может отображаться как W×Н×K, где величина W обозначает ширину промежуточного результата, величина Н обозначает длину промежуточного результата, величина K обозначает количество каналов, a W×Н обозначает размер промежуточного результата. В отношении входных данных изображения он может отображаться как W×Н×D, где величины W и Н имеют такие же значения, которые указаны выше, а величина D обозначает глубину. К примеру, в случае если входные данные изображения представляют собой изображение RGB (красно-зелено-синее), то D=3; а в случае если входные данные изображения представляют собой изображение в оттенках серого, то D=1.
[0087] К примеру, первый промежуточный результат, второй промежуточный результат и третий промежуточный результат отображаются как W×Н×K, где значения величин W, Н и K аналогичны тем, которые указаны выше. Далее, первым промежуточным результатом будет 64×32×32, вторым промежуточным результатом будет 32×16×64, а третьим промежуточным результатом будет 16×8×128. Исходя из представленного выше описания, можно видеть, что размер первого промежуточного результата составляет 64×32, размер второго промежуточного результата составляет 32×16, а размер третьего промежуточного результата составляет 16×8. Вышеизложенное демонстрирует, что первый промежуточный результат, второй промежуточный результат и третий промежуточный результат последовательно уменьшаются в размере. При этом количество каналов для первого промежуточного результата составляет 32, количество каналов для второго промежуточного результата составляет 64, а количество каналов для третьего промежуточного результата составляет 128. Вышеизложенное демонстрирует, что количество каналов в первом промежуточном результате, втором промежуточном результате и третьем промежуточном результате последовательно увеличивается.
[0088] В некоторых вариантах осуществления настоящего изобретения модель определения позы человека включает в себя третье ответвление.
[0089] Получение второго результата свертки путем ввода первого результата свертки, выданного остаточным модулем, в модуль повышающей дискретизации и обработки в нем первого результата свертки и получение третьего результата свертки путем ввода первого результата сверки, выданного остаточным модулем, в уточняющий сетевой модуль предусматривает: получение четвертого промежуточного результата путем ввода первого промежуточного результата в третье ответвление и обработки в нем первого промежуточного результата; получение пятого промежуточного результата путем ввода второго промежуточного результата в третье ответвление и обработки в нем второго промежуточного результата; получение шестого промежуточного результата путем ввода третьего промежуточного результата и пятого промежуточного результата в модуль повышающей дискретизации и обработки в нем третьего промежуточного результата и пятого промежуточного результата; получение седьмого промежуточного результата в качестве второго результата свертки путем ввода четвертого промежуточного результата и шестого промежуточного результата в модуль повышающей дискретизации и обработки в нем четвертого промежуточного результата и шестого промежуточного результата; получение третьего результата свертки путем ввода первого результата свертки, выданного остаточным модулем, в уточняющий сетевой модуль и обработки в нем первого результата свертки. Количество каналов для шестого промежуточного результата и седьмого промежуточного результата последовательно уменьшается.
[0090] В некоторых вариантах осуществления настоящего изобретения модель определения позы человека включает в себя третье ответвление, которое выполняет функцию переноса операции свертки прыжкового соединения в стержневую ветвь, за счет чего повышается точность прогнозирования модели определения позы человека. Третье ответвление включает в себя модуль ядра свертки 1×1, модуль пакетной стандартизации и модуль функции линейной активации. Ядро свертки 1×1 может выполнять следующие функции:
[0091] в первом случае для одинарного канала и одинарного ядра свертки 1×1 ядро свертки масштабирует входные данные изображения. Это обусловлено тем, что ядро свертки 1×1 имеет всего один параметр и плавно регулирует входные данные изображения, что эквивалентно умножению входных данных изображения на определенный коэффициент; а
[0092] во втором случае для множественных каналов и множественных ядер свертки ядра свертки 1×1 выполняют следующие функции по двум аспектам: во-первых, реализуют перекрестное взаимодействие каналов и интеграцию информации; во-вторых, уменьшают и повышают размерность и сокращают параметры сети, причем указанное уменьшение размерности в данном случае относится к сокращению количества каналов, а указанное повышение размерности относится к увеличению количества каналов; и, в-третьих, значительно увеличивают нелинейные характеристики без потери разрешающей способности.
[0093] Модуль пакетной стандартизации выполнен с возможностью выполнения пакетной стандартизации, причем пакетная стандартизация (или пакетная нормализация) призвана предотвращать исчезновение градиентов и взрыв градиентов за счет углубления слоев нейронной сети и уменьшения быстроты сходимости; а входные данные для некоторых или всех слоев могут быть нормализованы с помощью пакетной стандартизации для фиксации среднего значения и дисперсии входного сигнала каждого слоя с тем, чтобы входные данные для каждого слоя характеризовались устойчивым распределением. К примеру, пакетная стандартизация обычно используется перед выполнением функции активации для нормализации х=W+b с тем, чтобы итоговые результаты имели среднее значение, равное нулю, и дисперсию, равную единице, при этом величина W обозначает матрицу весов, а величина b - смещение. Следует понимать, что в сверточной нейронной сети матрицей весов называется ядро свертки, т.е. величина W обозначает ядро свертки.
[0094] Поскольку седьмой промежуточный результат получен после ввода шестого промежуточного результата и четвертого промежуточного результата в модуль повышающей дискретизации, размер седьмого промежуточного результата превышает размер шестого промежуточного результата. При этом для сохранения размера сети без изменений количество каналов для шестого промежуточного результата и количество каналов для седьмого промежуточного результата последовательно уменьшается.
[0095] Точность прогнозирования модели определения позы человека повышается за счет переноса операции свертки прыжкового соединения в стержневую ветвь через третье ответвление. Кроме того, первый промежуточный результат, второй промежуточный результат и третий промежуточный результат могут рассматриваться в качестве кодирующей части, а шестой промежуточный результат и седьмой промежуточный результат могут рассматриваться в качестве декодирующей части. Для сохранения размера сети без изменений количество каналов для промежуточных результатов в кодирующей части последовательно увеличивается по мере уменьшения размеров промежуточных результатов; а в декодирующей части количество каналов для промежуточных результатов последовательно уменьшается по мере увеличения размеров промежуточных результатов. Кроме того, следует понимать, что сверточная нейронная сеть согласно вариантам осуществления настоящего изобретения представляет собой ассиметричную структуру кодирования/декодирования.
[0096] В некоторых вариантах осуществления настоящего изобретения после получения множества опорных карт позы человека путем сложения второго результата свертки и третьего результата свертки предложенный способ дополнительно предусматривает: получение целевого результата путем сложения первого результата свертки и второго результата свертки; и получение множества новых опорных карт позы человека путем сложения множества опорных карт позы человека и целевого результата. Целевой результат призван повысить точность модели определения позы человека при ее обучении.
[0097] В некоторых вариантах осуществления настоящего изобретения для повышения точности модели определения позы человека на стадии обучения может быть рассмотрена возможность добавления промежуточного контроля, причем промежуточный контроль относится к вычислению потерь выходных данных на каждой стадии, что позволяет обеспечить нормальное обновление базовых параметров.
[0098] Путем сложения первого результата свертки и второго результата свертки получается целевой результат; после чего обеспечивается получение множества новых опорных карт позы человека путем сложения целевого результата и множества опорных карт позы человека. Указанный целевой результат выполняет функцию промежуточного контроля, т.е. целевой результат также вовлечен в процесс вычисления потерь.
[0099] Следует отметить, что на стадии прогнозирования операция сложения первого результата свертки и второго результата свертки может не выполняться. Иначе говоря, итоговый результат на стадии прогнозирования включает в себя только множество опорных карт позы человека.
[00100] Следует также отметить, что в техническом решении согласно вариантам осуществления настоящего изобретения после получения множества кадров данных изображения нет необходимости в выполнении таких операций, как определение того, имеется ли в данных изображения лицо, и определения и извлечения положения лица в данных изображения в случае, если лицо имеется. Причина невыполнения указанных операций заключается в том, что указанные операции отнимают много времени и выдают результат определения с большой погрешностью. Следует понимать, что эффективность обработки данных может быть существенно повышена и без выполнения указанных операций.
[00101] Следует дополнительно отметить, что поскольку каждый блок из числа второго остаточного блока и третьего остаточного блока состоит из подблока ShuffleNet и подблока ShuffleNet субдискретизации, перед каждой субдискретизацией информация о изначальном размере сохраняется в стержневой ветви. Иначе говоря, перед выполнением субдискретизации подблоком ShuffleNet субдискретизации второго остаточного блока первый промежуточный результат вводится во второй остаточный блок, а перед выполнением субдискретизации подблоком ShuffleNet субдискретизации третьего остаточного блока второй промежуточный результат вводится в третий остаточный блок. Один подблок ShuffleNet используется между двумя операциями субдискретизации для извлечения признаков. Иначе говоря, для извлечения признаков используется один подблок ShuffleNet между первым остаточным блоком и вторым остаточным блоком, и указанный подблок ShuffleNet представляет собой подблок ShuffleNet первого остаточного блока. Для извлечения признаков используется один подблок ShuffleNet между вторым остаточным блоком и третьим остаточным блоком. Иначе говоря, для извлечения признаков используется один подблок ShuffleNet между вторым остаточным блоком и третьим остаточным блоком, и указанный подблок ShuffleNet представляет собой подблок ShuffleNet второго остаточного блока.
[00102] Сверточная нейронная сеть согласно вариантам осуществления настоящего изобретения вводит уточняющий сетевой модуль, модуль обратной связи и перенос операции свертки прыжкового соединения в стержневую ветвь, что повышает точность прогнозирования сверточной нейронной сети. Кроме того, использование ассиметричной структуры кодирования/декодирования гарантирует, что размер сети останется по существу без изменений. Поскольку каждый остаточный блок включает в себя только один подблок ShuffleNet, структура сети упрощается в сравнении с изначальным остаточным блоком, содержащим три подблока ShuffleNet. Соответственно, уменьшен объем вычислений и повышена эффективность обработки. Исходя из представленного выше описания, можно сказать, что способ определения позы человека на базе сверточной нейронной сети применим к встраиваемой платформе, такой как встраиваемая платформа смартфона, и он может реализовываться в режиме реального времени с точностью прогнозирования, удовлетворяющей соответствующим требованиям.
[00103] Для лучшего понимания сверточной нейронной сети согласно вариантам осуществления настоящего изобретения ниже представлено ее описание на конкретных примерах.
[00104] На фиг. 2 показана блок-схема, иллюстрирующая применение сверточной нейронной сети. Сверточная нейронная сеть может включать в себя: стержневую ветвь, первое ответвление, второе ответвление и третье ответвление. Стержневая ветвь включает в себя первый модуль 21 свертки, первый остаточный блок 22, второй остаточный блок 23, третий остаточный блок 24, второй модуль 25 свертки, модуль 26 повышающей дискретизации, модуль 27 сложения с переносом и третий модуль 28 свертки.
[00105] Каждый блок из числа первого остаточного блока 22, второго остаточного блока 23 и третьего остаточного блока 24 включает в себя подблок 221 ShuffleNet субдискретизации и подблок 222 ShuffleNet. Первое ответвление включает в себя уточняющий сетевой модуль 29, причем уточняющий сетевой модуль 29 включает в себя подблок 222 ShuffleNet, модуль 26 повышающей дискретизации и модуль 27 сложения с переносом; второе ответвление включает в себя модуль 30 обратной связи; а третье ответвление включает в себя второй модуль 25 свертки.
[00106] Следует отметить, что параметры W×Н×К применительно к модулю, блоку или подблоку отображают результат, полученный после обработки данных модулем, блоком или подблоком, причем величина W обозначает ширину результата, величина Н обозначает длину результата, а величина К обозначает количество каналов.
[00107] Следует также отметить, что первый модуль 21 свертки предусматривает выполнение следующих операций по обработке данных: операцию свертки на первой стадии, причем размер используемого ядра свертки составляет 3×3; пакетную стандартизацию на второй стадии; и выполнение функции линейной активации на третьей стадии. Второй модуль 25 свертки предусматривает выполнение следующих операций по обработке данных: операцию свертки на первой стадии, причем размер используемого ядра свертки составляет 1×1; пакетную стандартизацию на второй стадии; и выполнение функции линейной активации на третьей стадии. Третий модуль 26 свертки предусматривает выполнение следующих операций по обработке данных: операцию свертки на первой стадии, причем размер используемого ядра свертки составляет 1×1; пакетную нормализацию на второй стадии; выполнение функции линейной активации на третьей стадии; и операцию свертки на четвертой стадии, причем размер используемого ядра свертки составляет 3×3.
[00108] Предполагается, что текущий кадр данных изображения представляет собой RGB-изображение с параметрами 256×128×3, и этот текущий кадр данных изображения вводится в качестве входной переменной в сверточную нейронную сеть, а затем последовательно обрабатывается первым модулем 21 свертки и первым остаточным блоком 22 для получения первого промежуточного результата, который имеет параметры 64×32×32; первый промежуточный результат и результаты, полученные после ввода карт достоверности позы человека в предыдущем кадре данных изображения в модуль 30 обратной связи и обработки в нем карт достоверности позы человека, затем вместе вводятся в модуль 27 сложения с переносом на стержневой ветви и обрабатываются в нем; результаты, полученные после обработки модулем 27 сложения с переносом на стержневой ветви, вводятся в во второй остаточный блок 23 и обрабатываются в нем для получения второго промежуточного результата, который имеет параметры 32×16×64; второй промежуточный результат вводится в третий остаточный блок 24 и обрабатывается в нем для получения третьего промежуточного результата; и третий промежуточный результат принимается в качестве первого результата свертки, который характеризуются параметрами 16×8×128. Следует отметить, что модуль 30 обратной связи может включать в себя ядро свертки 1×1, которое выполнено с возможностью увеличения размерности. Это обусловлено тем, что карты достоверности позы человека в предыдущем кадре данных изображения характеризуются параметрами 64×32×14, а первый промежуточный результат имеет параметры 64×32×32, и размерность должна быть увеличена с тем, чтобы эти два показателя стали одинаковыми по количеству выходных каналов.
[00109] Первый результат свертки вводится во второй модуль 25 свертки на третьем ответвлении и обрабатывается в нем для получения четвертого промежуточного результата, который имеет параметры 64×32×32.
[00110] Второй результат свертки вводится во второй модуль 25 свертки на третьем ответвлении и обрабатывается в нем для получения пятого промежуточного результата, который имеет параметры 32×16×32.
[00111] Результат, полученный после ввода третьего промежуточного результата во второй модуль 25 свертки и модуль 26 повышающей дискретизации на стержневой ветви для обработки, и пятый промежуточный результат вместе вводятся в модуль 27 сложения с переносом на стержневой ветви и обрабатываются в нем для получения шестого промежуточного результата. Результат, полученный после ввода шестого промежуточного результата в модуль 26 повышающей дискретизации на стержневой ветви и обработки в нем шестого промежуточного результата, и четвертый промежуточный результат вместе вводятся в модуль 27 сложения с переносом на стержневой ветви и обрабатываются в нем для получения седьмого промежуточного результата. Седьмой промежуточный результат принимается в качестве второго результата свертки, который имеет параметры 64×32×32.
[00112] Третий промежуточный результат вводится во второй модуль 25 свертки на стержневой ветви и обрабатывается в нем для получения результата; затем этот результат вводится в подблок 222 ShuffleNet на первом ответвлении и обрабатывается в нем для получения восьмого промежуточного результата; восьмой промежуточный результат вводится в модуль 26 повышающей дискретизации на первом ответвлении и обрабатывается в нем для получения девятого промежуточного результата; затем девятый промежуточный результат вводится в подблок 222 ShuffleNet на первом ответвлении и обрабатывается в нем для получения десятого промежуточного результата; и десятый промежуточный результат вводится в модуль 26 повышающей дискретизации на первом ответвлении и обрабатывается в нем для получения одиннадцатого промежуточного результата. Шестой промежуточный результат вводится в подблок 222 ShuffleNet на первом ответвлении и обрабатывается в нем для получения двенадцатого промежуточного результата; двенадцатый промежуточный результат вводится в модуль 26 повышающей дискретизации на первом ответвлении и обрабатывается в нем для получения тринадцатого промежуточного результата; одиннадцатый промежуточный результат и тринадцатый промежуточный результат вместе вводятся в модуль 27 сложения с переносом на первом ответвлении и обрабатываются в нем для получения третьего результата свертки, который характеризуется параметрами 64×32×32.
[00113] Второй результат свертки и третий результат свертки вводятся в модуль 27 сложения с переносом на стержневой ветви для получения четырнадцатого промежуточного результата; четырнадцатый промежуточный результат вводится в подблок 222 ShuffleNet на стержневой ветви для получения пятнадцатого промежуточного результата, который имеет параметры 64×32×32; пятнадцатый промежуточный результат вводится в третий модуль 28 свертки на стержневой ветви; после этого обеспечивается получение множества опорных карт позы человека.
[00114] Первый результат свертки и второй результат свертки складываются для получения целевого результата, который имеет параметры 64×32×14. Множество опорных карт позы человека и целевой результат складываются, после чего выдается множество новых опорных карт позы человека. Целевой результат призван повысить точность модели определения позы человека при ее обучении.
[00115] Следует отметить, что карты достоверности позы человека в предыдущем кадре данных изображения не вводятся в сверточную нейронную сеть в качестве входных переменных вместе с текущим кадром данных изображения с самого начала, а вводятся в сверточную нейронную сеть в качестве входных переменных вместе с первым промежуточным результатом в промежуточных слоях сети. За счет этого снижается нагрузка по обработке данных.
[00116] На фиг. 3 показана блок-схема, иллюстрирующая алгоритм реализации другого способа определения позы согласно одному из вариантов осуществления настоящего изобретения. Этот вариант осуществления применим к определению позы человека. Указанный способ может быть реализован с помощью устройства для определения позы человека. Это устройство реализовано в виде программных и/или аппаратных средств. Оно может быть сконфигурировано в определенном устройстве, обычно таком, например, как компьютер или мобильный терминал. Как показано на фиг. 3, предложенный способ предусматривает выполнение стадий 301-311.
[00117] На стадии 301 обеспечивается получение множества кадров данных изображения.
[00118] На стадии 302 определяется, достоверны ли карты достоверности позы человека в предыдущем кадре данных изображения; в случае, если карты достоверности позы человека в предыдущем кадре данных изображения оказываются достоверными, то выполняется стадия 303, а в случае, если карты достоверности позы человека в предыдущем кадре данных изображения оказываются недостоверными, то выполняется стадия 304.
[00119] На стадии 303 обеспечивается получение множества опорных карт позы человека путем ввода текущего кадра данных изображения и карт достоверности позы человека в предыдущем кадре данных изображения в предварительно обученную модель определения позы человека, после чего последовательно выполняется стадия 305.
[00120] На стадии 304 обеспечивается получение множества опорных карт позы человека путем ввода текущего кадра данных изображения и заданных данных изображения в предварительно обученную модель определения позы человека, после чего последовательно выполняется стадия 305.
[00121] На стадии 305 каждая из опорных карт позы человека включает в себя множество точек-кандидатов на ключевую точку позы человека, причем координата каждой из точек-кандидатов соответствует одному значению вероятности; и в каждой из опорных карт позы человека определяется координата, соответствующая максимальному значению вероятности из множества значений вероятности, соответствующих координатам множества точек-кандидатов, и точка-кандидат, соответствующая этой координате, принимается в качестве ключевой точки позы человека.
[00122] На стадии 306 определяется, превышают ли значения вероятности, соответствующие ключевым точкам позы человека, заданное пороговое значение; в случае, если значения вероятности, соответствующие ключевым точкам позы человека, превышают заданное пороговое значение, выполняется стадия 307; а если значения вероятности, соответствующие ключевым точкам позы человека, меньше или равны заданному пороговому значению, то выполняется стадия 308.
[00123] На стадии 307 в качестве карт достоверности позы человека в текущем кадре данных изображения генерируются шаблоны маски с ключевыми точками позы человека в виде центральных точек; после чего последовательно выполняется стадия 309.
[00124] На стадии 308 заданные данные изображения принимаются в качестве карт достоверности позы человека в текущем кадре данных изображения, после чего последовательно выполняется стадия 309.
[00125] На стадии 309 определяется, является ли текущий кадр данных изображения последним кадром данных изображения; в случае, если текущий кадр данных изображения не является последним кадром данных изображения, выполняется стадия 310, а если текущий кадр данных изображения является последним кадром данных изображения, то выполняется стадия 311.
[00126] На стадии 310 карты достоверности позы человека в текущем кадре данных изображения вводятся в модель определения позы человека для их применения при генерировании карт достоверности позы человека в следующем кадре данных изображения.
[00127] На стадии 311 генерирование карт достоверности позы человека по множеству кадров данных изображения завершается.
[00128] Следует отметить, что в вариантах осуществления настоящего изобретения модель определения позы человека согласно вариантам осуществления настоящего изобретения генерируется через обучение сверточной нейронной сети, применимой к встраиваемой платформе.
[00129] Согласно техническому решению этого варианта осуществления настоящего изобретения после получения множества кадров данных изображения обеспечивается получения множества опорных карт позы человека, выдаваемых предварительно обученной моделью определения позы человека по факту ввода текущего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человек в предыдущем кадре данных изображения, причем модель определения позы человека генерируется путем обучения с использованием сверточной нейронной сети, применимой к встраиваемой платформе; идентифицируются ключевые точки позы человека в опорных картах позы человека; на основании достоверности ключевых точек позы человека генерируются карты достоверности позы человека в текущем кадре данных изображения; определяется, является ли текущий кадр данных изображения последним кадром данных изображения, при этом, если текущий кадр данных изображения не является последним кадром данных изображения, то карты достоверности позы человека в текущем кадре данных изображения вводятся в модель определения позы человека для их применения при генерировании карт достоверности позы человека в следующем кадре данных изображения, а если текущий кадр данных изображения является последним кадром данных изображения, то генерирование карт достоверности позы человека по множеству кадров данных изображения завершается, тем самым реализуя определение позы человека на встраиваемой платформе. При этом итоговый результат по предыдущему кадру данных изображения вводится в процесс прогнозирования итогового результата по текущему кадру данных изображения, что повышает точность прогноза.
[00130] На фиг. 4 показана структурная схема устройства для определения позы человека согласно одному из вариантов осуществления настоящего изобретения. Этот вариант осуществления применим к определению позы человека. Указанное устройство может быть реализовано в виде программных и/или аппаратных средств, и может располагаться в определенном устройстве, обычно таком, например, как компьютер или мобильный терминал. Как показано на фиг. 4, указанное устройство включает в себя модуль 410 получения данных изображения, модуль 420 выдачи опорных карт позы человека, модуль 430 идентификации ключевых точек позы человека, модуль 440 генерации карт достоверности позы человека, модуль 450 оценки, первый исполнительный модуль 460 и второй исполнительный модуль 470.
[00131] Модуль 410 получения данных изображения выполнен с возможностью получения множества кадров данных изображения.
[00132] Модуль 420 выдачи опорных карт позы человека выполнен с возможностью получения множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека по факту ввода текущего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человека в предыдущем кадре данных изображения, причем модель определения позы человека генерируется путем обучения с использованием сверточной нейронной сети.
[00133] Модуль 430 идентификации ключевых точек позы человека выполнен с возможностью идентификации ключевой точки позы человека в каждой из опорных карт позы человека.
[00134] Модуль 440 генерации карт достоверности позы человека выполнен с возможностью генерирования карт достоверности позы человека в текущем кадре данных изображения на основании достоверности ключевых точек позы человека.
[00135] Модуль 450 оценки выполнен с возможностью определения того, является ли текущий кадр данных изображения последним кадром данных изображения.
[00136] Первый исполнительный модуль 460 выполнен с возможностью ввода, по факту установления того, что текущий кадр данных изображения не является последним кадром данных изображения, карт достоверности позы человека в текущем кадре данных изображения в модель определения позы человека для их применения при генерировании карт достоверности позы человека в следующем кадре данных изображения.
[00137] Второй исполнительный модуль 470 выполнен с возможностью завершения генерирования карт достоверности позы человека по множеству кадров данных изображения по факту установления того, текущий кадр данных изображения является последним кадром данных изображения.
[00138] Согласно техническому решению этого варианта осуществления настоящего изобретения после получения множества кадров данных изображения обеспечивается получение множества опорных карт позы человека, выдаваемых предварительно обученной моделью определения позы человека по факту ввода текущего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человек в предыдущем кадре данных изображения, причем модель определения позы человека генерируется путем обучения с использованием сверточной нейронной сети, применимой к встраиваемой платформе; идентифицируются ключевые точки позы человека в опорных картах позы человека; на основании достоверности ключевых точек позы человека генерируются карты достоверности позы человека в текущем кадре данных изображения; определяется, является ли текущий кадр данных изображения последним кадром данных изображения, при этом, если текущий кадр данных изображения не является последним кадром данных изображения, то карты достоверности позы человека в текущем кадре данных изображения вводятся в модель определения позы человека для их применения при генерировании карт достоверности позы человека в следующем кадре данных изображения, а если текущий кадр данных изображения является последним кадром данных изображения, то генерирование карт достоверности позы человека по множеству кадров данных изображения завершается, тем самым реализуя определение позы человека на встраиваемой платформе. При этом итоговый результат по предыдущему кадру данных изображения вводится в процесс прогнозирования итогового результата по текущему кадру данных изображения, что повышает точность прогноза.
[00139] В некоторых вариантах осуществления настоящего изобретения модуль 420 выдачи опорных карт позы человека включает в себя блок определения достоверности карт достоверности, первый блок выдачи опорных карт позы человека и второй блок выдачи опорных карт позы человека.
[00140] Блок определения достоверности карт достоверности выполнен с возможностью определения того, являются ли достоверными карты достоверности позы человека в предыдущем кадре данных изображения.
[00141] Первый блок выдачи опорных карт позы человека выполнен с возможностью получения множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека по факту ввода, после установления того, что карты достоверности позы человека в предыдущем кадре данных изображения являются достоверными, текущего кадра данных изображения и карт достоверности позы человека в предыдущем кадре данных изображения в предварительно обученную модель определении я позы человека.
[00142] Второй блок выдачи опорных карт позы человека выполнен с возможностью получения множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека по факту ввода, после установления того, что карты достоверности позы человека в предыдущем кадре данных изображения являются недостоверными, текущего кадра данных изображения и заданных данных изображения в предварительно обученную модель определении я позы человека.
[00143] В некоторых вариантах осуществления настоящего изобретения каждая из опорных карт позы человека включает в себя множество точек-кандидатов на ключевую точку позы человека, а координата каждой точки-кандидата соответствует одному значению вероятности. Модуль 430 идентификации ключевых точек позы человека включает в себя блок идентификации ключевых точек позы человека.
[00144] Блок идентификации ключевых точек позы человека выполнен с возможностью определения в каждой из опорных карт позы человека координаты, соответствующей максимальному значению вероятности из множества значений вероятности, соответствующих координатам множества точек-кандидатов, и принятия точки-кандидата, соответствующей этой координате, в качестве ключевой точки позы человека.
[00145] В некоторых вариантах осуществления настоящего изобретения модуль 440 генерации карт достоверности позы человека включает в себя блок определения достоверности ключевых точек позы человека, первый блок генерации карт достоверности позы человека и второй блок генерации карт достоверности позы человека.
[00146] Блок определения достоверности ключевых точек позы человека выполнен с возможностью определения того, являются ли достоверными ключевые точки позы человека.
[00147] Первый блок генерации карт достоверности позы человека выполнен с возможностью генерирования, по факту установления того, что ключевые точки позы человека является достоверными, шаблонов маски с ключевыми точками позы человека в виде центральных точек в качестве карт достоверности позы человека.
[00148] Второй блок генерации карт достоверности позы человека выполнен с возможностью принятия заданных данных изображения в качестве карт достоверности позы человека по факту установления того, что ключевые точки позы человека является недостоверными.
[00149] В некоторых вариантах осуществления настоящего изобретения блок определения достоверности ключевых точек позы человека выполнен с возможностью:
[00150] определения того, превышают ли значения вероятности, соответствующие ключевым точкам позы человека, заданное пороговое значение;
[00151] определения ключевых точек позы человека как достоверных по факту установления того, что значения вероятности, соответствующие ключевым точкам позы человека, превышают заданное пороговое значение; и
[00152] определения ключевых точек позы человека как недостоверных по факту установления того, что значения вероятности, соответствующие ключевым точкам позы человека, меньше или равны заданному пороговому значению.
[00153] В некоторых вариантах осуществления настоящего изобретения модель определения позы человека включает в себя стержневую ветвь, первое ответвление и второе ответвление, причем стержневая ветвь включает в себя остаточный модуль и модуль повышающей дискретизации, первое ответвление включает в себя уточняющий сетевой модуль, а второе ответвление включает в себя модуль обратной связи.
[00154] Получение множества опорных карт позы человека, выданных предварительно обученной моделью определения позы человека по факту ввода текущего кадра данных изображения в предварительно обученную модель определения позы человека в привязке к картам достоверности позы человека в предыдущем кадре данных изображения, предусматривает:
[00155] получение первого результата свертки путем ввода текущего кадра данных изображения в остаточный модуль для обработки и последующей обработки обработанного текущего кадра данных изображения в привязке к результату, полученному после ввода карт достоверности позы человека в предыдущем кадре данных изображения в модуль обратной связи и обработки в нем карт достоверности позы человека;
[00156] получение второго результата свертки путем ввода первого результата свертки, выданного остаточным модулем, в модуль повышающей дискретизации и обработки в нем первого результата свертки, и получение третьего результата свертки путем ввода первого результата свертки, выданного остаточным модулем, в уточняющий сетевой модуль и обработки в нем первого результата свертки; и
[00157] получение множества опорных карт позы человека путем сложения второго результата свертки и третьего результата свертки.
[00158] В некоторых вариантах осуществления настоящего изобретения остаточный модуль включает в себя первый остаточный блок, второй остаточный блок и третий остаточный блок.
[00159] Получение первого результата свертки путем ввода текущего кадра данных изображения в остаточный модуль и обработки в нем текущего кадра данных изображения и последующей обработки текущего кадра данных изображения в привязке к результату, полученному после ввода карт достоверности позы человека в предыдущем кадре данных изображения в модуль обратной связи и обработки в нем карт достоверности позы человека, предусматривает:
[00160] получение первого промежуточного результата путем ввода данных изображения текущего кадра в первый остаточный блок и обработки в нем данных изображения текущего кадра;
[00161] получение второго промежуточного результата путем ввода первого промежуточного результата во второй остаточный блок и обработки в нем первого промежуточного результата, ввода карт достоверности позы человека в предыдущем кадре данных изображения в модуль обратной связи и обработки в нем карт достоверности позы человека и сложения результата, выданного вторым остаточным блоком, и результата, выданного модулем обратной связи; и
[00162] получение третьего промежуточного результата в качестве первого результата свертки путем ввода второго промежуточного результата в третий остаточный блок и обработки в нем второго промежуточного результата.
[00163] Количество каналов для первого промежуточного результата, второго промежуточного результата и третьего промежуточного результата последовательно увеличивается.
[00164] В некоторых вариантах осуществления настоящего изобретения модель определения позы человека включает в себя третье ответвление.
[00165] Получение второго результата свертки путем ввода первого результата свертки, выданного остаточным модулем, в модуль повышающей дискретизации и обработки в нем первого результата свертки и получение третьего результата свертки путем ввода первого результата свертки, выданного остаточным модулем, в уточняющий сетевой модуль предусматривает:
[00166] получение четвертого промежуточного результата путем ввода первого промежуточного результата в третье ответвление и обработки в нем первого промежуточного результата;
[00167] получение пятого промежуточного результата путем ввода второго промежуточного результата в третье ответвление и обработки в нем второго промежуточного результата;
[00168] получение шестого промежуточного результата путем ввода третьего промежуточного результата и пятого промежуточного результата в модуль повышающей дискретизации и обработки в нем третьего промежуточного результата и пятого промежуточного результата;
[00169] получение седьмого промежуточного результата в качестве второго результата свертки путем ввода четвертого промежуточного результата и шестого промежуточного результата в модуль повышающей дискретизации и обработки в нем четвертого промежуточного результата и шестого промежуточного результата; и
[00170] получение третьего результата свертки путем ввода первого результата свертки, выданного остаточным модулем, в уточняющий сетевой модуль и обработки в нем первого результата свертки.
[00171] Количество каналов для шестого промежуточного результата и седьмого промежуточного результата последовательно уменьшается.
[00172] В некоторых вариантах осуществления настоящего изобретения получение множества опорных карт позы человека путем сложения второго результата свертки и третьего результата свертки дополнительно предусматривает:
[00173] получение целевого результата путем сложения первого результата свертки и второго результата свертки; и
[00174] получение множества новых опорных карт позы человека путем сложения множества опорных карт позы человека и целевого результата.
[00175] Целевой результат призван повысить точность модели определения позы человека при обучении модели определения позы человека.
[00176] Устройство для определения позы человека согласно вариантам осуществления настоящего изобретения может реализовывать способ определения позы человека согласно любому из вариантов осуществления настоящего изобретения.
[00177] На фиг. 5 показана структурная схема устройства согласно одному из вариантов осуществления настоящего изобретения. На фиг. 5 показана блок-схема иллюстративного устройства 512, пригодного для реализации вариантов осуществления настоящего изобретения. Как показано на фиг. 5, устройство 512 может включать в себя, помимо прочего, следующие компоненты: по меньшей мере, один процессор 516, память 528 системы и шину 518, соединенную с разными компонентами системы (включая память 528 системы и процессор 516). Память 528 системы может включать в себя среду, считываемую компьютерной системой, которая представлена в виде энергозависимого запоминающего устройства, такого как, по меньшей мере, одно из таких устройств, как оперативное запоминающее устройство 530 (RAM) и кэш-память 532. Устройство 512 может включать в себя другой съемный/несъемный энергозависимый/энергонезависимый носитель данных компьютерной системы. В качестве примера, носящего исключительно иллюстративный характер, система 534 памяти может представлять собой накопитель на жестком диске, накопитель на магнитных дисках и накопитель на оптических дисках. В этих случаях каждый накопитель может быть соединен с шиной 518, по меньшей мере, через один интерфейс носителя данных. В памяти 528 могут храниться, например, инструментальные программные средства/утилиты 540, содержащие набор (по меньшей мере, один) программных модулей 542, причем программный модуль 542 обычно выполняет функции и/или способы согласно вариантам осуществления, раскрытым в настоящем документе. Устройство 512 может также сообщаться, по меньшей мере, с одним внешним устройством 514 (например, клавиатурой, указательным устройством, дисплеем 524 или иным устройством подобного рода); и может сообщаться, по меньшей мере, с одним устройством, которое позволяет пользователю взаимодействовать с устройством 512; и/или может сообщаться с любым устройством (таким как сетевая карта, модем или иное устройство подобного рода), которое позволяет устройству 512 осуществлять коммуникационный обмен, по меньшей мере, с одним из других вычислительных устройств. Такой коммуникационный обмен может осуществляться через интерфейс 522 ввода/вывода (I/O). Кроме того, устройство 512 может также поддерживать связь, по меньшей мере, с одной или несколькими сетями (например, локальной вычислительной сетью (LAN), глобальной вычислительной сетью (WAN) и/или сетью общего пользования, такой как сеть Internet) через сетевой адаптер 520. Процессор 516 приводит в исполнение различные функциональные приложения и обрабатывает данные путем прогона программ, хранящихся в памяти 528 системы, например, для реализации способа определения позы человека согласно любому из вариантов осуществления настоящего изобретения.
[00178] Вариантами осуществления настоящего изобретения дополнительно предложен машиночитаемый носитель данных для хранения, по меньшей мере, одной компьютерной программы. Компьютерная программа при ее исполнении компьютером реализует способ определения позы человека согласно любому из вариантов осуществления настоящего изобретения.