• Stars
    star
    134
  • Rank 270,967 (Top 6 %)
  • Language
    C++
  • License
    MIT License
  • Created almost 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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"

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

More Repositories

1

lanenet-lane-detection

Unofficial implemention of lanenet model for real time lane detection
Python
2,018
star
2

CRNN_Tensorflow

Convolutional Recurrent Neural Networks(CRNN) for Scene Text Recognition
Python
1,019
star
3

attentive-gan-derainnet

Unofficial tensorflow implemention of "Attentive Generative Adversarial Network for Raindrop Removal from A Single Image (CVPR 2018) " model https://maybeshewill-cv.github.io/attentive-gan-derainnet/
Python
243
star
4

bisenetv2-tensorflow

Unofficial tensorflow implementation of real-time scene image segmentation model "BiSeNet V2: Bilateral Network with Guided Aggregation for Real-time Semantic Segmentation"
Python
209
star
5

sky-detector

Sky area detection without deep neural networks https://maybeshewill-cv.github.io/sky-detector/
C++
128
star
6

nsfw-classification-tensorflow

NSFW classify model implemented with tensorflow.
Python
71
star
7

MNN-LaneNet

Lane detection model for mobile device via MNN project
C++
67
star
8

segment-anything-u-specify

using clip and sam to segment any instance you specify with text prompt of any instance names
Python
35
star
9

DVCNN_Lane_Detection

Accurate and Robust Lane Detection based on Dual-View Convolutional Neutral Network
Python
25
star
10

mortred_model_server

High Performan Ai Model Web Server. Mainly support computer vision model. Quickly establish your own ai-model server. https://github.com/MaybeShewill-CV/mortred_model_server
C++
15
star
11

MaybeShewill-CV.github.io

CSS
5
star
12

image-classification-tensorflow

cnn models used for image classification
Python
4
star
13

sfnet-tensorflow

Python
4
star
14

cppn-tensorflow

Tensorflow implemention of "Compositional Pattern Producing Networks: A Novel Abstraction of Development" model"
Python
2
star
15

machine-learning-package

machine learning method implemention
C++
2
star
16

MaybeShewill-CV

2
star