CONTACT
If you want to know more, or to request a quote, please contact us.


Printnet Ltd.

52th Petnehazy Str.
Budapest, H-1139, Hungary

Office phone: +36 1 299 0763

Fax: +36 1 299 0812
E-mail: info@print-net.hu




DEMONSTRATION
See the VisualArea SDK in action

How It Works

VisualArea SDK is a complex kit with several elements. Some of them are based on OpenCV, a well-known open computer vision library, while others are our own implementations created on Java platform.


The main source of the images is usually IP cameras, which are handled by OpenCV. Many video stream formats can be used from RTSP to MJPEG. Our system processes every camera on a different thread which makes load balancing easier. Streams are displayed by the so-called StreamRunners while image manipulation functions are managed by the StreamManipulator subsystem. In case camera calibration is needed, there is possibility to register calibration functions as well which then will be applied to the camera images. We have implemented some basic calibration functions that only need to be parameterized in order to be used.


Image manipulation means several processes run one-by-one. They are all implementations of a given abstract class registered to the system. It is very easy to create new image processing elements and put them onto the list.


Face detection is done by Haar classification, using the Viola-Jones algorithm. Different parameters can be used to set the ideal performance. Face detection is very stable as long as the faces on the source image are not too tilted. An XML file determines the exact features of the faces to be found, this also can be modified if needed.


Our face recognition solution uses an own algorithm primarily built on SURF (Speeded Up Robust Features) points. This means that special marker points are determined on the face images, and this set of points is compared to the training sets. Training (learning faces) is done by providing a set of images taken of a given person, of which points are extracted and stored. Comparison is done by using different factors and parameters to reach maximum performance.


The in-built load balancer has the task to feed the recognizer threads with data, which means even if different threads need different time to finish the load is spread among them evenly. The number of the threads is adjusted by the programmer, and so is the exact type of them.