Research

Robust Event-based Angular Velocity Estimation in Dynamic Environments

Abstract: This dissertation addresses the problem of estimating the angular velocity of the event camera with robustness to a dynamic environment where moving objects exist. These vision-based navigation problems have been mainly dealt with in frame-based cameras. The traditional frame-based came...

Real-time Object-aware Monocular Depth Estimation in Onboard Systems

Abstract: This paper proposes the object depth estimation in real-time, using only a monocular camera in an onboard computer with a low-cost GPU. Our algorithm estimates scene depth from a sparse feature-based visual odometry algorithm and detects/tracks objects’ bounding box by util...

Edge Detection for Event Cameras using Intra-pixel-area Events

Abstract: In this work, we propose an edge detection algorithm by estimating a lifetime of an event produced from dynamic vision sensor, also known as event camera. The event camera, unlike traditional CMOS camera, generates sparse event data at a pixel whose log-intensity changes. D...

Real-time Rigid Motion Segmentation using Grid-based Optical Flow

Abstract: In the paper, we propose a rigid motion segmentation algorithm with the grid-based optical flow. The algorithm selects several adjacent points among grid-based optical flows to estimate motion hypothesis based on a so-called entropy and generates motion hypotheses between two images, th...

Survey on Visual Odometry Technology for Unmanned Systems

Abstract: This paper surveys visual odometry technology for unmanned systems. Visual odometry is one of the most important technologies to implement vision-based navigation; therefore, it is widely applied to unmanned systems in recent years. Visual odometry estimates a trajectory and a pose of t...

Exposure Correction and Image Blending for Planar Panorama Stitching

Abstract: In this paper, we propose a planar panorama stitching method to blend consecutive images captured by a multirotor equipped with a fish-eye camera. In addition, we suggest an exposure correction method to reduce the brightness difference between contiguous images, and a drift error corre...

Back to top ↥

Conference

Edge Detection for Event Cameras using Intra-pixel-area Events

Abstract: In this work, we propose an edge detection algorithm by estimating a lifetime of an event produced from dynamic vision sensor, also known as event camera. The event camera, unlike traditional CMOS camera, generates sparse event data at a pixel whose log-intensity changes. D...

Real-time Rigid Motion Segmentation using Grid-based Optical Flow

Abstract: In the paper, we propose a rigid motion segmentation algorithm with the grid-based optical flow. The algorithm selects several adjacent points among grid-based optical flows to estimate motion hypothesis based on a so-called entropy and generates motion hypotheses between two images, th...

Exposure Correction and Image Blending for Planar Panorama Stitching

Abstract: In this paper, we propose a planar panorama stitching method to blend consecutive images captured by a multirotor equipped with a fish-eye camera. In addition, we suggest an exposure correction method to reduce the brightness difference between contiguous images, and a drift error corre...

Back to top ↥

JavaScript

[Three.js] Shader Material

A shader material is rendered with a custom shader. It requires vertex and fragment shaders which are written in GLSL (openGL Shading Language) code and depict the position of a vertex and its color, respectively. Since these codes run on the GPU using WebGL, a ShaderMaterial is rendered prope...

[Three.js] PBR (Physical-based rendering) Material

Three.js provides the material attribute for a 3D object, which determines how the object reflects light and how the object is rendered in a camera. The properties of material are composed of base color, metalness, roughness, and so on. Moreover, we can decorate the surface of a 3D object by u...

[Three.js] Scene Graph

Sun-Earth system In this article, I’ll create a simple Sun-Earth system. Firstly, create an orange sphere and a blue sphere which represent the Sun and the Earth, respectively. // create sphere geometry for Sun and Earth const geometry_sphere = new THREE.SphereGeometry(1, 30, 30); // object Sun...

[Three.js] How to Create a Scene

Create the scene environment For Three.js to render a scene, it needs scene, camera, and renderer. In JavaScript, you have to import Three.js depending on the installation options as mentioned in the previous article. // main.js import * as THREE from 'three' In HTML, to display the rendering r...

[Three.js] Installation

Three.js is a JavaScript library for creating and animating 3D computer graphics in browser using WebGL. 1 Installation You can install Three.js with NPM or from a CDN. Option 1: Install with NPM Install Node.js Install Three.js and Vite: npm install --save three npm install --sav...

[Three.js] How to Create the Solar System

The above image is the snapshot of a solar system simulator.1 The posts will be serialized in the order of contents below. Three.js basics Installation Create scene Coordinates PBR (Physical-based rendering) material Shader material GLSL basics ...

Back to top ↥

Journal

Real-time Object-aware Monocular Depth Estimation in Onboard Systems

Abstract: This paper proposes the object depth estimation in real-time, using only a monocular camera in an onboard computer with a low-cost GPU. Our algorithm estimates scene depth from a sparse feature-based visual odometry algorithm and detects/tracks objects’ bounding box by util...

Survey on Visual Odometry Technology for Unmanned Systems

Abstract: This paper surveys visual odometry technology for unmanned systems. Visual odometry is one of the most important technologies to implement vision-based navigation; therefore, it is widely applied to unmanned systems in recent years. Visual odometry estimates a trajectory and a pose of t...

Back to top ↥

Application

Solla Solar

Solla Solar is a simple 2D solar system simulator. By manipulating the screen, you can observe the past, present, and future of the solar system.

Gravity Simulator

This is an application to simulate particles’ movement under Newton’s law of universal gravitation. Particles attract each other, and then they are collided and merged or orbit the center of mass. Some particles can fade away toward the horizon of the universe. I designed and implemented the appl...

Back to top ↥

Electron

[Electron] How To Publish an Electron App to Github at Build Time

In the page, I’ll introduce a method to build an electron app and automatically publish it to GitHub using electron-builder. First, you should install electron-builder: npm install --save-dev electron-builder Then, you should add repository and build option in package.json as below: // pac...

[Electron] How To Update an Electron App Automatically

The autoUpdater enables an electron app to check the latest version and update itself automatically. 1 Installation You can install autoUpdater via NPM or yarn: npm install --save—dev electron-updater or yarn add electron-updater Example In main .js file of electron, autoUpdater can be de...

Back to top ↥

Patent

Ego Motion Estimation Method and Apparatus

Abstract: Disclosed is an ego motion estimation method and apparatus, wherein the apparatus calculates a scene flow field from a plurality of spaces of an input image, clusters the plurality of spaces based on a scene flow, updates a probability vector map for clustered spaces, identifies a stati...

Back to top ↥

Dissertation

Robust Event-based Angular Velocity Estimation in Dynamic Environments

Abstract: This dissertation addresses the problem of estimating the angular velocity of the event camera with robustness to a dynamic environment where moving objects exist. These vision-based navigation problems have been mainly dealt with in frame-based cameras. The traditional frame-based came...

Back to top ↥