ACADEMIC PROJECTS
In this section you will find about different student projects I have been part of. Please also check my old website RDCASTAN. It contains some projects I worked on during my master's, though it has not been updated since March 2009.
SUPERPIXELS - SLIC
Here I implemented the method of Superpixels - SLIC - in C++ with OpenCV 2.x. Visit my code samples repository for full source code. On the other hand, the original paper and source code are also available here.
BINARY IMAGE SCAN - BIS
I develop this method to compute automatically a segmentation as the one in the right, given a binary image with tubular regions (as the one in the left). This method is fully described in my paper, which can be downloaded in the publications section (at the bottom of this page). The algorithm could be adapted to compute automatically a rig for skeletal animation of a 2D character.
SKELETON DECOMPOSITION
Given a skeleton image (on the left) I can compute a set of curves (polylines) automatically on the right. One important feature of my algorithm is that the input skeleton does not need to be a 1-pixel wide skeleton as the other algorithms require! Also no processing has to be done on connected sets of junction points!. The basic idea of the algorithm is to use Depth First Search on the input image and collect connected components of skeleton points. Then redundant sets are removed by simply checking the percent of isolated points is greater than 90%, where an isolated point is defined as a point whose 8-Neighborhood doesn't have any other skeleton point from any other set. The final curves have points that are 8-pixel connected, but optionally we can run the Ramer-Douglas Peucker algorithm and simplify the number of control points of the curves (this simplification was actually ran on the shown image).
ACTIVE APPEARANCE MODELS
Active Appearance Models learn and build a mathematical model for shape and appearance variance inside a database of images of an object in question. The method can be used for many computer vision tasks including face recognition and tracking in videos. In the following report, I present in a detailed format the theory behind such learning process, and provide guidelines for implementing the method from scratch by using the database imm_face_database.
AAM-Report.pdf | |
File Size: | 3186 kb |
File Type: |
PERFORMANCE-DRIVEN FACIAL ANIMATION
In a performance-driven animation system, usually the workflow is separated in three main components: Motion data acquisition with Motion Capture (MoCap), design of a Facial Rig to control the animation, and Mapping/Retargeting to the defined rig. In this project I have currently developed a marker-based first approach to synthesize facial expressions in real time. By using the Optitrack ARENA software, the animation library HALCA, and the XVR development framework, we are able to synthesize in real time local facial deformations on an a priori modeled and rigged 3D face model.
|
|
MOTION CAPTURE PLAYER IN PROCESSING
I have developed a sketch in Processing to be able to load Biovision .BHV motion capture files and playback its contents. By implementing a skinning method (like LBS or DBS) and using a 3D model loader in this same language, this can be extended as a library for motion capture assisted skeletal animation, which can be of use on immersive and interactive applications.
|
2D/3D IK CHAIN IN PROCESSING
These are sketchs in Processing that implements the Cyclic Coordinate Descent (CCD) algorithm for Inverse Kinematics. The following demos shows unconstrained IK in 2D and 3D. In the 2D application, a single chain of 3 bones follows the mouse when left clicked and dragged. The 3D demo doesn't use the mouse, but the keyboard arrows for left, right, up and down respectively and "CRTL" and "ALT" keys for the depth displacements. Constraints in the angles of the joints can be used for more natural motion (for human skeleton animation for example).
|
PUBLICATIONS
|
|
|
|
|
|
|
|