|
| 1 | +# Changelog |
| 2 | + |
| 3 | +Pour suivre l'évolution des différentes versions. |
| 4 | +Le format de ce fichier est basé sur Keep a Changelog, |
| 5 | +et ce projet respecte le Semantic Versioning. |
| 6 | +Les sections conserveront leur nom en anglais. |
| 7 | + |
| 8 | +## Unreleased |
| 9 | + |
| 10 | +### Added |
| 11 | + |
| 12 | +### Changed |
| 13 | + |
| 14 | +### Removed |
| 15 | + |
| 16 | +## v0.6 (2020-04-01) |
| 17 | + |
| 18 | +*Georeferenced dataset post-processing* |
| 19 | + |
| 20 | +This release essentially copes with the georeferenced dataset, one may now post-process |
| 21 | +the results, so as to visualize labelled masks as raster. A vectorized version of each |
| 22 | +prediction is also available. |
| 23 | + |
| 24 | +As another major evolution, `deeposlandia` now has a Command-Line Interface (CLI). The |
| 25 | +available commands are `datagen`, `train`, `infer` and `postprocess` respectively for |
| 26 | +generating preprocessed datasets, training neural networks, doing inference and |
| 27 | +post-processing neural network outputs. |
| 28 | + |
| 29 | +### Added |
| 30 | + |
| 31 | +- Set up a Command-Line Interface (#90). |
| 32 | +- Consider `RGBA` images and warns the user as this format is not handled by the web app |
| 33 | + (#107). |
| 34 | +- Consider geometric treatments in a dedicated module, add vector-to-raster and |
| 35 | + raster-to-vector transformation steps ; save postprocessed images as vector and raster |
| 36 | + files (#119). |
| 37 | +- Postprocess aerial images so as to produce predicted rasters (#118, #126, #127). |
| 38 | +- Add missing test files for Tanzania dataset. |
| 39 | +- Some information about GDPR in the web app (#113). |
| 40 | +- Improve unit tests dedicated to georeferenced data processing (#104). |
| 41 | + |
| 42 | +### Changed |
| 43 | + |
| 44 | +- Label folders are standardized (`labels`), in particular this folder name replaces `gt` |
| 45 | + for `Aerial` dataset (#139). |
| 46 | +- Always use the best existing model, instead of parametrizing the access to the model |
| 47 | + (#135). |
| 48 | +- Broken images are considered, hence not serialized onto the file system (#129). |
| 49 | +- The georeferenced aerial datasets are updated and factorized into a generic |
| 50 | + `GeoreferencedDataset` class, the test files are updated accordingly (#128). |
| 51 | +- Deep learning model are now known as `featdet` and `semseg` instead of |
| 52 | + `feature_detection` and `semantic_segmentation` (#133). |
| 53 | +- Update the training metric history when using a existing trained model (#102). |
| 54 | +- Move the documentation to a dedicated folder. |
| 55 | +- Some code cleaning operations, using `black` and `flake8` (#120). |
| 56 | +- Update dependencies, especially `Tensorflow`, due to vulnerability issues. |
| 57 | +- Fix the unit tests for Tanzania dataset population (#111). |
| 58 | +- The process quantity is an argument of `populate()` functions, in order to implement |
| 59 | + multiprocessing (#110). |
| 60 | +- Logger syntax has been refactored (%-format) (#103). |
| 61 | + |
| 62 | +### Removed |
| 63 | + |
| 64 | +- The concept of "agregated dataset" is removed, as we consider a home-made Mapillary |
| 65 | + dataset version. As a consequence, some input/output folder paths have been updated |
| 66 | + (#134). |
| 67 | +- The hyperparameter optimization script (`paramoptim.py`) has been removed, `train.py` |
| 68 | + can handle several value for each parameter (#125). |
| 69 | + |
| 70 | +## v0.5 (2019-01-24) |
| 71 | + |
| 72 | +*Georeferenced datasets and web application* |
| 73 | + |
| 74 | +Some new datasets focusing on building footprint detection have been introduced in the |
| 75 | +framework, namely Inria Aerial Image dataset and Open AI Tanzania dataset. |
| 76 | + |
| 77 | +Some new state-of-the-art deep neural network architectures have been implemented to |
| 78 | +enrich the existing collection, and design more sophisticated models. |
| 79 | + |
| 80 | +Furthermore a bunch of Jupyter notebooks has been written to make the framework usage |
| 81 | +easier, and clarify deep learning pipelines, from dataset description to model training |
| 82 | +and inference. |
| 83 | + |
| 84 | +And last but not least, a light Flask Web application has been developed to showcase some |
| 85 | +deep learning predictions. Oslandia hosts this Web app at |
| 86 | +http://data.oslandia.io/deeposlandia. |
| 87 | + |
| 88 | +## v0.4 (2018-05-03) |
| 89 | + |
| 90 | +*Train convolutional neural networks with Keras API* |
| 91 | + |
| 92 | +This new release is characterized by the transition from the TensorFlow library to the |
| 93 | +Keras library so as to train neural networks and predict image labels. |
| 94 | + |
| 95 | +Additionally, the code has been structured in a production-like purpose: |
| 96 | + |
| 97 | +- the program modules have been moved to a deeposlandia repository; |
| 98 | +- a tests repository contains a bunch of tests that guarantee the code validity; |
| 99 | +- a setup.py file summarizes the project description and target. Some complements may |
| 100 | + arise in order to publish the project on Pypi. |
| 101 | + |
| 102 | +## v0.3.2 (2018-03-28) |
| 103 | + |
| 104 | +*Validate and test the trained a wider range of TensorFlow models* |
| 105 | + |
| 106 | +In this patch, a more mature code is provided: |
| 107 | + |
| 108 | +- Dataset handling is factorized, we can now consider Mapillary or shape datasets |
| 109 | + starting from a common Dataset basis |
| 110 | +- Model handling is factorized, we can generate feature detection models or semantic |
| 111 | + segmentation models, with common behaviors (basic layer creation, for instance) |
| 112 | +- Some state-of-the-art models have been implemented (VGG, Inception) |
| 113 | +- A base of code has been deployed for considering Keras API (the switch from TensorFlow |
| 114 | + to Keras will be the object of a next minor release) |
| 115 | + |
| 116 | +## v0.3.1 (2018-03-13) |
| 117 | + |
| 118 | +*Validate and test the trained model (Minor README fixes)* |
| 119 | + |
| 120 | +Fix the 0.3 release with minor changes around README.md file (picture updates, |
| 121 | +essentially). |
| 122 | + |
| 123 | +## v0.3 (2018-03-13) |
| 124 | + |
| 125 | +*Validate and test the trained model* |
| 126 | + |
| 127 | +- Add a single-batched validation phase during training process, the corresponding |
| 128 | + metrics are logged onto Tensorboard so as to be compared with training metrics (same |
| 129 | + graphs) ; |
| 130 | +- Add a model inference module, that call the test() method of |
| 131 | + ConvolutionalNeuralNetwork: it takes a trained model as an input, and infer label |
| 132 | + occurrences on a image testing set ; |
| 133 | +- Manage the Tensorboard monitoring in a more clever way ; |
| 134 | +- Add the possibility to gather similar labels for Mapillary dataset: by aggregating |
| 135 | + them, the number of labels decreases and the model may become easier to |
| 136 | + train. :warning: With this new feature, the dataset structure in json files has been |
| 137 | + modified: the labels keys are now dictionaries (instead of a lists) that link class ids |
| 138 | + (keys) and label occurrences (values), for each image. |
| 139 | + |
| 140 | +## v0.2 (2018-01-17) |
| 141 | + |
| 142 | +*Object-oriented convolutional neural network* |
| 143 | + |
| 144 | +This new release provide an improved version of the project by considering |
| 145 | +object-oriented programming. |
| 146 | + |
| 147 | +- The project is structured around Dataset and ConvolutionalNeuralNetwork classes. These |
| 148 | + classes are written in dedicated modules. |
| 149 | +- As a consequence, the main module contains only program-specific code (argument |
| 150 | + handling). |
| 151 | +- A second dataset has been introduced to the project (geometric shapes), so as to make |
| 152 | + development easier and more reliable. |
| 153 | + |
| 154 | +## v0.1 (2017-12-19) |
| 155 | + |
| 156 | +*Street-scene object detection* |
| 157 | + |
| 158 | +This repository runs a convolutional neural network on Mapillary Vistas Dataset, so as to |
| 159 | +detect a range of street-scene objects (car, pedestrian, street-lights, pole, |
| 160 | +... ). Developments are still under progress, as the model is unable to provide a |
| 161 | +satisfying detection yet. |
0 commit comments