Home
Overview
FAQ
Components
Roadmap
Community
Resources
Contact Us

Lipi Core Toolkit 2.0

 

    Quick Links

 

 

Overview

The Lipi core toolkit provides a set of components which can be used for the construction, evaluation and packaging of handwritten shape recognizers for isolated shapes such as handwritten gestures and characters.

New in this release

  • Generic Nearest-Neighbor Shape Recognizer NNShapeRecognizer
  • DTWShapeRecognizer and PCAShapeRecognizer deprecated 
  • New Feature extractor design that allows a feature extractor to be configured at run time..
  • A number of bugs have been fixed
  • Support for VC2005

For more details, please refer to the Release Notes available in the downloadable package.

Supported Platforms

lipitk-core 2.0 can be installed on any of the following mentioned platforms:

  • Windows XP Professional
  • Red hat Enterprise Linux Edition 4.0
  • Ubuntu Gutsy Gibbon 7.10

System Requirements

Disk Requirements

lipitk-core 2.0 provides packages for both Windows and Linux, each of size 1.33 MB and 1.31 MB respectively. In the case of Windows, separate packages are provided for VC6.0 and VC2005.


The space required to extract the package is 4MB. To build the package after extracting you need 80MB of free space.
 

Software Requirements

Windows
Linux

Architecture and Components

Lipi Engine

Main shape and word recognition interface for client applications. Given the project and profile name, Lipi engine performs the following actions:

  • Loads the DLL of the shape recognizer specified in profile configuration file
  • Creates and returns the instance of shape/word recognizer

Using the instance returned by Lipi engine, applications can interact with the recognizer for training and testing of the recognizer.

Generic Data Structure Library

Generic data structure library defines the classes used to store the digital ink, device and screen context.

Class Description
LTKChannel Stores information about a channel, whose value is captured by a digitizer
LTKTrace Class containing contiguous series of coordinates from a pen down event to the next immediate pen up event.
LTKTraceGroup Contains set of traces that have similar characteristics.
LTKTraceFormat Holds information about the type and number of channel data available at each pen point.
LTKScreenContext Holds the co-ordinates of the writing area provided
LTKCaptureDevice Contains meta-data about hardware that was used to acquire the ink contained in a file

Preprocessing

The generic preprocessing module provides implementations of commonly used shape/character preprocessing operations. The core toolkit provides following preprocessing operations. All of the operations have configuration options that can be varied using corresponding properties captured in a configuration file.

Operation Description
Moving-average smoothing Smoothing the stroke by averaging (x,y) values within a local window.
Size normalization Normalizing the size of the incoming trace group to a default value. the normalized is configurable.
Dehooking Removal of hook artifacts at the ends of strokes resulting from slippage and/or pen-tip-switch latency.
Equi-distant resampling Resampling to obtain equi-spaced points along the stroke trajectory.

Feature extractor

Lipi core toolkit exposes a standard set of interfaces for all the feature extractor modules. This allows the user to dynamically configure and use any feature extractor at run-time.
 

Feature extractor module Description
PointFloatShapeFeatureExtractor A feature extractor that extracts the following features from each point along the stroke trajectory:
  • X dimension
  • Y dimension
  • Sine theta
  • Cosine theta

Recognition Methods

Shape Recognizers
Shape recognition module Description
NNShapeRecognizer A generic, prototype-based nearest-neighbor classifier for recognition.
Word Recognizers
Word recognition module Description
Boxed-field recognition module Boxed-field recognition (can be configured to call NN or any custom shape recognition module )

Utility Classes

The utility classes include various infrastructure classes which provide simple utility functions to other modules. These include

  • Classes to read/write UNIPEN ink files.
  • Classes to read the key-value pairs defined in lipitk-core config files.
  • Class providing utility functions for strings.
  • Class to provide logging facility.

Scripts

Script Description
listfiles.pl Generates a file containing a list of filenames from a regular expression mapfile, for the purposes of training/testing a shape recognizer.
package.pl Perl-based package maker.
genmake.pl Perl-based make file generator.
benchmark.pl This script performs training, testing and evaluation of a shape recognizer. It is useful when these actions need to be performed repeatedly in the course of experimenting with shape recognition algorithms or tuning parameters.
eval.pl Perl based evaluation tool to facilitate the evaluation and benchmarking of different shape recognizers.

Implementation Details

Implementation Language Tools required to build/use Modules
C++ Windows : Visual Studio 6.0 or Visual C++ 2005

Linux : gcc

  • Lipi Engine
  • Generic Data Structure Library
  • Preprocessing
  • Recognizers
  • Utility Classes
Perl Perl
  • Scripts

Known Issues

  • The file path specified in list files for training or testing, should not contain spaces.  runshaperec reports an error, and training or testing fails.

    Workaround
    Do not use directory or files names with spaces in them, or (for Windows platforms) use the DOS path instead (e.g. for C:\program files, use “C:\progra~1”).

Backward Compatibility

lipitk-core 2.0 is not backward compatible with core toolkit versions released earlier.

Documents

Previous Releases

Contributors

LipiTK Team members Role/Modules
Sriganesh Madhvanath, HPL
  • Project Lead,
  • Use cases and High-level Architecture
Dinesh Mandalapu, HPL
  • Technical Lead, Architecture
  • Release management
  • Generic Data Structure Library
  • Preprocessing
Nidhi Sharma, GDIC
  • Technical Lead
  • Release management
A. Bharath, HPL
  • Feature extractor module design
  • Boxed-field recognition module
  • Utility classes
R, Saravanan, HPL
  • NNShapeRecognizer
  • Utility class for shape recognizers
  • Feature extractor implementation
Vandana Roy, HPL
  • NNShapeRecognizer
Tarun Madan, GDIC
  • NNShapeRecognizer
G, Naveen Sundar, HPL
  • PointFloat shape feature extractor
Srinivasa Vithal Charakana, HPL
  • Testing
 

Home | Overview | FAQ | Components | Roadmap | Community | Resources | Contact Us

 Copyright © 2002-2006 Hewlett-Packard Company.
.
For problems or questions regarding this Web site contact liptk-dev AT hp DOTcom.
Last updated: 12/07/07.