How an AI learns to recognise avalanches
So how do you teach an AI to detect avalanches? The answer is: data, data, data. An AI can only do what you teach it. In this specific case of use, this means that you have to "show" the model a lot of photos of avalanches. Of course, you also have to show the AI photos that do not show an avalanche, as this is the only way it can learn to differentiate between them. If the training were to be carried out exclusively or predominantly with avalanche photos, the model would have a strong bias, i.e. it would tend to recognise an avalanche even if none could be seen. A total of 4090 photos were used for the CADS project, on which a total of 7228 individual avalanches could be identified. The photos used in the project were largely provided by the Avalanche Warning Service Tyrol and were mainly taken in the German-speaking Alpine region, primarily in Tyrol. Data augmentation techniques were used in the training process, e.g. colour variations and random horizontal reflections, to improve the generalisation of the model.
The avalanche photos used in the research project had to be "labelled" before the actual training could begin. On the one hand, a polygon had to be drawn around the avalanche outline, and on the other hand, a label had to be assigned to the image. This label referred to the type of avalanche, i.e. slab avalanche, sliding snow avalanche or loose snow avalanche. This form of labelling seemed to make the most sense, as the three avalanche types differ in their visual characteristics. For example, the snow slab avalanche is characterised by a striking linear avalanche edge, while gliding snow avalanches reveal the subsurface and loose snow avalanches are characterised by a punctiform avalanche edge and a pear-shaped runout. In this way, the model can be taught not only to detect avalanches in general, but also to differentiate between the individual avalanche types. With the help of these "annotations", training can now begin. Existing deep learning models, such as the object recognition model YOLO (v5), were used to speed up the process.
How well does the model actually work?
Of the labelled photos, a proportion (10%) was retained from the training. This pool of photos was later used to validate the model performance. In the course of validation, the avalanches detected by the model and their bounding boxes were compared with those of the test set. The results of the validation in this "test set" were extremely pleasing: a high detection rate was achieved and the rate of "overlooked" avalanches - so-called false negatives - was kept low. This is important for a possible practical application in the future, as overlooked avalanche events can sometimes have serious consequences if, for example, the rescue chain is not set in motion in time in the event of an avalanche involving people or if safety measures are initiated too late in the case of alpine infrastructure (e.g. road closures). The consequences of false positives, i.e. when an avalanche detection is reported even though no avalanche has occurred, are not as serious. Nevertheless, such false alarms are annoying. So it is all the better that this figure has also been kept low. For the first phase of practical implementation, it seems sensible for the model's decision - "avalanche" or "no avalanche" - to be additionally checked by domain experts. In the event of an incorrect classification, the corresponding photo can be correctly labelled and added to the training data set in order to continuously improve the model quality.