СПОСОБ ФИЛЬТРАЦИИ ИЗОБРАЖЕНИЙ ЦЕЛЕВОГО ОБЪЕКТА В РОБОТЕХНИЧЕСКОЙ СИСТЕМЕ
METHOD OF FILTERING IMAGES OF TARGET OBJECT IN ROBOTICS SYSTEM

Область техники
Настоящее изобретение относится к системам и способам, используемым для манипуляции физическими объектами с помощью роботизированной руки и захватного устройства. В частности, данное изобретение относится к способу фильтрации изображений целевого объекта в роботехнической системе.
Уровень техники
Роботехническая система может использоваться для сортировки и классификации множества физических объектов, таких как производственные компоненты, части машин и материал для переработки. Для сортировки и классификации требуется, чтобы физические объекты можно было распознать с достаточно высокой вероятностью. В приложениях, таких как переработка отходов и организация переработки отходов, важно, чтобы однородность отсортированной группы объектов была высокой, а именно, чтобы в отсортированные группы объектов попадало как можно меньше объектов неправильного типа.
В роботехнических системах распознавание физических объектов, которые нужно переместить или которыми нужно манипулировать, может включать две стадии. На первой стадии среди множества объектов распознают целевой объект, который будет захвачен с использованием захватного устройства, тисков, зажима или другого аналогичного устройства, связанного с роботизированной рукой. На второй стадии целевой объект успешно захватывают, и его можно осмотреть с более близкого расстояния. Осмотр обычно выполняют с использованием множества датчиков, среди которых, как правило, имеется камера или инфракрасный датчик. Камера может быть связана с роботизированной рукой или захватным устройством. Осмотр может быть выполнен на пустом или другом чистом фоне, который не содержит объектов, которые могли бы помешать процессу распознавания. В среде, из которой захватывают целевой объект, обычно имеются другие объекты, которые даже могут частично или полностью перекрывать целевой объект, мешая распознавать и классифицировать целевой объект на фоне среды. Такую окружающую среду можно назвать неструктурированной ареной.
В общем случае, задачу распознавания объектов обычно решают с использованием алгоритмов распознавания образов, в которых осуществляется поиск объектов в данных от датчиков, например в изображениях из цифровой камеры. Такие алгоритмы активно изучаются. Хотя имеется множество алгоритмов, которые могут производить распознавание объектов даже на неоднородном фоне, в общем случае алгоритмы распознавания образов лучше всего работают, когда фон однороден и известен заранее. Ранее поиск объектов заданного типа производили в чисто рабочей области и выбирали их в качестве распознанных объектов. Над выбранным объектом известного типа можно производить набор действий. Такой набор действий может быть выбран на основе типа объекта, например, при помещении объектов различного типа в разные мусорные баки.
Можно перемещать целевой объект с использованием роботизированной руки в однородный фон, чтобы целевой объект можно было исследовать датчиком без наличия мешающих объектов. Однако недостатком такого подхода является то, что каждый потенциальный объект, представляющий интерес для операции сортировки, необходимо отдельно переместить в место, где его можно рассмотреть на фоне осмотра. Это требует много времени и энергии, поскольку роботизированной руке приходится часто перемещаться. Поэтому было бы предпочтительно избежать шага перемещения целевого объекта в конкретное место для осмотра.
Сущность изобретения
Изобретение относится к способу, включающему: захватывание объекта захватным устройством, прикрепленным к роботизированной руке; получение по меньшей мере двух исходных изображений области, содержащей объект; вычисление усредненного изображения для по меньшей мере двух исходных изображений; вычисление изображения расхождения для по меньшей мере двух исходных изображений; формирование фильтрующего изображения по изображению расхождения и получение результирующего изображения путем маскирования усредненного изображения с использованием фильтрующего изображения в качестве битовой маски.
Кроме того, изобретение относится к устройству, содержащему: средство для управления захватным устройством и роботизированной рукой для захватывания объекта; средство для получения по меньшей мере двух исходных изображений области, содержащей объект; средство для вычисления усредненного изображения для по меньшей мере двух исходных изображений; средство для вычисления изображения расхождения для по меньшей мере двух исходных изображений; средство для формирования фильтрующего изображения по изображению расхождения и средство для получения результирующего изображения путем маскирования усредненного изображения с использованием фильтрующего изображения в качестве битовой маски.
Кроме того, изобретение относится к компьютерной программе, реализованной на считываемом компьютером носителе и содержащей код для управления процессором для выполнения способа, включающего: управление захватным устройством и роботизированной рукой для захватывания объекта; получение по меньшей мере двух исходных изображений области, содержащей объект, с помощью датчика изображения; вычисление усредненного изображения для по меньшей мере двух исходных изображений; вычисление изображения расхождения для по меньшей мере двух исходных изображений; формирование фильтрующего изображения по изображению расхождения и получение результирующего изображения путем маскирования усредненного изображения с использованием фильтрующего изображения в качестве битовой маски.
Кроме того, изобретение относится к компьютерному программному продукту, включающему: управление захватным устройством и роботизированной рукой для захватывания объекта; получение по меньшей мере двух исходных изображений области, содержащей объект, с помощью датчика изображения; вычисление усредненного изображения для по меньшей мере двух исходных изображений; вычисление изображения расхождения для по меньшей мере двух исходных изображений; формирование фильтрующего изображения по изображению расхождения и получение результирующего изображения путем маскирования усредненного изображения с использованием фильтрующего изображения в качестве битовой маски.
Кроме того, изобретение относится к устройству, содержащему память и по меньшей мере один процессор, сконфигурированный для управления захватным устройством и роботизированной рукой для захватывания объекта; получения по меньшей мере двух исходных изображений области, содержащей объект, с помощью датчика изображения; вычисления усредненного изображения для по меньшей мере двух исходных изображений; вычисления изображения расхождения для по меньшей мере двух исходных изображений; формирования фильтрующего изображения по изображению расхождения и получения результирующего изображения путем маскирования усредненного изображения с использованием фильтрующего изображения в качестве битовой маски.
Кроме того, изобретение относится к способу, включающему: захватывание объекта захватным устройством, прикрепленным к роботизированной руке; получение по меньшей мере двух исходных изображений, содержащих объект, с помощью датчика изображения; запись перемещения захватного устройства во время получения по меньшей мере двух исходных изображений; определение по меньшей мере одного первого вектора движения для перемещения между по меньшей мере двумя исходными изображениями на основе записанного перемещения захватного устройства; разделение по меньшей мере одного из упомянутых по меньшей мере двух исходных изображений на множество областей изображения и определение по меньшей мере одного второго вектора движения на основе сравнения данных изображения для по меньшей мере двух исходных изображений, при этом указанный по меньшей мере один второй вектор движения представляет перемещение области изображения, и совмещение по меньшей мере одного второго вектора движения по меньшей мере с одним первым вектором движения для получения по меньшей мере одной области изображения для классификации объекта.
Кроме того, изобретение относится к устройству, содержащему: средство для захватывания объекта захватным устройством, прикрепленным к роботизированной руке; средство для получения по меньшей мере двух исходных изображений, содержащих объект, с помощью датчика изображения; средство для записи перемещения захватного устройства во время получения по меньшей мере двух исходных изображений; средство для определения по меньшей мере одного первого вектора движения для перемещения между по меньшей мере двумя исходными изображениями на основе записанного перемещения захватного устройства; средство для разделения по меньшей мере одного из упомянутых по меньшей мере двух исходных изображений на множество областей изображения и средство для определения по меньшей мере одного второго вектора движения на основе сравнения данных изображения для по меньшей мере двух исходных изображений, при этом указанный по меньшей мере один второй вектор движения представляет перемещение области изображения, и средство для совмещения по меньшей мере одного второго вектора движения по меньшей мере с одним первым вектором движения для получения по меньшей мере одной области изображения для классификации объекта.
Кроме того, изобретение относится к компьютерному программному продукту или компьютерной программе, которая реализована на считываемом компьютером носителе. Компьютерная программа или компьютерный программный продукт включают код для управления процессором для выполнения способа, включающего: захватывание объекта захватным устройством, прикрепленным к роботизированной руке; получение по меньшей мере двух исходных изображений, содержащих объект, с помощью датчика изображения; запись перемещения захватного устройства во время получения по меньшей мере двух исходных изображений; определение по меньшей мере одного первого вектора движения для перемещения между по меньшей мере двумя исходными изображениями на основе записанного перемещения захватного устройства; разделение по меньшей мере одного из упомянутых по меньшей мере двух исходных изображений на множество областей изображения и определение по меньшей мере одного второго вектора движения на основе сравнения данных изображения для по меньшей мере двух исходных изображений, при этом указанный по меньшей мере один второй вектор движения представляет перемещение области изображения, и совмещение по меньшей мере одного второго вектора движения по меньшей мере с одним первым вектором движения для получения по меньшей мере одной области изображения для классификации объекта.
Кроме того, изобретение относится к способу или устройству, предназначенному для выполнения этого способа, или к компьютерной программе, включающей шаги указанного способа, при этом указанный способ включает: захватывание объекта захватным устройством, прикрепленным к роботизированной руке или установленным отдельно; получение, с использованием датчика изображения, множества исходных изображений области, которая содержит объект; выбор движущихся элементов изображения из множества исходных изображений на основе соответствия записанного перемещения захватного устройства во время получения множества исходных изображений; создание результирующего изображения с использованием информации о выбранных движущихся элементах изображения и использование результирующего изображения для классификации захваченного объекта. В еще одном варианте выполнения настоящего изобретения выбор движущихся элементов изображения может включать вычисление усредненного изображения для по меньшей мере двух исходных изображений, вычисление изображения расхождения для по меньшей мере двух исходных изображений и формирование фильтрующего изображения по изображению расхождения. В еще одном варианте выполнения настоящего изобретения создание результирующего изображения может включать получение результирующего изображения путем маскирования усредненного изображения с использованием фильтрующего изображения в качестве битовой маски. В еще одном варианте выполнения настоящего изобретения выбор движущихся элементов изображения может включать определение по меньшей мере одного первого вектора движения для перемещения между по меньшей мере двумя исходными изображениями на основе записанного перемещения захватного устройства, разделение по меньшей мере одного из упомянутых по меньшей мере двух исходных изображений на множество областей изображения, определение по меньшей мере одного второго вектора движения на основе сравнения данных изображения для по меньшей мере двух исходных изображений, при этом указанный по меньшей мере один второй вектор движения представляет перемещение области изображения, и совмещение по меньшей мере одного второго вектора движения по меньшей мере с одним первым вектором движения.
В еще одном варианте выполнения настоящего изобретения датчик изображения перемещается вдоль захватного устройства; например, датчик изображения может быть присоединен к захватному устройству или к роботизированной руке.
В еще одном варианте выполнения настоящего изобретения датчик изображения помещен в положение, которое позволяет получать по меньшей мере два исходных изображения области, включающей объект, во время перемещения объекта.
В еще одном варианте выполнения настоящего изобретения устройство сконфигурировано для распознавания изображения захватного устройства на по меньшей мере двух исходных изображениях. Устройство вычисляет по меньшей мере одно смещение для изображения захватного устройства между первым исходным изображением и вторым исходным изображением и определяет взаимное расположение первого исходного изображения и второго исходного изображения по меньшей мере для шагов вычисления усредненного изображения и вычисления изображения расхождения на основе этого смещения. Это смещение может быть использовано при прокручивании второго исходного изображения для точного наложения изображений захваченного объекта в первом и втором исходных изображениях. Фактическое изображение захваченного объекта может быть удалено. Прокрутка может быть только логической и может использоваться только в качестве значения разности смещения при вычислении изображения расхождения и усредненного изображения.
В еще одном варианте выполнения настоящего изобретения устройство определяет взаимное расположение по меньшей мере двух исходных изображений, перемещение которых соответствует записанному перемещению захватного устройства, по меньшей мере для шагов вычисления усредненного изображения и вычисления изображения расхождения на основе указанного смещения.
В еще одном варианте выполнения настоящего изобретения устройство определяет по меньшей мере на двух исходных изображениях по меньшей мере одну движущуюся область, перемещение которой соответствует записанному перемещению захватного устройства, и отфильтровывает по меньшей мере одну движущуюся область на основе по меньшей мере двух исходных изображений. Фильтрация может включать установку пикселей в этих областях в заранее заданное значение, такое как нуль или единица. Движущаяся область может представлять собой блок, контур или форму или один пиксель.
В еще одном варианте выполнения настоящего изобретения по меньшей мере один вектор движения, соответствующий перемещению захватного устройства между двумя последовательными исходными изображениями из упомянутых по меньшей мере двух исходных изображений, получается из информации о перемещении, записанной для роботизированной руки. В еще одном варианте выполнения настоящего изобретения вектор движения может быть получен в результате преобразования в рамках функции отображения между перемещениями в координатах роботизированной руки и координатах изображения. Вектор движения может использоваться вместе с информацией о перемещении блока или пикселя, полученной путем сравнения двух последовательных исходных изображений. Эти блоки или пиксели с векторами движения, соответствующими известному перемещению захватного устройства, могут быть отфильтрованы на основе по меньшей мере двух исходных изображений. Таким образом, оказывается возможным удалить движущийся фон по меньшей мере из двух исходных изображений и ограничиться только изображениями объектов, в среднем перемещающимися с захватным устройством, и шагами вычисления изображения расхождения. Например, блок движения может быть макроблоком MPEG (стандарта Экспертной группы по вопросам движущегося изображения).
В еще одном варианте выполнения настоящего изобретения для распознавания захватного устройства по меньшей мере в двух исходных изображениях блоком распознавания объекта в устройстве используется по меньшей мере один визуальный признак захватного устройства. Перемещение по меньшей мере части изображения захватного устройства в пределах по меньшей мере двух исходных изображений используется для получения вектора движения захватного устройства, который указывает на величину и направление перемещения захватного устройства. Вектор движения захватного устройства представляет собой также вектор движения захваченного объекта или по меньшей мере части захваченного объекта, благодаря тому, что объект удерживается захватным устройством. Следует отметить, что в случае длинного объекта, объект может иметь части, которые дрожат, вибрируют и отходят назад относительно части, удерживаемой в прямом контакте с захватным устройством. Вектор движения может использоваться для прокрутки по меньшей мере двух исходных изображений друг относительно друга, что соответствует обратному вектору движения захватного устройства между соответствующими двумя исходными изображениями. Дальнейшие процедуры, включающие по меньшей мере вычисление усредненного изображения для по меньшей мере двух исходных изображений, вычисление изображения расхождения для по меньшей мере двух исходных изображений, формирование фильтрующего изображения по изображению расхождения и получение результирующего изображения путем маскирования усредненного изображения с использованием фильтрующего изображения в качестве битовой маски, могут затем быть выполнены по меньшей мере для двух исходных изображений, которые были прокручены пропорционально обратному вектору движения.
В еще одном варианте выполнения настоящего изобретения блок контроллера руки в устройстве обнаруживает успешное захватывание объекта. Устройство соединено с захватным устройством и роботизированной рукой. В ответ на это обнаружение, блок контроллера руки информирует об этом блок управления камерой в устройстве, который управляет датчиком изображения для получения по меньшей мере двух исходных изображений. Блок управления камерой получает по меньшей мере два исходных изображения в устройстве отдатчика изображения.
В еще одном варианте выполнения настоящего изобретения блок распознавания объекта в устройстве удаляет из результирующего изображения по меньшей мере одну область изображения, которая включает визуальные признаки по меньшей мере захватного устройства или роботизированной руки.
В еще одном варианте выполнения настоящего изобретения блок распознавания объекта классифицирует объект в результирующем изображении на основе по меньшей мере одного визуального признака в результирующем изображении и выдает команду в блок управления рукой, заставляя роботизированную руку переместить объект в место, соответствующее этой классификации.
В еще одном варианте выполнения настоящего изобретения шаг вычисления изображения расхождения включает вычисление расхождения для каждого соответствующего пикселя по меньшей мере в двух исходных изображениях и установку вычисленного расхождения в качестве значения соответствующего пикселя в изображении расхождения.
В еще одном варианте выполнения настоящего изобретения под изображением расхождения понимается изображение, в котором значение каждого пикселя пропорционально расхождению значений в этом пикселе по меньшей мере в двух исходных изображениях. Один из способов измерения расхождения значения в пикселе по меньшей мере в двух исходных изображениях состоит в вычислении статистического расхождения.
В еще одном варианте выполнения настоящего изобретения шаг формирования фильтрующего изображения включает установку в фильтрующем изображении в единицу каждого соответствующего пикселя, для которого значение соответствующего пикселя в изображении расхождения ниже заранее заданного порога.
В еще одном варианте выполнения настоящего изобретения шаг получения результирующего изображения включает выбор каждого соответствующего пикселя для результирующего изображения из усредненного изображения, только если значение соответствующего пикселя в фильтрующем изображении равно единице. Фильтрующее изображение может рассматриваться как двумерная битовая маска, которая используется для обеспечения выбора пикселей из усредненного изображения.
В еще одном варианте выполнения настоящего изобретения по меньшей мере два изображения получают на фоне, содержащем другие объекты, потенциально мешающие распознаванию захваченного объекта. Фон объекта может представлять собой неструктурированную арену, то есть окружающую среду или в общем случае трехмерное пространство, которое не задано заранее одной или несколькими параметрами, такими как цветовой фон или геометрия, и может включать, в дополнение к объектам, представляющим интерес, другие объекты с неизвестными параметрами. Например, куча мусора может представлять собой неструктурированную арену, то есть рабочее пространство для робота. Неструктурированная арена может также меняться со временем. Например, по мере того, как часть мусора удаляют из кучи, части мусора могут смешиваться, перемещаться или сталкиваться. Кроме того, добавляется новый мусор.
В одном варианте выполнения настоящего изобретения датчик изображения представляет собой по меньшей мере одно из следующего: камера, инфракрасная камера и лазерный сканер.
В еще одном варианте выполнения настоящего изобретения шаги вычисления усредненного изображения, вычисления изображения расхождения и формирования фильтрующего изображения выполняют отдельно для цветового канала каждого пикселя. В еще одном варианте выполнения настоящего изобретения по меньшей мере два исходных изображения преобразуют в полутоновое изображение и шаги вычисления усредненного изображения, вычисления изображения расхождения и формирования фильтрующего изображения выполняют для полутонового изображения.
В еще одном варианте выполнения настоящего изобретения датчик изображения присоединен к захватному устройству или является частью захватного устройства. Кроме того, камера может быть прикреплена к концу роботизированной руки непосредственно или посредством стержня.
В еще одном варианте выполнения настоящего изобретения устройство содержит роботизированную руку, управляемую с помощью управляющего блока и установленную так, что она способна достигать объекты, которые находятся на неструктурированной арене.
В еще одном варианте выполнения настоящего изобретения система также содержит захватное устройство, прикрепленное к роботизированной руке и управляемое управляющим блоком. Захватное устройство может, например, быть устройством, которое захватывает объекты, наподобие действия руки или тисков.
В еще одном варианте выполнения настоящего изобретения система также содержит по меньшей мере одно устройство датчика, которое может использоваться для формирования данных датчика о неструктурированной арене. Такое устройство датчика может быть, например, цифровой камерой, ориентированной для рассмотрения неструктурированной арены.
В еще одном варианте выполнения настоящего изобретения захватное устройство содержит датчики, которые могут использоваться для выяснения, находится ли захватное устройство в контакте с объектами на неструктурированной арене, например, когда захватное устройство перемещается и сталкивается с объектами, или при захватывании объекта.
В еще одном варианте выполнения настоящего изобретения успех операции захватывания определяют с использованием данных из датчиков. Если захват не оказался успешным, роботизированная рука перемещается в другое место и делает новую попытку.
В еще одном варианте выполнения настоящего изобретения система усовершенствована с помощью использования обучающихся систем, которые могут исполняться в устройстве.
В еще одном варианте выполнения настоящего изобретения компьютерная программа хранится на считываемом компьютером носителе. Считываемый компьютером носитель может быть съемной картой памяти, съемным модулем памяти, магнитным диском, оптическим диском, голографической памятью или магнитной лентой. Съемный модуль памяти может быть, например, модулем памяти USB, картой PCMCIA или смарт-картой.
Варианты выполнения настоящего изобретения, описанные выше, могут использоваться в любой комбинации друг с другом. Некоторые варианты выполнения настоящего изобретения могут быть объединены для формирования другого варианта выполнения настоящего изобретения. Способ, система, устройство, компьютерная программа или компьютерный программный продукт, к которым относится изобретение, могут включать по меньшей мере один из вариантов выполнения настоящего изобретения, описанный выше.
Преимущества изобретения относятся к улучшению качества выбора объектов из рабочего пространства робота. Изобретение может также использоваться для упрощения других способов распознавания целевого объекта, используемых, например, для распознавания формы или структуры целевого объекта. Изобретение также уменьшает количество перемещений роботизированной руки, позволяя избежать перемещения изображения на пустой фон и, таким образом, приводит к уменьшению потребления энергии роботизированной рукой.
Краткое описание чертежей
Прилагаемые чертежи, которые включены в настоящее описание для обеспечения лучшего понимания изобретения, иллюстрируют варианты выполнения настоящего изобретения и совместно с описанием помогают объяснить принципы изобретения.
На фиг.1 показана структурная схема, иллюстрирующая роботехническую систему, выполняющую фильтрацию изображений целевого объекта согласно одному из вариантов выполнения настоящего изобретения.
На фиг.2A показана схема, иллюстрирующая фильтрацию изображений целевого объекта в роботехнической системе.
На фиг.2B показана схема, иллюстрирующая прокрутку изображений целевого объекта на основе вектора движения захватного устройства или роботизированной руки в роботехнической системе, такой как роботехническая система согласно одному из вариантов выполнения настоящего изобретения.
На фиг.3 показана блок-схема, иллюстрирующая способ фильтрации изображений целевого объекта в роботехнической системе согласно одному из вариантов выполнения настоящего изобретения.
На фиг.4 показана блок-схема, иллюстрирующая способ перемещения объекта на основе способа распознавания объекта в роботехнической системе согласно одному из вариантов выполнения настоящего изобретения.
Подробное описание изобретения
Ниже подробно рассмотрены варианты выполнения настоящего изобретения, примеры которого проиллюстрированы на прилагаемых чертежах.
На фиг.1 показана структурная схема, иллюстрирующая роботехническую систему, выполняющую фильтрацию изображений целевого объекта в одном из вариантов выполнения настоящего изобретения. Роботехническая система 100 на фиг.1 содержит робот 110, например промышленный робот, содержащий роботизированную руку 116. С роботизированной рукой 116 соединено захватное устройство 112, которое может быть зажимом или тисками. Роботизированная рука 116 способна перемещать захватное устройство 112 в пределах рабочей области 102. Роботизированная рука 116 может содержать множество моторов, например, сервомоторов, которые обеспечивают возможность управления вращением и подъемом роботизированной руки, а также ее захватом. Различные перемещения роботизированной руки 116 и захватного устройства 112 производят приводами. Например, приводы могут быть электрическими, пневматическими или гидравлическими, или любой их комбинацией. Приводы могут перемещать или вращать различные элементы робота 110. Может использоваться набор электрических драйверов для преобразования сигналов обработки данных, другими словами, инструкций из устройства 120, для согласования напряжения и мощности при управлении приводами роботизированной руки 116. В ответ на управляющие сигналы из устройства 120, приводы выполняют различные механические функции, включая, не ограничиваясь этим: расположение захватного устройства 112 в конкретном месте в пределах рабочей области 102, опускание или поднятие захватного устройства 112 и закрытие и открытие захватного устройства 112. Робот 110 может содержать различные датчики. Например, датчики содержат различные датчики положения (не показаны), которые указывают на положение роботизированной руки 116 и захватного устройства 112, а также открытое/закрытое состояние захватного устройства 112. Открытое/закрытое состояние захватного устройства не ограничено простым одноразрядным состоянием да/нет. В одном из вариантов выполнения настоящего изобретения захватное устройство 112 может указывать на многоразрядное открытое/закрытое состояние относительно каждого из своих пальцев, в результате чего в захватном устройстве могут быть получены сведения о размере и/или форме объекта (объектов). В дополнение к датчикам положения набор датчиков может содержать датчики деформации, известные также как тензодатчики или силовые датчики обратной связи, которые указывают на деформацию, испытываемую различными элементами роботизированной руки 116 и захватного устройства 112. В примере, не ограничивающем изобретение, датчики деформации содержат переменные сопротивления, величина которых меняется в зависимости от давления, оказываемого на них. Поскольку изменение сопротивления мало по сравнению с абсолютной величиной сопротивления, переменные сопротивления обычно измеряют в конфигурации моста Уитстона.
С захватным устройством 112 или роботизированной рукой 116 связана камера 114, которая направлена так, что по меньшей мере частично держит в поле зрения объекты, захваченные захватным устройством 112. На фиг.1 показано, что камера находится в захватном устройстве 112. Кроме того, камера может быть расположена на отдельном стержне, связанном с роботизированной рукой 116, и установлена так, чтобы объекты, захваченные захватным устройством 112, были расположены в поле зрения камеры 114. Камера может также быть расположена в удаленном положении, не зависящем от положения роботизированной руки 116. Робот 110 сортирует объекты, находящиеся на неструктурированной арене 102, то есть на рабочей арене. Арена 102 содержит множество объектов, таких как объекты 103, 104 и 105. На фиг.1 показано, что робот 110 выполнил операцию захватывания целевого объекта 105 и удерживает его с помощью захватного устройства 112.
Робот 110 связан с устройством 120 обработки данных, сокращенно просто устройством. Внутренние функции устройства 120 проиллюстрированы в блоке 140. Устройство 120 содержит по меньшей мере один процессор 142, память 148 с произвольным доступом (RAM, Random Access Memory) и жесткий диск (HD, hard disk) 146. Один или более процессоров 142 управляют роботизированной рукой путем исполнения блоков 150, 152, 154 и 156 программного обеспечения. Кроме того, устройство 120 содержит по меньшей мере периферийный интерфейс (IF) 145 камеры и интерфейс 144 робота для управления роботом 110. Периферийный интерфейс 145 может быть шиной, например универсальной последовательной шиной (USB). С устройством 120 связан также терминал 130, который содержит по меньшей мере дисплей и клавиатуру. Терминал 130 может быть ноутбуком, связанным с использованием локальной сети с устройством 120.
Для связи с внешними устройствами, такими как робот 110, устройство 120 содержит или использует внешнюю схему приема/передачи, например интерфейс 144 робота, который содержит схему передачи, схему приема и может содержать внутреннюю или внешнюю антенну (не показаны). В устройстве 120 может использоваться несколько различных технологий интерфейса для связи с физическим миром, который в данном примере включает робот 110, захватное устройство 112 и камеру 114. Не ограничивающими изобретение примерами такой беспроводной схемы приема/передачи являются беспроводные локальные сети (WLAN) и интерфейсы ближней беспроводной связи, например инфракрасной связи, радиосвязи или связи стандарта Bluetooth. Вместо таких технологий беспроводной связи или в дополнение к ним устройство обработки данных может использовать проводные соединения, такие как USB, любой параллельный или последовательный интерфейс или другие типы стандартных промышленных интерфейсов или запатентованных интерфейсов.
Кроме того, память 140 устройства 120 содержит набор программ или, в общем случае, объектов программного обеспечения, которые исполняются по меньшей мере одним процессором 142. Имеется блок 150 контроллера руки, который выдает роботу 110 инструкции через интерфейс 144 робота для управления вращением, подъемом и захватом роботизированной рукой 116 и захватным устройством 112. Блок 150 контроллера руки может также принимать данные из датчика, относящиеся к измеренному вращению, подъему и захвату роботизированной рукой 116 и захватным устройством 112. Контроллер руки может привести руку в движение посредством новых инструкций, выданных на основе обратной связи и принятых устройством 120 через интерфейс 144. Контроллер 150 руки выдает инструкции роботу 110 для выполнения четко заданных высокоуровневых операций. Примером высокоуровневой операции является перемещение роботизированной руки в указанное положение. Контроллер 150 руки может использовать различные драйверы программного обеспечения, процедуры или динамические библиотеки связи для преобразования высокоуровневой операции в последовательность операций низкого уровня, например, путем выдачи соответствующей последовательности выходных сигналов через электрические драйверы в приводы робота 110. Блок 152 контроллера камеры связан с камерой 114 с использованием интерфейса 145. Блок контроллера камеры заставляет камеру 114 делать множество снимков через заранее заданные временные интервалы, начиная с момента времени, заданного блоком 152 контроллера камеры. В общем случае контроллер 152 камеры может выдать инструкцию в камеру 114, чтобы она сделала снимок в любой требуемый момент времени. Блок 152 контроллера камеры принимает изображения, сделанные камерой 114, через интерфейс 145 и сохраняет изображения в памяти 140. Блок 154 извлечения объекта извлекает целевой объект из заранее заданного количества исходных изображений (не показаны). В одном варианте выполнения настоящего изобретения блок 154 извлечения объекта использует исходные изображения для вычисления усредненного изображения 160 и изображения 162 расхождения. В еще одном варианте выполнения настоящего изобретения по изображению 152 расхождения блок 154 извлечения объекта вычисляет маскирующее изображение (не показано), которое используется для формирования результирующего изображения 164 путем маскирования усредненного изображения 160 двумерным битовым массивом, составляющим маскирующее изображение. Целевой объект, отфильтрованный из исходных изображений в том виде, как он появляется на результирующем изображении 164, передается затем в блок 156 распознавания объекта, который способен выполнять дальнейший анализ целевого объекта на основе различных визуальных параметров целевого объекта, таких как форма, цвет, текстура, коэффициенты дискретного косинусного преобразования (DCT), коэффициенты вейвлетного преобразования, макроблок MPEG и контур. Блок распознавания объекта может также содержать информацию о визуальных признаках изображения захватного устройства 112 и может использовать эту информацию для удаления частей захватного устройства 112, видимых на результирующем изображении 164, для формирования улучшенного результирующего изображения объекта для дальнейшего анализа. Визуальные признаки изображения захватного устройства 112 могут включать по меньшей мере одно из следующего: форму, цвет, текстуру, коэффициенты дискретного косинусного преобразования (DCT), коэффициенты вейвлетного преобразования, макроблок преобразования MPEG и контур. На основе результатов распознавания целевого объекта, блок 156 распознавания объекта может классифицировать целевой объект и проинструктировать робот 110 посредством контроллера 150 руки переместить целевой объект в конкретное место, например в целевой мусорный бак.
Ниже в качестве примера варианта выполнения настоящего изобретения рассмотрена фильтрация, выполняемая блоком 154 извлечения объекта. В одном из вариантов выполнения настоящего изобретения в поле обзора камеры 114 целевой объект 105 виден на фоне окружающей среды 102 захвата. Однако поскольку перемещение роботизированной руки 116 известно или представляет собой заранее заданную операцию, или поскольку система управления роботом производит точные измерения, перемещение захватного устройства 112 и, таким образом, перемещение целевого объекта 105 на изображении от камеры известно, в то время как фон датчика камеры перемещается некоторым другим способом. Поэтому затем целевой объект 112 может быть выявлен более точно на изображении из камеры путем выбора из данных изображения только тех областей, которые меняются в соответствии с известным перемещением роботизированной руки. В простом варианте выполнения изобретения имеется камера 114, прикрепленная к захватному устройству 112. В такой конфигурации объекты, перемещающиеся с захватным устройством, кажутся на изображении из камеры неподвижными, в то время как фон кажется движущимся. Распознавание объектов по данным изображения из камеры может быть осуществлено в режиме реального времени. С течением времени из камеры принимают новые изображения. В зависимости от типа камеры новые изображения из камеры могут быть созданы в результате запроса системой распознавания объекта новых данных изображения из камеры, или же камера может создавать новые изображения с некоторой скоростью, присущей самой камере, а система распознавания объекта может затем либо запросить самое последнее изображение, которое могло бы быть тем же самым изображением, что и запрошенное ранее, или система распознавания объекта может принять указание из камеры, когда доступны новые данные изображения. По мере приема новых изображений вычисляют текущие усредненные значения и значения расхождения для пикселей нового изображения и ранее принятого изображения, что можно рассматривать как формирование двух изображений: усредненного изображения и изображения расхождения. Количество используемых ранее принятых изображений может быть определено как параметр, позволяющий наилучшим образом выполнить требуемое приложение. Когда таким образом принято и обработано достаточное число изображений камеры, вычисляют маскирующее изображение, устанавливая значение пикселя в единицу для тех пикселях, где соответствующий пиксель в изображении расхождения меньше заранее заданного порога, а в противном случае - в нуль. Затем усредненное изображение используют для выполнения распознавания объекта, в результате чего формируется изображение признака, которое содержит те пиксели усредненного изображения, у которых, как считается, имеется некий визуальный признак, который система распознавания объекта должна распознать. Например, если система распознавания объекта установлена на распознавание красных объектов, изображение признака включает те пиксели усредненного изображения, которые признаны системой распознавания объекта «красными». Как только изображение признака вычислено, вычисляют конечное изображение, маскируя изображение признака маскирующим изображением. Это осуществляют, выбирая из изображения признака только те пиксели, для которых у соответствующих пикселей в маскирующем изображении значение пикселя равно единице. Таким образом, часть изображения, соответствующую захваченному объекту, легко распознать в конечном изображении. Как только та часть данных изображения камеры, которая соответствует захваченному объекту, распознана, данные могут использоваться системой распознавания объекта для определения типа захваченного объекта при его перемещении. Эта новая информация о типе может затем использоваться в комбинации с ранее полученной информацией для выбора операции, проводимой с объектом.
Если по меньшей мере один процессор выполняет функции, ассоциированные с изобретением, память содержит блоки, такие как блок 150 контроллера руки, блок 152 контроллера камеры, блок 154 извлечения объекта и блок 156 распознавания объекта. Функциональные блоки в пределах устройства 120, показанные на фиг.1, могут быть реализованы множеством способов. Они могут быть осуществлены в виде процессов, выполняемых имеющейся операционной системой узла сети. Функциональные блоки могут быть реализованы как отдельные процессы или потоки либо так, чтобы множество различных функциональных блоков было реализовано посредством одного процесса или потока. Процесс или поток могут быть, например, программным блоком, включающим множество блоков, то есть, например, процедур и функций. Функциональные объекты могут быть реализованы как отдельные компьютерные программы или как одна компьютерная программа, содержащая несколько процедур или функций, реализующих указанные блоки. Программные блоки хранятся по меньшей мере на одном считываемом компьютером носителе, таком как, например, схема памяти, карта памяти, магнитный или оптический диск. Некоторые функциональные объекты могут быть реализованы как программные модули, связанные с другим функциональным объектом. Функциональные объекты, показанные на фиг.1, могут также храниться в отдельных блоках памяти и выполняться отдельными процессорами, которые осуществляют связь, например, через шину связи или внутреннюю сеть в пределах узла сети. Примером такой шины связи является шина соединения периферийных компонентов (PCI).
В еще одном варианте выполнения настоящего изобретения блоки 150-156 программного обеспечения могут быть реализованы как отдельные блоки программного обеспечения, такие как, например, процедуры, процессы, потоки, способы, объекты, модули и последовательности программных кодов. Они могут также быть только логическими функциональными объектами в пределах программного обеспечения в устройстве 120, которые не сгруппированы ни в какие специальные отдельные подпрограммы, процессы, потоки, способы, объекты, модули и последовательности программных кодов. Их функции могут быть распределены среди программного обеспечения устройства 120. Некоторые функции могут выполняться в операционной системе устройства 120.
В примере, не ограничивающем изобретение, неструктурированная арена 102 представляет собой конвейерную ленту или часть конвейерной ленты, которая пересекает рабочую область робота. Устройство 120 имеет немного или не имеет никакой априорной информации об объектах 103, 104 и 105 в пределах неструктурированной арены 102, такой как размер, форма и/или цвет объектов, представляющих интерес. В некоторых вариантах выполнения настоящего изобретения у устройства 120 может быть некоторая априорная информация об объектах, представляющих интерес, или оно может получить информацию об объектах путем обучения, но по меньшей мере фон (другие объекты), положение и ориентация объектов, представляющих интерес, как правило, априорно неизвестны. Таким образом, объекты 103, 104 и 105 могут находиться на неструктурированной арене 102 в случайных положениях и ориентациях, а также могут перекрывать друг друга.
Варианты выполнения настоящего изобретения, описанные выше со ссылкой на фиг.1, могут использоваться в любой комбинации друг с другом. Несколько вариантов выполнения настоящего изобретения могут быть объединены для формирования другого варианта выполнения настоящего изобретения.
На фиг.2A показана схема, иллюстрирующая фильтрацию изображений целевого объекта в одном из вариантов выполнения настоящего изобретения в роботехнической системе, такой как роботехническая система 100, показанная на фиг.1. Исходным моментом на фиг.2 является то, что захватное устройство 112, связанное с роботизированной рукой 116, успешно захватило объект, такой как объект 105, показанный на фиг.1. Затем роботизированная рука 116 начинает перемещать объект 105 в заданном направлении. Во время перемещения руки камера 114 создает последовательность из пяти изображений, а именно изображений 250, 252, 254, 256 и 258 камеры именно в этом порядке. Успешное захватывание объекта 105 и начало перемещения роботизированной руки 116 может действовать как пусковое устройство, запускающее получение последовательности изображений камеры. Снимки делаются через заранее заданные временные интервалы, которые могут составлять, например, от 100 миллисекунд до 5 секунд. Например, временной интервал может составлять 0,5 секунды. Камера 114 расположена так, что объект 105 помещается в ее поле зрения. Объект 105 виден на изображении 250 камеры как коробка 280. Два пальца захватного устройства 112 видимы на изображении 250 камеры как прямоугольники 282 и 284. На изображении 250 камеры видны также фоновые объекты, такие как объект 285. Перемещение роботизированной руки наблюдается как изменения изображений 250-258 камеры, что иллюстрируется стрелкой 286. Направление показано вниз относительно фоновых объектов, таких как объект 285. Скорость составляет один пиксель на кадр, что составляет перемещение из четырех пикселей в последовательности изображений, включающей изображения 250, 252, 254, 256 и 258 камеры. Следует отметить, что изображения камеры, показанные на фиг.2, чрезвычайно упрощены по сравнению с реальными изображениями камеры. Изображения камеры просто иллюстрируются для разъяснения способа согласно изобретению.
Как показано стрелками 201, устройство 120, например, с использованием блока 154 извлечения объекта, вычисляет усредненное изображение 260 по изображениям 250, 252, 254, 256 и 258 камеры. Формула для вычисления заданного значения p пикселя с координатами x, y в усредненном изображении:
<mrow><mi>p</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><msub><mi>p</mi><mi>i</mi></msub><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow></mrow></mstyle></mrow><mi>n</mi></mfrac></mrow>
,
где i - индекс изображения камеры и n - количество изображений камеры. В случае фиг.2 n=5. Величина n может иметь любое целочисленное значение, например, 3<n<20. Полутоновая шкала на фиг.2 иллюстрирует вычисленные значения пикселя.
Как показано стрелками 202, устройство 120, например, с использованием блока 154 извлечения объекта, вычисляет изображение расхождения 262 по изображениям 250, 252, 254, 256 и 258 камеры. Формула для вычисления заданного значения p пикселя с координатами x, y в изображении расхождения:
<mrow><mi>p</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><mrow><mo>(</mo><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><msubsup><mi>p</mi><mi>i</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow></mrow></mstyle></mrow><mo>)</mo></mrow><mo>−</mo><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mi>n</mi></mfrac><mrow><mo>(</mo><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><msubsup><mi>p</mi><mi>i</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow></mrow></mstyle></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup></mrow>
,
где i - индекс изображения камеры и n - количество изображений камеры. Полутоновая шкала на фиг.2 иллюстрирует вычисленные значения пикселя.
В одном из вариантов выполнения настоящего изобретения формируют отдельное усредненное изображение и отдельное изображение расхождения для каждого цветового канала, то есть, например, для каналов R (красного), G (зеленого) и B (синего). В еще одном варианте выполнения настоящего изобретения изображения камеры преобразуют в полутоновые изображения и формируют лишь одно усредненное изображение и изображение расхождения.
Затем блок 154 извлечения объекта вычисляет маскирующее изображение 264, как показано стрелкой 203. Маскирующее изображение 264 получают, устанавливая значение пикселя в данном пикселе p(x,y) маскирующего изображения 264 в единицу, если значение этого пикселя ниже заранее заданного порога. В противном случае значение в этом пикселе устанавливают равным нулю.
Затем блок 154 извлечения объекта использует маскирующее изображение 264 для удаления из усредненного изображения 260 тех пикселей p(x,y), у которых значение было равно нулю в положении с координатами (x,y) в маскирующем изображении 264, как показано стрелками 204A и 204B. Удаляемые пиксели p(x,y) в результирующем изображении 266 устанавливают в нуль. Другие соответствующие пиксели в результирующем изображении 266 устанавливают равными значениям соответствующих пикселей, полученных из усредненного изображения 260. Результат операции маскирования сохраняют как результирующее изображение 266. Наконец, блок 156 распознавания объекта может производить дополнительную обработку результирующего изображения 266. Например, блок 156 распознавания объекта может удалить визуальные признаки, относящиеся к пальцам захватного устройства 112, на основе известной текстуры этих пальцев.
На фиг.2B показана схема, иллюстрирующая прокрутку изображений целевого объекта на основе вектора движения захватного устройства или роботизированной руки в роботехнической системе, такой как роботехническая система 100, показанная на фиг.1, для одного из вариантов выполнения настоящего изобретения.
На фиг.2B показана камера, установленная отдельно от роботизированной руки и захватного устройства в месте, где она может получать временную последовательность изображений камеры, включающую по меньшей мере изображения 291, 292, 293 и 294 камеры для объекта 231, переносимого захватным устройством, таким как захватное устройство 112. Числовой порядок позиций 291-294 указывает на возможный порядок получения изображений 291-294 камеры. После получения изображений 291-294 камеры заранее заданная информация по меньшей мере об одном визуальном признаке, включающем по меньшей мере одно из следующего: цвет, текстуру, коэффициенты дискретного косинусного преобразования (DCT), коэффициенты вейвлетного преобразования, макроблок MPEG и контур, используются для распознавания изображения 230 захватного устройства, такого как захватное устройство 112 в изображениях 291 - 294 камеры, например, блоком 154 извлечения объекта в устройстве 120. Перемещение изображения 230 захватного устройства в пределах изображений 291-294 камеры используется для получения векторов 221, 222 и 223 движения для изображения 230 захватного устройства. Вектора 221-223 движения изображения 230 захватного устройства также являются векторами движения для захваченного объекта 231, то есть по меньшей мере части захваченного объекта 231, в одном из вариантов выполнения настоящего изобретения. Следует отметить, что в случае длинного объекта, объект могут иметь части, которые трясутся, вибрируют или отстают назад. Вектора 221, 222 и 223 движения используются для получения соответствующих обратных векторов 224, 225 и 226 движения. Изображение 230 захватного устройства может быть отфильтровано из изображений 291-294 камеры, так чтобы осталось лишь изображение 231 захваченного объекта. Для фильтрации можно использовать визуальную информацию признаков, хранящуюся в памяти 140, которую использует блок 154 извлечения объекта, для удаления областей, совпадающих с визуальной информацией признаков. Обратные вектора 224, 225 и 226 движения используются для прокрутки изображений 292, 293 и 294 камеры для получения соответствующих прокрученных изображений 296, 297 и 298 камеры. В последовательности прокрученных изображений 295-298 камеры другие объекты, например объект 232, кажутся движущимися, в то время как захваченный объект 231 кажется неподвижным. Следует отметить, что в одном варианте выполнения настоящего изобретения прокрученные изображения 295-298 камеры фактически могут не формироваться в памяти 140, но обратные вектора 224-226 движения могут использоваться, например, в шагах вычисления усредненного изображения и вычисления изображения расхождения в качестве информации о смещении изображения при считывании значений пикселей из различных изображений камеры. В еще одном варианте выполнения настоящего изобретения может сохраняться только область, соответствующая пересечению областей изображений 295-298 камеры. В еще одном варианте выполнения настоящего изобретения изображения 295-298 камеры могут быть изменены пикселями одного значения, такими как пиксели нулевого значения для новых областей изображения, появляющихся вследствие прокручивания. Вместо этого, изображения могут быть свернуты. Поэтому результат, эквивалентный случаю камеры, установленной на захватном устройстве или роботизированной руке, может быть получен последовательными вычислениями. Затем могут следовать шаги вычисления усредненного изображения, вычисления изображения расхождения и формирования фильтрующей маски, как описано при рассмотрении фиг.2A.
Варианты выполнения настоящего изобретения, описанные выше со ссылками на фиг.2А и 2B, могут использоваться в любой комбинации друг с другом. Несколько вариантов выполнения настоящего изобретения могут быть объединены для формирования другого варианта выполнения настоящего изобретения.
На фиг.3 показана блок-схема, иллюстрирующая способ фильтрации изображений целевого объекта в роботехнической системе в одном из вариантов выполнения настоящего изобретения. Способ может использоваться в роботехнической системе, показанной на фиг.1.
На шаге 300 физический целевой объект захватывают с использованием захватного устройства, прикрепленного к роботизированной руке.
В шаге 302 физический объект в захватном устройстве перемещают захватным устройством и/или роботизированной рукой.
На шаге 304 получают множество изображений с использованием камеры, соединенной, например, с роботизированной рукой захватного устройства. Кроме того, камера может быть размещена на некотором расстоянии от роботизированной руки и захватного устройства. Изображения получают во время перемещения целевого объекта. Целевой объект может перемещаться на некотором фоне, включающем множество других объектов, которые могут быть подвергнуты более поздней обработке роботизированной рукой или могут игнорироваться при классификации. Перемещение роботизированной руки может включать начальное перемещение к возможному месту назначения целевого объекта, например, к множеству сортировочных баков или стоек. Фон может быть неструктурированной ареной. Количество изображений может составлять, например, 4, 5, 10 или произвольное натуральное число, большее 1.
<mrow><mi>p</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><msub><mi>p</mi><mi>i</mi></msub><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow></mrow></mstyle></mrow><mi>n</mi></mfrac></mrow>
На шаге 306 вычисляют усредненное изображение для множества изображений. Усредненное изображение может быть вычислено, например, с использованием формулы:
, где i - индекс изображения камеры, n - количество изображений камеры и x, y - координаты пикселя.
<mrow><mi>p</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><mrow><mo>(</mo><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><msubsup><mi>p</mi><mi>i</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow></mrow></mstyle></mrow><mo>)</mo></mrow><mo>−</mo><msup><mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mi>n</mi></mfrac><mrow><mo>(</mo><mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><msubsup><mi>p</mi><mi>i</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow></mrow></mstyle></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup></mrow>
На шаге 308 вычисляют изображение расхождения для множества изображений. Изображение расхождения может быть вычислено, например, с использованием формулы:
, где i - индекс изображения камеры, n - количество изображений камеры и x, y - координаты пикселя.
На шаге 310 по изображению расхождения формируют маскирующее изображение.
В еще одном варианте выполнения настоящего изобретения фильтрующее маскирующее изображение получают, устанавливая значение пикселя для данного пикселя p(x,y) в единицу в фильтрующем маскирующем изображении, если значение этого пикселя ниже заранее заданного порога. В противном случае значение этого пикселя устанавливают равным нулю.
На шаге 312 получают фильтрованное изображение, содержащее целевой объект, путем маскирования усредненного изображения с использованием фильтрующей маски.
В еще одном варианте выполнения настоящего изобретения маскирующее изображение используют для удаления из усредненного изображения тех пикселей p(x,y), у которых в маскирующем изображении в положении с координатами x, y стояло значение нуль. Эти пиксели p(x,y) устанавливают в нуль. Следствием операции маскирования является результирующее изображение, то есть фильтрованное изображение. Другими словами, фильтрующая маска представляет собой двумерную битовую маску, которая используется вместе с усредненным изображением в операции, которая возвращает значение пикселя из усредненного изображения, если значение соответствующего пикселя в битовой маске равно единице. Это может быть сформулировано в следующей формальной записи:
<mrow><mrow><mo>{</mo><mrow><mfrac><mrow><mi>i</mi><mi>f</mi><mtext> </mtext><mi>m</mi><mi>a</mi><mi>s</mi><mi>k</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>⇒</mo><mi>r</mi><mi>e</mi><mi>s</mi><mi>u</mi><mi>l</mi><mi>t</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow><mo>:</mo><mo>=</mo><mi>a</mi><mi>v</mi><mi>g</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow></mrow><mrow><mi>i</mi><mi>f</mi><mtext> </mtext><mi>m</mi><mi>a</mi><mi>s</mi><mi>k</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow><mo>=</mo><mn>0</mn><mo>⇒</mo><mi>r</mi><mi>e</mi><mi>s</mi><mi>u</mi><mi>l</mi><mi>t</mi><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow><mo>:</mo><mo>=</mo><mn>0</mn></mrow></mfrac></mrow></mrow></mrow>
, где mask(x,y) - представляет пиксель в маскирующем изображении, result(x,y) представляет пиксель в результирующем изображении, a avg(x,y) представляет пиксель в усредненном изображении. Символ «:=» представляет собой операцию присваивания.
В еще одном варианте выполнения настоящего изобретения на шаге 314 области изображения, имеющие текстуру захватного устройства или роботизированной руки, удаляют из фильтрованного изображения, чтобы, таким образом, облегчить распознавание, например, формы целевого объекта. После этого способ завершается.
В одном варианте выполнения настоящего изобретения входные данные, принятые из камеры, представляют собой цифровое изображение, которое образует двумерный массив пикселей, в котором каждый пиксель имеет числовое значение для красного, зеленого и синего цветовых компонентов, в дальнейшем обозначенные как R-, G- и B-значения соответственно. Количество пикселей в данных соответствует разрешению камеры.
В одном варианте выполнения настоящего изобретения для уменьшения количества вычислений данные изображения, принятые из камеры, преобразуют с понижением дискретизации до разрешения, которое считается подходящим для анализа.
В еще одном варианте выполнения настоящего изобретения результирующее изображение пониженной дискретизации затем нормируют, чтобы учесть изменения освещенности. Нормирование может быть выполнено отдельно для каждого пикселя в изображении пониженной дискретизации.
В еще одном варианте выполнения настоящего изобретения устройство распознает изображение захватного устройства по меньшей мере на двух исходных изображениях. Устройство вычисляет по меньшей мере одно смещение для изображения захватного устройства между первым исходным изображением и вторым исходным изображением и определяет взаимное расположение первого исходного изображения и второго исходного изображения по меньшей мере для шагов вычисления усредненного изображения и вычисления изображения расхождения на основе этого смещения. Смещение может быть использовано для прокрутки второго исходного изображения для точного совмещения изображений захваченного объекта в первом и втором исходных изображениях. Фактическое изображение захваченного объекта может быть удалено. Прокрутка может быть только логической и использоваться только в качестве индекса смещения или значения при вычислении изображения расхождения и усредненного изображения.
Варианты выполнения настоящего изобретения, описанные выше со ссылкой на фиг.3, могут использоваться в любой комбинации друг с другом. Несколько вариантов выполнения настоящего изобретения могут быть объединены для формирования другого варианта выполнения настоящего изобретения. Способ, система, устройство, компьютерная программа или компьютерный программный продукт, к которым относится изобретение, могут включать по меньшей мере один из вариантов выполнения настоящего изобретения, описанный выше.
На фиг.4 показана блок-схема, иллюстрирующая способ перемещения объекта на основе способа распознавания объекта в роботехнической системе в одном варианте выполнения настоящего изобретения. Используемое перемещение объекта определяют с использованием известного перемещения захватного устройства или роботизированной руки, удерживающей распознаваемый объект.
На шаге 400 распознаваемый объект захватывают с использованием захватного устройства, прикрепленного к роботизированной руке.
На шаге 402 распознаваемый объект перемещают с помощью захватного устройства и/или роботизированной руки.
На шаге 404 получают множество изображений с использованием камеры, связанной, например, с роботизированной рукой или захватным устройством. Камера может также быть стационарной и просматривать перемещение захватного устройства на некотором расстоянии от роботизированной руки. Изображения получают во время перемещения целевого объекта. Распознаваемый объект может перемещаться относительно фона, включающего множество других объектов, которые могут быть позже обработаны роботизированной рукой или могут быть проигнорированы при классификации. Перемещение роботизированной руки может включать начальное перемещение в возможное место назначения распознаваемого объекта, например к множеству сортировочных баков или стеллажей. Фон может представлять собой неструктурированную арену. Количество изображений может составлять, например, 4, 5, 10 или произвольное натуральное число больше единицы.
На шаге 406 записывают перемещение захватного устройства во время получения множества изображений. Этот шаг, естественно, выполняют параллельно с шагом 404. Перемещение записывают, например, с использованием данных датчика, полученных из роботизированной руки. Данные датчика могут соответствовать изменению положения захватного устройства в координатах реального мира. Изменение положения захватного устройства может быть преобразовано функцией отображения из координат реального мира в координаты изображения, которые представляют перемещение захватного устройства в пределах изображений, полученных камерой в виде множества изображений. Функция отображения может быть построена с использованием машинного обучения.
На шаге 408 определяют по меньшей мере один первый вектор движения для перемещения в рамках множества изображений на основе записанного перемещения захватного устройства. По меньшей мере один первый вектор движения может представлять перемещение захватного устройства в координатах изображения, например, в пикселях для каждого последовательного полученного изображения.
На шаге 410 по меньшей мере одно изображение из множества изображений разделяют на множество областей, например по меньшей мере на четыре области. Области могут быть пикселями, блоками пикселей или областями переменной формы.
На шаге 412 определяют по меньшей мере один второй вектор движения по меньшей мере для одной области на основе сравнения данных изображения в последовательных изображениях в пределах множества изображений. Сравнение может включать поиск визуальных признаков области первого изображения на втором, более позднем, изображении.
На шаге 414 по меньшей мере один второй вектор движения совмещают по меньшей мере с одним первым вектором движения. Сравнение может относиться к направлению и длине, то есть величине. Если сравнение показывает, что направления и длины векторов совпадают в пределах допуска погрешности или вектора представляют собой обратные вектора в пределах допуска погрешности, выбирают по меньшей мере одну область с вектором движения, соответствующим упомянутому по меньшей мере одному первому вектору движения. Допуск погрешности включает допуск погрешности относительно направления и длины векторов.
В еще одном варианте выполнения настоящего изобретения выбранную область исключают из дальнейшей обработки или выбирают для дальнейшей обработки. Области для дальнейшей обработки подвергают дополнительным шагам распознавания объекта.
В еще одном варианте выполнения настоящего изобретения выбранные области удаляют из множества изображений. Затем могут следовать шаги вычисления усредненного изображения, вычисления изображения расхождения и формирования фильтрующего изображения так, как показано при описании этих шагов со ссылкой на фиг.3, которые на фиг.3 обозначены позициями 306, 308 и 310, соответственно. Упомянутое удаление может включать установку значений пикселей в заранее заданное значение, например нуль или единицу.
В еще одном варианте выполнения настоящего изобретения по меньшей мере одна выбранная область некоторого изображения среди множества изображений используется непосредственно для получения результирующего изображения. Результирующее изображение может использоваться при классификации распознаваемого объекта. Перед классификацией могут иметься дополнительные шаги распознавания, такие как удаление визуальных признаков захватного устройства из результирующего изображения.
Варианты выполнения настоящего изобретения, описанные выше со ссылкой на фиг.4, могут использоваться в любой комбинации друг с другом. Несколько вариантов выполнения настоящего изобретения могут быть объединены для формирования другого варианта выполнения настоящего изобретения.
Показанные в качестве примера варианты выполнения настоящего изобретения могут быть встроены в любое подходящее устройство, например, включая любые подходящие серверы, рабочие станции, персональные компьютеры, ноутбуки, персональные цифровые секретари, Интернет-приложения, портативные устройства, мобильные телефоны, беспроводные устройства, другие устройства и т.п., которые способны выполнять процессы, раскрытые в примерах вариантов выполнения настоящего изобретения, и могут осуществлять связь посредством одного или более механизмов интерфейса, включая, например, доступ в Интернет, телекоммуникации в любой подходящей форме (например, посредством голоса, с использованием модема и т.п.), среды беспроводной связи, одну или более сетей беспроводной связи, сотовые системы связи, системы связи 3G, системы связи 4G, телефонные коммутируемые сети общего назначения (PSTN), сети пакетной передачи данных (PDN), Интернет, интранет, комбинацию перечисленного и т.п.
Очевидно, что описанные выше варианты выполнения настоящего изобретения даны только для примера, и может использоваться множество различных конкретных технических средств, что очевидно специалистам. Например, функциональность одного или более компонентов в примерах вариантов выполнения настоящего изобретения может быть реализована с помощью одного или более аппаратных средств.
В примерах вариантов выполнения настоящего изобретения может осуществляться хранение информации, относящейся к различным процессам, описанным выше. Эта информация может храниться в одном или более запоминающих устройствах, таких как жесткий диск, оптический диск, магнитооптический диск, память RAM и т.п. Информация, используемая для реализации вариантов выполнения настоящего изобретения, может храниться в одной или более базах данных. Базы данных могут быть организованы с использованием структур данных (например, записей, таблиц, массивов, полей, диаграмм, деревьев, списков и т.п.), встроенных в одно или более устройств памяти или запоминающих устройств, перечисленных выше. Процессы, описанные в отношении примеров вариантов выполнения настоящего изобретения, могут включать соответствующие структуры данных для хранения данных, собранных и/или формируемых процессами в устройствах и подсистемах согласно вариантам выполнения настоящего изобретения, в одной или более базах данных.
Все или часть вариантов выполнения настоящего изобретения могут быть реализованы с использованием специализированных интегральных схем или путем объединения в подходящую сеть обычных схемных компонентов, что очевидно специалистам.
Как указано выше, компоненты вариантов выполнения настоящего изобретения могут содержать считываемый компьютером носитель или память согласно принципам настоящего изобретения для хранения структур, таблиц, записей и/или других данных, описанных выше. Считываемый компьютером носитель может включать любой подходящий носитель, который участвует в предоставлении инструкций в процессор для их исполнения. Такой носитель может быть выполнен в различных формах, включая, не ограничиваясь этим, энергонезависимые носители, энергозависимые носители, среды передачи и т.п. Энергонезависимые носители могут включать, например, оптические или магнитные диски, магнитооптические диски и т.п. Энергозависимые носители могут включать динамическую память и т.п. Среды передачи могут включать коаксиальные кабели, медные провода, оптическое волокно и т.п. Среды передачи также могут принимать форму акустических, оптических, электромагнитных волн и т.п., например, формируемых для радиочастотной (RF) связи, инфракрасной (IR) передачи данных и т.п. Стандартные формы считываемых компьютером носителей могут включать, например, дискету, гибкий диск, жесткий диск, магнитную ленту, любой другой подходящий магнитный носитель, CD-ROM, CDRW, DVD, любой другой подходящий оптический носитель, перфокарты, перфоленту, листы с оптическими метками, любой другой подходящий физический носитель с рисунком из отверстий или других оптически распознаваемых знаков, память с произвольным доступом (RAM), программируемое постоянное запоминающее устройство (PROM), стираемое программируемое постоянное запоминающее устройство (EPROM), FLASH-EPROM, любую другую подходящую микросхему или картридж памяти, несущую волну или любой другой подходящий носитель, с которого компьютер может производить считывание.
Хотя настоящее изобретение было описано на примере вариантов его выполнения и реализации, настоящее изобретение ими не ограничено и охватывает различные модификации и эквивалентные конструкции, которые находятся в пределах сущности формулы изобретения.
Специалистам очевидно, что с развитием технологий основная идея изобретения может быть реализована различными способами. Таким образом, изобретение и варианты его выполнения не ограничены примерами, описанными выше; напротив, варианты осуществления изобретения могут изменяться в рамках формулы изобретения.