The present invention relates to a method and system that leverages the ubiquitous and low-energy inertial sensors available in commodity smartphones to provide an accurate estimate of vehicle's current lane.
Lane-level positioning systems for cars represent the next generation for outdoor navigation, where systems will not just predict the vehicle location on the road but also its exact driving lane. This fine granularity is required for a wide range of emerging applications including advanced driver assistance systems (ADASs) (Sabine Hofmann et al. 2009), autonomous cars (e.g. the Google driverless car), lane-based traffic estimation, electronic toll fee collection (André de Palma et al, 2011), and predicting driver's intent (Anup Doshi et al, 2011a and Anup Doshi et al, 2011b), among others.
A number of systems were proposed to provide finer lane level localization accurately (David Bétaille et al. 2010, Dong Li et al. 2012, Feixiang Ren et al. 2010. Zui Tao et al. 2013, Rafael Toledo-Moreo et al, 2010, and Rafael Toledo-Moreo et al. 2009). However, these systems require special sensors to be installed on all vehicles (e.g. the RF sensors in (Dong Li et al. 2012)) and/or an expensive calibration phase (e.g. (David Bétaille et al. 2010, Zui Tao et al. 2013, Rafael Toledo-Moreo et al. 2010, and Rafael Toledo-Moreo et al. 2009)), limiting their ubiquitous deployment. Computer vision based techniques, e.g. (Feixiang Ren et al. 2010), use a camera to detect the lane markings. However, using an image processing solution raises challenges for accurately predicting the lane whenever the road markings are unclear, line-of-sight is obstructed, and/or bad weather conditions. The process also uses extensive energy and processing power from smartphone battery.
Current state-of-the art outdoor car navigation techniques can only provide an accurate lane position for about 10 meters in urban environments (Heba Aly et al. 2013). While such accuracy may be enough for ordinary vehicle location based services (Heba Aly et al. 2014 and Kenneth Wai-Ting Leung et al. 2011), it fails to estimate the vehicle's exact lane position. There is a need for a more accurate and ubiquitous solution.
In the present disclosure, we propose a method and system (LaneQuest), that leverages the ubiquitous sensors available in commodity smartphones to automatically predict lanes in which the vehicle is travelling.
In one embodiment, the LaneQuest system leverages the ubiquitous sensors available in commodity smartphones to provide an accurate and energy-efficient estimate of the car's current lane. LaneQuest starts the calculation by using an ambiguous location data estimate, e.g. reported by the GPS for driving events detected by the phone sensor.
In one embodiment, specifically LaneQuest uses the low-energy inertial sensors measurements to recognize unique motion events while driving such as changing the lane, turning right, or passing over a pothole. These events or “lane anchors” provide hints about the car current lane. For example, a car making a left turn most probably will be in the left-most lane; similarly, potholes typically span only one lane, allowing detecting the lane of cars that pass through them.
In one embodiment, a method to reduce the ambiguity in lane estimation is done by using a crowd-sensing approach to detect a large class of lane anchors as well as their positions through the road network and the lanes they span.
In one embodiment to mitigate the sensors' noise, location ambiguity, and error in anchors location estimation, LaneQuest, as a method, models the lane estimation problem as a Markov lane detection problem. The attributes that are used for this calculation are the vehicle motion events (such as changing lanes) with lane anchor detection in a unified probabilistic framework. In one embodiment, LaneQuest was implemented on different android devices and evaluated in different cities covering more than 260 km, the results show that the method and system may detect the different lane anchors with an average precision and recall of 93% and 91% respectively. In another embodiment, the accuracy of detection of the car lane was more than 70% of the time, increasing to 89% to within one lane error. In another embodiment, LaneQuest has a low-energy profile when implemented along with different localization techniques.
The present invention also relates to a method that defines a differentiation of analysis done on the data from sensors in smartphones from those who are in the vehicle and those who have driven many times and observed (crowd-sourced data) for motion based changes (moving right and left) and anchor based (curves, potholes, tunnels etc.) changes.
In one embodiment, architecture of LaneQuest is disclosed as an energy efficient crowd-sensing system that leverages the sensed lane-anchors and vehicle's dynamics to provide an accurate estimate of the car's current lane without any prior assumption on the cars starting lane position.
In one embodiment, a unified probabilistic framework for robust detection of vehicles' driving lane is disclosed. A method is designed to use a crowd-sensing approach for detecting the position and lanes of different types of lane-level anchors. The proposed method captures the inherent ambiguity in the crowd-sensing process. In one embodiment the system and method uses android as an operating system but is not limited to it.
In one embodiment, the LaneQuest architecture, system and method is designed to automatically crowd sense and identify anchor semantics from available sensor readings without inferring any overhead on the driver and with minimal energy consumption. In one embodiment, the method of extracting the different motion and anchor features from both driver smartphone and crowd-sourced data is performed. In one embodiment, the geographical range of LaneQuest on Android devices spans up to 260 KM.
In one embodiment, predicting the probability that a vehicle is in a particular lane at a given time using organic lane anchors data and probabilistic calculation method is done. The method of calculating probabilistic data gets the input from both motion model and perception model.
In one embodiment, LaneQuest accepts input from the phone sensors about the surrounding environment to detect the vehicle's lane. For example, a vehicle making a right turn most probably will be in right most lanes, a vehicle passing by a pothole will be in a specific lane and a vehicle's angular velocity when driving through a curve will reflect its lane. In another embodiment, the ambiguity of location, sensors noise and fuzzy lane anchors are also used by LaneQuest to calculate by using a novel probabilistic lane estimation algorithm. LaneQuest also uses an unsupervised crowd-sourcing method to learn the position and lane span distribution of the different lane-level anchors, in one embodiment.
Other features will be apparent from the accompanying figures and from the detailed description that follows.
Example embodiments are illustrated by way of example and no limitation in the graph and in the accompanying figures, like references indicate similar elements and in which:
Other features of the present embodiments will be apparent from the accompanying detailed description that follows.
The present disclosure relates to a method and system to accurately predict a stationary or moving vehicle's lane.
LaneQuest leverages the ubiquitous sensors available in commodity smartphones to provide an accurate and energy-efficient estimate of the vehicle's current lane. Starting from an ambiguous location estimate, e.g. reported by the GPS 304, LaneQuest leverages driving events detected by the phone sensor to reduce this ambiguity 306. Specifically, LaneQuest uses the low-energy inertial sensors 306 measurements to recognize unique motion events while driving such as changing the lane, turning right, or passing over a pothole. These events or “lane anchors” provide hints about the vehicle's current lane. For example, a vehicle making a left turn most probably will be in the left-most lane; similarly, potholes typically span only one lane, allowing detecting the lane of cars that pass through them. LaneQuest uses a crowd-sensing approach 308 to detect a large class of lane anchors as well as their positions through the road network and the lanes they span, exploiting them as opportunities for reducing the ambiguity in lane estimation.
To handle the sensors' noise, location ambiguity, and error in anchors location estimation, LaneQuest models the lane estimation problem as a Markov lane detection problem 310 that combines the vehicle motion events (such as changing lanes) with lane anchor detection in a unified probabilistic framework 312. We have implemented LaneQuest on different android devices and evaluated it using driving experiments at different cities covering more than 260 km. Our results show that LaneQuest can detect the different lane anchors with an average precision and recall of 93% and 91% respectively. This leads to accurately detecting the vehicle's lane with more than 70% of the time, increasing to 89% to within one lane error. Moreover, LaneQuest has a low-energy profile when implemented on top of different localization techniques.
The architecture has four main components: The Preprocessing module 404, the Event Detection module 410, the Probabilistic Lane Estimation module 426 and the Lane Anchor update module 418. The Preprocessing module 404 is responsible for processing the raw input sensors 406 and location data to reduce the noise 408. LaneQuest collects time and location stamped measurements from the energy efficient inertial sensors in the smartphones. These include the accelerometer, gyroscope and magnetometer. To handle the noise in the sensors readings, we apply a local weighted low-pass regression filter. In addition, we also transform the sensor readings from the mobile coordinate system to the car coordinate system leveraging the inertial sensors. After this transformation, the sensors y-axis points to the car direction of motion, x-axis to the left side of the car, and z-axis is perpendicular to Earth (pointing to the car ceiling). For location information, LaneQuest does not require a specific localization technique; it can leverage GPS, network based localization techniques or other more accurate and energy-efficient GPS-replacement techniques. To further enhance the input location accuracy, we apply map matching to align the car's location estimates to the road network 406.
The event detection module 410 detects unique signatures of driving patters to give clue about vehicle's current lane. LaneQuest detects two type of events lane change events 416 and encountering lane anchors 414. LaneQuest differentiates between two types of lane anchors 412: Boot-strap anchors have a clear pre-known lane distribution across the road. For example, stopping a car occurs in the rightmost lane; a U-Turn is initiated in the left-most lane, and a right-turn happens with high probability in the right-most lane. On the other hand, organic anchors have unique signatures across the different lanes but their lane distribution cannot be pre-known and need to be learned. For example, a pothole can be detected by the phone sensors, though we do not know apriori in which lane this pothole is located. LaneQuest uses an unsupervised crowd-sourced approach to capture these anchors and identify their lanes distribution 418.
LaneQuest uses a probabilistic estimation technique 426 to derive the probability distribution of the vehicle being in a particular lane. The sensors continuously monitor sensors data, and if a motion event is detected, either moving left or right, the motion update model 428 kicks in. If the vehicle passes an anchor, then the perception model 430 kicks in. Based on the detected events, the user lane state 432 is updated and verified whether it is within the confidence interval 434 to accept as a lane estimate or not. Finally, the organic lane anchor update module 418 is used for estimating the road localization and lane distribution of organic anchors such as curves and pot holes 412. It uses crowd-sensing approach, where the information about the detected lane anchors by different users are collected and processed to estimate the anchor location and lane distribution. This is done by two stages clustering 420, first using lane anchors and then spatial clustering, followed by lane aggregation per clustering 422, leading to anchor refinement 424. These lane anchors are saved in a repository 412 for usage in lane-anchor detection.
To achieve robust and accurate lane estimates based on the noisy inertial sensors measurements, the ambiguous vehicle locations, human driving anomalies, and fuzzy lane anchor locations; LaneQuest uses a probabilistic estimation technique 426. Specifically, lane estimation technique is based on Markov Localization, which is known in the robotics domain for addressing the problem of state estimation from noisy sensor data. Instead of maintaining a single hypothesis about the robot location, Markov localization uses a probabilistic framework to maintain a probability density over the set of possible locations. Such a density can have an arbitrary form representing various position beliefs, including multi-modal distributions. Markov localization can deal with ambiguous situations and it can re-localize the robot position in the case of localization failures. The basic assumption in Markov localization is that the current state, i.e. the current robot location, captures the entire movement history (Markov assumption). That is, the current position is the only state in the environment which systematically affects the sensors readings.
Organic Lane Anchors Updates Module 418 is responsible for estimating the road location and lane distribution of organic anchors such as curves and potholes. It uses a crowd-sensing approach, where the information about the detected lane anchors by different system users is collected and processed to estimate the anchor location and lane distribution based on the reporting vehicle's lane distributions.
Let lt, denote the actual vehicle's lane position at time t and Lt denote the corresponding discrete random variable. lt can take values from 1 to n; where n is the number of lanes. The belief about the vehicle lane position at time t is Bel(Lt), which is the probability mass function representing the distribution. Initially, the value of Bel(L0=1) is 1/n, since it is equally likely that at the start vehicle could be in any lane and chance of it being in any particular lane is 1/n 702. Let et denotes the event detected at time t. The system can detect two types of event: motion events mt (i.e., lane changes to left or right) and lane anchor detection event at (example. pothole or a U-Turn). The system continuously monitors the vehicles's dynamics for lane estimation 704.
Whenever the system detects an anchor aT, perception model is used to detect the lane accurately. As per perception model 706, Probability that the vehicle is in lane 1, given an anchor e is detected can be calculated based on Markovian model.
P(Lt=l|e)=αTP(αT|LT=l)P(LT=l|e0, . . . ,eT-1)
Again, this can be put in a recursive form as:
Bel(Lt=l)=(αT)P(αT|LT=l)Bel(LT-1=l)
Where the term αT denotes a constant 1/P(aT|e0, . . . , eT-1). The term Bel(Lt=1) represents the perception model 706 which is normalized based on the term αT calculation 708. In the methodology, the value is calculated for each lane 1 to determine the distribution.
Whenever the system detects a lane change through the sensors, motion model 710 is used to calculate the probability that the vehicle is in lane 1. Again Markovian model is used to calculate the probability is calculated for each lane 1 to determine the distribution:
Bel(LT=l)=P(Lt=l|e)=Σi=1nP(LT=l|mT,LT-1=li)P(LT-1=li|e0, . . . ,eT-1)
LaneQuest detects the motion events (i.e. lane change). Drivers typically change their lanes while driving for several reasons including: a) the current lane is ending/merging b) the driver plans to make a turn at an upcoming intersection, or c) the driver wants to move to a faster/slower moving lane.
Similarly, LaneQuest also detects anchors to determine the lanes. LaneQuest defines bootstrap anchors as anchors that have unique sensors signature and a priori known lane distribution. These anchors include turns, merging and exit lanes, and stopping lanes. For the rest of this subsection,
Turns: Turns and U-Turns force the vehicle to change its direction by around 90° and 180° respectively, which results in a big variance in the vehicle's orientation 1002 along with a change in its final orientation when it ends 1006. This was captured using the phone's orientation sensor 604 as shown in
Merging and Exit Lanes 1010: A merging lane is used to merge traffic between two roads. Similarly, an exit lane is used to exit a road, e.g. a highway, to another. Usually these lanes have a special extra lane to the main lanes on the road. The location of these lane anchors can be extracted from the digital map and passing by them can be detected based on the car's map matched location. These lanes are usually the last lanes to the right or left. Therefore, if a vehicle uses an exit or merge lane, its lane distribution will be skewed 1016. Note also that not taking an exit or merge lane indicates that the vehicle is not located in these special lanes. This negative information can be associated with the complement distribution of this type of anchors.
Stopping Lanes: A vehicle may only park in the right-most lane of a driving road. However, traffic signals and road congestion can make a car stop at any lane. To differentiate between parking and the other cases, we use a simple time filter, where parking is detected only if the vehicle stops 1004 for more than 3 minutes 1008. A parking anchor distribution 1014 clusters mainly on the rightmost lane only and have small weights for the other lanes.
Organic Lane Anchors: LaneQuest also defines organic anchors which have unique sensors characteristics across the different lanes. However, their lane distribution and road position cannot be predetermined without war-driving. These anchors include curves, tunnels, and potholes.
Curves:
Tunnels: Going inside a tunnel causes a drop in the cellular signals for all the heard cell-towers. This drop can be used to detect the tunnel, but not the specific lane inside the tunnel as it is sensed in all lanes. Studying the effect of moving inside large tunnels with a number of lanes, we noticed a large variance in the ambient magnetic field in the x-direction (perpendicular to the car direction of motion) while the car is going inside the tunnel and going out of the tunnel. This can be explained by the metal and infrastructure (e.g. electricity lines) that exist on the side of the tunnel structure.
Potholes and other anomalies: Anomalies in the road surface such as potholes span only part of the road compared to traffic calming device (e.g. bumps and cat's eyes), which spans the whole road. We identify such anomalies using thresholding on the variance of the z-gravity acceleration. However, this leads to an ambiguity with other traffic calming devices. To resolve this ambiguity, we further use our unsupervised learning approach. Typically, a traffic calming device such as a bump will have a uniform distribution over all lanes compared to a pothole that has a narrow distribution.
Automatic Detection of Organic Lane Anchors: Organic anchors have known sensors signature but their exact location in the road and their probability distribution across the lanes cannot be predetermined unless a calibration phase across the area of interest is employed. Typically, this imposes an arduous data collection at the different lanes for the entire area. To reduce this overhead, we propose an unsupervised crowd-sourcing approach for identifying these lane-anchors profile. Specifically, for each identified road anchor (e.g. a curve lane), we aim to determine its road location as well as its lane span distribution. Our analysis shows that, in general, our lane-anchors expose different signatures across the road's lanes.
To summarize,
Motion Detection and Bootstrap Anchor Detection Accuracy: LaneQuest was implemented and tested on different android devices including HTC Nexus One, LG Nexus 4, LG D686, Samsung Galaxy Note and Nexus. The system was evaluated over 200 KM geographical area. Table below shows the confusion matrix for detecting the motion events (i.e. lane change) and the related anchors (i.e. turns and curves). The table shows that we can detect the lane-changes, turns, and curves with high accuracy. This in turn enables high accuracy in lane estimation.
Organic Anchor Detection Accuracy:
Lane Estimation Accuracy:
Power Consumption:
Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The invention is valid for all vehicles and prediction of lane traveled by vehicles in all types of roads. The invention works with all smart phones that are equipped with standard sensors including GPS. The invention does not require any special permission to be generated on the smart devices. The hall mark of the invention is that the innovation works seamlessly and silently in the background without any disturbance to the smart device owners to carry on the sensor data and updating the lane probability. Please note that the procedure works well with smart devices. The invention is directly applicable to the transport industry where accurate prediction of vehicle lane are needed at ground level for people to move about and avoid any possible hindrance such as closure of lanes, congestion, lane changes due to accidents and any possible repair work closures. The invention can be applied to the map industry to provide real-time data to customers on the traffic congestion at lane level granularity.
The instant application is a continuation of a pending PCT application PCT/IB2014/064939 filed on Sep. 30, 2014. The pending PCT application is hereby incorporated by reference in its entireties for all of its teachings.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/IB2014/064939 | Sep 2014 | US |
Child | 14661272 | US |