Machine learning based automatic extrinsic calibration of an onboard monocular camera for driving assistance applications on smart mobile devices

Similar documents
An Efficient Obstacle Awareness Application for Android Mobile Devices

Image processing techniques for driver assistance. Razvan Itu June 2014, Technical University Cluj-Napoca

Real-Time Detection of Road Markings for Driving Assistance Applications

Chapter 3 Image Registration. Chapter 3 Image Registration

Detection and Classification of Painted Road Objects for Intersection Assistance Applications

3D Lane Detection System Based on Stereovision

On Board 6D Visual Sensors for Intersection Driving Assistance Systems

Practical Camera Auto-Calibration Based on Object Appearance and Motion for Traffic Scene Visual Surveillance

Camera Model and Calibration

Camera Registration in a 3D City Model. Min Ding CS294-6 Final Presentation Dec 13, 2006

Final Exam Study Guide

CIS 580, Machine Perception, Spring 2016 Homework 2 Due: :59AM

Self-calibration of an On-Board Stereo-vision System for Driver Assistance Systems

AutoCalib: Automatic Calibration of Traffic Cameras at Scale

arxiv: v1 [cs.cv] 28 Sep 2018

Computer Graphics 7: Viewing in 3-D

Computer Graphics: Viewing in 3-D. Course Website:

Bowling for Calibration: An Undemanding Camera Calibration Procedure Using a Sphere

EXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,

Autonomous Mobile Robot Design

2 OVERVIEW OF RELATED WORK

Monitoring Weaving Sections

Camera Model and Calibration. Lecture-12

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

CHAPTER 3. Single-view Geometry. 1. Consequences of Projection

Data Association for SLAM

Single View Geometry. Camera model & Orientation + Position estimation. Jianbo Shi. What am I? University of Pennsylvania GRASP

MR-Mirror: A Complex of Real and Virtual Mirrors

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

Face detection, validation and tracking. Océane Esposito, Grazina Laurinaviciute, Alexandre Majetniak

Computer Vision. Coordinates. Prof. Flávio Cardeal DECOM / CEFET- MG.

Camera Parameters Estimation from Hand-labelled Sun Sositions in Image Sequences

3D Geometry and Camera Calibration

TxDOT Video Analytics System User Manual

Midterm Exam Solutions

Overview. By end of the week:

Geometric transformations in 3D and coordinate frames. Computer Graphics CSE 167 Lecture 3

Computer Vision I - Appearance-based Matching and Projective Geometry

1 Projective Geometry

Calibration of a rotating multi-beam Lidar

/10/$ IEEE 4048

Introduction to Homogeneous coordinates

Computer Vision cmput 428/615

Application questions. Theoretical questions

Joint Object Detection and Viewpoint Estimation using CNN features

Binocular Stereo Vision. System 6 Introduction Is there a Wedge in this 3D scene?

Pose Self-Calibration of Stereo Vision Systems for Autonomous Vehicle Applications

Image Transformations & Camera Calibration. Mašinska vizija, 2018.

Three-Dimensional Viewing Hearn & Baker Chapter 7

Stereo camera de-calibration detection based on observing kinematic attributes of detected objects and the camera rig

Camera Calibration. Schedule. Jesus J Caban. Note: You have until next Monday to let me know. ! Today:! Camera calibration

3D Lane Detection System Based on S tereovision

Real-Time Human Detection using Relational Depth Similarity Features

CS 4758 Robot Navigation Through Exit Sign Detection

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

Segmentation and Tracking of Partial Planar Templates

Scale Invariant Feature Transform

COMPARATIVE STUDY OF DIFFERENT APPROACHES FOR EFFICIENT RECTIFICATION UNDER GENERAL MOTION

Classification of objects from Video Data (Group 30)

Stochastic Road Shape Estimation, B. Southall & C. Taylor. Review by: Christopher Rasmussen

Lecture 16: Computer Vision

Development of a Multiple-Camera Tracking System for Accurate Traffic Performance Measurements at Intersections

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

Single View Geometry. Camera model & Orientation + Position estimation. What am I?

Exterior Orientation Parameters

A Paper presentation on REAL TIME IMAGE PROCESSING APPLIED TO TRAFFIC QUEUE DETECTION ALGORITHM

On Road Vehicle Detection using Shadows

Scale Invariant Feature Transform

Structure from Motion. Prof. Marco Marcon

COMPARISION OF REGRESSION WITH NEURAL NETWORK MODEL FOR THE VARIATION OF VANISHING POINT WITH VIEW ANGLE IN DEPTH ESTIMATION WITH VARYING BRIGHTNESS

Real-time Stereo Vision for Urban Traffic Scene Understanding

Visual Recognition: Image Formation

Single View Geometry. Camera model & Orientation + Position estimation. What am I?

Real Time Stereo Image Registration for Planar Structure and 3D Sensor Pose Estimation

Research on the Measurement Method of the Detection Range of Vehicle Reversing Assisting System

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

Chapter 12 3D Localisation and High-Level Processing

DD2429 Computational Photography :00-19:00

METR4202: ROBOTICS & AUTOMATION

Cameras and Radiometry. Last lecture in a nutshell. Conversion Euclidean -> Homogenous -> Euclidean. Affine Camera Model. Simplified Camera Models

LPR and Traffic Analytics cameras installation guide. Technical Manual

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

IEEE copyright notice

Towards a visual perception system for LNG pipe inspection

CS 223B Computer Vision Problem Set 3

CIS 580, Machine Perception, Spring 2015 Homework 1 Due: :59AM

Computer Vision I - Appearance-based Matching and Projective Geometry

Stereo imaging ideal geometry

Detection & Classification of Arrow Markings on Roads using Signed Edge Signatures

Scene Modeling for a Single View

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009

Proceedings of the 6th Int. Conf. on Computer Analysis of Images and Patterns. Direct Obstacle Detection and Motion. from Spatio-Temporal Derivatives

521466S Machine Vision Exercise #1 Camera models

TD2 : Stereoscopy and Tracking: solutions

Module 6: Pinhole camera model Lecture 32: Coordinate system conversion, Changing the image/world coordinate system

Lecture 9: Hough Transform and Thresholding base Segmentation

DERIVING PEDESTRIAN POSITIONS FROM UNCALIBRATED VIDEOS

Free Space Detection on Highways using Time Correlation between Stabilized Sub-pixel precision IPM Images

Lecture 16: Computer Vision

Motion estimation of unmanned marine vehicles Massimo Caccia

Transcription:

Technical University of Cluj-Napoca Image Processing and Pattern Recognition Research Center www.cv.utcluj.ro Machine learning based automatic extrinsic calibration of an onboard monocular camera for driving assistance applications on smart mobile devices Razvan Itu, Radu Danescu Technical University of Cluj-Napoca, Romania Image Processing and Pattern Recognition Research Center 12.09.2018

Objectives Estimation of the camera position and orientation with respect to a host vehicle reference frame, with no interaction from the user. The system should work in the absence of road markings, or when these markings are not visible (crowded city traffic). The detection of the calibration landmarks should be independent on preliminary extrinsic camera calibration.

The calibration problem Classical camera calibration uses the known correspondence between measured 3D coordinates and their position in the image. Requires a controlled, artificial environment. Automatic calibration of real scenes is mostly based on vanishing points [Caprile, 1990]. The vanishing points are detected using multiple voting techniques, such as the Gaussian sphere voting [Magee, 1984] or RANSAC techniques [Bazin, 2012], or based on CNNs [Itu, 2017]. These techniques require structured scenes, with straight parallel and perpendicular lines ( Mahnattan World assumption). Additiona sensors can be used for automatic calibration [Bileschi, 2009], [Levinson, 2013].

Camera model The camera and the vehicle (world) coordinate systems: Xc Oc Yc θ Zc T CW = 0 h 0 R WC = 1 0 0 0 cos θ sin θ 0 sin θ cos θ h Xw Ow Yw Zw

Camera model Projection of a 3D world point in the image space: u column coordinate relative to top left corner of the image v row coordinate relative to top left corner of the image u s v s s = P X W YW Z W 1 P = A[R WC T WC A = f 0 W 2 0 f H 2 0 0 1 T WC = R WC T CW

Estimation problem statement We consider the height of the camera and pitch angle to be the unknown state vector X to be estimated. The measurement vector will be composed of two image space widths of a known 3D structure in the road plane, for given image rows. The known 3D structures can be lanes (or any painted structure on the road, of standard size), or vehicles. w1 v1 w2 v2

Estimation using EKF The state vector is initialized with default values (0 degrees for pitch, any value for height). At any iteration, we assume that we have the image widths w1 and w2 of a 3D object of known size, for two row coordinates, v1 and v2. The following steps are performed: Prediction of the measurement vector, using the projection equations, the known object size L, the given image lines and the camera intrinsic parameters Computation of the Jacobian of the transformation, Mk Computation of the Kalman gain: K k = P k M T Z k = g v1,v2,l X k Computation of the updated state vector M k P k M k T + R 1 X k = X k 1 + K k Z Z k

Measurement data Vehicles are detected using the MobileNet CNN architecture. The network was trained on the KITTI and the Udacity datasets, for detecting passenger cars. Completeness of the detection of obstacles is not of concern at this point. The detection results should be only useful for calibration.

Measurement data The MobileNet CNN architecture: single shot detector featuring a reduced number of parameters. The normal convolution operation is replaced by depthwise convolution followed by pointwise convolution. Training is done on a desktop machine using gradient descent and two loss functions: one for detection and one for classification (smoothed L1 and weighted sigmoid loss). The network input represents images resized to 300x300 px. The output of the network is formed by bounding boxes representing the location of passenger cars.

Measurement data Car width versus image line (bottom line of the detected vehicle, the point of contact with the road), for a sequence of 8 minutes of driving: RANSAC is used to fit a line to the data, and two point on the line are used as measurement vector for the EKF.

Estimation results Height and pitch angle converge in 4-5 iterations Height ground truth 1.25 m, pitch ground truth unknown, but must match the vanishing point in the image

Estimation results Checking the results via the projected horizon line and the Inverse Perspective Mapping: Horizon line matches the real horizon. The IPM image shows parallel lane markings, and a lane width of 3.25 m (Ground truth, 3.20 m).

Yaw angle estimation Yaw (heading) angle was assumed to be zero, but from the IPM image it can be seen that the assumption was wrong. The yaw angle is related to the u position of the vanishing point the end point of the forward going vehicles trajectories.

Yaw angle estimation No tracking is performed. Instead, obstacles are paired in consecutive frames on simple position constraints. From one pair, a trajectory is constructed and a potential vanishing point is determined. The median position of the vanishing points u coordinate is chosen.

Yaw angle estimation Yaw angle is computed from the vanishing point: tanψ = u 0 W 2 f The rotation matrix is re-computed taking the yaw into consideration: R WC = 1 0 0 0 cosθ sinθ 0 sinθ cosθ cosψ 0 sinψ 0 1 0 sinψ 0 cosψ

Yaw angle estimation result The effect on the IPM transformation:

Roll angle estimation Roll: the angle of rotation around the optical axis (camera Z axis) Detection of the roll: histogram of oriented gradients on vehicles detected in a central position Histograms from single frames are combined for the whole sequence As the vehicle s features are mostly vertical and horizontal, the histogram peaks around angles multiple of 90 o. The roll angle will cause the shift of the maxima:

Results Time performance: Obstacle detection, 100ms / frame on a Samsung Galaxy S8+ phone Calibration performed offline, after a longer sequence is acquired (5 minutes or more) of driving, less than 1 minute of processing Angle estimation performance: Pitch and yaw angles are estimated correctly, with less than 0.1 degree of error No ground truth (and very difficult to estimate the effect on IPM) for the roll angle, but simulated roll angles (artificial rotation of the image by a set angle) were detected with 0.2 degrees of precision Camera height estimation performance: The camera height estimation is more sensitive, as sometimes we can have errors of more than 10 centimeters.

Discussion The cause of errors (especially on height) is simply that there are too few vehicles detected, and they lack diversity. Some scenarios: A sequence may contain only one vehicle, in front of us, that we follow. If this vehicle is narrow, or wide, and does not fit the 1.75 m average width, the height estimation will fail. Most of the detected vehicles are on the side of the road, and they will be detected as larger boxes in the image, including their side view. The solution for overcoming these problems: Collect more data, with diverse obstacles in front of us. Use a more complex classifier, which is able to give us more information about the detected vehicles (type of vehicle, orientation, etc).

Conclusion and future work Automatic estimation of the camera s extrinsic parameters with respect to the host vehicle s reference frame. The knowledge used for calibration is the result of a CNN-based vehicle detector, which does not require any sort of calibration The system does not require the presence of lane markings, but can use them with the same estimator Longer, more diverse sequences mean better results With small changes, the algorithm can be used for on-line refinement of the calibration results.

THANK YOU users.utcluj.ro/~rdanescu http://users.utcluj.ro/~razvanitu/ cv.utcluj.ro radu.danescu@cs.utcluj.ro razvan.itu@cs.utcluj.ro