Projects

Some of my realized algorithms and projects are presented here. I am using Visual Studio C/C++ to develop applications with GUI. All algorithms are implemented in C/C++ with OpenCV library. It enables portability and achievement of high processing speed.










Sport Video analysis
Complete system for video sport analysis, which records wide panoramic video to see all actions. Video is calibrated and can be used for further analyse. We are able to track players and measure their speed, acceleration, position on the pitch. User can visualize tactics with several drawing tools. Our new key feature is  automatic virtual camera. This tool enables recording of matches without user control and directly stream them into the internet.  It is suitable not only for football, but also for  large amount of indoor sports as basketball,  icehockey, handball, etc.
Vehicle Identification and Counting
Vehicle identification based on vehicle passing through the processing loop. Processing is not affected by vehicles in opposite direction. System is able to measure car speed, distance between vehicles and can be positioned in both directions.
F1 topview tracking
Tracking of cars from topview view. Camera tracking is used to ensure correct trajectory visualization. The final trajectory placement is affected by camera motion to ensure stabile position in the image.
F1 cockpit tracking
Tracking of cars from cockpit view. Remember last car positions to show movement by dark red line.
VideoArchiv VideoArchiv
Application for searching in large video database containing speaker presentations. Program supports automatic processing of video sequences to extract information about speaker occurrences. Each speaker is then recognized by face identification mechanism. All these informations are stored in the database and further accessible. User can select requested person and play or export given video sequence. Application was developed for parliament of  the Czech Republic.
Camera position localization
Automatic localization of the camera position only from image data. No hardware signal was used. It is used for automatic traffic monitoring with non-startionary cameras. Localization image is selected to learn scene features for further scene recognition. Homography and ransac is used for precise localization.
Bicyclist detection Bicyclist detection
Algorithm can distinguish bycicle passage through the measurement area.
Inpainting InPainting
Method for removing large objects from images. The aim ist o fill large area with nearly the same texture in a visually plausible way.
Advertisement
Virtual Advertisement
Set of methods which are able project to the pitch virtual objects in a form of 2D or 3D graphics, animations and videos. The inserted virtual object remains tied to its exact position on the pitch regardless of the camera movement, and thus creates the illusion that the advertisements are an integral part of the event.

Virtual Camera from ONE image
Method can generate arbitrary virtual camera video sequences. All players look the same as in the real camera images. This method is able generate virtual  views from one static video frame.
Artery Image Detection of Artery Sectional Area
The main goal of presented work is reliable detection of sectional area of an artery during a time in the in the B-mode ultrasound video sequence frames. Presented algorithm is a part of a long-term project. The innovative concept of the work rests in the automatic monitoring of artery border tissue movement using the Lucas-Canade optical flow technique. Invariant features uniformly selected in the artery border area are tracked in whole video sequence. Volume cut is estimated by using fitted ellipse from set of these points, so that the most suitable artery shape will be denoted in every frame. Output cardiac cycle curve can be used for analysis of volumetric changes of artery in arbitrary body part which can be displayed using a B-mode sonograph.
Automatic line picker Automatic line picker
This method enables user comfortable line marking. You can easily click near the desired line and it will be automatically detected. If the line is too curved, the set of segments will be returned. Size of accepted line curvature can be adjusted. It enables setting of segmentation degree. Line fitting is used to achieve accurate results.
Car tracking Traffic image processing
For this purpose, package of algorithms was developed. It contains algorithms for red light detection, car tracking, stopped vehicle detection, traffic density estimation, etc.
train camera system Unitrack CAM Train Camera System
Train Camera System for train sets of Litva railways and Petrohrad underground. This system serves for recording image sequences from cameras installed in the train, their presentation to the driver and handling of other devices as alarms, camera zooms, etc. System also enables automatic train configuration, remote control, event and description data storage, multi-language user interface, remote service and other features.
The software is subdelivery for Unicontrols Unitrack system.
volny kop video1
video2
Free-kick (Ball tracking)
The goal is to estimate maximum speed when tha ball was kicked. The task is complicated by occlusion when the ball is kicked and further by players. Therefore it is suitable to detect part of the ball trajectory from which are the movement parameters estimated. Least square method is used to find accurate parameters. The trajectory is considered as balistic curve, which makes possible to determine movement parameter at any time.
Trajectory consists of  detected ball positions in single frames. A lot of ball candidates exist there, from which the final trajectory must be selected. Hypotheses are created from all possible balls for this purpose and pruned each frame. The tracking is ended after ball is not detected for given number of frames.
soccer tracking video Camera parameter estimation
Large project which solves complete camera calibration and tracking for sports videos in real-time. Algorithms are used for system for virtual graphics, which is based on image processing, working completely without camera sensors and special camera head. The developed algorithms offers semiautomatic camera calibration, which computes camera position regarding playing field, roll and nodal. Algorithm can determine pan, tilt and zoom at any time from field line geometry. Once the pan tilt zoom is determined, the tracking subsystem is able follow the camera movements.
Levenberg–Marquardt method is used for minimisation error of the detected features. The further improvements was necessary implement to increase the tracking stability. One of them is field curvature estimation, because the detected lines in the image were not narrow. It was also caused by lens distortion. New method was developed for this purpose. It estimates the lens distortion of the camera as curve from set of images by using minimisation process. The goal is in determination curve origin and degrees of freedom.
camera Card camera reader
Design and realization of the camera system for card information reading. The proper digital camera system with setting possibility of gain, exposition and other function must have been choosen. System reads selected texts and numbers by using external OCR module.
System serves for correctness of information printed on the card.
Commercially used for Prague OpenCard.
Virtual object  video
see Mickey
Camera tracking
The  system  is  based  on  homography estimation betwen two consecutive frames.  The  homography  is computed from the two sets of corresponding points. Usually, the correspondence  is  obtained  using  interested  points  tracking  in adjacent  frames  (Kanade-Lucas-Tomasi  feature  tracker). To decrease  number  of  falsely  detected  matches, RANSAC method is used.
Extended approach was used for commercial systems:
- Advertisement for telecasting.
- Traffic camera repositioning detection.
Kalman filtering  diploma thesis
Trajectory identification
I solved the way how to determine trajectory of moving simple objects - tokens in a picture sequence. Modified Kalman filter is used to predict and identify their trajectory. Used approach resolves trajectory ambiguities, a case when the number of tokens is large and their speeds and accelerations vary. Correspondence problem is determined between two or more consecutive frames based on tokens similarity. Tracked objects may vanish, appear at a new position and/or mutually occlude each other. Backtracking is used to solve these problems.
Omni-directional video  transformed
stabilized
tracking
Ph.D. thesis
Omni-directional video
This work investigates the setup and the set of methods of omni-directional system for human activity detection and tracking. Research in the area of the omni-directional systems is growing, the reason are many advantages such as low cost, portability and easy installation. The main advantage is capturing a large portion of a space angle, which is 360 degrees. On the other hand, a lot of problems exist and they must be solved. Images from omni-directional systems have different properties than standard perspective images as they have lower effective resolution and suffer adverse image distortion. If the resulting image is to be presented to a human or is further processed, transformation and suitable kind of corrections must be done. Techniques for image transformation into a perspective or panoramic view and geometrical corrections are suggested in this paper. The mobile catadioptric system is usually prone to vibrations, which cause the distortion in the transformed panoramic image. Therefore the novel approach for stabilization of the image from omni-directional system was proposed. Human face and hands detection plays an important role in applications such as video surveillance, human computer interface, face recognition, etc. The wide view angle is important for this kind of tasks and therefore the omni-directional system is suitable for these purposes. Two different tracking methods are compared on the various kinds of video sequences captured by omni-directional system in order to demonstrate the benefits and/or drawbacks of the omni-directional system and proposed methods. The evaluation scheme was developed for qualitative and quantitative algorithm description and comparison on different video sources.
human tracking video Human tracking
For the purpose of Multimodal Meeting Manager Project (M4), an approach based on face and a hand tracking is proposed. The technique includes skin color detection, segmentation, feature extraction, and tracking detected objects.The aim is to extract information from participant hands and face movement suitable for intelligent video editing and as additional information for speech recognition. An activity of meeting participants is evaluated for this purpose.
field homography image1
image2
image3
Field homography
The sport video contains several elements which are necessary to detect. The first step is extracting area with green field. The set of detected edges in this area is used for hough transformation for line detection and modified hough ellipse detection. For outlaier elimination is used RANSAC. Detected lines are sorted, selected candidates and best rated set is used for homography estimation.
It is difficult to find ellipse, when we want to search all five ellipse parameters in whole image. Therefore,  a priory information about ellipse position was used. Two presumptions were used for speed up this algorithm. The first was, that ellipse center must lie on the center line. The second limitation was coincidence presumption of the main ellipse axis and x-axis of the picture coordinates. These presumptions decrease number of unknown variables and modified hough transform can be used to detect such ellipses.
player tracking video1
video2
video3
video4
Player tracking
The goal was to develop a computer vision tracking system that can provide player tracking during short video sequences. Player shape changes significantly between frames. This causes problems with using information about shape. The solution is to use color information and color statistics about player’s sporting costume. The ice color and colors with grey levels are suppressed. This method gives very good results with various costume colors. The developed method has very good results even when players with different costumes occlude each other. The other problems, which were solved, are camera movements and changing size of the players owing to different distance from camera. Various types of occlusions e.g. with barrier, referee or other players are giving also very good results.
presentations image1
image2
Online presentation processing
System is able to detect position of the projection screen and subsequently detect change of the projection content. It si suitable for automatic extraction of the projected slides on the screen. For the purpose of the automatic editting, the talker tracking is proposed. The modified background subtraction method is used. Output of designed algorithm is following:
- detected position of the projection screen and computed reprojection homography for image rectification
- detected time stamps of the content change
- detected position of the talker in the time
Vanishing point video Vanishing point
Vanishing point detection from grass pattern. Separable convolution is used to detected differences between grass cut. The modified hough transformation is used to vanishing point position estimation. Presented video contains estimated vanishing point only from pattern, not by using field lines or additive information.
tachograf Tachograph
Automatic reading of riding history. Developed algorithms are able to read time stamps on the time graph. Modified hough transform was developed for peak detection. System automatically recognize position of the scanned roundel and areas for detection.
deinterlace
Automatic deinterlace of the static frames
Developed algorithm is based on the KLT tracker which finds image part movements. These movements are analysed between half frames extracted from interlaced frame. Motion deinterlace is applied then.