Releases: georgeslabreche/opssat-smartcam
v2.4
- End-to-end functionality testing is now possible on a local development environment thanks to mocking (e.g. mocking the on-board camera hardware with test images).
- Removed Netpbm dependency for image resizing and consolidated that operation into a single executable binary.
- Image classification pipeline can now include custom implemented executable programs instead of just TensorFlow Lite model inferences.
- Included and executable binary for k-means image segmentation (feature extraction) as an optional classification node for the SmartCam's image classification pipeline.
- Created an IPK creation script.
v2.3
Refactored the stop experiment procedure for a graceful application shutdown.
v2.2
Unsupervised learning with k-means for image clustering. The clustering is applied as a second stage classification to images that have been labeled by the TensorFlow Lite inference.
v2.1.2
Increment a counter and check against a maximum error count to avoid infinite error loops.
v2.1.1
- Handle log and image files that have been leftover from a previous run in case of abrupt application termination.
- Write image metadata rows in the metadata CSV file immediately after acquiring an image instead of waiting until after exiting the image acquisition loop to write every row in one go. This change will make it so that image metadata will still get saved in case of abrupt application termination.
- Fix the stop experiment script. The process ids were not being extracted correctly for the process kill commands.
v2.1
This version equips the app with some geospatial awareness in that it will autonomously acquire images when it is above a sunlit area of interest (AOI). Areas of interests are defined as multi-polygons and/or polygons in a GeoJSON file.
The default AOI multi-polygons that are defined in the app's continents.json file simply consists of all the continents minus Antarctica. Other GeoJSON files can be created and uplinked to be used instead of the default continents.json:
- Use geojson.io to define a custom GeoJSON file with your own AOI polygons.
- Use mapshaper to simplify GeoJSON files obtained from third-party providers in order to keep the file sizes small.
- Coordinates with high precision floating point numbers do not contribute much and are best avoided in favor of reduced GeoJSON file size. Use regex to reduce these to 4 or less numbers after the floating point.
Consult the README for configuration details.
v2.0
- Refactored into object-oriented design.
- Model chaining for machine learning inference pipeline
- Image acquisition loop period throttling.
- FAPEC compression of raw image files.
- Auto-split image package files for downlink.
- Generate CSV log file containing image metadata.
v1.0
First release uplinked to the spacecraft.