СПОСОБ И СИСТЕМА ДЛЯ ВЗАИМОДЕЙСТВИЯ ЧЕЛОВЕК-МАШИНА, ОСНОВАННОГО НА ЖЕСТАХ, И МАШИНОЧИТАЕМЫЙ НОСИТЕЛЬ ДЛЯ ЭТОГО
METHOD AND SYSTEM FOR MAN-MACHINE INTERACTION BASED ON GESTURES AND MACHINE READABLE CARRIER TO THIS END

ОБЛАСТЬ ИЗОБРЕТЕНИЯ
Настоящее описание касается области компьютерной технологии и, более конкретно, к способу и системе взаимодействия человек-машина, основанного на жестах, и машиночитаемому носителю для этого.
УРОВЕНЬ ТЕХНИКИ
Взаимодействие человек-машина для устройств обработки, таких как компьютеры обычно используют: компьютерную мышь, клавиатуры и мониторы. В связи с развитием техники желательно иметь более удобный и быстрый способ, который мог бы использоваться для взаимодействия человек-машина. Для этих целей были созданы голосовой ввод и ручка рукописного ввода.
Во время процесса выполнения настоящего описания изобретателями было обнаружено, что существующие технологии имеют существенные недостатки:
Голосовой ввод может уменьшить трудоемкость ввода при вводе символов, но имеет ограничение для применения в графических приложениях. Также инструкции с использованием ручек рукописного ввода могут иметь некоторое преимущество во вводе Китайских символов, но это менее удобно, чем при использовании мыши, при применении в графических приложениях.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Для устранения недостатков взаимодействия человек-машина, такого как голосовой ввод, и с использованием ручки рукописного ввода, которые не могут использоваться в графических приложениях для устройств обработки, таких как компьютеры, предлагается способ и система взаимодействия человек-машина, основанного на жестах, и машиночитаемый носитель для этого.
Способ взаимодействия человек-машина, основанного на жестах, включает:
захват изображений от видеопотоков пользователя;
расположение координат трех или больше предопределенных цветных блоков на переднем плане; и
моделирование движений мыши согласно координатам первого цветного блока и моделирование действия щелчка мыши согласно координатам других цветных блоков.
Система взаимодействия человек-машина, основанного на жестах, содержит:
блок захвата для захвата изображений из видеопотоков пользователя;
блок положения для помещения координат трех или больше предопределенных цветных блоков на переднем плане; и
блок преобразования для моделирования движения мыши согласно координатам первого цветного блока и моделирования действия щелчка мыши согласно координатам других цветных блоков.
Также в настоящем описании предусмотрен машиночитаемый носитель.
По меньшей мере, один машиночитаемый носитель, содержащий записанные инструкции для исполнения компьютером, причем инструкции для исполнения компьютером используются для выполнения способа взаимодействия человек-машина, основанного на жестах, причем способ включает:
захват изображений от видеопотоков пользователя;
расположение координат трех или больше предопределенных цветных блоков на переднем плане; и
моделирование движений мыши согласно координатам первого цветного блока и моделирование действия щелчка мыши согласно координатам других цветных блоков.
Осуществление настоящего изобретения обеспечивает существенные преимущества: определение координат множества цветных блоков с помощью обработки захваченного видеопотока пользователя и моделирование движения мыши согласно координатам цветных блоков. Устройства обработки, такие как компьютеры, могут дополнительно быть использованы для осуществления взаимодействия машина-человек очень легко, и эффект сенсорного взаимодействия может быть смоделирован без наличия сенсорного экрана.
Краткое описание чертежей
Чтобы ясно описать осуществления предлагаемого изобретения, предлагается следующее краткое описание для чертежей. Должно подразумеваться, что нижеприведенные чертежи будут рассматриваться только как некоторые из вариантов осуществления предлагаемого изобретения. Должно быть очевидно для специалистов в области техники, что можно получить другие чертежи согласно этим чертежам ниже, не отступая от замысла и объема этого изобретения.
Фиг.1 - схематичная блок-схема первого варианта осуществления предлагаемого изобретения;
Фиг.2 - схематичная блок-схема второго варианта осуществления предлагаемого изобретения;
Фиг.3 - схематичная блок-схема третьего варианта осуществления предлагаемого изобретения;
Фиг.4 - схематичная блок-схема четвертого варианта осуществления предлагаемого изобретения.
Детальное описание предпочтительных вариантов осуществления
Для того чтобы цель, ее решение и преимущества заявленного изобретения были более понятны, необходимо ознакомится с более детальным описанием осуществления и сопровождающими чертежами.
Задачей предлагаемого изобретения является моделирование операции по перемещению мыши посредством движения пальцев пользователей, в котором движение пальцев пользователей определяются с помощью обработки видеопотоков пользователей. Шаблоны для цветных блоков могут быть предварительно захвачены соответственно в отношении 3 пальцев, и захваченные видеопотоки обрабатываются для определения положения пальцев. Один из пальцев может использоваться для моделирования нажима на мышь. OpenCV Intel Corporation предоставляет библиотеку исходного кода, включая открытые исходные коды для обработки изображения; предлагаемый вариант осуществления может быть закодирован посредством программирования в OpenCV. Подробные описания вариантов осуществления предлагаемого изобретения описаны ниже.
Первый вариант осуществления
Осуществление настоящего изобретения в части способа взаимодействия человек-машина, основанного на жестах. Фигура 1 схематично отображает в виде схему способа, включающего:
Этап 101 - захват изображений от видеопотоков пользователя.
Этап 102 - расположение координат трех или больше предопределенных цветных блоков на переднем плане.
Этап 103 - моделирование движений мыши согласно координатам первого цветного блока и моделирование действия щелчка мыши согласно координатам других цветных блоков.
В данном варианте осуществляется определение координат множества цветных блоков с помощью обработки захваченного видеопотока пользователя и моделирование движения мыши согласно координатам цветных блоков. Устройства обработки, такие как компьютеры, могут дополнительно быть использованы для осуществления взаимодействия машина-человек очень легко, и эффект сенсорного взаимодействия может быть смоделирован без наличия сенсорного экрана.
Второй вариант осуществления
Второй вариант осуществления настоящего изобретения основан на улучшении первого варианта. Фигура 2 схематично отображает в виде схемы способ, включающий:
Этап 201 - захват видеопотока пользователя через камеру и захват изображений из видеопотока;
причем захваченные изображения могут быть непрерывными или дискретными. Обычно, скорость движения пальца пользователей, возможно, недостаточно высока, что не позволяет обработать все изображения и получить дальнейшую выгоду в экономии стоимости обработки. Должно быть очевидно, что для большей точности каждое изображение, захваченное от видеопотока, может быть обработано, и данное изобретение не ограничено этим.
Этап 202 - обработка каждого из изображений, захваченных из видеопотока, для удаления фона, таким образом, получения переднего плана. Следует понимать, что обычно окружающая обстановка, такая как офис или дом, имеет небольшие изменения на фоне видеопотока, следовательно, фон может быть легко определен. Следовательно, более подробно этап 202 включает:
Этап 2021 - установка фоновой модели с помощью алгоритма Code Book для генерирования изображения маски; маска изображения может иметь тот же размер, что обработанное изображение; передний план изображения маски является белым; и фон изображения маски является черным.
Этап 2022 - сравнение изображения маски с обработанным изображением для удаления соответствующих частей изображения; может быть одно изображение маски; фоновая модель может использоваться при каждом действии по удалению, осуществленном на захваченных изображениях, для получения частей изображения переднего плана.
Следует понимать, что получение переднего плана изображений с помощью алгоритма Code Book является только частным видом осуществления настоящего изобретения и данное описание не ограничивается этим алгоритмом.
Этап 203 - получение гистограмм блоков предопределенного цвета с помощью заданных цветных шаблонов блоков.
Согласно иллюстрирующему варианту осуществления движение одного пальца на одной руке используется для моделирования передвижения мыши, и два пальца на другой руке используется для моделирования действия по нажиму на мышь. Соответственно, необходимо отслеживать, по меньшей мере, три заданных цветных блока.
Кроме того, для большей различимости трех цветных блоков пользователь может носить три рукава на пальцах с различными цветами, которые легкоразличимы. Определенные цвета должны быть сохранены как шаблоны для трех цветных блоков, что упрощает обработку.
В соответствии с одним из примеров осуществления технология OpenCV корпорации Intel может использоваться для кодирования обработки изображений. Технология OpenCV поддерживается корпорацией Intel, является общедоступной библиотекой кодов для машинного зрения и является бесплатной как для коммерческого, так и для некоммерческого использования. Гистограммы переднего плана могут быть вычислены через функцию гистограммы в OpenCV. В технологии OpenCV серия функций гистограммы упакована в класс DenseHistogram, что позволило вычислить гистограммы изображений посредством "Вычисления".
Цветная гистограмма - разновидность цветных символов, она широко используется в различных механизмах поисковых систем изображений. Цветная гистограмма используется для описания пропорции различных цветов к целому изображению. Цветная гистограмма является наиболее подходящей, чтобы описать те изображения, которые сложно отличить автоматически.
Операция, описанная ниже, выполнена на трех цветных блоках для определения положения пальцев, которые соответствуют трем цветным блокам, и определения действия по нажатию мыши. Таким образом, этап 203 содержит:
Этап 204 - получение изображений, которые получены в этапе 201, и гистограмм трех цветных блоков, которые получены в этапе 203, и вычисление диаграммы распределения вероятности каждого цветного квартала через алгоритм Задней Проекции.
В настоящем описании не раскрыт процесс вычисления диаграммы распределения вероятности через гистограммы, так как такое вычисление известно специалистам в области техники.
Этап 205 - обработка диаграммы распределения вероятности для оптимизации диаграммы распределения вероятности.
Поскольку в диаграммах распределения вероятности, полученных из шага 204, существует шум и всплески колебаний, необходимо произвести очистку изображения от шума и провести процесс сглаживания в этапе 205 для получения более точных цветных блоков. Таким образом, этап 205 включает:
Этап 2051 - очистка от шума диаграммы распределения вероятности посредством операции по удалению шума.
Этап 2052 - гауссовское сглаживание применяется к диаграммам распределения вероятности; и пороговая сегментация выполняется на гауссовских сглаженных диаграммах распределения вероятности. Пороговая сегментация содержит операции: установление предопределенного порога, определение пикселя как передний план, когда пиксель изображения меньше, чем пороговое значение; и определение пикселя как фона, когда пиксель изображения не меньше, чем пороговое значение.
Этап 206 - отслеживание средних точек диграммы распределения вероятности через алгоритм CAMShift (Continuously Apative Mean-Shift) для определения координат центров трех цветных блоков.
Алгоритм CAMShift - это разновидность алгоритма отслеживания движения, который отслеживает информацию о цвете движущихся объектов в видеопотоке. После преобразования исходных изображений в цветную диаграмму распределения вероятности с алгоритмом Задней Проекции становится возможным вычислить координаты центров трех цветных блоков, определяющие координаты трех цветных блоков.
Этап 207 - преобразование координаты трех цветов блоков в информацию о работе мыши.
После того как координаты центров трех цветных блоков определены, координаты первого цветного блока преобразованы в координаты мыши и действие по нажиму левой клавиши мыши может быть определено координатами второго и третьих цветных блоков. Например, расстояние между вторым и третьими цветными блоками используется для того, чтобы определить действие по нажиму левой клавиши мыши. Когда расстояние между вторым и третьими цветными блоками меньше, чем предопределенное значение, это может означать, что левая клавиша мыши нажата; когда расстояние не меньше, чем предопределенное значение, это может означать, что левая клавиша мыши отпущена.
В соответствии с настоящим вариантом осуществления с помощью кодовой библиотеки открытых исходных кодов OpenCV первый блок жеста преобразован в координаты мыши и второй и третий блоки жеста преобразованы в действие по нажатию мыши. Таким образом, посредством описанного способа успешно осуществляется взаимодействие человек-машина.
Следует отметить, что три цветных блока, упомянутые в данном варианте осуществления, не должны быть расценены как ограничение настоящего изобретения.
Кроме того, настоящее изобретение обеспечивает один или более машиночитаемый носитель, содержащий записанные инструкции для исполнения компьютером, причем инструкции для исполнения компьютером используются для выполнения способа взаимодействия человек-машина, основанного на жестах. Этапы, которые выполняются согласно инструкциям, записанным на машиночитаемом носителе, описаны выше и не будут здесь описаны.
Третий вариант осуществления
Осуществление настоящего изобретения предусматривает систему для взаимодействия человек-машина, основанного на жестах. На Фигуре 3 изображена ее структура, система включает:
Блок захвата 1, блок захвата для захвата изображений из видеопотоков пользователя.
Блок положения 2 для помещения координат трех или больше предопределенных цветных блоков на переднем плане.
Блок преобразования 3 для моделирования движения мыши согласно координатам первого цветного блока и моделирования действия щелчка мыши согласно координатам других цветных блоков.
В данном варианте осуществляется определение координат множества цветных блоков с помощью обработки захваченного видеопотока пользователя и моделирование движения мыши согласно координатам цветных блоков. Устройства обработки, такие как компьютеры, могут дополнительно быть использованы для осуществления взаимодействия машина-человек очень легко, и эффект сенсорного взаимодействия может быть смоделирован без наличия сенсорного экрана.
Четвертый вариант осуществления
Этот вариант осуществления настоящего изобретения основан на улучшении третьего варианта. Фигура 4 схематично его структуру, система включает:
Блок захвата 1 для захвата видеопотока пользователя через камеру и захвата изображений из видеопотока пользователей;
причем захваченные изображения могут быть непрерывными или дискретными. Обычно, скорость движения пальца пользователей, возможно, недостаточно высока, что не позволяет обработать все изображения и получить дальнейшую выгоду в экономии стоимости обработки. Должно быть очевидно, что для большей точности каждое изображение, захваченное от видеопотока, может быть обработано, и данное изобретение не ограничено этим.
Блок положения 2 для удаления фона изображений и помещения координат трех цветных блоков на переднем плане; более детально блок положения 2 может включать:
Блок фоновой сегментации 21 для обработки каждого захваченного изображения, для удаления фона изображения и получения его переднего плана. Следует понимать, что обычно окружающая обстановка, такая как офис или дом, имеет небольшие изменения на фоне видеопотока, следовательно, фон может быть легко определен. Следовательно, более подробно блок фоновой сегментации 21 включает:
Подблок изображения маски 211 для настройки фоновой модели с помощью алгоритма Code Book и генерации изображения маски, изображение маски может иметь тот же самый размер, что и обработанное изображение; передний план изображения маски является белым; и фон изображения маски является черным.
Подблок удаления 212 для сравнения изображения маски с обработанным изображением для удаления соответствующих частей изображения; может быть одно изображение маски; фоновая модель может использоваться при каждом действии по удалению, осуществленном на захваченных изображениях, для получения частей изображения переднего плана.
Блок гистограммы 22 для получения гистограмм блоков предопределенного цвета с помощью заданных шаблонов цветных блоков.
Согласно иллюстрирующему варианту осуществления движение одного пальца на одной руке используется для моделирования передвижения мыши и два пальца на другой руке используются для моделирования действия по нажиму на мышь. Соответственно, необходимо отслеживать, по меньшей мере, три заданных цветных блока.
Кроме того, для большей различимости трех цветных блоков пользователь может носить три рукава на пальцах с различными цветами, которые легкоразличимы. Определенные цвета должны быть сохранены как шаблоны для трех цветных блоков, что упрощает обработку.
В соответствии с одним из примеров осуществления технология OpenCV корпорации Intel может использоваться для кодирования обработки изображений. Технология OpenCV поддерживается корпорацией Intel, является общедоступной библиотекой кодов для машинного зрения и является бесплатной как для коммерческого, так и для некоммерческого использования. Гистограммы переднего плана могут быть вычислены через функцию гистограммы в OpenCV. В технологии OpenCV серия функций гистограммы упакована в класс DenseHistogram, что позволило вычислить гистограммы изображений посредством "Вычисления".
Цветная гистограмма - разновидность цветных символов, она широко используется в различных механизмах поисковых систем изображений. Цветная гистограмма используется для описания пропорции различных цветов к целому изображению. Цветная гистограмма является наиболее подходящей, чтобы описать те изображения, которые сложно отличить автоматически.
Шаг, описанный ниже, применяется к трем цветным блокам для определения положения пальцев, которые соответствуют трем цветным блокам, и определения действия по нажатию мыши.
Блок диаграммы распределения вероятности 23 предназначен для вычисления диаграммы распределения вероятности каждого цветного блока с помощью алгоритма Задней Проекции согласно изображениям, которые захвачены модулем захвата 1, и гистограммам трех цветных блоков, которые получены модулем гистограммы 22.
В настоящем описании не раскрыт процесс вычисления диаграммы распределения вероятности через гистограммы, так как такое вычисление известно специалистам в области техники.
Блок оптимизации 24 предназначен для оптимизации диаграммы распределения вероятности.
Поскольку в диаграммах распределения вероятности, вычисленных модулем диаграммы распределения вероятности 23, существует шум и всплески колебаний, необходимо произвести очистку изображения от шума и провести процесс сглаживания в модуле оптимизации 24 для получения более точных цветных блоков.
Блок оптимизации 24 содержит:
Подблок очистки от шума для очистки от шума диаграмм распределения вероятности посредством действия операции по удалению шума.
Подблок сглаживания для гауссовского сглаживания диаграмм распределения вероятности и выполнения пороговой сегментации на гауссовских сглаженных диаграммах распределения вероятности. Пороговая сегментация содержит операции: установление предопределенного порога, определение пикселя как передний план, когда пиксель изображения меньше, чем пороговое значение; и определение пикселя как фона, когда пиксель изображения не меньше, чем пороговое значение.
Блок отслеживания 25 предназначен для отслеживания средних точек диаграммы распределения вероятности через алгоритм CAMShift (Continuously Apative Mean-Shift) для определения координат центров трех цветных блоков.
Алгоритм CAMShift - это разновидность алгоритма отслеживания движения, который отслеживает информацию о цвете движущихся объектов в видеопотоке. После преобразования исходных изображений в цветную диаграмму распределения вероятности с алгоритмом Задней Проекции становится возможным вычислить координаты центров трех цветных блоков, определяющие координаты трех цветных блоков.
После того как координаты центров трех цветных блоков определены, координаты первого цветного блока преобразованы в координаты мыши и действие по нажиму левой клавиши мыши может быть определено координатами второго и третьих цветных блоков. Например, расстояние между вторым и третьими цветными блоками используется для того, чтобы определить действие по нажиму левой клавиши мыши. Когда расстояние между вторым и третьими цветными блоками меньше, чем предопределенное значение, это может означать, что левая клавиша мыши нажата; когда расстояние не меньше, чем предопределенное значение, это может означать, что левая клавиша мыши отпущена.
В соответствии с настоящим вариантом осуществления с помощью кодовой библиотеки открытых исходных кодов OpenCV первый блок жеста преобразован в координаты мыши и второй и третий блоки жеста преобразованы в действие по нажатию мыши. Таким образом, посредством описанного способа успешно осуществляется взаимодействие человек-машина.
Следует отметить, что три цветных блока, упомянутые в данном варианте осуществления, не должны быть расценены как ограничение настоящего изобретения.
Идея и принцип работы систем согласно третьему и четвертому варианту осуществления идентичны с вышеупомянутыми способами согласно первому и второму варианту осуществления, поэтому идентичные части не будут описаны. Блок в соответствии с вариантом осуществления изобретения может быть записан на машиночитаемый носитель, если предусмотрены блоки, работающие для возможности работы как аппаратно-программный блок, и распределены и используются в качестве самостоятельных продуктов. Основываясь на таком понимании, настоящее описание изобретение может существовать как самостоятельный продукт. Отдельный продукт может быть записан на носителе данных и включать инструкции для выполнения устройством обработки (таким как персональный компьютер, сервер, или сетевое устройство) для выполнения способа полностью или частично, как описано согласно вариантам осуществления в настоящем описании. Такой носитель данных может быть флэш-памятью USB, портативным жестким диском, постоянной памятью, памятью произвольного доступа, магнитным диском, оптическим диском или любым другим носителем, на который можно записать программные коды.
Хотя изобретение было описано с точки зрения нескольких примеров осуществления, варианты осуществления не должны быть расценены как ограничивающие данное изобретение, изобретение может быть осуществлено с модификацией, заменой или улучшением в пределах замысла и своего объема.