Здесь могла быть Ваша реклама
SAO RAS / LRA / FAVOR / Algorithm (Rus)

Description of algorithm

Main regulations

Frame - picture requested from data acquisition system (either from gigabit Ethernet in real-time processing or from disk/network in post processing).

Average frame - derivative of certain amount of frames which main function is to provide an answer whether given pixel deviated from its average on the certain number of sigmas or not.

Record or excess - lengthy structure on the individual frame that satisfied some criteria (of size, intensity in sigmas and so on).

Pre-processing - getting list of records from current frame and average frame that satisfied some criteria.

Object - some virtual structure got from comparison of lists of records from different frames. Can correspond to real satellite or meteor, or transient and so on, but also can correspond to nothing.

Alert - beep of computer when the object begins to satisfy some criteria

Algorithm

Algorithm itself starts from moment of pre-processing of current frame and requires list of records to input. Main purpose of the algorithm is to correct current list of objects and to give alerts out.

Record contains following information: time, coordinates of center, dimensions, intensity.

Object in its turn contains from list of records (reappearances of object on different frames) and some status characteristics. In particular status includes information about time (or number of frames) passed from object's first appearance in the field.

Algorithm consists of folowing functional parts (not necessarily corresponding to parts of the code where reasons of optimization are essential).

1.Loop over all objects from objects list. For every object, using its list of records, expecting region of its reappearance on the current frame is precomputed. If only one record corresponds to given object, expecting region is defined from considerations of necessity to catch fast satellite, which this object can turn out to be. If there are many records (we see object during several frames already), this region is defined by means of trajectory fitting with calculation of corresponding position errors.

Then all current frame records located in this region are selected. If there is only one record, it is added into the list of object's records. If there are several records, it is the case of «fork». Given object is divided into several objects which have the same prehistory and differ only in last record. Later on one from this neogenic objects will survive, others (false) will die.

2. Loop over all objects from list of objects in which status of every object is checked for correspondence to alert criteria. Such a criteria are existence of the object during certain number of frames and its immobility. For example, the hit of the first object record into current expecting region can serve as the immobility criterion. Moreover, there is certain sense in checking here given event for its correspondence to known satellite (using precomputed ephemeris).

3. Loop over all objects from list of objects where status of every object is checked for its «death». Fly beyond the frame limits (if we defined trajectory of this object), abscence of observability during certain number of frames and so on, correspond to the «death» of object. «Dead» objects can be dumped into some log or several logs depending on their type (mobile/immobile, appeared on one/several frames and so on) for some extra post-processing.

4. For completion of the loop it is necessary to create new objects from all records which were not attached to already existing objects on previous steps. This new objects get accordingly one record. Their matching, alert generating and so on, are performed on the next algorithm iteration.

Later on algorithm repeats with new input data obtained from new current frame - next iteration is performed.

What has been done

At this moment there is a working realization of above listed algorithm with simplified way of alerts forming (only check for motion and for object's existence on certain number of frames). There is a model variant of pre-processing procedure which picks out coherent regions excessed on given number of sigmas and filters them by size (removes all regions with 1 pixel size). In such a variant, satellites in test consequences are confidently catched and tracked. Even satellite which caused 2 magnitude "flash of star" is tracked during several frames before and after flash, i.e. such event is considered as satellite but not transient.

Demo

Work of beta version of algorithm is demonstrated in following videos.

Field with satellites
Field with satellites
Difference frames
Objects catching
Every object is signed with its "length". Failures of catching algorithm in the last video caused by irregularity of frames getting process.

«Flashing star»
Flashing star
Objects catching

Official notice As author of algorithm and its program realization, I strongly appreciate not to use this videos without my knowledge.

Sergey Karpov

FAVOR
Intro
Characteristics
Algorithm
Designed by
Sergey Karpov
Last Update
2 Sep 2003