文本对齐示例

An Augmentation and Test Method for Automated Crater Detection and Classification with Machine Learning

ZHAO, Sihang

Imperial College London

supervied by Prof. Gareth Collins, Dr. Marijan Beg

Abstract

摘要部分的图片

   With the promising progress of deep neural networks, object detectors (ODs), like YOLO V5, can now rapidly process pictures and recognize the contained entities. In a vast scope of the scientific research field, like planetary science, ODs can be applied to various object counting or classifying tasks. In particular, crater detection algorithms (CDAs) have helped scientists process thousands or even millions of pictures and detect millions of craters. The number and sizes of craters contain rich information. However, like humans, CDAs also make mistakes and produce incorrect results. In real-world problems, we often fail to train a good model or effectively evaluate the quality of a model due to imperfect datasets. Iterative training, such as active learning, will cost high labor when the amount of data is huge, and there will also be problems of error accumulation.
   To solve these problems, this paper designs and implements the Metamorphic Crater Generator (MCG), an algorithm can generate very realistic images of craters with the required size and number. This work also proposes a CDA test method and a CDA training iteration strategy based on MCG, which realizes the automated testing and iterative training progress without manually checking. These methods improved metrics such as mAP 0.5 and recall of the YOLO V5 by about 4%, and even better for smaller craters (diam < 10km).

Methodology

The Metamorphic Crater Generator (MCG) is made up of the following steps:
  1. Crater extraction: Cropping craters from the original image, with their rectangular surroundings. The size of surroundings are hyperparameters. In our task, I set them as two pixels to ensure the craters remain the same shape.
摘要部分的图片
  2. Crater generation: Resizing the craters into the size we want and pasting them onto the original background using Poisson fusion. In this process, we need to make circle masks for every crater we cropped. The size of the Mask depends on the size of resized craters and the shape of the mask is a circle contained by a square. While pasting our generated craters, I designed an algorithm (source code can be found in the repository) to ensure they will not overlap with the original real craters.
摘要部分的图片
  3. Generated-crater annotation: Recording the size and location of our generated craters, and writing them in the format in Table 1 into the txt files which will be our new labels for testing or training.

Result

  1. The MCG can generate craters that look just like the real ones:

摘要部分的图片
  2.An improvement can be observed from aug train on both std test and aug test, which is intuitive (This model is better at identifying more craters, in this case, on craters smaller than 1.5 km.)
摘要部分的图片
  3. A decrease can be observed when we test our model trained by std train on aug test, the results of recall rate and precision are worse than the model test on std test, which means our test method successfully generates the craters that cannot be detected by models. The performance can be found in table 1.
摘要部分的图片
  4. The model trained on aug train performed even better on the aug test, which stands for the model also learned some features of new-generated craters.

Conclusion

In summary, this work makes the following contributions:
  • I designed and implemented a Metamorphic Crater Generator(MCG), which can generate natural-look craters images with customized sizes and locations. I designed a questionnaire and made survey statistics, which proved that the generated craters are almost indistinguishable from the naked eye.
  • I designed a CDA test method based on MCG, which can test CDAs even with imperfect data sets. In the data set used in this work. The MCG can effectively generate craters that cannot be detected by original models and cause a significant gap between models for humans to observe.
  • In parallel to the test method, I have proved that MCG can also be used as a data augmentation method. The recall rate increased by 3% and the mAP 0.5 increased by 2%.
  • I proposed and implemented a training-iteration strategy based on MCG, and designed and implemented an MCG Repalce Edition for this strategy. The training-iteration strategy can save labor from active learning and also prevent the accumulation of errors. The model trained under this strategy achieved 7% more recall rate on craters of 1.5 ∼ 10 km diam and 6% more recall rate on craters smaller than 1.5 km.
  • The last but the most significant contribution is that MCG can not only help YOLO V5, but all CDAs based on machine learning. MCG and the strategies based on it are designed to be implemented into any data sets of craters. This work’s initial purpose is to eliminate the problem caused by imperfect data.

During this work, the most challenging task was how to make the generated crater natural. There were many realistic problems, like how to smooth the edge and avoid overlapping. These problems always came into a mathematical problem. Luckily, most of them are solved. The first strength of this work is mentioned before: it eliminated the problem caused by imperfect training data and test data, which is more suitable for real-life situations. We do not always have tabular data, the training set is terrible, and we are having problems evaluating our model in these situations.
The second strength of this work is that it is designed for every object detection model based on machine learning. So even if there are some newly published models or someone published a set of great hyper-parameters. We can still implement our method on their model.

Limitation

However, this work and I also have some limitations:
  • First of all, the time is relatively tight, and I cannot implement all my ideas. E.g., after I classify the craters by their size and evaluate the models’ performances on those different groups. I noticed though the model trained by our Training-Iteration strategy performed great on craters smaller than 10 km, the recall of larger craters that bigger than 10 km diam is even lower than the default model. That may be because the model has learned too many generated small craters. Using MCG to generate some bigger craters randomly may solve this problem but I don’t have time to finish proving this conjecture. Also, there may be some flaw in the algorithm looking for the FN and TP cases, because the total number of FN and TP always has a slight gap from the number of labeled craters in the test set.
  • Secondly, in my training-iteration strategy, my method has a potential risk that prevents the model from learning new features compared with active learning. And if the model continually learns from the same craters. It may cause the over-fitting issue much sooner than active learning. An easy way to test if the model is cannot learning from the new feature is to test our models in a new test set, and analyze the F1 score and recall rate. We can also embed the result of training sources re-annotated by other models so that we can import more features into it.
  • Thirdly, though the test set I used is totally separated from training sources, I cannot find the test sources used by Benedix et al., so the comparison between this work and their CDA can still have possibility to be unfair. However, the model they used is based on YOLO V3, I will not be surprised if our model performs better than it in the same test set. So I put all the data and source code of this work in the repository, for further comparison and evaluation.
  • Actually the performance of aug train aug test is too good: In the epoch that is given the best performance, the recall rate is reaching 90% for craters that are smaller than 1.5 km. I think it is because MCG augmented training has learned some features of MCG fusion. So it can accurately distinguish the craters generated by MCG.
• Lastly, MCG uses algorithms to avoid overlapping and out of boundaries. However, in real-world problems, one crater can be overlapped with others or partly out of the image. Optimization for this situation is also an expectable topic in future work.