Hao Du - Google Inc. 1600 Amphitheatre Pkwy, Mountain View, CA, USA - duhao 'AT' cs.washington.edu




Research & Projects

  • -- [Published Research] --
Img: RGBD 3D  

Interactive 3D Modeling of Indoor Environments with a Consumer Depth Camera,
We utilize (Kinect style) consumer depth cameras to enable non-expert users to scan their personal spaces into 3D models. We build a prototype mobile system for 3D modeling that runs in real-time on a laptop, assisting and interacting with the user on-the-fly. Color and depth are jointly used to achieve robust 3D registration. The system offers online feedback and hints, tolerates human errors and alignment failures, and helps to obtain complete scene coverage. (PDF, Demo Video)

Img: Multispectral  

A Prism-based System for Multispectral Video Acquisition,
We propose a prism-based system for capturing multispectral videos. Incoming light beams from the scene are sampled by the occlusion mask, dispersed into their constituent spectra by the triangular prism, and then captured by the monochrome camera. Our system is capable of capturing videos of high spectral resolution. We demonstrate the effectiveness of our system with several applications, including human skin detection, physical material recognition, and RGB video generation. (Web Site , PDF, Supplementary Materials)

Img: 3D_REM  

3D Reconstruction with Relative Epipolar Motion,
Feature correspondence is a key issue in binocular stereo. The proposed approach matches feature trajectories instead of the features themselves as used by existing methods. It is able to deal with dynamic scenes with indistinguishable features, where challenging cases include, (1) Dynamic 3D scenes with large number of undistinguishable drifting particles; (2) Dynamic surfaces with repetitive textures; (3) Deforming textureless surfaces with actively projected particle-like patterns. (Web Site , PDF, Poster, Video Result)




Pattern Classification using Rectified Nearest Feature Line Segment,
A new pattern classifier termed rectified nearest feature line segment (RNFLS) is proposed. RNFLS enhances the representative capability of the original samples using line-segments conntecting the sample points from the same category, i.e. virtually infinite number of samples along the linear interpolation of the samples from the same class are added and rectified. RNFLS possesses the advantage of concentrating the distribution density, which is viewed as an inverse of the sample-scattering that usually happens in real-world cases. Experiments show that RNFLS significantly outperform 1-NN, k-NN and NFL in most benchmarks. (PDF, PPT)

  • -- [Projects] --

eBand.NET is an Internet community for people to compose music together. Tools including humming to music, whistling to music, and painting to music are available. The system merges together the melodies composed by different users. For example, one knocks a table with a pen, and eBand transforms the sound into a type of a chosen drum; another user hums to the microphone, and eBand changes it to a piece of violin melody; also painted notes could be transformed into piano sound. eBand.NET is a six member team project, which won us 2nd Place in Microsoft Imagine-Cup 2003 China Final Contest with a free trip to the World Final in Sao Paulo, Brazil. (Web, VideoDemo)

  Texture Classification
Let the computer recognize & classify textures. In this work, I implemented Chen et al's Statistical Geometrical Features(SGF) method for texture analysis. Each texture image of 640*640 resolution is cut into to 4*4=16 pieces, and is tested using the leave-one-out strategy. Experiment result verifies that SGF is robust and able to achieve 88.68% correct-classification-rate on the entire Brodatz set. Also I am farmilier with its recent extensions including Statistical Landscape Features (SLF), and Multiscale Blob Features (MBF). Click to see my experiment results of SGF -> [go].
  CPU 32bit RISC
I designed a 32bit RISC CPU with 5-level pipelines using VHDL and implemented it on a Xilinx-FPGA. The CPU supports 18 assembly instructs. The assembler is written in C++. A successful test case was a program listing the prime numbers below 100, and printing using a onboard printer. In this project, I learned hardware-level details of how a CPU works and how it interacts with peripherals such as keyboard, printer through I/O interface, as well as the entire procedure of designing instructs, binary code and assembly. (Web)
  • -- [Research for Fun] --

3D Display & Depth Sensitivity of Human-Eyes,
We built 3D display systems using two approaches, (1) projector pair, polarized filters & glasses; (2) LCD shutter-glasses & 150Hz CRT screen. We captured realworld stereo pictures using calibrated camera pair and also developed stereo animations using OpenGL. The visual effect is really cool. With this 3D display system, we tested the depth-sensitivity of human eyes to scenes that are vertically blurred and horizontally blurred. The result shows that even human feel difficult to estimate the scene-depth without clear features, as what happens in computational 3D stereo reconstruction.


Auto-Generating an English-Chinese Dictionary,
In this work, I proposed a method to automatically generate an English-Chinese Translation Dictionary. The input is the sentence aligned parallel language corpus. The method statistically analyzing the co-occurrence of English and Chinese word pairs. Experiment on the corpus data, 'the Bible', shows that the proposed method successfully extract 5,668 word pairs, and achieves 60% 1st level correct-translation-rate (CTR) and 88% 4th level CTR. (PDF in Chinese)


Handwritten Character Recognition using the Angle-Chain Code,
'Angle chain-code' (Zhao & Chen, Chinese Journal of Software, No.2, 2004) is a descriptor for 2D shape representation. Unlike previous chain-code, it possesses scale-invariant and rotation-invariant properties so that it is more robust. The angle chain-code was originally used to describe 2D shapes, and I found it to be a very good descriptor for online handwritten character recognition. Experiments show that it gives good performance on online handwritten digits and characters recognition.



Reverse HTTP Proxy
From the outside Internet (WAN), how do we access a website that locates in a LAN behind the router? Besides solutions that require any setting-changes at the router side, e.g. VPN, Port-Forwarding, we can make it from scratch by designing a client-server reverse proxy. The key idea is to let a machine inside the LAN actively connet and establish a permanent TCP tunnel to the PC outside, and then we can access the internal LAN through this tunnel.

  • Collections
    random collections of papers, articles, links, etc


Cool Stuff

3D Capture - Projector Scan


Speaker -> Phone Dialer


Hybrid Images


A calculator by 8086 / 8088 ASM Language


The 24 Game


Fractal Images



-- ©2012 Hao Du --