Home People Research Projects Teaching Theses Downloads Links   Contacts English Italiano


Image-based measurements

A significant and challenging example of image-based measurements is described in the AUTOBEAM project, whose purpose was measuring several parameters of a beam, where no structured references were present!, using both 2-D and 3-D technologies.
More examples can be seen in real time at our labs.

Real time counting

Counting objects is a high level task that requires employing different techniques, depending on the object's properties, whether they are rigid or non rigid objects, still or moving ones. Besides, real time requirements limit the complexity of the algorithms to be utilized.
Sparse still objects, like mechanical parts or cells, are the easiest to be counted, since often they are the easiest to be segmented due to lack of occlusion. In fact, most of times, counting difficulties strongly depend on segmentation difficulties. Moreover, objects cannot always be segmented correctly, because of the objective difficulty of the scene. Moving people (that are non rigid "objects") represent the most difficult situation to cope with, even because they often need to be tracked before being counted. In fact, often counting moving objects implies that they cross a virtual line, in a given direction. People can rapidly change moving speed and direction, thus making prediction strategies useless. In addition, people can heavily change their appearances while moving, also due to their moving parts (arms and legs)! Moving vehicles, are easier to be tracked, and counted accordingly, since they are rigid bodies. However, crowded situations where different kinds of moving vehicles (cars, motorbikes, lorries, etc.) occlude each other make the tracking problem very hard to be solved. Nevertheless, our approaches work very well even under the most challenging conditions.

Real time classification of multiple targets

The classification task represents the highest level task in a pattern recognition problem. The classification accuracy depends on the segmentation accuracy and, of course, on the inter-classes differences of the objects. To this purpose, several kinds of features need to extracted by each object in order to make the object's class unambiguous and to assign the object to the right one. Feature extraction provides that the objects are clearly identified in the scene. In addition, a proper classifier has to be chosen and configured, before performing an effective training stage using all the features extracted. In almost all the problems we use our implementation of a multi-class Support Vector Machine (SVM), that works fine even in case of a reduced number of training samples, by always maximizing the generalization capability.
It is worth remarking that many real world applications require classified countings: as a matter of fact, logically speaking classification includes counting. A deep experience has been gathered in counting and classifying still manufacturing products and moving objects.

Defect analysis

Visual inspection is based on the operator experience that has acquire a deep knowledge of the possible product's defects. In addition, a given defect can be assigned to different classes according, for instance, to its "measures" and position, and the operator often manages to classify it at a glance. Practically speaking, the operator can work manually, looking for anomalies with respect of a class of templates learned by experience. Automatic or guided detection and measurement systems, based on image and video analysis, can work with different degrees of independence and help him/her accordingly.
Actually, automatic defect analysis is made of two stages. The first one aims at detecting the presence of defects, according to the defects specification list provided by the manufacturer and/or using a reference intact product. The second stage concerns its recognition and characterization (i.e. measurements). Therefore, most of the defect analyses provide that a pattern matching approach is followed where the pattern to be compared is either the possible defect or the intact reference object. It is worth remarking that the pattern can also be a statistical feature or a multidimensional feature.
Some interesting cases are visible in real time at our labs.

Code recognition

While object recognition usually refers to inter-class recognition aiming at populating predefined classes, code recognition aims at identifying single objects, often belonging to one class. There are many types of codes, based on numbers and/or characters (e.g. number plates) or symbols (e.g. bar codes). In addition, code recognition can be performed on still objects, if allowed by application, or on moving objects, like those on a conveyer belt. In the latter case, the most difficult one, the moving objects should be detected first, to reduce false code detection - to this purpose, our motion detection algorithms work excellently. Actually, the activity of code recognition is composed of three consecutive steps: code detection, code segmentation and, lastly, code recognition. To detect the code, it is searched by looking for pattern similar to the reference codes as a whole and, once found, each code symbol is segmented using properties strictly depending on the code. The final step is a classification step, where the classifier previously trained to recognize each code symbol is used to recognize it on new occurrences of code. The core of our classifier is constituted by a multiclass Support Vector Machine (SVM) entirely developed by CVG.

Security and monitoring

Video Surveillance (video analytics)
Detecting moving objects under different environmental conditions, tracking them and reconstructing their trajectories are a crucial issue to automatically infer abnormal (illegal or dangerous) behaviours. Auto-tracking and zoom permits to automatically follow objects moving in the scene and to keep it zoomed. Our motion detection algorithm has been employed to build video analytics products in video surveillance. These products do not confine themselves just to detecting motion, as a common Digital Video Recorder (DVR), but to analyse motion in order to eliminate events of change detections not due to human activities. The main advantages offered by our algorithm are:
  • self-training: after an automatic bootstrap, the algorithm starts working automatically. No thresholds are required to be changed in order to keep same quality performances, since the algorithm adapts itself to environmental light changes
  • false alarms reduction: our robust detection and filter for chaotic motion prevent detection of sudden light changes or moving hedges and trees. This means that even using many cameras, the records in the DB of detected events is extremely small, containing almost only true events. This enables a fast reconstruction of what has happened
  • real time performances: some parts are implemented in assembler and the algorithm has been optimized to keep effective even in case of single channel images
  • scalability: the care employed to develop a multithread core makes our algorithm capable to handle up to 1024 cameras

Motion detection with thermal camera
The thermal cameras imaging technology is different from that of sensors working in the visible spectrum. Here, the scene imaged (i.e., each "pixel value") is function of the energy emitted in the infrared spectrum by each body of the scene, that is in its turn related to its temperature. The viewing scene is represented using a suitable thermal hot/cold colormap (often, hot/cold in red/blue colors). Here, the background is a "thermal signature" of the scene and the updating scheme is different from that used with common visual sensors. However, the experience gathered in tens manyear in detecting motion in the visible spectrum, and above all our self-adaptive technologies, has been partly reused to detect motion with thermal cameras.

Traffic monitoring and event detection
The efforts accomplished to detect accurate masks for moving objects and to achieve an effective tracking algorithm enable us to face hard problems such as automatic traffic monitoring and event detection. The traffic monitoring system we have developed exploits the object tracking capability to automatically detect events (e.g. the presence of stopped, or very slow, vehicles, queues) or anomalous trajectories (e.g. U-turns, vehicles moving in the emergency lane or vehicles driving along wrong directions).
Actually, on top of the tracking information we perform an accurate trajectory analysis that can be applied "as is" for any problem involving tracking of rigid bodies (vehicles, objects on a conveyer belt, etc.).

People tracking
To extend tracking of rigid bodies to work with people (one of the most challenging tracking cases) we employ self-organized artificial neural networks over almost 30 kinds of features extracted be each person. This permits to keep track of people even in crowded conditions, to count with a high precision people crossing user defined virtual passages, by discriminating walking direction. Also, advanced trajectory analysis techniques permit to detect position and stop time for each person, the most walked as well as anomalous paths, so to derive behaviour analysis for statistical, commercial or security purposes. The software is suitable for shops and malls, bus or trains, museums or public buildings.

Copyright 2008, A.G. - All Rights Reserved