|







| |
Lipi Core Toolkit 2.0
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.
- 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.
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
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

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 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 |
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. |
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
|
| Shape recognition module |
Description |
| NNShapeRecognizer |
A generic, prototype-based nearest-neighbor
classifier for recognition. |
| Word recognition module |
Description |
| Boxed-field recognition module |
Boxed-field recognition (can be configured to call
NN or any
custom shape recognition module ) |
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.
| 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 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 |
|
-
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”).
lipitk-core 2.0 is
not backward compatible with core toolkit versions released earlier.
| 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 |
|
|
Tarun Madan, GDIC |
|
|
G, Naveen Sundar, HPL |
- PointFloat shape feature extractor
|
|
Srinivasa Vithal Charakana, HPL |
|
|