Giter Site home page Giter Site logo

image-enhancement-for-slam's Introduction

Image Enhancement for SLAM

在使用Semi-direct Method跑Euroc Dataset的v103数据时,发现效果很不好。导致错误的主要的原因有:图片太暗,对比度太低;图片亮度变化很大(不限于帧间,左右目有时候也会出现亮度不一致的情况)。于是,需要对输入图像进行预处理,提高图片的对比度,并且使得进行跟踪的两张图片亮度一致。

对于提高图片的对比度,最简单的方法是使用直方图均衡化。不过直方图均衡化有一些很明显的缺点,如变换后细节消失;不自然的过分增强。对于SLAM系统,往往会在过份增强的纹理上提取出一些关键点,而这些关键点我们认为是不稳定的。所以,我们需要一种更加先进的图像增强算法用于SLAM的图像预处理。

本文提出了一种基于Retinex理论的图像增强算法,对欠曝光的图像进行增强, 能够恢复图像中的纹理,并且做到实时处理。

References

Papers Describing the Approach:

罗汉杰. 图像增强方法、装置、计算机设备和存储介质 [P]. **专利: CN109801244A,2019-05-24. http://www.luohanjie.com/2018-11-01/image-enhancement-for-slam.html
http://www.luohanjie.com/2020-07-17/image-enhancement-algorithm-for-slam.html

Requirements

The code is tested on Ubuntu 14.04. ImageEnhance requires the following tools and libraries: CMake, OpenCV 3.4.

Building

#!bash

cd Image-Enhancement-for-SLAM
mkdir build
cd build
cmake  ..
make

Test:

#!bash
./bin/test_image_enhance

Example of result

Input image:
input image

Output image:
input image

Test in underground parking lot dataset:
Test in underground parking lot dataset

Test in Euroc dataset V1_03_difficult:
Test in Euroc dataset V1_03_difficult

Test for semi-direct method in Euroc dataset:
Test for semi-direct method in Euroc dataset

Contact information

Hanjie Luo [email protected]

image-enhancement-for-slam's People

Contributors

hanjieluo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.