javascript

[WebGL] Vertex and Fragment

A shader program consists of vertex and fragment shaders. A vertex shader defines the geometric attributes of vertices, whereas fragment shader defines their color. In this post, I’ll address how to create the vertex and fragment shaders and how to use them. Vertex shader In vertex shader, w...

[WebGL] Shader Program

GLSL (OpenGL Shading Language) is a programming language for simple program, Shader, that describes the color attribute of each vertex in parallel computation. Thus, all vertices do not know the status of other vertices nearby, i.e., vertices are blind to the others. But, if we use a uniform v...

[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 ↥

three.js

[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 ↥

visual odometry

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 ↥

optical flow

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...

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...

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...

Back to top ↥

real-time

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...

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...

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...

Back to top ↥

motion segmentation

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...

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...

Back to top ↥

dynamic environment

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 ↥

event camera

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...

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...

Back to top ↥

shader

[WebGL] Vertex and Fragment

A shader program consists of vertex and fragment shaders. A vertex shader defines the geometric attributes of vertices, whereas fragment shader defines their color. In this post, I’ll address how to create the vertex and fragment shaders and how to use them. Vertex shader In vertex shader, w...

[WebGL] Shader Program

GLSL (OpenGL Shading Language) is a programming language for simple program, Shader, that describes the color attribute of each vertex in parallel computation. Thus, all vertices do not know the status of other vertices nearby, i.e., vertices are blind to the others. But, if we use a uniform v...

[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 ↥

glsl

[WebGL] Vertex and Fragment

A shader program consists of vertex and fragment shaders. A vertex shader defines the geometric attributes of vertices, whereas fragment shader defines their color. In this post, I’ll address how to create the vertex and fragment shaders and how to use them. Vertex shader In vertex shader, w...

[WebGL] Shader Program

GLSL (OpenGL Shading Language) is a programming language for simple program, Shader, that describes the color attribute of each vertex in parallel computation. Thus, all vertices do not know the status of other vertices nearby, i.e., vertices are blind to the others. But, if we use a uniform v...

[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 ↥

simulator

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 ↥

edge

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...

Back to top ↥

angular velocity

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 ↥

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 ↥

webgl

[WebGL] Vertex and Fragment

A shader program consists of vertex and fragment shaders. A vertex shader defines the geometric attributes of vertices, whereas fragment shader defines their color. In this post, I’ll address how to create the vertex and fragment shaders and how to use them. Vertex shader In vertex shader, w...

[WebGL] Shader Program

GLSL (OpenGL Shading Language) is a programming language for simple program, Shader, that describes the color attribute of each vertex in parallel computation. Thus, all vertices do not know the status of other vertices nearby, i.e., vertices are blind to the others. But, if we use a uniform v...

Back to top ↥

gravity

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 ↥

MFC

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 ↥

panorama

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 ↥

blending

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 ↥

stitching

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 ↥

survey

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 ↥

solar system

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.

Back to top ↥

google play

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.

Back to top ↥

android studio

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.

Back to top ↥

rgbd

Back to top ↥

lifetime

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...

Back to top ↥

monocular

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...

Back to top ↥

depth estimation

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...

Back to top ↥

autoUpdater

[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 ↥

electron-builder

[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...

Back to top ↥

vue

[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...

Back to top ↥