Skip to content

An easy, interface friendly cross-platform client to generate bird's view images using inverse perspective mapping methods proposed in paper "Adaptive Inverse Perspective Mapping for Lane Map Generation with SLAM"

License

MaybeShewill-CV/Easy-Ipm-Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Easy-Ipm-Client

An easy, interface friendly cross-platform client to generate top view images using inverse perspective mapping method. Since a lot of lane detection work are based on ipm images it is important to generate high quality ipm image for those users. This repo implement a easy use client for users who have no knowledge or experience with the inverse perspective mapping technology to generate top-view images.The clinet is mainly based on Qt so it is convenient to compile on other platform.

Inverse Perspective Map Model

This repo implement the model supplement in the paper "Adaptive Inverse Perspective Mapping for Lane Map Generation with SLAM".You may refer this https://ieeexplore.ieee.org/document/7734016 for details. Use the camera's motion information to implement an adaptive model for the IPM to accurately transform camera images to bird’s-eye view images. The model's schematic diagram are as follows

Side view of the IPM model

IPM_Model_Side_View

Top view of the IPM model

IPM_Model_Top_View

Install && System information

The system information and library used in this project are as follows:

OS: Ubuntu 16.04 LTS

Compiler: GCC 5.4 supported with c++ 11

Qt Library: qt 5.6

IDE: qt creator 4.8

BOOST: boost 1.58.0

OPENCV: opencv 3.4

To use this software you need first install qt library. You may follow the instruction how_to_install_qt_lib . Then you need opencv and boost installed on your local machine the two following instructions will lead you to the how to page. how_to_install_boost and how_to_install_opencv . Then you can use qt creator to open the .pro file to configure the project. A prebuiilt release version and a prebuilt debug version of the client has already been uploaded into the ROOT_DIR/release and ROOT_DIR/debug folder.

Usage and Examples

This client contains three work panel. Camera calibration module, inverse perspective map module and batch process ipm images module.

Camera Calibration Module

Select the camera calibration panel and adjust the parameters which fits your dataset and run the calibration. During the process progress you may watch the progressbar to monitor progress and the corner detection result may be seen on the screen panel. When process finished the calibration result will be written in the yml file. You may use the calibration result to distorate the source image.

Start Up Example

Start_Up_Example

Adaptive Inverse Perspective Mapping Module

Select the Ipm Para Panel and adjust all the parameters needed to generate ipm images.Here is a simple glimpse at the description of the parameters.

Calib Width/Height: the image size of the camera calibration result image

Camera Pitch: the camera pitch angle

Camera Yaw: the camera yaw angle

Vp Point X/Y: the vanish point which is used with image boundary to locate the image roi to generate the ipm image

Ipm Width/Height: the image size of the result ipm image

The two most important parameter you need to adjust are the pitch angle and the vp point y. The pitch angle control the camera's motion and the vp point y control the roi location. You may save all the parameters you use to generate the ipm image into a yml file which may be used during future batch process work.

Follows are two ipm images generated with different parameter.

Batch Process Ipm Module

Select the Ipm Exec Panel and fill in the process parameter. Only static model was released for now and the model will use the parameter which was set on the Ipm Para Panel to batch generate the ipm images in the ccd dir. The progress and ipm images will show in the work panel.

Short cuts

The client support a few kinds of short cuts and tools to allow you adjust the model. You may check the image pixel coordinate and rgb value in the status bar.

A: previous image when you select a image dir

D: next image when you select a image dir

ctrl + scroll down: image zoom out

ctrl + scroll up: image zoom in

About

An easy, interface friendly cross-platform client to generate bird's view images using inverse perspective mapping methods proposed in paper "Adaptive Inverse Perspective Mapping for Lane Map Generation with SLAM"

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages