Koftech

Computer Vision and Image Analysis

In contrast to image processing algorithms, which take images as input to produce enhanced images, the goal of the Computer Vision and Image Analysis field, also known as Image Understanding, is to interpret and understand a complex image or reconstruct a 3D world scene from image projections collected with one or more imaging modalities. The ultimate goal is to mimic tasks performed by the human visual system. While the human visual system remains the ultimate vision system, computer vision systems aim at helping human operators perform mundane tasks, provide continuous monitoring for processes, and process large data sets that would otherwise require prohibitively long time to manually process and analyze.

Koftech combines a systems-level approach with the experience in Computer Vision and Image Analysis algorithms to deliver innovative solutions to solve real-world problems.

Image Segmentation

Image segmentation is the process of segmenting an image into homogenous regions. A region could be homogenous in intensity, color, texture or in some other feature space. A region could also be non-homogenous, but has well-defined contours/edges. A simple example on image segmentation algorithms is thresholding were each pixel is classified as belonging to either foreground or background based on intensity threshold(s). Other approaches include, but not limited to, region growing, watershed, level-sets and graph-cuts

Object Tracking

In some applications, it is insufficient to segment objects in an image capturing real-world objects at a single point in time. Rather, the application may require tracking these objects over a sequence of images collected over time to analyze parameters such as motion, velocity, acceleration, and interactions with other objects.

Object tracking is often required in applications like analyzing cell-colonies, surveillance, speed estimation, trajectory prediction and collision avoidance.

Image Registration

In image registration, two or more images are transformed such that they share a common coordinate systems and image features corresponding to the same real-world objects are aligned. Image registration is often needed to bring multi-modality images of the same 3D scene to line-up, such as the case with multi/hyper-spectral imaging (Satellite), CT and MRI (Medical), Transmission and Backscatter (Security) modalities. When an application uses a single imaging modality, image registration may be used to bring images of the same 3D scene taken at different times to line-up as a pre-requisite to detecting changes. In other applications, the 3D scene is larger than the imaging system field of view and multiple images are collected which are then registered (stitched) to build a mosaic of the complete scene.

Change Detection

Change detection comes into play in applications that require understanding changes in a real-world scene over time. In medical domain, for example, an application may require detecting changes in tumor properties (e.g., size and vascular network) over time in response to treatment. Change detection is also common in surveillance applications where it is required to detect when somebody enters a room, or removes an object. In security applications, images of a vehicle (e.g., x-ray scans) as it enters and exits an access controlled area are compared to detect changes such as objects that have added or removed.

Change detection algorithms often employ a registration algorithm to account for variations in scanning geometry (e.g., vehicle distance, direction, and velocity) between scans. In some cases, image normalization algorithms may be used to account for changes in illumination (brightness) or other imaging system artifacts.

Once changes are detected, they could be reported back to the operator to make a decision, or they could be subjected to a change classification algorithm to reject benign or nuisance detections.

Automated Target Recognition

Automated Target Recognition (ATR) is a high-level computer vision task which employs many lower-level algorithms such as feature extraction, registration, change detection and more. ATR algorithms are an essential component in many industrial, medical, and security applications.

ATR algorithms are used in many production processes to detect defects. Images of units coming from a production line may be compared to a model and units out of the process tolerance are rejected. The model could be simply based on the unit color, or could be focused on detecting hidden cracks with x-ray images.

ATR algorithms are widely deployed in security applications. Personnel scanners, for example, use modalities like x-rays or millimeter wave imaging to produce images of passengers revealing objects that may be hidden in pockets or under clothing. Driven by passenger privacy concerns, airport security authorities require these systems to be equipped with ATR algorithms to avoid dealing with passenger images. Also in airports, the large volume of checked-in luggage handled daily makes it prohibitively expensive to manually examine every piece of luggage before boarding an airplane. Hence, luggage scanning systems are often required to have ATR algorithms to detect anomalies and threats in checked-in luggage.