One of the most exciting things in meteor astronomy is the possibility to use video meteor observations for meteorite recovery. In 2011, the Croatian Meteor Network was the first amateour meteor network which achieved this by finding the Križevci meteorite.
As it is impossible to store raw video data with this kind of low-cost system, we perform a unique kind of compression (described in the previous post). As the compression stores only the brightest pixels in a 256 frame block, very bright fireballs can often badly suffer from artifacts produced by this compression method, as there are several moments when a pixel has a certain maximum value (we call the problematic frames “space invaders” - they are shown below the fireball).
Thus we needed a quick way to extract raw video frames of a fireball while they are still present in the memory. As the data is compressed in real time, we decided to use freshly compressed files for fireball detection.
Here are the fireball video extraction steps:
- The data is thresholded to extract only very bright meteors (aka fireballs) which are 4 standard deviations above the background intensity
- The image is divided into 16x16 pixel blocks, and blocks which contain an amount of bright pixels above a certain threshold are marked as bright pixels on the subsampled (45x16) image
- As the compressed files contain information about the time (maxframe image), meteors can be show in 3D space (X, Y, time)
- Using our algorithm (details are given in the Appendix), lines in 3D space are found and line parameters are calculated
- 80x80 (or larger, depending on the fireball brightness) crops are extracted from individual raw video frames and saved to the disk
The following animation shows the result of the fireball detection process.
This process enables to have raw video frames which can be used for precise fireball analysis, without saving huge amounts of raw data. We have successfully tested this method and were able to detect and extract a wide range of meteors - from high luminosity fireballs to 0 magnitude meteors. A separate detection process is preformed for even darker meteors which will be described in one of the following logs.
Appendix: Finding lines in 3D
Finding lines in 3D space in real time on a device with such a low processing power is not a trivial task. Thus we have reduced the number of search points using the 16x resampling method, which was inspired by Peter Gural’s AIM-IT system.
The main concept of the algorithm is to pair two points from the given point cloud, fit a line through them and see how many points are there in a given cylindrical volume around the line. The best solution is taken, its points are removed from the point cloud and the process continues iteratively while there is still a significant amount of points left. The solution is evaluated based on the following criteria, each with their own weight:
- how many points are there inside the cylinder
- how distant are the points from the fitted line
- how distant are the adjacent points
If the adjacent points are too far away, the solution is discarded as this means the gap between them is too large to form a plausible meteor path.
As the search space consists of both spatial and time components, and it can be assumed that the meteors are transient events which progress in time, the algorithm is optimized to pair points which are not in the same time plane or the ones before.
The algorithm is currently implemented in Python and limited to 200 points per one image. When there are more than 200 points in the point cloud, 200 are chosen at random. The C implementation of the algorithm would surely be several orders of magnitude faster - we leave this for some later versions of the software.
The algorithm is quite robust, insensitive to outliers and noise. It can even detect meteors which are partially obscured by trees!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.