170 likes | 175 Views
This project aims to improve the performance of the old lane detection algorithm and implement it in YaM. The focus is to ensure compatibility with the new system architecture and demonstrate basic functionalities like raw image edge detection and lane detection by line fitting.
E N D
Sensing team Johnny Zhang Lane Marking - -RoadPerpector
Overview: Goals Improving the performance of the old lane detection algorithm. Implement the lane detection algorithm in YaM. Main focus of this project this term: Make sure the module can run in YaM and is compatible with the new system architecture. Demonstrate basic functionalities of the module Raw image edge detection. Lane detection by line fitting.
Overview: Data Flow • Input: Raw video frames • Output: Images processed by vertical sobel filter with fitted lines.
Overview: Status The lane marking perceptor is currently a major function under roadPerceptor, which consists three parts: Stop Line Detection Lane Marking Detection Road Plane Identification Implementation of lane marking has been done. Able to demonstrate basic lane marking fitting.
Approach: Sobel Filter Original Image:
Approach: Sobel Filter Processed Image After Sobel Filter
Approach: Vertical Filter • One major change: The old filter detect all edges regardless they are vertical or horizontal. • For the purpose of lane marking detection, added a layer of vertical filter on top of the sobel filter. • Improved the performance and reduce the possibility of false positives returned by the perceptor.
Approach: Vertical Filter Processed Image After Vertical Filter
Approach: Line Fitting Take the image after vertical filtering and fit lines (red) Problem: Lost an important line (yellow)
Output Format: • The output of the roadPerceptor will be stopeline, laneMarkings (my part), and roadplane. These will be outputted through sensorTalker to the mapper as line/plane objects. • The old roadFinding algorithm outputs lane markings as a table (in the form of a matrix) containing informations about each line.
Discussion: • Unfortunately, I was not able to visualize the outputted lines without manually draw them on the filtered image. • Still need to find the optimal threshold value to make sure all valid line will be returned. (A threshold determining function?) • I generated video clips of the real-time camera data and the filtered frames. However, due to the enormous size of the clip, I was not able to upload it, and the rendering rate is too fast for the filtered clip to visibly show anything. (I had to pause to see what is going on with each frame.) • Overall, the main feature of the algorithm is implemented in YaM and is able to demonstrate some basic functionalities. Therefore, it has reached TRL7.
Future Work: • Communication with the rest of the sensing modules: • Sam has just finished coding a communication module called sensetalker, which will receive messages from different perceptors and output them into mapper and the planners. We will have to talk to Sam to output lane data with a proper format.
Future Work: • Road Plane Identifiation: • Another major component of the roadPerceptor is the road plane. Once we can accurately estimate the road plane, we can double check with the stereo data of the line and eliminate all of the noise background vertical lines.
Future Work: • Lane Type Identification: • Since I have not got the chance to play with the colored stereo camera, I have not yet implement any lane type detection functions. The proposed idea is to compare the proximity of each line with each other in a single frame and pair them up if they are close to each other. We can use the number of grouped lines to determine the lane type (i.e double yellow, single white, etc.) Also, by varying the threshold value of the filter, we can differentiate between dashed lines and solid lines.
Future Work: • Feature Extraction: • According to the proposed design of the Fall term, I would like to implement color channel filtering and motion blur method to further enhance the raw camera data before running edge detection on it.