18.16. Преобразование координат глаз — рука
Чтобы управлять движением руки вдоль конкретного луча камеры, необходимо преобразовать координаты, измеренные относительно камеры, в координаты, измеренные относительно руки. Это преобразование обладает шестью степенями свободы, и его можно представить как перенос и поворот. Даже если использовать непосредственные измерения положения и ориентации камеры, трудно найти преобразование с достаточной точностью. Намного удобнее провести руку через серию известных положений перед камерой. После этого определяется положение изображения руки относительно камеры, которое используется для вычисления параметров преобразования. Для обеспечения высокой точности используется большее число измерений, чем минимально необходимое, и процесс завершается подгонкой методом наименьших квадратов.
В настоящее время все еще достаточно трудно разработать программу, которая может распознавать и прослеживать путь руки. Поэтому используют контрольный маркер, положение которого легко локализовать (рис. 18.10). Как правило, в качестве такого маркера берется участок шахматной доски величиной 2x2. Можно с высокой точностью определить положение точки пересечения двух линий, разделяющих черные и белые поля.
Камеру можно смонтировать над рукой таким образом, чтобы она смотрела прямо вниз. В результате мы устанавливаем плоскость изображения почти параллельно плоскости, содержащей две оси системы координат руки. Это означает, что для этой плоскости (или параллельной ей) можно аппроксимировать центральную проекцию с помощью аффинных преобразований, имеющих шесть параметров. Этот метод подробнее рассмотрен в упражнении 13.12. Чтобы упростить задачу, фактически можно провести руку через точки в одной такой плоскости вблизи опоры и определить одно аффинное преобразование. Затем этот процесс повторяется в плоскости, расположенной ближе к камере,
Рис. 18.10. (см. скан) Возможность определения преобразования между системами координат механического манипулятора и электронной камеры. При этом необходимо найти, где на изображении появится рука, держащая объект. Значительно облегчает распознавание контрольный маркер. Определяется афинное преобразование между плоскостью изображения и каждой из двух плоскостей, параллельных основанию. Каждой точке изображения соответствует луч, связывающий известную точку в одной из этих плоскостей с известной точкой в другой.
вблизи максимальной высоты планируемого рабочего пространства. Таким образом, каждая точка изображения отображается в одну точку на каждой из этих двух плоскостей. Этот процесс определяет луч в пространстве руки (рис. 18.9).