UNet-Based Target Image Segmentation for Camera Target Method in Solar Tower Plants
This project presents a robust implementation of the UNet3+ framework designed for background separation and flux determination in calibration target images used in solar tower plants. The model is trained using artificially generated target images, which are created by combining background images with simulated focal spots. By leveraging these synthetic images with known properties, the UNet model is trained to accurately separate the background from the focal spots, enabling precise flux prediction. For an in-depth explanation and methodology, please refer to this paper. The model used to achieve the results in this paper is placed in the train models folder.
UTIS-HeliostatBeamCharacterization/
│
├── data/ # Directory containing image datasets used for training and inference
│ ├── emptyTargetImages/ # Images of empty targets used for artificial data generation
│ ├── fluxImages/ # Images representing flux used for artificial data generation
│ └── realSamples/ # Real images used to test the model's inference capabilities
│
├── logs/ # Directory to store training logs
├── trained_models/ # Directory to store trained model checkpoints
├── tests/ # Directory for test scripts and inference
│ ├── predict.py # Script for running inference with a trained model
│ └── results.png # Example output from the inference script
│
├── utis/ # Core package directory containing model and utility code
│ ├── __init__.py # Makes this directory a Python package
│ ├── dataset.py # Script for loading and processing image data
│ ├── architecture/
│ │ ├── __init__.py
│ │ ├── UNet_3Plus_.py # UNet3+ model architecture
│ │ └── layers.py # Additional layers used in the model
│ ├── unet_pl_module.py # PyTorch Lightning module for UNet3+
│ └── train.py # Script for training the UNet3+ model
│
├── setup.py # Script for installing the package
├── README.md # Project description
└── LICENSE # License for your package
Run the training script:
python -m utis.train
Run the inference script:
python -m tests.predict
The predicted images and a sample result grid are saved in the specified output directory as results.png
:
The result grid is organized as follows:
This work is supported by the Helmholtz AI platform grant.