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

Similar documents
Automatic Fatigue Detection System

Detection and Classification of Vehicles

DUAL MODE SCANNER for BROKEN RAIL DETECTION

Vehicle Localization. Hannah Rae Kerner 21 April 2015

Human Detection. A state-of-the-art survey. Mohammad Dorgham. University of Hamburg

Detection and Tracking of Moving Objects Using 2.5D Motion Grids

Ceiling Analysis of Pedestrian Recognition Pipeline for an Autonomous Car Application

A Novel Approach to Image Segmentation for Traffic Sign Recognition Jon Jay Hack and Sidd Jagadish

REINFORCEMENT LEARNING: MDP APPLIED TO AUTONOMOUS NAVIGATION

Vision Based Parking Space Classification

EE368 Project: Visual Code Marker Detection

T O B C A T C A S E E U R O S E N S E D E T E C T I N G O B J E C T S I N A E R I A L I M A G E R Y

Character Recognition

Measuring the World: Designing Robust Vehicle Localization for Autonomous Driving. Frank Schuster, Dr. Martin Haueis

Automatic Colorization of Grayscale Images

Mobile Human Detection Systems based on Sliding Windows Approach-A Review

Advanced Driver Assistance Systems: A Cost-Effective Implementation of the Forward Collision Warning Module

2 OVERVIEW OF RELATED WORK

W4. Perception & Situation Awareness & Decision making

Seminar Heidelberg University

Automated Digital Conversion of Hand-Drawn Plots

Robust PDF Table Locator

Efficient L-Shape Fitting for Vehicle Detection Using Laser Scanners

CONTRIBUTION TO THE INVESTIGATION OF STOPPING SIGHT DISTANCE IN THREE-DIMENSIONAL SPACE

Vision based autonomous driving - A survey of recent methods. -Tejus Gupta

Towards Autonomous Vehicle. What is an autonomous vehicle? Vehicle driving on its own with zero mistakes How? Using sensors

CS 4758 Robot Navigation Through Exit Sign Detection

Laserscanner Based Cooperative Pre-Data-Fusion

CS231A Course Project Final Report Sign Language Recognition with Unsupervised Feature Learning

Spatio-Temporal Vehicle Tracking Using Unsupervised Learning-Based Segmentation and Object Tracking

Gaze Tracking. Introduction :

A Vision System for Automatic State Determination of Grid Based Board Games

TPC Detector Response Simulation and Track Reconstruction

Experiments with Edge Detection using One-dimensional Surface Fitting

Keywords: clustering, construction, machine vision

CLASSIFICATION FOR ROADSIDE OBJECTS BASED ON SIMULATED LASER SCANNING

MARK. January 2019 issue... BENCH THE INTERNATIONAL MAGAZINE FOR ENGINEERING DESIGNERS & ANALYSTS FROM NAFEMS

Traffic Signs Recognition using HP and HOG Descriptors Combined to MLP and SVM Classifiers

Real-time Detection of Illegally Parked Vehicles Using 1-D Transformation

A System for Real-time Detection and Tracking of Vehicles from a Single Car-mounted Camera

Best Practices Guide for Perimeter Security Applications

On Road Vehicle Detection using Shadows

CS4495 Fall 2014 Computer Vision Problem Set 6: Particle Tracking

Chapter 9 Object Tracking an Overview

Tracking driver actions and guiding phone usage for safer driving. Hongyu Li Jan 25, 2018

Designing a Site with Avigilon Self-Learning Video Analytics 1

Training models for road scene understanding with automated ground truth Dan Levi

Option Driver Assistance. Product Information

TPC Detector Response Simulation and Track Reconstruction

CSE 586 Final Programming Project Spring 2011 Due date: Tuesday, May 3

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

CS4758: Rovio Augmented Vision Mapping Project

Solid-State Hybrid LiDAR for Autonomous Driving Product Description

A Two-Stage Template Approach to Person Detection in Thermal Imagery

Mouse Pointer Tracking with Eyes

Study on the Signboard Region Detection in Natural Image

A Street Scene Surveillance System for Moving Object Detection, Tracking and Classification

Jo-Car2 Autonomous Mode. Path Planning (Cost Matrix Algorithm)

Domain Adaptation For Mobile Robot Navigation

QUASI-3D SCANNING WITH LASERSCANNERS

The Application of Image Processing to Solve Occlusion Issue in Object Tracking

Three-Dimensional Motion Tracking using Clustering

Advanced Image Processing, TNM034 Optical Music Recognition

TPC Detector Response Simulation and Track Reconstruction

Optical Sensors: Key Technology for the Autonomous Car

Vision-based Frontal Vehicle Detection and Tracking

Scene Text Detection Using Machine Learning Classifiers

LaserGuard LG300 area alarm system. 3D laser radar alarm system for motion control and alarm applications. Instruction manual

Data Mining Practical Machine Learning Tools and Techniques. Slides for Chapter 6 of Data Mining by I. H. Witten and E. Frank

LAB 2: DATA FILTERING AND NOISE REDUCTION

Supplementary text S6 Comparison studies on simulated data

Sensor Fusion-Based Parking Assist System

Feature Selection in Learning Using Privileged Information

Vision. OCR and OCV Application Guide OCR and OCV Application Guide 1/14

Auto-Digitizer for Fast Graph-to-Data Conversion

Lecture 3: Linear Classification

ECE 172A: Introduction to Intelligent Systems: Machine Vision, Fall Midterm Examination

Classification of Protein Crystallization Imagery

Tracking Trajectories of Migrating Birds Around a Skyscraper

ENGR3390: Robotics Fall 2009

Cs : Computer Vision Final Project Report

CS 4758: Automated Semantic Mapping of Environment

FAST HUMAN DETECTION USING TEMPLATE MATCHING FOR GRADIENT IMAGES AND ASC DESCRIPTORS BASED ON SUBTRACTION STEREO

Computational Statistics The basics of maximum likelihood estimation, Bayesian estimation, object recognitions

Classification and Detection in Images. D.A. Forsyth

2. POINT CLOUD DATA PROCESSING

Detecting and Identifying Moving Objects in Real-Time

On-road obstacle detection system for driver assistance

A real-time Road Boundary Detection Algorithm Based on Driverless Cars Xuekui ZHU. , Meijuan GAO2, b, Shangnian LI3, c

Rapid Natural Scene Text Segmentation

Universiteit Leiden Computer Science

Blue 21 Extend and Succeed Brain Growth Senior Phase. Trigonometry. Graphs and Equations

Data Term. Michael Bleyer LVA Stereo Vision

CS 231A Computer Vision (Fall 2012) Problem Set 3

Supplementary Material for: Road Detection using Convolutional Neural Networks

Data Mining. Part 2. Data Understanding and Preparation. 2.4 Data Transformation. Spring Instructor: Dr. Masoud Yaghini. Data Transformation

MULTI ORIENTATION PERFORMANCE OF FEATURE EXTRACTION FOR HUMAN HEAD RECOGNITION

Detecting the Unexpected: The Path to Road Obstacles Prevention in Autonomous Driving

10-701/15-781, Fall 2006, Final

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

Transcription:

edestrian Detection Using Correlated Lidar and Image Data EECS442 Final roject Fall 2016 Samuel Rohrer University of Michigan rohrer@umich.edu Ian Lin University of Michigan tiannis@umich.edu Abstract Recent progress in software and hardware systems will lead to an increase in daily interactions with robots and intelligent systems. As a result of this, safety must be at the forefront of the design of autonomous systems and particularly autonomous cars. Avoiding pedestrians is one of the most important aspects of autonomous vehicle safety. With this in mind we aim to create a pedestrian detection system based off of sensors commonly found on autonomous vehicles. We will use correlated Lidar and image data along with algorithms found in recent papers to perform pedestrian detection. 1. Introduction As progress in software and hardware continues, it is expected that autonomous robotics and intelligent systems will begin to play an integral role in everyday life. Jobs that are physically demanding or unsafe can be replaced by robots. Autonomous cars can greatly improve road safety and efficiency, as most traffic accidents today are a direct result of human error. In order for these intelligent systems to succeed, they must be designed to be safer than a human driver. Obstacle detection is a crucial aspect of this - especially for autonomous cars which must detect other cars, road signs, traffic signals, and pedestrians. Beyond just detecting obstacles, it is often necessary to predict the future motion of moving obstacles such as other vehicles, pedestrians, and animals. We aim to focus our efforts on detecting the presence of pedestrians in both Lidar (light detection and ranging) scans and images. The goal of this project is to detect pedestrians in a preexisting dataset: the Laser and Image edestrian Detection (LID) dataset [1], which provides correlated Lidar and image data. We aim to identify pedestrians on the road based on Lidar data by first segmenting the scans and then extracting features from those segments. After feature extraction, we plan to use a trained classifier to determine if the obstacle is indeed a pedestrian in the road. Then we plan to extract pedestrian features from the images using OpenCV [2]. We could extend this by training a more sophisticated classifier that has the ability to discern the difference between cars, pedestrians, and road signs based on both Lidar and image data. 2. revious Work There has been a good deal of work in the area of pedestrian detection for mobile robotics. In most systems, the sensor subsystems operate independently of each other. In [4] the authors used Lidar data to generate regions of interest, then use image analysis to determine whether a pedestrian is present. Some other sensors available on modern autonomous robotics platforms include: radar, ultrasound, cameras, and Lidar. However, each of these sensors comes with their own inherent problems. Cameras can fail in low light situations and Lidar can fail when objects are side by side at the same distance. Both can fail in poor weather: Lidar if rain or snow causes the light to be reflected too early and cameras if the lens is obstructed by snow or fog. In order to complete this project, we started with the LID dataset [1]. Some benefits of this dataset include: correlated Lidar and image data, pre-segmented Lidar scans, features from segmented Lidar scans, and a classification dataset. The correlated datasets were composed of a forward facing camera (limited field of view relative to Lidar) and four Lidar scans all facing outwards at different angles. The classification dataset had both training and testing sets for the Lidar data. 3. Technical Work We plan to use both Lidar data and images to identify pedestrians on the road. With Lidar data, we can identify obstacles on the road and then analyze the corresponding images that potentially contain pedestrians to determine if pedestrians are present. There has already been work done in the areas of correlating Lidar and single image data for the purpose of detecting pedestrians. Most of it follows a 1

similar approach to the one we are outlining and has been successful. For Lidar object detection, we decided to follow the pipeline outlined in [4], and add stages for error correction and comparison with OpenCV [2] pedestrian detection based on image data. The pipeline is as follows: segmentation, feature extraction, classification, error correction, and comparison with image based pedestrian detection. 3.1. Segmentation The pipeline begins with segmentation of the Lidar data to find the points where the directionality of the segment changes. According to [5] if it is a new segment then (1) holds true where r i is the distance to current point, r i+1 is the distance to next point, cos( ) is the 3D angle between the two points, and C 0 is a constant to adjust for noise: q r 2 i + r2 i+1 2r i r i+1 cos( ) >thd (1) thd = C 0 + p 2(1 cos( ) min(r i,r i+1 ) (2) cos( ) = r i r i+1 r i r i+1 For the purpose of this project any segment less than three points long was discarded before moving to feature extraction. This was performed for each Lidar scan in isolation of the other scans. 3.2. Feature Extraction After separating the Lidar scan data into different segments we then performed feature extraction on the segments. We used 10 different features for each segment, based on [4]. (3) Feature num Formula Description number range points 2 np r min number of range points * minimum range distance p 3 X2 + Y 2 RMS of segment width and height 4 np n=1 x n x m Mean average deviation from median (x m ) 5 np n=1 (x n x lsq ) 2 Linearity - distance to the least squares line (x lsq ) 6 np n=1 (x n µ x ) 2 Second central moment (about mean µ x ) 7 np n=1 (x n µ x ) 3 Third central moment (about mean µ x ) 8 np n=1 (x n µ x ) 4 Fourth central moment (about mean µ x ) 9 np n=1 x n x n 1 Segment length (norm distance between points) 10 (ft9) Standard deviation of segment length (norm distance between points) These features describe the distribution of segment points and were all computationally cheap and robust for all segments greater than three points long. 3.3. Classification For classification we used training data from [1] to train a ython SkLearn DecisionTreeClassifier [3]. The training data consisted of pre-segmented Lidar scans that were very clean and well segmented. The Lidar scans were split between segments with pedestrians and segments without pedestrians. A similar set of test data was also provided and our classifier achieved an accuracy of 88%. 3.4. Error Correction Since our Lidar data consists of four horizontal scans taken at slightly different angles, we should expect that the 2

Figure 1. Initial segmentation results. Green squares are identified segments. Red, blue, yellow and green dots are Lidar points. existence of pedestrians results in several positive segment classifications (up to four) in the same area. Therefore, a simple way to decrease the number of positive classifications is to only positively classify segments if there are other segment classifications in agreement within a small pixel margin. Taking Figure 1 for example, we get a large number of segments on the right side of the image around the two women which would be saved since there are many segments in agreement vertically. However, some of the other false positives would be ignored since as they are more isolated. To do this error correction, we first classify and store all of our positive segments. For each segment, we then check if the other scans contain positive segments within a threshold of the original segment. If there are no other segments that corroborate the positive classification of the original segment, then we do not consider it a positive segment and remove it from our output. We have a large degree of flexibility in this filtering process as we can both vary the threshold as well as the number of segments in agreement. We found that a threshold thd = 10 and a single additional segment in agreement appeared to give good results. Requiring more segments to agree or using a lower threshold results in over-filtering whereas a larger threshold would not filter enough false positives out. 4. Experimental Results We ran our pipeline on raw Lidar scans correlated with image data. After segmenting each of the four Lidar scans individually, we pass each segment to the feature extractor. The feature extractor outputs a feature vector composed of the ten features described above and our classifier is able to Figure 2. Unfiltered Example. Green squares are identified segments. Red, blue, yellow and green dots are Lidar points. Notice the amount of false positives in the left and center regions of the image. make a binary classification of whether or not the segment contains a pedestrian. To visually display our results, we overlay each of the four Lidar scans over its corresponding image. We color each Lidar scan a different color yellow, red, green, and blue to distinguish between them. Since the Lidar scan is wider than the image, we do not display Lidar points beyond the width of the image. Segments that are positively classified as pedestrians are saved. Their start and end are plotted as large green squares. 4.1. Example Lidar Output An example of the output of our system can be seen in Figure 1. Our Lidar classifier does pick up the two women on the right side of the image as two distinct pedestrians. There are additional people behind these two women who are largely occluded and are not identified by our classifier. Unfortunately we also get several false positives around the cars on the left side of the road. 4.2. Example Lidar output after Filtering Shown in Figure 2 is another unfiltered image very similar to Figure 1. As you can see, there are several false positives on the left side and center regions of of the image. These false positives are mostly isolated while the correctly classified pedestrian region has many segments in agreement. Figure 3 is the result of our Lidar scan after filtering out segments that were not present in multiple Lidar scans. On the left side of the image approximately five incorrect Lidar points were removed and in the center of the image another five incorrect Lidar points were removed. This 3

Figure 3. Segmentation results after filtering. Green squares are identified segments. Red, blue, yellow and green dots are Lidar points. Notice the amount of false positives removed from Figure 2 in the left and center regions of the image. Figure 4. Example output of OpenCV s eopledetect [2]. demonstrates that our filtering algorithm is clearly working in this case, as it removes many of the false positives. Furthermore, we can tune this algorithm to work even better by adjusting the threshold of how close segments must be, accounting for segment length, and modifying the number of segments required for agreement. For example, Figure 3 still contains false positives even after filtering: there is a small cluster of green squares on the tip of the black car on the left side. Raising the number of segments necessary for a positive classification from two to three would likely fix this issue (but may cause false negatives in other examples). 4.3. Example OpenCV Output An example of the output of OpenCV s eopledetect [2] code can be seen in Figure 4. The results are surprisingly similar to our Lidar classifier: it picks up the two women as well as two extra false positives. The output of OpenCV is more clearly indicated than the output of our Lidar scans as they can draw very nice bounding boxes around the pedestrians. Unfortunately Lidar scans do not provide any height information that can be extrapolated so estimated bounding boxes would have to be drawn with some assumption regarding the average height of a pedestrian. Figure 5. edestrians identified by Lidar Classifier and filtering shown by green squares. Notice correct identifications of pedestrians. than our Lidar Classifier. An example of where eopledetect fails to pick up any pedestrians and makes two false positives can be seen in Figure 6. The same image with our Lidar Classifier, see Figure 5, does pick up the group of pedestrians but again makes several false positive classifications. However, this image did not incorporate our filtering step mentioned above which likely would have removed most of the false positives. In this particular case, our Lidar Classifier does much better than eopledetect but this demonstrates the difficulty in merging Lidar and Image classifications. There will be cases where the classifications are in agreement but there will also be cases like this where there is no overlap. 4.4. OpenCV eopledetect vs. Lidar Classifier In general both OpenCV s eopledetect [2] and our Lidar Classifier were able to identify regions with pedestrians. However, our Lidar Classifier tended to make many more false positive classifications than eopledetect. There are both cases where our Lidar Classifier performs better than eopledetect and cases where eopledetect performs better 4

Figure 6. edestrians identified by OpenCV eopledetect [2]. Notice the two false positives found and that the actual pedestrians are not detected. Figure 7. Example output of potential system that combines a Lidar Classifier with OpenCV eopledetect [2]. Bounding boxes are hand-drawn. 5. Future Work 6. Conclusion As seen in Figure 1 and mentioned above, our Lidar classification does output a large number of false positives. While this is somewhat better than false negatives identifying too many pedestrians is preferable over missing one we believe that our results could be improved by minimizing false positives and more closely tying image classifications with our Lidar classifications. We were able to segment raw Lidar scans, extract features, and make a successful pedestrian classification. Unfortunately the final dataset that we tested our system on provides labels as a series of bounding boxes on the image itself. As such, we did not have labels for individual segments and do not have an exact accuracy for our classifier. However, our initial examination of results does look fairly positive: we generally do pick up pedestrians but also pick up other objects on the side of the road such as cars. Addition of the OpenCV eopledetect [2] code provides additional interesting results. Similarly to our Lidar Classifier, OpenCV does generally detect pedestrians but also provides incorrect bounding boxes around cars and buildings. These incorrect classifications generally do not coincide with our Lidar classifications and thereby validates our initial beliefs that a system combining both Lidar and Image classifications can perform better than either individually. 5.1. Correlation with Image Data We could improve our results by making a final prediction that combines results of both the Lidar classification and image classification. A simple set intersection of the general areas where the positive Lidar segments and OpenCV bounding boxes are in agreement could cut down on the extra classifications coming from both our Lidar Classifier as well as OpenCV s eopledetect. See Figure 7 for an example of a potential output of such a system that combines the Lidar Classifier output from Figure 1 and the eopledetect output from Figure 4. As you can see the simple set intersection removes the false positives stemming from both OpenCV and our Lidar Classifier. However, there are many difficulties in combining the two systems once you look beyond just this image. As mentioned above, it is unlikely the systems will always agree as seen with Figures 5 and 6. A simple set intersection could well likely result in no positive classifications and many false negatives which would be disastrous for an autonomous vehicle. A safer choice would be a set union between the two as false negatives are far worse than false positives. References [1] Laser and image pedestrian detection dataset. http:// home.isr.uc.pt/ cpremebida/dataset. [2] Open source computer vision. http://opencv.org. [3] ython scikit-learn. http://scikit-learn.org/ stable/index.html. [4] Carlos remebida, Oswaldo Ludwig, and Urbano Nunes. Lidar and vision-based pedestrian detection system. Journal of Field Robotics, 26(9):696 711, 2009. [5] C. remebida and U. Nunes. Segmentation and geometric primitives extraction from 2d laser range data for mobile robot applications. In roceedings of the 5th National Festival of 5

Robotics Scientific Meeting, pages 17 25, Coimbra, ortugal, 2005. ROBOTICA. 6