Моделирующая установка, включающая способ и устройство для определения координат объекта в двух измерениях
Иллюстрации
Показать всеИзобретение относится к технологиям определения координат объекта в двух измерениях посредством моделирующих установок. Техническим результатом является повышение точности обнаружения объекта в двух измерениях, за счет использования одной инфракрасной камеры. Предложено устройство для определения координат управляющего устройства, приводимого в действие пользователем, в двух измерениях. Устройство содержит первую камеру для формирования инфракрасного изображения, включающего в себя инфракрасное изображение управляющего устройства и инфракрасное изображение пользователя, и вторую камеру для формирования калибровочного изображения управляющего устройства и изображения пользователя и потока изображений управляющего устройства и изображений пользователя. Устройство также содержит первый вычислительный модуль для формирования обучающего изображения, сконфигурированный для извлечения вектора для контура кромки изображения управляющего устройства из инфракрасного изображения, используя модель активного контура. 3 н. и 10 з.п. ф-лы, 4 ил.
Реферат
Это изобретение относится к моделирующей установке, включающей способ и устройство для определения координат объекта в двух измерениях. Конкретнее, но не ограничиваясь, это изобретение относится к моделирующей установке для обучения специалиста.
Традиционно, специалисты, такие как паяльщики, изучают свою специальность на работе в качестве подмастерья. Подмастерье приобретает различные требуемые навыки, пытаясь повторять работу его учителя. Обучение обеспечивает сфокусированный персональный опыт подготовки. Однако эта форма обучения является неизменной, так как время учителя тратится на многих учеников. Более того, по меньшей мере на ранних этапах обучения ученик допускает ошибки, которые принесут расходы учителю, и удерживает его/ее от найма подмастерьев в будущем.
Курсы профессиональной подготовки развиты для предоставления ученикам начального опыта, необходимого для начала работы в качестве специалиста с целью уменьшить начальный затратный период обучения. Однако эти курсы имеют относительно высокую стоимость за счет количества ошибок учеников, выполненных на ранних этапах.
Согласно первому аспекту изобретения обеспечено устройство для определения координат объекта в двух измерениях, содержащее первую камеру для формирования инфракрасного изображения объекта; вторую камеру для формирования калибровочного изображения объекта и потока изображений объекта; первый вычислительный модуль для формирования обучающего изображения, выполненный с возможностью извлекать вектор, соответствующий краю объекта, из инфракрасного изображения, используя модель активного контура, и с возможностью применения вектора к калибровочному изображению для формирования обучающего изображения; адаптивный корреляционный фильтр, созданный из обучающего изображения; и второй вычислительный модуль, выполненный с возможностью корреляции по меньшей мере одного изображения потока изображений из второй камеры с адаптивным корреляционным фильтром для определения координат x-y объекта сравнением амплитуды максимального пика в плоскости корреляции в адаптивном корреляционном фильтре с порогом обнаружения.
Применяя модель активного контура к изображению из инфракрасной камеры, которая, в свою очередь, используется для создания обучающего изображения для адаптивного корреляционного фильтра, устройство может точно отслеживать объект с помощью только одной инфракрасной камеры. В известном уровне техники для отслеживания объекта используются множественные инфракрасные камеры. В связи с этим, настоящее изобретение уменьшает стоимость отслеживания объекта уменьшением необходимости во множестве дорогостоящих инфракрасных камер. Модель активного контура работает синергетически с инфракрасной камерой, так как контраст между объектом и человеком позволяет формировать точный вектор, соответствующий краю объекта. В связи с этим, устройство работает в загроможденных средах, таких как жилая комната.
В связи с этим, настоящее изобретение может использовать стандартную камеру, например цветную камеру, как например VGA камеру, которая обеспечивает изображения в видимом спектре, который может быть использован этим устройством.
Предпочтительно создается множество вращаемых обучающих изображений, причем эти вращаемые обучающие изображения созданы вращением обучающего изображения, при этом адаптивный корреляционный фильтр создается из вращаемых обучающих изображений.
Вращая обучающие изображения, устройство может поддерживать отслеживание в отношении объекта, то есть может точно и стабильно измерять положение объекта в течение более длительного периода времени без обновления адаптивного корреляционного фильтра новым обучающим изображением. Вращаемые обучающие изображения увеличивают допуск устройства к изменениям ориентации, изменениям масштаба и положения.
Предпочтительно обучающее изображение или вращаемые обучающие изображения создаются с возможностью периодически обновлять адаптивный корреляционный фильтр. Адаптивный корреляционный фильтр может быть обновлен каждые 0,5-1,5 секунд, предпочтительно каждую секунду.
Обновляя адаптивный корреляционный фильтр новым обучающим изображением и используя набор вращаемых обучающих изображений, адаптивный корреляционный фильтр «переобучается». Это увеличивает точность адаптивного корреляционного фильтра для следующего изображения из второй камеры.
Адаптивный корреляционный фильтр может быть фильтром MACH, фильтром OT-MACH или т.п.
Согласно второму аспекту изобретения обеспечен способ определения координат объекта в двух измерениях, причем способ содержит этапы, на которых получают инфракрасное изображение, включающее объект из инфракрасной камеры; получают поток изображений, включающих объект, и калибровочное изображение, включающее в себя объект, из камеры; формируют вектор, соответствующий краю объекта, из инфракрасного изображения, используя модель активного контура; формируют обучающее изображение извлечением объекта из калибровочного изображения, используя вектор; создают адаптивный корреляционный фильтр, используя обучающее изображение; и определяют координаты x-y объекта в корреляционном поле корреляцией по меньшей мере одного изображения из потока изображений с адаптивным корреляционным фильтром.
Способ может дополнительно содержать этап формирования множества вращаемых обучающих изображений, причем этот набор вращаемых обучающих изображений создается вращением обучающего изображения, и создания адаптивного корреляционного фильтра из вращаемых обучающих изображений.
Обучающее изображение или множество вращаемых обучающих изображений может периодически обновлять адаптивный корреляционный фильтр. Адаптивный корреляционный фильтр может быть обновлен каждые 0,5-1,5 секунды или, предпочтительней, каждую секунду.
Компьютерная программа, выполненная на машиночитаемом носителе, может быть выполнена с возможностью реализовывать способ согласно второму аспекту изобретения.
Далее варианты осуществления изобретения будут описаны путем примера и со ссылкой на чертежи, в которых:
Фигура 1 иллюстрирует моделирующую установку, включающую в себя компьютер, устанавливаемый на голову дисплей, управляющее устройство и блок камеры;
Фигура 2 иллюстрирует блок-схему, иллюстрирующую способ варианта осуществления настоящего изобретения измерения координат по оси х и по оси y управляющего устройства;
Фигура 3 иллюстрирует фильтр OT-MACH варианта осуществления согласно Фигуре 2; и
Фигура 4 иллюстрирует, только для ссылки, способ измерения координаты по оси z управляющего устройства.
Фигура 1 иллюстрирует обзор моделирующей установки 1. Моделирующая установка 1 включает в себя управляющее устройство 100, компьютер 200, блок 300 камеры и устанавливаемый на голову дисплей 400. Для целей этого описания компьютер 200 выполнен с возможностью запуска компьютерной программы, которая моделирует сценарий обучения, как например использование паяльной лампы или изгибание трубы.
Компьютер 200 принимает данные от управляющего устройства 100 и блока 300 камеры. Управляющее устройство 100 включает в себя различные датчики для измерения пространственных характеристик, таких как ускорение и ориентация, и для измерения данных ввода пользователя. Управляющее устройство 100 выводит данные от датчиков в компьютер 200. Блок 300 камеры включает в себя первую камеру 310 и вторую инфракрасную камеру 320 для получения изображения. Блок 300 камеры выводит данные изображения в компьютер 200.
Компьютер 200 выполнен с возможностью обработки данных из управляющего устройства 100 и блока 300 камеры в виде переменных ввода в компьютерную программу. Управляющее устройство 100 обеспечивает пространственные данные, такие как ускорение и ориентацию и данные ввода пользователя, при этом блок 300 камеры обеспечивает изображения, которые могут быть обработаны способом согласно настоящему изобретению для отслеживания управляющего устройства 100. Компьютерная программа, которая может симулировать сценарий обучения, в связи с этим, может давать пользователю иммерсивную и точную симуляцию реальных навыков, таких как использование паяльной лампы или изгибание трубы. Ниже способ отслеживания управляющего устройства 100 описан более подробно.
Отслеживание
При нормальном использовании моделирующую установку 1 устанавливают в комнате, при этом блок 300 камеры обращен к управляющему устройству 100. Как правило, блок 300 камеры будет размещен против стены и обращен к управляющему устройству 100 в центре комнаты. Управляющее устройство 100 держится пользователем.
Для цели описания три измерения обозначены вдоль декартовых осей x, y и z, причем ось z расположена в направлении от блока 300 камеры к управляющему устройству 100 (т.е. эта ось параллельная полу). И ось x, и ось y ортогональны оси z и друг другу. Компьютер 200 выполнен с возможностью вычисления координат по оси х и по оси y управляющего устройства за счет первого способа и вычисления координаты по оси z за счет второго способа.
Первый способ, т.е. способ вычисления координат по оси х и по оси y управляющего устройства 100, далее будет описан со ссылкой на Фигуры 2 и 3. Способ выполняют на компьютере 200, используя данные изображения из блока 300 камеры. Блок 300 камеры получает калибровочное изображение посредством первой камеры 310 и получает инфракрасное изображение посредством второй инфракрасной камеры 320. Как отмечено выше, блок 300 камеры обращен к управляющему устройству 100, который держится пользователем. В связи с этим, калибровочное изображение и инфракрасное изображение включают в себя управляющее устройство 100 и пользователя.
На Фигуре 2 проиллюстрирован обзор первого способа. В качестве предварительного этапа, вычитание фона инфракрасного изображения за счет временного дифференцирования различает управляющее устройство 100 и пользователя от постоянного фона. Это формирует обработанное инфракрасное изображение, включающее в себя только управляющее устройство и пользователя, пригодное для следующих этапов.
Модель активного контура применяется к обработанному инфракрасному изображению для создания точного вектора, контурирующего край управляющего устройства 110. Управляющее устройство 110 явно отличимо от пользователя в обработанном инфракрасном изображении за счет использования отражающего инфракрасного излучения покрытия на управляющем устройстве 110.
Модель активного контура работает по принципу минимизации энергии для определения вектора края управляющего устройства 100 в обработанном инфракрасном изображении. Энергия каждой точки вектора вычисляется на основе смежных с ней пикселей. Разница гаусовского (DoG) отфильтрованного изображения вычисляется для выделения краев управляющего устройства 100. Этот процесс минимизации энергии является итерационным непрерывным процессом до тех пор, пока вектор края управляющего устройства не вычислят точно. Функция энергии, вычисленная и итерируемая для каждой точки вектора, описана в уравнении ниже, где i - количество итераций, изменяется от 1 до n, где n - количество точек на векторе, и Е*vector - вычисленная энергия точки вектора.
Е*vector = α.Eint(νi)+ β.Eint(νi)
Компьютер 200 включает конфигурационный файл для изменения количества итераций i, полученного для точного вычисления вектора края управляющего устройства 100.
Как только вектор края управляющего устройства 110 вычислят, далее вектор применяется к калибровочному изображению из первой камеры для извлечения управляющего устройства 110. Извлеченное управляющее устройство 110 далее применяется к центру чистого фона, который формирует обучающее изображение, пригодное для фильтра OT-MACH.
В этом варианте осуществления обучающее изображение дополнительно обрабатывается для формирования множества вращаемых обучающих изображений для фильтра OT-MACH. Например, обучающее изображение вращают с увеличением на два градуса между -6 градусами и +6 градусами, таким образом получая 7 вращаемых обучающих изображений. Эти вращаемые обучающие изображения мультиплексируют и вводят в фильтр OT-MACH.
Далее работа фильтра OT-MACH будет описана более подробно со ссылкой на Фигуру 3. Фильтр OT-MACH (Optimal Trade-off Maximum Average Correlation Height) выполнен на компьютере 200, использующем библиотеку FFTW (“Fastest Fast Fourer Transform in the West”). Библиотека FFTW представляет собой библиотеку подпрограммы С для выполнения дискретного преобразования Фурье в одном или более измерениях. Библиотека FFTW взаимодействует с библиотекой Intel’s (RTM) OpenCV для машинного зрения, делая фильтр OT-MACH эффективным в отношении к времени обработки и частоте.
Как показано в левом столбце на Фигуре 3, фильтр OT-MACH принимает набор вращаемых обучающих изображений ti=1-N, где N - количество вращаемых обучающих изображений. Каждое вращаемое обучающее изображение подвергается преобразованию Фурье FT(Ti). Результат FFTW не является смещенным FFT. Смещение нулевого компонента FFT к центру спектра выполняют, используя следующую функцию, обозначенную С.
cνFFTWShift()
Эта функция имеет эффект обмена местами верхнего левого квадранта с нижним правым квадрантом и обмена местами верхнего правого квадранта с нижним левым квадрантом.
Фильтр OT-MACH выражен в уравнении ниже, где mx - середина вектора x1-N вращаемых обучающих изображений в частотном диапазоне, С - диагональная матрица спектральной плотности мощности любой выбранной шумовой модели, Dx - диагональная матрица средней спектральной плотности мощности вращаемого обучающего изображения, и Sx обозначает матрицу подобия набора вращаемых обучающих изображений. Эти параметры являются извлекаемыми из обучающего изображения. Альфа, бета и гамма являются неотрицательными оптимальными компромиссными параметрами, которые позволяют фильтру OT-MACH приспосабливаться к внешним условиям, таким как уровни света. α, β и γ могут быть изменены в конфигурационном файле.
h=
Компьютер 200 принимает поток изображений из первой камеры. Как показано на правом столбце на Фигуре 3, набор под-изображений Sk=1-N, где N - количество под-изображений, получают из одного изображения из этого потока. Каждое под-изображение подвергается преобразованию Фурье FT(Sk). Прошедшие преобразование Фурье под-изображения коррелируют с фильтром OT-MACH в частотном диапазоне посредством указанной ниже функции.
conj(FT(h))FT(Sk)
Далее, каждое под-изображение классифицируется на внутриклассное или внеклассное сравнивая амплитуду максимального пика в плоскости корреляции с порогом обнаружения. Порог обнаружения дается в указанном ниже уравнении.
Корреляционное поле образовано для каждого внутриклассного под-изображения. Положение управляющего устройства 100 в направлении x и y соответствует наивысшему значению в корреляционном поле.
Фильтр OT-MACH применяется к каждому m-ому изображению из первой камеры для генерирования корреляционного поля и для определения положения управляющего устройства 110. Параметр m может быть изменен в конфигурационном файле. Фильтр OT-MACH может быть обновлен, то есть новым набором вращаемых обучающих изображений, полученных и примененных к фильтру OT-MACH, либо в реальном времени, либо с частотой, определенной параметром в конфигурационном файле.
Второй способ, то есть для вычисления координаты по оси z управляющего устройства 100 далее описан только для ссылки, со ссылкой на Фигуру 4. Координата на оси z представляет собой расстояние от центра тяжести первой и второй камер до управляющего устройства 100.
Полуугол первой камеры θ1 и второй камеры θ2 вычисляется с использованием следующего далее выражения, где D - полевая диафрагма первой или второй камеры, и f - фокусная длина первой или второй камеры.
На Фигуре 4 координата z может быть определена из следующего далее выражения, где α1,2 может быть измерена с использованием полуугла вида и положения на оси x и оси y управляющего устройства 100, вычисленного с использованием первого способа.
Альтернативно, если первая и вторая камера калибруется, свойственные и несвойственные камере параметры могут быть найдены с использованием функций OpenCV.
Специалист поймет, что вращательное мультиплексирование, то есть вращение обучающего изображения, для формирования множества вращаемых обучающих изображений, является несущественным признаком настоящего изобретения. Точнее, фильтр OT-MACH может быть создан из обучающего изображения. Специалист поймет, что создание фильтра OT-MACH из множества вращаемых обучающих изображений является предпочтительным, так как оно обеспечивает величину допуска фильтру OT-MACH между обновлениями фильтра так, что точность определения положения увеличивается, и компьютер менее вероятно не осуществит отслеживание управляющего устройства 100.
Специалист также поймет, что обновление фильтра OT-MACH, то есть, формирование нового набора вращаемых обучающих изображений или обучающего изображения, является несущественным признаком. Точнее, фильтр OT-MACH может быть создан из первого набора обучающих изображений и не обновлен. Разумеется, специалист поймет, что обновление фильтра OT-MACH является высоко предпочтительным, так как оно обеспечивает более точное определение положения управляющего устройства 100.
Более того, для фильтра OT-MACH несущественным признаком является обновление один раз в каждые 25 изображений из потока изображений из первой камеры (то есть, для общей камеры, раз в каждое второе, где камера фиксирует 25 кадров в секунду). Специалист поймет, что частота обновления фильтра OT-MACH может быть изменена изменением конфигурационного файла.
Специалист поймет, что для фильтра несущественно быть фильтром OT-MACH. Точнее, может быть использована любая форма адаптивного корреляционного фильтра, например фильтр MACH, фильтр ASEF, фильтр UMACE или фильтр MOSSE могут быть использованы взамен.
Специалист также поймет, что моделирующая установка 1 не ограничена сценариями паяльной работы, описанными выше. Точнее, моделирующая установка 1 может быть использована для различных форм ситуаций виртуальной реальности, таких как другие обучающие, развлекательные и промышленные ситуации. В частности, способ обучения объекта, изложенный выше, может использоваться в других ситуациях, например в обрабатывающей промышленности.
В вышеуказанном варианте выполнения компьютер 200 включает в себя компьютерную программу. Специалист поймет, что компьютерная программа может быть осуществлена на машиночитаемом носителе, таком как компакт-диск или флэш-накопитель USB, или может быть загружаемой из интернета. Компьютерная программа также может быть сохранена на сервере в удаленном месте, при этом пользовательский персональный компьютер может отправлять данные в сервер посредством сетевого соединения.
Специалист также поймет, что устанавливаемый на голову дисплей является несущественным признаком. Точнее, компьютер 200 может выдавать графический материал компьютерному монитору, проектору, TV, HDTV, 3DTV или т.п. Устанавливаемый на голову дисплей является предпочтительным признаком, так как он обеспечивает иммерсивный опыт для пользователя, а также может обеспечивать данные, относящиеся к ориентации головы пользователя, которые далее, в свою очередь, могут использоваться симулятором 1.
Специалист в области техники поймет, что любая совокупность признаков возможна без отклонения от объема настоящего изобретения, который заявлен в формуле изобретения.
1. Устройство для определения координат управляющего устройства, приводимого в действие пользователем, в двух измерениях, содержащее
первую камеру для формирования инфракрасного изображения, включающего в себя инфракрасное изображение управляющего устройства и инфракрасное изображение пользователя;
вторую камеру для формирования калибровочного изображения управляющего устройства и изображения пользователя и потока изображений управляющего устройства и изображений пользователя;
первый вычислительный модуль для формирования обучающего изображения, сконфигурированный для извлечения вектора для контура кромки изображения управляющего устройства из инфракрасного изображения, включающего в себя инфракрасное изображение управляющего устройства и инфракрасное изображение пользователя, используя модель активного контура, и для приложения указанного вектора к калибровочному изображению для формирования обучающего изображения и таким образом отделения изображения управляющего устройства от изображения пользователя;
адаптивный корреляционный фильтр, сформированный из обучающего изображения; и
второй вычислительный модуль, сконфигурированный для корреляции по меньшей мере одного изображения из потока изображений из второй камеры с адаптивным корреляционным фильтром для определения координат х-у управляющего устройства путем сравнения амплитуды максимального пика в плоскости корреляции адаптивного корреляционного фильтра с порогом обнаружения.
2. Устройство по п. 1, в котором сформировано множество вращаемых обучающих изображений, причем эти вращаемые обучающие изображения созданы вращением обучающего изображения, при этом адаптивный корреляционный фильтр создан из вращаемых обучающих изображений.
3. Устройство по п. 1, в котором обучающее изображение формируется периодически для обновления адаптивного корреляционного фильтра.
4. Устройство по п. 2, в котором вращаемые обучающие изображения формируются периодически для обновления адаптивного корреляционного фильтра.
5. Устройство по п. 3 или 4, в котором адаптивный корреляционный фильтр обновляется каждые 0,5-1,5 секунд.
6. Устройство по п. 1, в котором адаптивный корреляционный фильтр представляет собой фильтр ОТ-МАСН.
7. Способ определения координат управляющего устройства, приводимого в действие пользователем, в двух измерениях, причем способ содержит этапы, на которых:
получают инфракрасное изображение, включающее в себя инфракрасное изображение управляющего устройства и инфракрасное изображение пользователя из инфракрасной камеры;
получают поток изображений управляющего устройства и изображений пользователя и калибровочное изображение управляющего устройства и изображения пользователя из камеры;
формируют вектор для контура кромки управляющего устройства из инфракрасного изображения, включающего в себя инфракрасное изображение управляющего устройства и инфракрасное изображение пользователя, используя модель активного контура, и тем самым отделения управляющего устройства от пользователя;
формируют обучающее изображение путем извлечения управляющего устройства от пользователя из калибровочного изображения, используя указанный вектор;
создают адаптивный корреляционный фильтр, используя обучающее изображение; и
определяют координаты х-у управляющего устройства в корреляционном поле корреляцией по меньшей мере одного изображения из потока изображений с адаптивным корреляционным фильтром.
8. Способ по п. 7, дополнительно содержащий этап формирования множества вращаемых обучающих изображений, причем эти вращаемые обучающие изображения формируют путем вращения обучающего изображения и формируют адаптивный корреляционный фильтр из вращаемых обучающих изображений.
9. Способ по п. 7, в котором обучающее изображение формируют периодически для обновления адаптивного корреляционного фильтра.
10. Способ по п. 8, в котором вращаемые обучающие изображения формируют периодически для обновления адаптивного корреляционного фильтра.
11. Способ по п. 7, в котором адаптивный корреляционный фильтр обновляют каждые 0,5-1,5 секунд.
12. Способ по п. 7, в котором адаптивный корреляционный фильтр представляет собой фильтр ОТ-МАСН.
13. Считываемый компьютером носитель, содержащий записанную на нем программу, которая при выполнении компьютером побуждает процессор компьютера выполнять этапы способа по любому из пп. 7-12.