Software Development Projects (1992-2005)

Date: May 22, 2005

Kyungnam Kim, Computer Science Department, University of Maryland, College Park, MD 20742

 

This document presents the software projects which I developed 100% or I had involved in as a team member.  It also details development languages used, period, contractor, etc.  Some projects involve hardware development.  Most software programs are operated on Microsoft Windows. The list below describes my technical skills related:

 

TECHNICAL SKILLS

¡¤         Computer languages and platforms: Visual C/C++, MATLAB, Visual Basic, Borland Delphi, LISP, Fortran, Pascal, HTML, x86 Assembler, PVM, Unix, Linux, MS-Windows.

¡¤         Hardware design: pASIC, QuickLogic, VHDL, Verilog, Synthesis/Simulation tool, Z80 microprocessor.

¡¤         Image processing, vision, graphics: MATLAB, Mathematica, IDL, SGRP, OpenGL, several commercial and free toolkits.

¡¤         Multimedia packages: Multimedia Toolbook, Authorware, Flash, Premiere, Photoshop.

 

Contents

1.        UMD-BGS (University of MarylanD BackGround Subtraction Program)

2.        Perturbation Detection Rate (PDR) Analysis Program

3.        NASA Crew Performance Analyzer

4.        Multi-camera Tracking of Occluded People

5.        Video Quality Measurement Program

6.        Face Animation

7.        Face Recognition

8.        Simple Object Tracker

9.        EyeTalk – Multimodal Human-Computer Interface

10.    Facial Feature Tracking

11.    Eye Tracking

12.    Parallel Programming of Vision Algorithms on PVM

13.    CAD Tool for Block Interlocking

14.    Image Database for Electricity Facility

15.    Personal Information Management System – Samsung Electronics

16.    Personal Information Management System – SunJin Fleet Co.

17.    Database for Water Supply Facility

18.    Score Board for TV Show

19.    Internet Guide for Dummies

20.    Tour Guide for Department Visitors

21.    Other Projects

22.    My logo artwork


UMD-BGS, University of MarylanD BackGround Subtraction Program

 

Goal

This background subtraction (BGS) program processes input video data captured from a static single camera to generate foreground/background binary image outputs. Our codebook background subtraction algorithm has these key functions - (i) fast and compact background modeling by a vector quantization technique, (ii) temporal filtering allowing foregrounds in the training period, (iii) a unique color model separating color and brightness evaluation efficiently, (iv) multiple background layers to handle background changes.

Start/End date

Aug 2001 – Aug 2004 (3 years development period)

My contribution

80% of 30,000 lines of codes, Algorithms

Language(Library)

Visual C/C++ (MFC, DirectShow, VisionSDK)
The libraries are used for interface purpose, e.g., display, input/output, but most coding was done from scratch

Platform

MS Windows

Features

Ÿ   Inputs can be live video (from any camera accepted by DirectShow, i.e., IEEE1394, USB camera, etc) , video files (*.avi, *.mpg, etc), or a sequence of image files (*.bmp, *.jpg, *.gif, *.ppm)

Ÿ   Processing speed: almost 30 fps w/o post-processing

Ÿ   Setting of parameters and post-processing options, Diagnostic displays, Event log, Binary detection images

Customer/User

UMD students, many people in computer vision research/industry communities

Remark

Ÿ   More details and download at http://www.umiacs.umd.edu/~knkim/UMD-BGS/index.html

Ÿ   Related publication: K. Kim, T. H. Chalidabhongse, D. Harwood and L. Davis, "Real-time Foreground-Background Segmentation using Codebook Model", Elsevier Real-Time Imaging 2005.

Main control program and parameter setting

 

Examples
 

 

 
Perturbation Detection Rate (PDR) Analysis Program

Goal

The program is a comparison platform for detection algorithms. It generates a text file containing detection rates which can be converted to a PDR graph. A performance evaluation method using perturbation analysis (called Perturbation Detection Rate analysis) is proposed. It measures the sensitivity of a background subtraction algorithm in detecting low contrast targets against background as a function of contrast. It could be used as an alternative of ROC.

Start/End date

Sep. 2002 – Feb. 2003 (6 months development period)

My contribution

60% of 20,000 lines of codes

Language(Library)

Visual C/C++

Platform

MS Windows

Features

Comparison of 4 detection algorithms by adjusting parameters and simulation options

Customer/User

Internal use only

Remark

Related publication: K. Kim, T. H. Chalidabhongse, D. Harwood and L. Davis, "PDR: Performance Evaluation Method for Foreground-Background Segmentation", submitted to EURASIP Journal on Applied Signal Processing.

Main control program and an example frame

 


Graph generation


NASA Crew Performance Analyzer

Goal

This project is to track NASA crew in the space shuttle and to analyze their motions, postures, etc. The ultimate goal of this project is to find out their cognitive states and to help designing shuttle interfaces, etc in ergonomics-view. (2001-2002)

Start/End date

2001 – 2002 (1 year development period)

My contribution

30% of 20,000 lines of codes

Language(Library)

Visual C/C++

Platform

MS Windows

Features

 

Customer/User

Foster-Miller Inc. (a NASA sub-contractor)

Remark

We used our background subtraction program for this application

Main control program and an example frame


Multi-camera Tracking of Occluded People

Goal

Tracking and segmentation of occluded people using multiple overlapped views.

Start/End date

Nov. 2004 – Jul. 2005, (9 months development period)

My contribution

100% of 5,000 lines of codes

Language(Library)

MATLAB

Platform

MS Windows

Features

Here, an appearance model is created when an individual is detected without occlusion. The appearance model is a color density as a function of height since a human's appearance mostly changes along its height.  We assume that this model is good for each view (even though each camera's output for the same real-world object is slightly different). Given the appearance model, the prior location, and occlusion information, we classify each pixel into the best-matched person class using Bayesian rules (maximum likelihood).  In addition to appearance, a ground homography is used for resolving the correspondence of each person between views.

Customer/User

 

Remark

Publication under preparation

Example frames


Video Quality Measurement Program

Goal

I designed a tool to assess no-reference objective quality of image or video using local statistics of pixels over space and time.  It reports several quality measures – fine structure quality, clipping, entropy, etc.

Start/End date

Nov. 2003 – Jan. 2004, (3 months development period)

My contribution

100% of 2,000 lines of codes

Language(Library)

MATLAB

Platform

MS Windows

Features

Ÿ   Q1 – noise: due to sensor sensitivity, electronic transmission, illumination fluctuation, camera vibration, etc

Ÿ   Q2 – contrast: affected by camera optics, resolution, etc

Ÿ   Q3 – color information: how well color values are distributed over the intensity range (entropy).

Ÿ   Q4 – clipping: pixels brighter or darker than  the representation bounds (ex, [0,255]) are clipped.

Customer/User

Internal use only

Remark

Related publication: K. Kim, and L. Davis, "A Fine-Structure Image/Video Quality using Local Statistics" IEEE International Conference on Image Processing (ICIP) 2004

 


Face Animation

Goal

Developed a face animation system.

Start/End date

Sep. 2000 – Dec. 2000, (4 months development period)

My contribution

100% of 10,000 lines of codes

Language(Library)

Visual C/C++ (OpenGL)

Platform

MS Windows

Features

It can automatically, in real-time, animate facial feature movements such as eye-lid blinking, mouth opening/closing, and head rotation (roll, yaw, pitch) by visual tracking on the facial features from live video.

Customer/User

 

Remark

Course Project – ¡°Advanced Computer Graphics¡±

 

Example

 


Head rotation (roll, yaw, pitch)

mouth opening/closing

Eyeball movement

Face Recognition

Goal

Implemented a face recognition system based on Eigenfaces papers using MATLAB and tested on the face database from AT&T Lab at Cambridge.

Start/End date

Sep. 2001 – Dec. 2001, (4 months development period)

My contribution

100% of 1,000 lines of codes