(a) (b) (c) Fig. 1. Omnidirectional camera: (a) principle; (b) physical construction; (c) captured. of a local vision system is more challenging than

Similar documents
using an omnidirectional camera, sufficient information for controlled play can be collected. Another example for the use of omnidirectional cameras i

An Omnidirectional Vision System for Soccer Robots

Robust Color Choice for Small-size League RoboCup Competition

Canny Edge Based Self-localization of a RoboCup Middle-sized League Robot

MATRIX: A force field pattern matching method for mobile robots

Self-calibration of a pair of stereo cameras in general position

Using Layered Color Precision for a Self-Calibrating Vision System

The Color and the Shape: Automatic On-Line Color Calibration for Autonomous Robots

Real time game field limits recognition for robot self-localization using collinearity in Middle-Size RoboCup Soccer

NuBot Team Description Paper 2013

Horus: Object Orientation and Id without Additional Markers

BabyTigers-98: Osaka Legged Robot Team

A Symmetry Operator and Its Application to the RoboCup

Sensor Modalities. Sensor modality: Different modalities:

Calibrating an Overhead Video Camera

Motion Control in Dynamic Multi-Robot Environments

Particle-Filter-Based Self-Localization Using Landmarks and Directed Lines

Ball tracking with velocity based on Monte-Carlo localization

Improving Vision-Based Distance Measurements using Reference Objects

CS4758: Rovio Augmented Vision Mapping Project

Dept. of Adaptive Machine Systems, Graduate School of Engineering Osaka University, Suita, Osaka , Japan

CS 4758: Automated Semantic Mapping of Environment

An Efficient Need-Based Vision System in Variable Illumination Environment of Middle Size RoboCup

Towards a Calibration-Free Robot: The ACT Algorithm for Automatic Online Color Training

FutBotIII: Towards a Robust Centralized Vision System for RoboCup Small League

Estimation of Planar Surfaces in Noisy Range Images for the RoboCup Rescue Competition

Dominant plane detection using optical flow and Independent Component Analysis

Robust and Accurate Detection of Object Orientation and ID without Color Segmentation

CS 231A Computer Vision (Winter 2014) Problem Set 3

HOUGH TRANSFORM CS 6350 C V

Visual Attention Control by Sensor Space Segmentation for a Small Quadruped Robot based on Information Criterion

An Overview of Matchmoving using Structure from Motion Methods

Lesson 5: Definition of Rotation and Basic Properties

Computer Vision 6 Segmentation by Fitting

Mirrors. N.G. Schultheiss translated and adapted by K. Schadenberg

NAO-Team Humboldt 2009

Behavior Learning for a Mobile Robot with Omnidirectional Vision Enhanced by an Active Zoom Mechanism

Nao recognition and coordination

Physics 9 Friday, September 28, 2018

600 M. Jamzad, A.R. Hadjkhodabakhshi and V.S. Mirrokni Figure 1. A picture of the middle size RoboCup eld in is given in [3]. Detailed theories

Chapter 23. Geometrical Optics: Mirrors and Lenses and other Instruments

A Low Power, High Throughput, Fully Event-Based Stereo System: Supplementary Documentation

POME A mobile camera system for accurate indoor pose

Light: Geometric Optics

34.2: Two Types of Image

Creating a distortion characterisation dataset for visual band cameras using fiducial markers.

CSE 527: Introduction to Computer Vision

Projection simulator to support design development of spherical immersive display

A Real Time Vision System for Robotic Soccer

THE RoboCup 1 is a scientific annual competition aimed

Comparison of Special Methods with Commercial Products for Optical-based Measurement of Dimensions

Miniature faking. In close-up photo, the depth of field is limited.

Reflection & Mirrors

Multi-Cue Localization for Soccer Playing Humanoid Robots

Pose estimation using a variety of techniques

Realtime Object Recognition Using Decision Tree Learning

EE368 Project: Visual Code Marker Detection

Calibration of a fish eye lens with field of view larger than 180

Lecture Notes (Reflection & Mirrors)

ROBUST LINE-BASED CALIBRATION OF LENS DISTORTION FROM A SINGLE VIEW

Nao Devils Dortmund. Team Description Paper for RoboCup Matthias Hofmann, Ingmar Schwarz, and Oliver Urbann

Fully Automatic Endoscope Calibration for Intraoperative Use

Physics 11. Unit 8 Geometric Optics Part 1

The Ray model of Light. Reflection. Class 18

A New Omnidirectional Vision Sensor for Monte-Carlo Localization

A Supporting System for Beginners of Billiards Based on Predicting the Path of the Balls by Detecting the Cue Stick

Rigid Body Motion and Image Formation. Jana Kosecka, CS 482

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19

Sensor and information fusion applied to a Robotic Soccer Team

Introduction. Chapter Overview

FLY THROUGH VIEW VIDEO GENERATION OF SOCCER SCENE

SYSTEM REQUIREMENTS SPECIFICATIONS

ROBOCUP 1 is an international robotics competition that

A method for depth-based hand tracing

Lecture Notes (Geometric Optics)

Homography estimation

Eagle Knights 2007: Four-Legged League

The University of Pennsylvania Robocup 2011 SPL Nao Soccer Team

Worksheet Answer Key: Scanning and Mapping Projects > Mine Mapping > Investigation 2

Robotics Project. Final Report. Computer Science University of Minnesota. December 17, 2007

UAV Position and Attitude Sensoring in Indoor Environment Using Cameras

LIGHT STRIPE PROJECTION-BASED PEDESTRIAN DETECTION DURING AUTOMATIC PARKING OPERATION

Fast and Robust Edge-Based Localization in the Sony Four-Legged Robot League

Exploiting Depth Camera for 3D Spatial Relationship Interpretation

Tutorial on Range and Bearing Estimation

Environments. Michael Bowling and Manuela Veloso. Carnegie Mellon University. Pittsburgh, PA

Learning Orientation Information for Robotic Soccer using Neural Nets

Photo by Carl Warner

PHYSICS 1040L LAB LAB 7: DIFFRACTION & INTERFERENCE

Omni-Directional Vision System for Mobile Robots Biweekly Report

Vision-based schemas for an autonomous robotic soccer player

Measurement of the Wheel-rail Relative Displacement for the Active Wheelsets Steering System using the Image Processing Algorithm

IRIS SEGMENTATION OF NON-IDEAL IMAGES

Pedestrian Detection Using Correlated Lidar and Image Data EECS442 Final Project Fall 2016

Refraction. P04 Refraction (complete).notebook. November 06, What is a medium? Ex.

Perception IV: Place Recognition, Line Extraction

Perception. Autonomous Mobile Robots. Sensors Vision Uncertainties, Line extraction from laser scans. Autonomous Systems Lab. Zürich.

Part Images Formed by Flat Mirrors. This Chapter. Phys. 281B Geometric Optics. Chapter 2 : Image Formation. Chapter 2: Image Formation

Optics II. Reflection and Mirrors

Geometry Sixth Grade

Transcription:

An Omnidirectional Vision System that finds and tracks color edges and blobs Felix v. Hundelshausen, Sven Behnke, and Raul Rojas Freie Universität Berlin, Institut für Informatik Takustr. 9, 14195 Berlin, fhundelshjbehnkejrojasg@inf.fu-berlin.de Abstract. We describe the omnidirectional local vision system developed for the FU-Fighters, a RoboCup F180 league soccer team. A small video camera mounted vertically on top of the robots looks at a concave parabolic mirror placed above the camera that reflects the field around. The image is sent via a radio link to an external PC for processing. Our computer vision system can find the ball and detect other robots as obstacles. The walls of the field are also recognized and are used to determine the initial position of the robot. In order to be able to process the video stream at full frame rate the movement of all objects is tracked, including the walls of the field. The key idea of our approach is to predict the location of color edges in the next frame and to search for such color transitions along lines that are perpendicular to the edge. Introduction We developed a team for the F180 RoboCup league, the FU-Fighters, that has taken part in the competitions held at Stockholm and Melbourne. To make the robots more autonomous, we replaced the global vision system by an omnidirectional local vision system where each robot carries its own camera. Three tasks have to be accomplished by the computer vision software that analyzes the captured video stream: detecting the ball, localizing the robot, and detecting obstacles. These tasks are non-trivial, since sensor noise and variances, such as inhomogeneous lighting, are present in the images. The image analysis must be done in real time, which is not easy, due to the enormous data rate of video streams. Some teams need to reduce frame rate or resolution to match the available computing power, however, such an approach leads to less precise or less timely estimates of the game status. To be useful for behavior control, the system also needs to be robust. Unexpected situations should not lead to failure, but to graceful degradation of the system's performance. Local vision is the method used by most teams in the F2000 league as the main sensor. Some of the successful teams adapted the omnidirectional vision approach. The Golem team [4] impressively demonstrated in Melbourne that, using an omnidirectional camera, sufficient information for controlled play can be collected. Another example for the use of omnidirectional cameras is the goalie of the ART team [3, 6, 7]. In our league, F180, only three teams tried to play in Melbourne with local vision. In the smaller form factor the implementation

(a) (b) (c) Fig. 1. Omnidirectional camera: (a) principle; (b) physical construction; (c) captured. of a local vision system is more challenging than in the F2000 league. Due to space and energy constraints smaller cameras of lower quality must be used and less computing power is available on the robot. Recently, the OMNI team [5] demonstrated controlled play with omnidirectional local vision at the Japan Open competition. This team sends the video stream to an off-the-field computer that contains special purpose hardware for image processing. We use a similar system design and mount a small video camera and a mirror on top of the robots, as shown in Fig. 1. The camera is directed upwards and looks into a parabolic mirror. The mirror collects light rays from all directions, reflecting them into the camera. The parabolic shape of the mirror produces less distortions, as compared to a spherical mirror. Far-away objects appear larger and are hence easier to detect [1]. The optical mapping preserves the angle of an object to the perception origin. The non-linear, increasing distance function of the camera can be calibrated easily by measuring distances in the image and in the world. To avoid carrying a large computer on the robots, the video stream is transmitted to an external computer via an analog radio link. The main idea of the paper is to implement a tracking system for the analysis of the video stream produced by an omnidirectional camera that needs to inspect only a small fraction of the incoming data. This allows to run the system at full frame rate and full resolution on a standard PC. For automatic initialization of the tracking, an initial search analyzes the entire video frame. The paper is organized as follows: The next section describes the initial localization of the robot, the ball and obstacles. The tracking system is described in Section 2. Some experimental results are reported at the end. 1 Initial Search 1.1 Initial Robot Localization The task of initial robot localization is to determine the robot's position and orientation on the playing field, given a captured omnidirectional image. Two different methods have been developed for localizing the robot. The first is fast, but is only applicable when both goals can be found. The second method is more flexible and robust, but also is slower.

Localization uses the distances to the goals and the angle between the goal vectors to determine the robot's position and orientation. First, the vectors a and b from the perception origin to the goals have to be mapped to local world coordinates. If aw and bw denote these mapped vectors, we de ne cw := aw bw. Now Æ is the angle between cw and bw. Hence, the position p of the robot lies on a line at an angle of Æ to the line connecting the goals. Knowing the distance to one goal determines p. The orientation is also known, because the angle at which the other goal appears in the image in respect to the robot's viewing direction is preserved by the optical mapping. Direct 0 0 consists of two steps. First, plausibility values for several positions are computed using evidence accumulation in a grid. In a second step, these positions are investigated in the order of their plausibility, until the correct position has been found. If we recognize a goal and can estimate its distance from the robot, a circle segment with radius rx around goal x is added to the grid. The circles will be drawn more fuzzy for great distances, as the estimation of rx becomes worse. Another feature used is the best visible wall that is found by a radial search followed by a Hough Transformation [2]. Lines are sent radially from the robot's perception origin and searched for transitions from the oor to the wall. The transitions found are transformed to local world coordinates, using the cameras' inverse distance function. The corresponding sinusoidal curves are accumulated in parameter space. The most signi cant local maximum corresponds to the best Localization using Evidence Aggregation (a) (b) (c) Using the closest wall for localization: (a) robot next to a wall; (b) detected wall points transformed to world coordinates; (c) grid with goal-circles and wall-lines. Fig. 2.

Fig. 3. The ball's appearance varies in color and shape and is similar to robot markers. visible wall. Since it is not known, which wall has been detected, for all walls parallel lines are drawn on the grid at the perceived distance (see Fig. 2). Local maxima are now candidates for robot locations. They are evaluated by a registration procedure (see next section) that computes a quality measure for a model fit. The best candidate is used to initialize the tracking. 1.2 Initial Localization of Ball and Obstacles Finding the ball is of essential importance for successful play. Although it seems to be an easy task, detecting the ball clearly demonstrates the difficulties of computer vision. Figure 3 shows some images of the ball. Its appearance varies greatly in size, shape, and color. Furthermore, it can be easily confused with robot markers. The detection of the ball can be summarized in three steps: (a) determine all clusters of the ball's color class and their sizes, (b) discard all clusters for which no transition to the floor can be found, and (c) choose the biggest cluster. Obstacles are detected as large clusters of the dark obstacle color. If clusters are close to each other, they are merged. 2 Tracking Objects Tracking of color edges and blobs is key to the low computational load of our vision system. The idea is to utilize the fact that the world changes slowly, as compared to the frame rate. This makes it possible to predict the location where certain features will appear in the next frame. If most of these features are found close to their predicted positions, only small parts of the image need to be touched. The differences between the measured locations and the predictions can be used to update estimates of the parameters of a world model. We use a 2D-model of the field, with the robots and the ball on it, as shown in Fig. 4. The model is matched sequentially to the video frames. For each model line, short orthogonal equidistant tracking lines form a tracking grid (Fig.5(a)). The ends of each tracking line specify two color classes, according to the expected colors at both sides of the line. Each tracking line is mapped into the image, using the inverse camera function. This is done by mapping the endpoints of each transition line into the image and then reconnecting them with a line. Next, the pixels along the projection line are searched for the appropriate color transition. In Figure 5(b) detected transitions are marked with a black dot. It can be seen that the model does not fit precisely to the playing field in the image, due to a rotation of the robot. Sometimes false transitions may be found, e.g. at field lines. They need to be detected as outliers that must be ignored.

Fig. 4. Model seen from an external point of view. The next step is to calculate a 2-D rigid body transformation that brings the model in correspondence with the found transitions. In the case here, the model should be rotated slightly to the left. To determine the model's transformation, first a rotation and translation is calculated for each track grid independently. Then the results are combined to obtain a transformation for the whole model. Repeating the above steps while perceiving a sequence of images yields the desired result: the pose of the field seen from the robots point of view is tracked and so the position and orientation of the robot is known by a simple coordinate transformation. Figure 6(a) shows the tracking while the robot rotates. During initial search candidate positions are evaluated using the tracking mechanism. Given a position of the robot and the angle of a goal, the robot's orientation is calculated. The field can now be projected into the image and the ratio of found transitions can be used as quality measure for model fit. This ratio is also used during tracking to detect situations when the tracking fails and the initial search is needed to localize the robot again. The system does not only track color edges, but also color blobs, such as the ball or obstacles. The blobs are only searched for in small square windows around their predicted positions, as shown in Fig. 6. If an object cannot be found within its rectangle, initial search is started to localize it again. (a) (b) (c) Fig. 5. Tracking of the field: (a) enhanced CAD model; (b) projected into the image with found transitions marked; (c) found transitions in local world coordinates.

(a) (b) Fig. 6. Tracking of (a) the field while rotating; (b) ball and obstacles. Conclusions We implemented a local vision system for the F180 league that uses an omnidirectional camera. The system fits a world model to the input by finding and tracking color edges and blobs. It is able to process a full resolution, full frame rate video stream on a standard PC. For the production of the Seattle qualification video we used the extracted information about the world as input for behavior control. A single robot was able to drive behind the ball, and to kick it towards the goal, as well as to defend the goal. To control a team of robots, we plan to fuse multiple local views to a single global view. Currently, the image analysis is done on an external PC. As semiconductor technology advances, it will be possible to integrate a small computer on-board the robots. References 1. Ryad Benosman, Sing Bing Kang (editors), Panoramic Vision: Sensors, Theory, and Applications, Springer, 2001. 2. Hough, Machine Analysis of Bubble Chamber Pictures, International Conference on High Energy Accelerators and Instrumentation, CERN, 1959. 3. ART, F2000 team homepage, http://www.dis.uniroma1.it/οart/. 4. Golem, F2000 team homepage, http://www.golemrobotics.com/gteam/gteam.html. 5. OMNI, F180 team homepage, http://robotics.me.es.osaka-u.ac.jp/omni. 6. Bonarini, A., (2000) The Body, the Mind or the Eye, first? In M. Veloso, E. Pagello, A. Asada (Eds), Robocup99 - Robot Soccer World Cup III, Springer Verlag, Berlin. 7. Bonarini A., Aliverti, P., Lucioni, M. (2000). An omnidirectional sensor for fast tracking for mobile robots. T. Instrumentation and Measurement. 49(3). 509-512.