Real-time Stereo Vision Obstacle Detection for Automotive Safety Application



Similar documents
3D Vision An enabling Technology for Advanced Driver Assistance and Autonomous Offroad Driving

3D Vision An enabling Technology for Advanced Driver Assistance and Autonomous Offroad Driving

Automatic Labeling of Lane Markings for Autonomous Vehicles

Vision based Vehicle Tracking using a high angle camera

Cloud tracking with optical flow for short-term solar forecasting

Static Environment Recognition Using Omni-camera from a Moving Vehicle

A PHOTOGRAMMETRIC APPRAOCH FOR AUTOMATIC TRAFFIC ASSESSMENT USING CONVENTIONAL CCTV CAMERA

Detecting and positioning overtaking vehicles using 1D optical flow

An Energy-Based Vehicle Tracking System using Principal Component Analysis and Unsupervised ART Network

3D Scanner using Line Laser. 1. Introduction. 2. Theory

Crater detection with segmentation-based image processing algorithm

Wii Remote Calibration Using the Sensor Bar

Removing Moving Objects from Point Cloud Scenes

Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite

Classifying Manipulation Primitives from Visual Data

A Reliability Point and Kalman Filter-based Vehicle Tracking Technique

Traffic Monitoring Systems. Technology and sensors

ROBUST VEHICLE TRACKING IN VIDEO IMAGES BEING TAKEN FROM A HELICOPTER

How To Use Trackeye

How To Fuse A Point Cloud With A Laser And Image Data From A Pointcloud

A Computer Vision System on a Chip: a case study from the automotive domain

PHOTOGRAMMETRIC TECHNIQUES FOR MEASUREMENTS IN WOODWORKING INDUSTRY

VEHICLE LOCALISATION AND CLASSIFICATION IN URBAN CCTV STREAMS

Feature Tracking and Optical Flow

A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow

VEHICLE TRACKING USING ACOUSTIC AND VIDEO SENSORS

Epipolar Geometry. Readings: See Sections 10.1 and 15.6 of Forsyth and Ponce. Right Image. Left Image. e(p ) Epipolar Lines. e(q ) q R.

MetropoGIS: A City Modeling System DI Dr. Konrad KARNER, DI Andreas KLAUS, DI Joachim BAUER, DI Christopher ZACH

A feature-based tracking algorithm for vehicles in intersections

CS231M Project Report - Automated Real-Time Face Tracking and Blending

Terrain Traversability Analysis using Organized Point Cloud, Superpixel Surface Normals-based segmentation and PCA-based Classification

Last Mile Intelligent Driving in Urban Mobility

A method of generating free-route walk-through animation using vehicle-borne video image

Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches

Dynamic composition of tracking primitives for interactive vision-guided navigation

Interactive Segmentation, Tracking, and Kinematic Modeling of Unknown 3D Articulated Objects

Detection and Recognition of Mixed Traffic for Driver Assistance System

T-REDSPEED White paper

Real time vehicle detection and tracking on multiple lanes

DAMAGED ROAD TUNNEL LASER SCANNER SURVEY

An Iterative Image Registration Technique with an Application to Stereo Vision

Real-time Visual Tracker by Stream Processing

Automatic Traffic Estimation Using Image Processing

Introduction.

Automated Process for Generating Digitised Maps through GPS Data Compression

Neural Network based Vehicle Classification for Intelligent Traffic Control

Tracking and integrated navigation Konrad Schindler

The application of root cause analysis for definition of scenarios in automotive domain

Adaptive Cruise Control of a Passenger Car Using Hybrid of Sliding Mode Control and Fuzzy Logic Control

A System for Capturing High Resolution Images

Visual-based ID Verification by Signature Tracking

EM Clustering Approach for Multi-Dimensional Analysis of Big Data Set

RiMONITOR. Monitoring Software. for RIEGL VZ-Line Laser Scanners. Ri Software. visit our website Preliminary Data Sheet

Poker Vision: Playing Cards and Chips Identification based on Image Processing

Automatic parameter regulation for a tracking system with an auto-critical function

Real-Time Tracking of Pedestrians and Vehicles

Path Tracking for a Miniature Robot

Learning a wall following behaviour in mobile robotics using stereo and mono vision

Development of an Automotive Active Safety System Using a 24 GHz-band High Resolution Multi-Mode Radar

THE CONTROL OF A ROBOT END-EFFECTOR USING PHOTOGRAMMETRY

CS 534: Computer Vision 3D Model-based recognition

Speed, velocity and acceleration

IMPLICIT SHAPE MODELS FOR OBJECT DETECTION IN 3D POINT CLOUDS

Extended Floating Car Data System - Experimental Study -

Tracking in flussi video 3D. Ing. Samuele Salti

Building an Advanced Invariant Real-Time Human Tracking System

Physics 2048 Test 1 Solution (solutions to problems 2-5 are from student papers) Problem 1 (Short Answer: 20 points)

Parameter identification of a linear single track vehicle model

Tracking of Small Unmanned Aerial Vehicles

National Performance Evaluation Facility for LADARs

Vision-Based Blind Spot Detection Using Optical Flow

Introduction Epipolar Geometry Calibration Methods Further Readings. Stereo Camera Calibration

Multi-view Intelligent Vehicle Surveillance System

High-accuracy ultrasound target localization for hand-eye calibration between optical tracking systems and three-dimensional ultrasound

Integrated sensors for robotic laser welding

Limitations of Human Vision. What is computer vision? What is computer vision (cont d)?

Mobile Robot FastSLAM with Xbox Kinect

Robot Perception Continued

Environmental Remote Sensing GEOG 2021

False alarm in outdoor environments

REAL TIME TRAFFIC LIGHT CONTROL USING IMAGE PROCESSING

Onboard electronics of UAVs

Basic Principles of Inertial Navigation. Seminar on inertial navigation systems Tampere University of Technology

Comparing Improved Versions of K-Means and Subtractive Clustering in a Tracking Application

EFFICIENT VEHICLE TRACKING AND CLASSIFICATION FOR AN AUTOMATED TRAFFIC SURVEILLANCE SYSTEM

How To Analyze Ball Blur On A Ball Image

Intelligent Submersible Manipulator-Robot, Design, Modeling, Simulation and Motion Optimization for Maritime Robotic Research

Simulation-based traffic management for autonomous and connected vehicles

A Learning Based Method for Super-Resolution of Low Resolution Images

Intuitive Navigation in an Enormous Virtual Environment

Fall Detection System based on Kinect Sensor using Novel Detection and Posture Recognition Algorithm

Canny Edge Detection

USING THE XBOX KINECT TO DETECT FEATURES OF THE FLOOR SURFACE

Projection Center Calibration for a Co-located Projector Camera System

Transcription:

Real-time Stereo Vision Obstacle Detection for Automotive Safety Application D. Perrone L. Iocchi P.C. Antonello Sapienza University of Rome Dipartimento di Informatica e Sistemistica E-mail: dperrone@it.gnu.org, iocchi@dis.uniroma1.it CRF - Centro Ricerche Fiat Orbassano(TO), Italy E-mail: pierclaudio.antonello@crf.it Abstract: Road safety is an important problem that still afflicts our city roads, even though a lot of work has been done into the direction for reducing the amount of accidents. Because of the majority of accidents are due to wrong human behaviour, the safety solutions aimed to improve the intrinsic security of the driving experience, and consequently of the pedestrians, are not enough. Perception systems, that help the driver or even that give the possibility of autonomous action performed by the vehicle, are the next generation automotive safety systems, that potentially could prevent accidents strongly dependent on human errors. The most common and useful perception task for the automotive application is the detection of obstacles. Such task can be achieved, with different characteristics and results, using different kinds of sensors. Our work is focused on the use of the stereo vision in order to realise the detection of obstacles in urban scenario. The use of stereo vision allows to have a cheap solution, that could be potentially mounted on commercial vehicles. Giving particular attention to the performance issue, we obtained a system that well suite urban scenario, with a high operational frame rate on a low cost hardware, that allows to add more high-level modules without the need of more expensive hardware. Keywords: Stereo vision, Obstacle detection, Automotive applications. 1. INTRODUCTION A lot of research studies have been proposed to develop technology that could improve road safety, using different kinds of sensors with the aim of detecting obstacles and react consequently to avoid crashes. Despite that, it is still too expensive and complex to mount such a kind of sensors on commercial vehicles. Moreover, also the algorithms developed to achieve such goals are not completely reliable, and require so much computational power that they are not suitable for a low-cost and low-power elaboration unit mounted on a vehicle. Research on developing intelligent vehicles have been recently boosted by the DARPA Urban Challenge. In this context vehicles have to be completely autonomous, and therefore, in order to acquire the maximum amount of information from the environment around and to reach the maximum reliability, all the vehicles have been equipped with many different kinds of sensors. Using multiple sensors help in integrating the advantages of each kind of sensor and having a dense and reliable map of the world. On the other side, in order to equip commercial vehicles with technological support for improving road safety in a very near future, studies on cheap and low power sensors have been conducted, typically using only one sensor (for cost reasons), like radar sensors (e.g., Skutek et al. (2003)), vision systems (e.g., Barth and Franke (2008)), or lidar (e.g., Ewald and Willhoeft (2000)). In this paper we analyze the use of one particular sensor for automotive applications: a stereo vision sensor. Stereo vision has several good features that makes it suitable for a low-cost low-power solution in commercial vehicles. It is relatively cheap and low-power; as any vision system, it provides rich visual information; in addition to singlecamera vision systems, it allows a real-time estimate of the 3D structure of the environment, thus provide more precise localization and measure of the detected objects. Of course stereo vision has also some limitations: as any vision-based system, it is sensitive to environmental conditions (for example, it is less effective by night), moreover stereo algorithms are not reliable in presence of low-textured areas. These limitations are due to the algorithms more than to the sensor itself, and it is reasonable to assume that research will propose better algorithms in the future. Considering advantages and limitations, we believe that stereo vision is a good candidate for industrial and commercial automotive applications, if a single low-cost lowpower sensor must be chosen. In this paper, we analyze the characteristics of a stereo vision sensor, we describe an implemented system for real-time object detection and tracking from a moving vehicle, we present results obtained during several realtime tests made on a car provided by Centro Ricerche FIAT, comparing the results of stereo vision with the use of a radar mounted on the same vehicle. Finally, we describe a collection of data sets 1, that can be used for further comparison with other methods. 2. RELATED WORK In literature many studies propose stereo vision based techniques for automotive applications. In Kubota et al. (2007) S. Kubota, T.Nakano, and Y. Okamoto point out 1 available on http://labrococo.dis.uniroma1.it/people/perrone/

the problem of occluded areas that can appear in one image but not in the other. To perform the task they propose to find the boundary between road and obstacles, and use this information in a following stage to detect the obstacles. Several different studies have proposed to use the detection of the road plane as the first stage for their algorithms. In Jeong and Nedevschi (2008) Pangyu Jeong and S. Nedevschi showed a 3 stage real-time obstacle and road plane detector, where the aim is the detection of the real road plane, and not just an hypothetical flat one, that then can be used into the detection of the obstacles. Also in Suganuma (2009) N. Suganuma proposed an approach where obstacle detection is performed after the detection of the road surface. In the latter paper an interesting approach using Virtual Disparity Image (VDI) is proposed. Morat, Devernay and Cornou in Morat et al. (2007) used the constraints of stereo vision and epipolar geometry to improve accuracy and robustness of tracking features. All this studies have shown that information provided by stereo vision is really wide and useful in all the tasks involved in obstacles detection and tracking. About the tracking, in Rabe et al. (2007) Rabe, Franke and Gehrig pointed out the problem of the detection of moving objects in front of static objects; in such scenario they proposed an interesting 6D Vision detection algorithm, that takes into account the velocity coordinates of the features in order to distinguish between features of a moving object and features of another moving or static object. Barth and Franke in Barth and Franke (2008) showed how with such approach it is possible to detect, track and even predict movement of vehicles. So, even if stereo vision is the most promising sensor considering cost and amount of information provided, it is clear that there are still few issues against it, even though the studies cited before aim to defeat most of them. Our work is focused on building a stereo vision system able to detect and track obstacles in front of a moving vehicle in real-time. In our approach, we consider a cheap stereo system with good performance, providing also an implementation of the stereo algorithm proposed by Konolige Konolige (1997) on the hardware on-board the stereo sensor. We have also successfully tested the entire system on board of a standard vehicle. As a difference with previous works with stereo vision, we considered real-time performance as a strong requirement. This is important both for live demostration of the developed system and for the possibility of extending the system with other modules (e.g., obstacles classification, road sign detection, road and lane detection, ecc), maintaining the real-time feature. Furthermore, we evaluated our system in comparison with an alternative sensor for this kind of application: the radar. In the evaluation process we pointed out the differences and the limits of vision with respect to this other technology. 3. SYSTEM OVERVIEW The main goal of the overall system is a reliable detection and tracking of the obstacles in front of the vehicle. The proposed solution takes particularly into account the performance, the accuracy and the uncertainty given by a noisy 3D sensor. We can divide the overall system in four principal modules (Fig. 1): A Feature Detection and Tracking Module that takes as input the two stereo images, the disparity map and additional information provided by the stereo system, Fig. 1. Stereo System Overview. Fig. 2. Coordinate Transformation Module Overview. and produces a set of 3D point pairs, that represent the same features in two consecutive frames. A Coordinate Transformation Module that razionalizes the 3D points given by the previous module with a convenient coordinate system. A Clustering Module, that groups the 3D points putting 3D points of the same obstacle in the same cluster. An Obstacle Tracking Module, that integrates over time the information provided by the Clustering Module, and gives the final obstacle hypothesis. The Coordinate Transformation Module can be divided in two more sub-modules (Fig. 2): A Point Transformation Module, and an Ego Vehicle Motion Estimation Module. The details of the techniques used in these modules are given in the rest of this section. 3.1 Feature Detection and Tracking The first low-level step is composed by a feature detector, that finds interesting features, and a feature tracker. There are many effective techniques for general feature detection (e.g., Shi and Tomasi (1994)); however, we experimented that using a feature detector that is specific for our application provides for a better trade-off between quality

of the features and frame rate. In particular, considering that the detected features must be then processed by the stereo algorithm in order to determine their 3D positions, we have devised a simple feature detector that takes into account also some information coming from the stereo vision system. More specifically, features are searched for by analyzing the texture confidence map, provided by the stereo algorithm and built during the task of finding correspondent points. A point with high value in the confidence map is a good feature because: 1) it is a good feature in both the left and the right image, thus the stereo algorithm finds good correspondences; 2) it has a reliable estimation of its 3D position with respect to the stereo sensor. Therefore, we detect features as the local maxima of the confidence map that are over a threshold. In order to accomplish such a task efficiently, instead of testing each value of the confidence map, we use a Monte Carlo approach, taking random initial points distributed uniformly on the image surface and performing a local greedy search for the local maximum around these initial points. The performance and the completeness of this algorithm depends on the number of the initial points considered. A too small number of points means less tries (i.e., better performance), but the possibility of selecting lower quality features. On the contrary, a too high number of initial points affect performance improving general feature quality. In our case, the best value for the number of initial points has been determined through experiments to be 4000, over the possibile 307200 points of an 640x480 image. Finally, the algorithm performs also a simple step that tries to find the sub-pixel position of each corner, i.e. feature, analysing the gradient of the corner on the image. Detected features are then tracked over time frame by frame, by using the well known KLT algorithm Lucas and Kanade (1981). 3.2 Coordinate Transformation Over all the features extracted as explained before, we apply a transformation in order to have a coordinate system positioned on the ground, with the origin on the ground under the front bumper of the vehicle, in the middle of the vehicle, the Z axis that goes straight in front of the vehicle placed on the ground plane, the X axis going on the right and Y axis up perpendicular to the other axes. Furthermore, we use the information of the ego vehicle motion to express the points detected in the previous frame with the actual coordinate system, that moves together with the vehicle. The module then receives as input 3D point pairs, that represent the same feature in two different frames, and gives as output a set of 6D features, that represent a 3D point in the current frame, and its displacement with respect to the same feature in the previous frame. Point transformation From this point we will assume that the points are expressed in homogeneous coordinates. The first transformation, that is applied only to the points detected in the current frame, is static, and depends on the position of the camera in the vehicle: T s = T t T y T x T i where T t is a translation along the X and Y axes, that moves the origin of the coordinate system on the ground under the front bumper of the vehicle, T y and T x are rotation matrices that correct the coordinate system orientation, and T i is a transformation that inverts the Y axis direction. Transformation on the 3D points of the previous frame, that we call T d, depends on the information of the ego vehicle movement: T d = T z T y T r T p where T z represents the translation on the Z axis, while T y, T r,and T p respectively the yaw, roll and pitch movements. Considering the way the ego vehicle movement estimator module works, we apply the transformation T d in two steps: T d = T d1 T d2, where T d1 = T z T y and T d2 = T r T p. Ego Vehicle Motion Estimation Some of the coordinate trasformations require an estimation of the motion of the vehicle. We propose a method that uses information provided by the vehicle sensors fused with the information extracted from static points. Due to the two different sources of information, we propose a two-steps algorithm in order to take into account the different nature of the two sources. In the first step the algorithm uses the information of the sensors mounted on the vehicles, that give just information on the longitudinal velocity and on the yaw rate. Since this information is already filtered, we can use it without performing additional processing. As final output of the vehicle movement estimator, we are interested in the local displacement between the past frame and current one; we can model the vehicle motion as a uniformly accelerated motion, so the displacement on the Z axis from the past frame is s z = v 1 t + 1 2 a z t 2 (1) Where v1 is the velocity on the Z axis at the instant of the past frame. If we consider that v 2 = v 1 + a z t where v2 is the velocity at the instant of the current frame, we can write s z = v 1 t + 1 2 v 2 t (2) Using the same considerations, we can write a similar equation for the yaw angle displacement s φ = φ 1 t + 1 2 φ 2 t (3) It is usually common that the data flow from the sensors is not synchronised with the images provided by the cameras, in this cases a simple interpolation on the sensors data can be applied. The second step of the algorithm has to identify the roll angle and pitch angle displacement from the past frame. In this case, we have to use the points provided from the previous steps, i.e. points transformed by the transformations T s and T d1. From the set of such points we can now easily identify the static points, i.e. points with a negative Y coordinate, cleaned from the outliers using the Mahalanobis distance from the mean of the set. If we consider just the movement between a frame and the next one, we can model the system again with a uniformly accelerated motion, but here we are integrating over time the data, so we are considering a motion that takes somehow into account a big part of the past frames. Considering that the acceleration may change rapidly the sign, we use a factor β that is decided locally each time and model such behaviour. So, the system state is x = [a α v α α a γ v γ γ] T

Where α is the pitch angle and γ is the roll angle. The transition matrix is β α 0 0 0 0 0 t 0 0 0 0 0 1 2 t2 t 0 0 0 0 0 0 0 β γ 0 0 (4) 0 0 0 t 0 0 0 0 0 1 2 t2 t 0 Where βα k and βγ k are provided by the equations βα k 1 if y z < ɛ βα k = +1 if y z > ɛ 1 if y z < ɛ βγ k 1 if y x < ɛ βγ k = +1 if y x > ɛ 1 if y x < ɛ In which k is the time step, and ɛ is a threshold value. In the measurement model we use the noisy information provided by the static point extracted from the stereo images in order to update the system. The measurement vector is z = [ X Y Z] T and the measurement model can be given by the following equations: X = c( γ)x s( γ)y x Y = c( α)s( γ)x + c( α)c( γ)y + s( α)z y Z = s( α)s( γ)x s( α)c( γ)y + c( α)z z (5) (6) Due to the non-linear equation in the measurement model, we use an Extended Kalman Filter to model the system. The approach described above can be used also to estimate the velocity on the Z axis and the yaw rate, in the cases where the information from vehicle sensors are not available. 3.3 Clustering Our clustering algorithm recalls the Rek-means approach Bloisi and Iocchi (2008), i.e. we can divide it in three steps: the over-clustering step; the merging step; the cleaning step: The over-clustering step is performed trying to apply an expansion algorithm on each point left in the set of all points. Such expansion consists into the search of all the neighbours of a point; if a point is put in the neighbourhood of another point, it is deleted from the set and it will not be considered anymore by the algorithm. For the search of the neighbourhood, we need a distance function, and a limit that says which points can be put in the neighbourhood and which not. As distance function we use the classical euclidean distance. The merging step takes all the clusters provided by the over-clustering step and tries to merge each other. Also this step is quite simple, it just computes the distance between each cluster, and if such distance is smaller then a threshold, it merges the two clusters. Here the distance between two clusters is computed as the distance between the clusters boundaries closer each other. In the final step, we clean the clusters, i.e. the point clouds, from the outliers using the Mahalanobis distance on the 6D vector (Rabe et al. (2007)). Moreover, we consider a cluster reliable if the corresponding point cloud has a variance above a given threshold. 3.4 Obstacle Tracking Reliable clusters are associated to obstacles and tracked over time using standard filtering methods. We thus define an association rule between clusters and tracked obstacles, using the Mahalanobis distance between the cluster mean and the obstacle centre. So, for each cluster we evaluate its distance with respect to all the already defined obstacle hypotheses, and we associate it to the closest obstacle. Obstacle track creation is managed by using a threshold on this distance: new obstacles hypotheses are created from clusters that are far away (according to this threshold) from any current hypothesis. Obstacle track deletion is performed when the track is not associated to observations for a given number of frames. Tracking is performed using a simple Kalman filter, modelling a uniformly accelerated model. The state of the system is x = [x z vx vz ax az h l p] T the measurement vector is z = [x z h l p] T and the measurement matrix is 1 0 t 0 1 2 t2 0 0 0 0 1 0 1 0 t 0 2 t2 0 0 0 (7) 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 The initial state of a new obstacle track is determined by x = [x z x z 0 0 h l p] T where x is the X coordinate of the geometric centre of the cluster, z is the Z coordinate of the cluster position, x and z are the X and Z coordinates of points cloud displacement mean, and h, l and p are the dimensions of the cluster. 4. EXPERIMENTAL SYSTEM EVALUATION Different kinds of experimental evaluation have been performed. First of all, an analytic and experimental evaluation of different stereo cameras helped us to decide which camera best fits the automotive urban scenario, where the area of interest can be estimated to be up to 40 m in front of the vehicle, and where we consider that vehicles have a velocity typically limited to 50 km/h. Such phase ended up with the choice of a camera with baseline of 30 cm, and horizontal resolution of 640 px. The vehicle used during the tests (Fig. 3) was equipped with the stereo camera and a radar, that has been used to compare the results obtained by our stereo vision system. The radar used is the Continental ARS300, that has already been tested for automotive applications. We built

Fig. 3. Vehicle used during the system evaluation. a large dataset with the aim of covering all the different kinds of aspects involved in a stereo-vision based obstacle detector and tracker. We can divide the dataset in two principal subsets: 150 BMP static stereo image pairs (86.4 MB), an half acquired from a stereo camera with baseline of 15 cm an the other half from a camera with baseline of 30 cm. The image pairs represent calibration images, and different static acquisition with single obstacles (two pedestrians and a vehicle) at different known distances (from 5 m to 40 m). Such image pairs can be used to evaluate the pure distance measurement accuracy of a stereo based system. 19.24 GB of data, divided into 24 stereo sequences (33 min in total) acquired with the camera with a baseline of 30 cm. The acquisition runs have been performed in the FIAT test-track (controlled scenarios) and in the centre of Orbassano (TO) (real urban uncontrolled scenarios). The stereo sequences are acquired with a variable frame rate. For each stereo sequence, ego vehicle movement, radar and global timing information are provided. Using the controlled scenario sequences it is possible to evaluate the obstacle trajectories and the velocity estimation, comparing the stereo data with the radar one. The Urban scenario sequences allow to have a large view of the behaviour of a stereo system in an urban scenario, with the possibility of evaluating the true and false detection rates, and the distance and velocity measurements among all the possible complex obstacles of a typical urban environment. The non constant frame rate allow to evaluate a stereo system in a more realistic operational condition. Using such a dataset we performed different tests on our system. In Fig. 4 it is shown a comparison of the distance measurement performed by the radar system and the correspondent measurement of the stereo system. The graph summarises the distance measurements performed on almost 5000 measures, obtained in different sequences acquired in an urban environment. Considering that the radar has a range accuracy of ±0.25 m, we can consider such graph as a good representation of the stereo system distance measurement accuracy. Showing two scenarios used during the previous evaluation, it will help to understand better the nature of the results given before. In the first scenario we evaluated the capability of the system of measuring the distance and the velocity of two pedestrians crossing the road in front of the vehicle, while Fig. 4. Distance Measurement comparison among radar and stereo systems. in the second scenario we evaluated the capability of the system of measuring the distance and velocity of a bus that is going straight ahead in front of the vehicle. In Fig. 5 we show the trajectory of one pedestrian measured by the radar and our system.as it can been seen, we obtained good distance measurements, but the velocity measurements are quite divergent. In Fig. 6 the trajectory of the bus relative to the second scenario is shown. Here the measurements are worst due to the increase of the relative velocity, however they are still acceptable. Finally, in Fig. 7 and Fig. 8 the behaviour of the system in the detection task is shown. Our system is not able to detect far obstacles like the radar system, but it shows a better lateral view, with the detection of really lateral obstacles, that the radar missed. The last part of our system evaluation has been focused on the performance. During all the evaluation process we observed and analysed the time used by each module of the system. We performed our test on a common laptop with Intel Centrino Core Duo CPU (1.66 GHz), obtaining the following results: Disparity and text confidence map computation: 0 ms (on-board the stereo camera); Feature Detector and Tracker: 12.9 ms ±11 ms; Points Preprocessing: 0.5 ms ±0.3 ms; Ego Vehicle Motion Estimator: 0.06 ms ±0.09 ms; Clustering Algorithm: 0.8 ms ±0.6 ms; Obstacle Tracker: 0.5 ms ±0.4 ms; Total: 14.76 ms ±12.39 ms (67 fps); 5. CONCLUSION In this work we have studied the possibility of using a cheap stereo sensor for safety automotive applications and in particular for obstacle detection and tracking. We have shown that a system based on stereo vision fits well this kind of applications in an urban scenario. The reliability and accuracy of the measurements of obstacles in front of the vehicle and the real-time implementation of the entire system allow for a real development of intelligent safety applications on standard vehicles. Finally, the creation and the use of a large stereo dataset and the comparison with the active range sensor has given a significant assessment to the performance of the proposed system. On the other hand, the proposed solution suffers from some limitations that are common with vision-based approaches, i.e. the dependence on weather and light conditions. A better analysis of system performance in bad weather and light conditions should be performed, as well

Fig. 5. Pedestrian Trajectories detected by stereo system and radar. Fig. 6. Bus detected by stereo system and radar. Fig. 7. Screenshot of the stereo system. as improvements with better camera parameters. Moreover, in case budget allows so, it is possible to install on a vehicle both a stereo-based system and a radar-based system. In this case, as shown in our experimental activity, it is possible to combine the two sensors extracting better integrated information: better accuracy on the long dis- Fig. 8. Screenshot of the stereo system. tance for radar, better precision in the lateral positioning for stereo. Finally, the use of stereo vision gives the possibility to add to the system additional vision based modules that can enlarge the scope of safety applications. For example, classification algorithms that help understanding the kind of detected obstacles or algorithms able to understand or predict the behaviour of the obstacles will significantly improve the effectiveness of an automotive safety application. REFERENCES Barth, A. and Franke, U. (2008). Where will the oncoming vehicle be the next second? In Intelligent Vehicles Symposium, 2008 IEEE, 1068 1073. doi:10.1109/ivs.2008.4621210. Bloisi, D. and Iocchi, L. (2008). Rek-means: A k-means based clustering algorithm. In ICVS, 109 118. Ewald, A. and Willhoeft, V. (2000). Laser scanners for obstacle detection in automotive applications. In Intelligent Vehicles Symposium, 2000. IV 2000. Proceedings of the IEEE, 682 687. doi:10.1109/ivs.2000.898427. Jeong, P. and Nedevschi, S. (2008). Obstacle detection based on the hybrid road plane under the weak calibration conditions. In Intelligent Vehicles Symposium, 2008 IEEE, 446 451. doi: 10.1109/IVS.2008.4621165. Konolige, K. (1997). Small vision systems: Hardware and implementation. In Eighth International Symposium on Robotics Research. Kubota, S., Nakano, T., and Okamoto, Y. (2007). A global optimization algorithm for real-time on-board stereo obstacle detection systems. In Intelligent Vehicles Symposium, 2007 IEEE, 7 12. doi:10.1109/ivs.2007.4290083. Lucas, B.D. and Kanade, T. (1981). An iterative image registration technique with an application to stereo vision. In IJCAI81, 674 679. Morat, J., Devernay, F., and Cornou, S. (2007). Tracking with stereo-vision system for low speed following applications. In Intelligent Vehicles Symposium, 2007 IEEE, 955 961. doi: 10.1109/IVS.2007.4290240. Rabe, C., Franke, U., and Gehrig, S. (2007). Fast detection of moving objects in complex scenarios. In Intelligent Vehicles Symposium, 2007 IEEE, 398 403. doi:10.1109/ivs.2007.4290147. Shi, J. and Tomasi, C. (1994). Good features to track. In Computer Vision and Pattern Recognition, 1994. Proceedings CVPR 94., 1994 IEEE Computer Society Conference on, 593 600. doi: 10.1109/CVPR.1994.323794. Skutek, M., Mekhaiel, M., and Wanielik, G. (2003). A precrash system based on radar for automotive applications. In Intelligent Vehicles Symposium, 2003. Proceedings. IEEE, 37 41. doi: 10.1109/IVS.2003.1212879. Suganuma, N. (2009). Clustering and tracking of obstacles from virtual disparity image. In Intelligent Vehicles Symposium, 2009 IEEE, 111 116. doi:10.1109/ivs.2009.5164262.