Подглава 12.11.1 Отслеживание лица

Сначала убедитесь, что драйвер камеры включен и работает.

Для Microsoft Kinect:

$ roslaunch freenect_launch freenect-registered-xyzrgb.launch

Для камер Asus Xtion, Xtion Pro или Primesense 1.08/1.09:

$ roslaunch openni2_launch openni2.launch depth_registration:=true

или если вы используете веб-камеру:

$ roslaunch rbx1_vision usb_cam.launch video_device:=/dev/video0

(При необходимости смените видеоустройство.)

Затем убедитесь, что ваши сервоприводы включены, а контроллер USB2Dynamixel подключен к USB-порту. Если вы уже запустили файл dynamixels.launch, вы можете пропустить эту следующую команду:

$ roslaunch rbx1_dynamixels dynamixels.launch

Убедитесь, что ваши сервоприводы подключены, протестировав панорамный сервопривод с помощью команд:

$ rostopic pub -1 /head_pan_joint/command std_msgs/Float64 -- 1.0

$ rostopic pub -1 /head_pan_joint/command std_msgs/Float64 -- 0.0

С сервоприводами все в порядке, запустите узел отслеживания лица, который мы разработали ранее:

$ roslaunch rbx1_vision face_tracker2.launch

Когда появится окно видео, переместите свое лицо перед камерой и убедитесь, что отслеживание работает. Помните, что вы можете нажать клавишу "c", чтобы очистить отслеживание и снова обнаружить свое лицо.

Теперь мы готовы запустить узел отслеживания головы с помощью команды:

$ roslaunch rbx1_dynamixels head_tracker.launch

Предполагая, что узел отслеживания лица все еще имеет фиксацию на вашем лице, сервоприводы панорамирования и наклона теперь должны удерживать камеру в центре Вашего лица, когда вы двигаетесь перед камерой. Если ваше лицо утеряно на достаточно длительный период времени, сервоприводы переориентируют камеру. Если вы нажмете Ctrl-C из процесса head_tracker.launch, сервоприводы также будут повторно центрироваться, прежде чем узел завершит работу. Если ключевые точки в окне face tracker начинают переключаться на другие объекты, нажмите клавишу "c", чтобы очистить точки и повторно обнаружить свое лицо.

В следующем видео демонстрируется поведение с использованием распечатки Моны Лизы в качестве целевого лица: http://youtu.be/KHJL09BTnlY

Примечание: Если вы обнаружите, что процессор вашего компьютера недостаточно быстр, чтобы плавно отслеживать ваше лицо в разрешении 640x480 (VGA), попробуйте использовать rqt_reconfigure, чтобы установить разрешение 320x240 пикселей (QVGA) как для RGB, так и для глубины. (На момент написания этой статьи это возможно только при использовании камеры Asus Xtion, поскольку камера freenect не поддерживает разрешение QVGA для Kinect.) После внесения изменений вам нужно будет завершить работу узла face tracker, а затем запустить его снова. В то же время завершите работу head_tracker.launch, запущенный выше, и вместо этого запустите версию QVGA:

$ roslaunch rbx1_dynamixels head_tracker_qvga.launch

Единственное различие между этим файлом и обычным файлом head_tracker.launch заключается в том, что параметры усиления панорамирования и наклона удваиваются с 0,75 до 1,5.

Last updated