API src

Found 1730 results.

Related terms

Abwasserbeseitigung

Die abwassertechnische Erschließung der Siedlungsgebiete Berlins ist ein Investitionsschwerpunkt der Berliner Wasserbetriebe in den nächsten Jahren. Zurzeit sind ca. 98 % der Grundstücke in den Siedlungsgebieten an die öffentliche Kanalisation angeschlossen. In den nichtkanalisierten Gebieten wohnen ca. 56.000 Einwohner, davon in Wasserschutzgebieten rund 31.000 Einwohner. Die Erschließungsplanung sieht vor, unter Beachtung wirtschaftlicher Belange alle zusammenhängenden gemeindlichen Siedlungsgebiete Berlins in den Trinkwasserschutzzonen und im Urstromtal weitestgehend mit einer zentralen Schmutzwasserkanalisation zu versehen. Für einzelne Siedlungsgebiete, die kurz- bis mittelfristig aus wirtschaftlichen Gründen nicht mit einer Kanalisation ausgestattet werden können, sind individuelle Maßnahmen mit gleichem Umweltschutzniveau nachzuweisen. Sofern in Gebieten ohne Kanalisation der Berliner Wasserbetriebe Abwässer anfallen, sind diese in Abwassersammelanlagen mit abflusslosen Abwassersammelbehältern zu sammeln und durch zugelassene Abfuhrunternehmen ordnungsgemäß zu entsorgen. Eine Abwassersammelanlage besteht aus dem Abwassersammelbehälter und der Abwasserzuleitung sowie ggf. einer Abwasserableitung mit Ansaugstutzen für die mobile Entsorgung. Zulässig sind nur dichte monolithische Behälter aus Kunststoff oder wasserundurchlässigem Beton, die für diesen Verwendungszweck hergestellt werden. Abwassersammelbehälter aus Kunststoff sind ‘nicht geregelte Bauprodukte’, die gemäß § 18 Bauvereinfachungsgesetz (BauVG Bln) einer allgemeinen bauaufsichtlichen Zulassung durch das Deutsche Institut für Bautechnik (DIBt) bedürfen. Die in den Zulassungen festgelegten Einbauvorschriften und Bestimmungen für die jeweiligen Behälter müssen sorgfältig beachtet und eingehalten werden. Für einen neuen monolithischen Abwassersammelbehälter aus Beton ist dann keine Zulassung des DIBt erforderlich, wenn es sich um ein tragendes Fertigteil aus Beton oder Stahlbeton nach Bauregelliste A, Teil 1, lfd. Nr. 1.6.1, DIN 1045 oder DIN V ENV 1992-1-3 handelt, das von einer für dieses Bauprodukt bauaufsichtlich anerkannten Zertifizierungs- und Überwachungsstelle nach dieser Bauregelliste zertifiziert und überwacht wird. Als Werkstoff muß wasserundurchlässiger Beton der Fertigungsklasse B 35 oder höher verwendet werden. Wasserbehördliche Genehmigungen für die Errichtung von Abwassersammelanlagen sind gemäß § 38 Abs. 1, Ziff. 2 Berliner Wassergesetz (BWG) nur noch dann erforderlich, wenn der tägliche Abwasseranfall im Jahresdurchschnitt über 8 m³ liegt. Vorhandene Abwassersammelbehälter aus Betonschachtringen oder stabilem Mauerwerk können auch mit Innenhüllen aus Kunststoff oder eingepassten Kunststoffbehältern nachgerüstet werden. Die für diese Sanierungsverfahren zugelassenen Werkstoffe bedürfen einer allgemeinen bauaufsichtlichen Zulassung durch das Deutsche Institut für Bautechnik (DIBt) und müssen von Fachbetrieben verarbeitet werden. Von Sanierungen in Eigenregie ist daher Abstand zu nehmen. In Kleingartenanlagen sind, um eine Vielzahl von Einzelanlagen zu vermeiden, zentrale Sammelanlagen oder ein Anschluss an die Kanalisation anzustreben. Die Pflicht zur Durchführung von Dichtheitsprüfungen ergibt sich entweder aus den Wasserschutzgebietsverordnungen oder aus den Pachtverträgen. Liegt das Grundstück nicht im Wasserschutzgebiet und besteht auch keine vertragliche Verpflichtung zur Durchführung von Dichtheitsprüfungen, gilt folgendes: Bei neuen Abwassersammelbehältern mit Zulassung durch das DIBt muss aus der Gewährsbescheinigung bzw. dem Einbauzertifikat hervorgehen, dass die neue Abwasseranlage – die Rohrleitungen und der Sammelbehälter – vor Inbetriebnahme entsprechend DIN 1986 Teil 30, DIN EN 1610 sowie DIN EN 12566-1 auf Dichtheit überprüft worden ist. Bei sanierten Abwasseranlagen und solchen, die in Eigenleistung errichtet wurden, sind Überprüfungen der Dichtheit durch Sachverständige erforderlich, um die Dichtheit der Anlagen nachweisen zu können. Sachverständige müssen entweder von der Industrie- und Handelskammer bzw. der Handwerkskammer bestellt oder Mitglied der “Gütegemeinschaft Herstellung und Instandhaltung von Entwässerungskanälen und -leitungen” sein oder eine vergleichbare Qualifikation aufweisen und diese durch externe Kontrollmaßnahmen sicherstellen. Eine vergleichbare Qualifikation weisen Firmen auf, die bei einer Handwerkskammer eingetragene Meisterbetriebe für das “Installations- und Heizungsbauerhandwerk” sind und durch externe Kontrolle, z.B. durch den TÜV oder eine andere Überwachungsgemeinschaft regelmäßig überprüft werden (ein Überwachungsvertrag bzw. ein entsprechendes Zertifikat muss vorhanden sein). Die ordnungsgemäße Durchführung der Dichtheitsprüfungen muss nach den DIN-Normen DIN 1986-30 und DIN EN 1610 sowie DIN EN 12566-1 erfolgen und in einem Dichtheitsgutachten dokumentiert werden. Ausschlaggebend für die Dichtheitsgutachten sind die Prüfprotokolle. Aus diesen Protokollen müssen die Art der Prüfungen und die zutreffenden Parameter wie z.B. bei der Prüfung mit Wasser – Material, Durchmesser der Rohrleitungen, Haltungslängen, benetzte Flächen, Volumen und Füllmengen, zulässige Wasserzugabe, gemessene Wasserzugabe und Prüfdauer – ersichtlich sein Wasserschutzgebiete dienen dem Schutz der Wasservorkommen, die von der öffentlichen Wasserversorgung zur Gewinnung von Trinkwasser genutzt werden. Sie sind nach Gefährdungsgrad in die Schutzzonen II bis III B eingeteilt. Die Vorschriften der Wasserschutzgebietsverordnungen regeln diese besonderen Anforderungen an den Grundwasserschutz. Beim Bau und Betrieb von Abwassersammelanlagen in diesen Gebieten werden erhöhte Anforderungen an die Sicherheit gestellt. Besonders hervorzuheben ist, dass die Abwassersammelanlagen in der Schutzzone II grundsätzlich doppelwandig oder mit einem technisch gleichwertigen Sicherheitsstandard auszugestalten sind. Außerdem ist die Dichtheit der Anlagen durch Sachverständige auf Kosten der Betreiber bei Errichtung, Erweiterung oder wesentlicher Änderung und danach wiederkehrend in Abständen von fünf Jahren zu überprüfen. Die für den Einsatz in den Schutzzonen II und III A vorgesehenen Abwassersammelbehälter aus Kunststoff mit einer allgemeinen bauaufsichtlichen Zulassung vom Deutschen Institut für Bautechnik müssen im Werk als Ganzes (Monolith) für diesen Verwendungszweck hergestellt worden sein, d. h., Behälter in zweiteiliger Bauweise sowie Behältersysteme sind nicht zulässig. Für Fragen stehen die Mitarbeiterinnen und Mitarbeiter der bezirklichen Umwelt- und Naturschutzämter sowie die Senatsverwaltung für Mobilität, Verkehr, Klimaschutz und Umwelt – Kleingärten – Tel.: (030) 9025-1657 oder Senatsverwaltung für Mobilität, Verkehr, Klimaschutz und Umwelt – Wasserbehörde – Tel.: (030) 9025-2005 (Sekretariat) zur Verfügung.

Leitungsnetz Trinkwasser der Stadtwerke Uslar GmbH

Die Kernstadt Uslar, 18 Ortsteile und 1 hessisches Dorf werden über ein Leitungsnetz versorgt, das von mehreren Tiefbrunnen und Quellen gespeist wird. Es gibt 12 Hochbehälter und mehrere Pumpwerke.

Errichtung und Betrieb eines Löschteichs bei der Sesselalpe, Oberstdorf

Aufgrund des geplanten Neubaus bzw. der Kernsanierung der Sesselalpe auf dem Grundstück Flur Nr. 564/7, Gemarkung Tiefenbach b. Oberstdorf, wurde im baurechtlichen Verfahren eine entsprechende Löschwasservorhaltung gefordert. Diese ist nun in Form eines Löschteichs geplant, welcher mit Folie ausgelegt werden soll. Die Maße des Löschteiches betragen Breite = 6 m; Höhe = 8 m; Tiefe = 1,6 m. Somit ergibt sich eine Fläche von ca. 48 m², sowie einem Fassungsvermögen von ca. 76,8 m³. Der Löschteich soll so ausgestaltet werden, dass er zusätzlich von Besuchern der Alpe als Schwimmteich genutzt werden kann. Um den Teich herum soll eine Regenerationsfläche mit einer Tiefe von bis zu 1,20 m entstehen. Der Teich selbst wird mit Folie ausgelegt und mit Füllsand befüllt. Im Regenerationsbereich werden Teicherde, Kies, Steine und Wasserpflanzen eingesetzt. Da der Teich in einer leichten Hanglage entstehen soll, sind Arbeiten zur Hangsicherung notwendig. Die Hangsicherung soll mit Wasserbausteinen gesichert werden. Ergänzt wird der Teich um eine Sonnenterrasse im nordwestlichen Bereich. Die Zuwegung zum Teich erfolgt in Erweiterung des Weges zur sog. „Seilbahnhütte“ oberhalb des Parkplatzes mittels Trittsteinen. Der Zulauf, zur Versorgung des Teiches mit Wasser, ist aus der bestehenden Trink- und Brauchwasserversorgung der Sesselalpe, die aus einer Quellwasserfassung stammt, geplant. Hierbei soll an die bestehende Leitung, welche die Sesselalpe versorgt, ein T-Stück angeschlossen werden. Diese Verbindung erfolgt über eine auf etwa 80 cm tief verlegte Schlauchleitung, welche als eine überirdische Einleitung in den Teich endet. Weiterhin ist angedacht, das Überwasser aus der Wasserversorgungsanlage der „Wasach-Klinik“ zur Speisung des Teiches zu nutzen. Die privatrechtlichen Vereinbarungen hierüber stehen noch aus und sind nicht Teil der beantragten Genehmigung. Die Wasserversorgungsanlagen der „Wasach-Klinik“ sowie der Sesselalpe verfügen über eine gültige wasserrechtliche Erlaubnis zur Entnahme von Grundwasser. Die Ableitung des überschüssigen Wassers aus der Teichanlage ist über eine unterirdische Rohrleitung zu einem bestehenden Regenwasserschacht und durch diesen weiter zum bestehenden Vorfluter geplant. Die Entnahme von Löschwasser soll mittels eines KG DN 150 Rohres, welches unterirdisch auf einer Tiefe von ca. 80 cm verlegt und in den Teich durch einen Unterflurschieber gesperrt ist, erfolgen.

Wasserbuch Hamburg

Für die Gewässer sind Wasserbücher zu führen. In das jeweilige Wasserbuch sind nach § 87 des Wasserhaushaltsgesetzes (WHG) in Verbindung mit § 98 ff. des Hamburgischen Wassergesetzes (HWaG) insbesondere einzutragen: - Erlaubnisse und Bewilligungen - alte Rechte und Befugnisse - Wasserschutzgebiete - Überschwemmungsgebiete und Risikogebiete - Entscheidungen über die Unterhaltung, den Ausbau und den Hochwasserschutz In die Wasserbücher werden die über den Gemeingebrauch hinausgehenden, von den zuständigen Wasserbehörden durch Verwaltungsakte übertragenen Nutzungsrechte an oberirdischen Gewässern sowie am Grundwasser eingetragen. Die Eintragungen beinhalten die Art der Nutzung (z.B. Grundwasserförderung, Herstellen eines Steges) sowie Angaben zum Umfang der Nutzung (z.B. erlaubte Fördermengen, Größe des Steges). Der Datenbestand ist nicht tagesaktuell. Das Wasserbuch dient dazu, den auf die Gewässer einwirkenden oder für ihren Schutz zuständigen öffentlichen Stellen sowie den Bürgerinnen und Bürgern einen umfassenden Überblick über die wesentlichen Rechtsverhältnisse an Gewässern zu geben. Die Einsicht in das Wasserbuch, in seine Abschriften und diejenigen Urkunden auf die in der Eintragung Bezug genommen wird, ist deshalb jedem gestattet. Entsprechend der Anordnung über die Zuständigkeiten auf dem Gebiet des Wasserrechts und der Wasserwirtschaft gibt es in Hamburg zwei Dienststellen, die separat für ihren Zuständigkeitsbereich das Wasserbuch führen und dort Eintragungen ganz bestimmter Rechtsverhältnisse vornehmen. Die Wasserbücher dieser Dienststellen haben folgende Inhalte: * Wasserbuch der Behörde für Umwelt, Klima, Energie und Agrarwirtschaft (BUKEA/W2) Die Abteilung Abwasserwirtschaft (W2) der BUKEA, führt das Wasserbuch für Erlaubnisse nach § 10 WHG für die Einleitung von Abwasser in Gewässer bzw. für die Entnahme von Wasser aus Gewässern für folgende Gewässer: Außen- und Binnenalster samt elbseitiger Fleete, Elbe sowie alle Hafengewässer, Este, Dove-Elbe unterhalb der Tatenberger Schleuse, Untere Bille und ihre Kanäle, Harburger Binnenhafen, Kaufhauskanal, Östlicher Bahnhofskanal, Westlicher Bahnhofskanal sowie Schiffsgraben. Die Stammdaten aller Erlaubnisse sind vollständig in einer Datenbank erfasst; seit etwa Ende 1999 werden die kompletten Wasserbuchblatt-Inhalte von Neueintragungen und von Änderungen parallel in dieser Datenbank geführt. Das Wasserbuch enthält Daten über: - das Grundwasser (Ausnahme: Neuwerk), - Gewässer II. Ordnung (Ausnahme: Neuwerk) sowie - Gewässer I. Ordnung (Ausnahmen: Neuwerk/ Elbe/ Hafengewässer/ Erlaubnisse zum Einleiten oder Entnehmen nach § 8 WHG), - Regelungen über die Unterhaltung und den Ausbau oberirdischer Gewässer sowie - Regelungen und Entscheidungen über das Errichten und Verändern von staatlichen Hochwasserschutzanlagen und die Zulassung von Rohrleitungen in Deichen und Dämmen. * Wasserbuch der Hamburg Port Authority (HPA) Das Wasserbuch der HPA/213 - beinhaltet u.a. wasserrechtliche Genehmigungen über die Nutzung und den Ausbau der Gewässer Elbe, Hafengewässer, Este, Alten Süderelbe, Überschwemmungsgebiete der Elbe und Vorland der Alten Süderelbe sowie deichrechtliche Genehmigungen für die privaten Hochwasserschutzanlagen (Polder) und Nutzungen auf Neuwerk.

Repository der KI-Ideenwerkstatt: robbenblick

# robbenblick A Computer Vision project for object detection and annotation management using YOLOv8, SAHI, and FiftyOne, with the primary aim of counting objects (Robben) in large aerial images. ## Overview This repository provides a complete MLOps pipeline for: * **Data Preparation:** Converting raw CVAT annotations (XML) and large images into a tiled, YOLO-compatible dataset. * **Automated Experiments:** Systematically training and tuning YOLOv8 models. * **Tiled Inference:** Running optimized inference (SAHI) on large, high-resolution images for object counting. * **Evaluation:** Assessing model performance for both detection (mAP) and counting (MAE, RMSE, R²). * **Visualization:** Analyzing datasets and model predictions interactively with FiftyOne. ## Pretrained Model Weights Pretrained model weights are available on Hugging Face: https://huggingface.co/ki-ideenwerkstatt-23/robbenblick/ ## Project Workflow The project is designed to follow a clear, sequential workflow: 1. **Prepare Data (`create_dataset.py`):** Organize your raw images and CVAT `annotations.xml` in `data/raw/` as shown below. ```text data/raw/ ├── dataset_01/ │ ├── annotations.xml │ └── images/ └── dataset_02/ ... ``` Run the script to generate a tiled, YOLO-formatted dataset in `data/processed/` and ground truth count CSVs. 2. **Tune Model (`run_experiments.py`):** Define a set of hyperparameters (e.g., models, freeze layers, augmentation) in `configs/base_iter_config.yaml`. Run the script to train a model for every combination and find the best performer. 3. **Validate Model (`yolo.py`):** Take the `run_id` of your best experiment and run validation on the hold-out `test` set to get **detection metrics (mAP)**. 4. **Infer & Count (`predict_tiled.py`):** Use the best `run_id` to run sliced inference on new, large images. This script generates final counts and visual outputs. 5. **Evaluate Counts (`evaluate_counts.py`):** Compare the `detection_counts.csv` from inference against the `ground_truth_counts.csv` to get **counting metrics (MAE, RMSE)**. 6. **Visualize (`run_fiftyone.py`):** Visually inspect your ground truth dataset or your model's predictions at any stage. ## Configuration This project uses two separate configuration files, managed by `robbenblick.utils.load_config`. * **`configs/base_config.yaml`** * **Purpose:** The single source of truth for **single runs**. * **Used By:** `create_dataset.py`, `predict_tiled.py`, `run_fiftyone.py`, and `yolo.py` (for validation/single-predict). * **Content:** Defines static parameters like data paths (`dataset_output_dir`), model (`model`), and inference settings (`confidence_thresh`). * **`configs/base_iter_config.yaml`** * **Purpose:** The configuration file for **experiments and tuning**. * **Used By:** `run_experiments.py`. * **Content:** Any parameter defined as a **YAML list** (e.g., `model: [yolov8n.pt, yolov8s.pt]`) will be iterated over. `run_experiments.py` will test every possible combination of all lists. ## Environment Setup 1. Clone the repository: ```sh git clone git@github.com:ki-iw/robbenblick.git cd robbenblick ``` 2. Create the Conda environment: ```sh conda env create --file environment.yml conda activate RobbenBlick ``` 3. (Optional) Install pre-commit hooks: ```sh pre-commit install ``` ## Core Scripts & Usage ### `create_dataset.py` * **Purpose:** Converts raw CVAT-annotated images and XML files into a YOLO-compatible dataset, including tiling and label conversion. * **How it works:** * Loads configuration from a config file. * Scans `data/raw/` for dataset subfolders. * Parses CVAT XML annotations and extracts polygons. * Tiles large images into smaller crops based on `imgsz` and `tile_overlap` from the config. * Converts polygon annotations to YOLO bounding box format for each tile. * Splits data into `train`, `val`, and `test` sets and writes them to `data/processed/dataset_yolo`. * Saves a `ground_truth_counts.csv` file in each raw dataset subfolder, providing a baseline for counting evaluation. * **Run:** ```sh # Do a 'dry run' to see statistics without writing files python -m robbenblick.create_dataset --dry-run --config configs/base_config.yaml # Create the dataset, holding out dataset #4 as the test set python -m robbenblick.create_dataset --config configs/base_config.yaml --test-dir-index 4 ``` * **Key Arguments:** * `--config`: Path to the `base_config.yaml` file. * `--dry-run`: Run in statistics-only mode. * `--test-dir-index`: 1-based index of the dataset subfolder to use as a hold-out test set. * `--val-ratio`: Ratio of the remaining data to use for validation. ### `run_experiments.py` * **Purpose:** **This is the main training script.** It automates hyperparameter tuning by iterating over parameters defined in `base_iter_config.yaml`. * **How it works:** * Finds all parameters in the config file that are lists (e.g., `freeze: [None, 10]`). * Generates a "variant" for every possible combination of these parameters. * For each variant, it calls `yolo.py --mode train` as a subprocess with a unique `run_id`. * After all runs are complete, it reads the `results.csv` from each run directory, sorts them by `mAP50`, and prints a final ranking table. * **Run:** ```sh # Start the experiment run defined in the iteration config python -m robbenblick.run_experiments --config configs/base_iter_config.yaml # Run experiments and only show the top 5 results python -m robbenblick.run_experiments --config configs/base_iter_config.yaml --top-n 5 ``` ### `predict_tiled.py` * **Purpose:** **This is the main inference script.** It runs a trained YOLOv8 model on new, full-sized images using Sliced Aided Hyper Inference (SAHI). * **How it works:** * Loads a trained `best.pt` model specified by the `--run_id` argument. * Loads inference parameters (like `confidence_thresh`, `tile_overlap`) from the `base_config.yaml`. * Uses `get_sliced_prediction` from SAHI to perform tiled inference on each image. * Saves outputs, including visualized images (if `--save-visuals`), YOLO `.txt` labels (if `--save-yolo`), and a `detection_counts.csv` file. * **Run:** ```sh # Run inference on a folder of new images and save the visual results python -m robbenblick.predict_tiled \ --config configs/base_config.yaml \ --run_id "best_run_from_experiments" \ --source "data/new_images_to_count/" \ --output-dir "data/inference_results/" \ --save-visuals ``` ### `evaluate_counts.py` * **Purpose:** Evaluates the *counting* performance of a model by comparing its predicted counts against the ground truth counts. * **How it works:** * Loads the `ground_truth_counts.csv` generated by `create_dataset.py`. * Loads the `detection_counts.csv` generated by `predict_tiled.py`. * Merges them by `image_name`. * Calculates and prints key regression metrics (MAE, RMSE, R²) to assess the accuracy of the object counting. * **Run:** ```sh # Evaluate the counts from a specific run python -m robbenblick.evaluate_counts \ --gt-csv "data/raw/dataset_02/ground_truth_counts.csv" \ --pred-csv "data/inference_results/detection_counts.csv" ``` ### `yolo.py` * **Purpose:** The core engine for training, validation, and standard prediction. This script is called by `run_experiments.py` for training. You can use it directly for validation. * **How it works:** * `--mode train`: Loads a base model (`yolov8s.pt`) and trains it on the dataset specified in the config. * `--mode validate`: Loads a *trained* model (`best.pt` from a run directory) and validates it against the `test` split defined in `dataset.yaml`. This provides **detection metrics (mAP)**. * `--mode predict`: Runs standard (non-tiled) YOLO prediction on a folder. * **Run:** ```sh # Validate the 'test' set performance of a completed run python -m robbenblick.yolo \ --config configs/base_config.yaml \ --mode validate \ --run_id "best_run_from_experiments" ``` ### `run_fiftyone.py` * **Purpose:** Visualizes datasets and predictions using FiftyOne. * **How it works:** * `--dataset groundtruth`: Loads the processed YOLO dataset (images and ground truth labels) from `data/processed/`. * `--dataset predictions`: Loads images, runs a specified model (`--run_id`) on them, and displays the model's predictions. * **Run:** ```sh # View the ground truth annotations for the 'val' split python -m robbenblick.run_fiftyone \ --config configs/base_config.yaml \ --dataset groundtruth \ --split val \ --recreate # View the predictions from 'my_best_run' on the 'test' split python -m robbenblick.run_fiftyone \ --config configs/base_config.yaml \ --dataset predictions \ --split test \ --run_id "my_best_run" \ --recreate ``` ### `streamlit_app.py` * **Purpose:** Quick test runs with the trained model of your choice for counting the seals in the image(s) and visualization. * **How it works:** * Loads the selected YOLO model from `runs/detect/`. * Upload images, run model, then displays the counts and model's predictions as image visualization. * **Run:** ```sh # View the ground truth annotations for the 'val' split export PYTHONPATH=$PWD && streamlit run robbenblick/streamlit_app.py ``` ## Recommended Full Workflow 1. **Add Raw Data:** * Place your first set of images and annotations in `data/raw/dataset_01/images/` and `data/raw/dataset_01/annotations.xml`. * Place your second set (e.g., from a different location) in `data/raw/dataset_02/images/` and `data/raw/dataset_02/annotations.xml`. 2. **Create Dataset:** * Run `python -m robbenblick.create_dataset --dry-run` to see your dataset statistics. Note the indices of your datasets. * Let's say `dataset_02` is a good hold-out set. Run: `python -m robbenblick.create_dataset --config configs/base_config.yaml --test-dir-index 2` * This creates `data/raw/dataset_02/ground_truth_counts.csv` for later. 3. **Find Best Model:** * Edit `configs/base_iter_config.yaml`. Define your experiments. ```yaml # Example: Test two models and two freeze strategies model: ['yolov8s.pt', 'yolov8m.pt'] freeze: [None, 10] yolo_hyperparams: scale: [0.3, 0.5] ``` * Run the experiments: `python -m robbenblick.run_experiments`. * Note the `run_id` of the top-ranked model, e.g., `iter_run_model_yolov8m.pt_freeze_10_scale_0.3`. 4. **Validate on Test Set (Detection mAP):** * Check your best model's performance on the unseen test data: `python -m robbenblick.yolo --mode validate --run_id "iter_run_model_yolov8m.pt_freeze_10_scale_0.3" --config configs/base_config.yaml` * This tells you how well it *detects* objects (mAP). 5. **Apply Model for Counting:** * Get a new folder of large, un-annotated images (e.g., `data/to_be_counted/`). * Run `predict_tiled.py`: `python -m robbenblick.predict_tiled --run_id "iter_run_model_yolov8m.pt_freeze_10_scale_0.3" --source "data/to_be_counted/" --output-dir "data/final_counts/" --save-visuals` * This creates `data/final_counts/detection_counts.csv`. 6. **Evaluate Counting Performance (MAE, RMSE):** * Now, compare the predicted counts (Step 5) with the ground truth counts (Step 2). Let's assume your "to_be_counted" folder *was* your `dataset_02`. `python -m robbenblick.evaluate_counts --gt-csv "data/raw/dataset_02/ground_truth_counts.csv" --pred-csv "data/final_counts/detection_counts.csv"` * This gives you the final MAE, RMSE, and R² metrics for your **counting task**. ## Additional Notes This repository contains only the source code of the project. The training data and the fine-tuned model weights are not included or published. The repository is currently not being actively maintained. Future updates are not planned at this time. For transparency, please note that the underlying model used throughout this project is based on **YOLOv8 by Ultralytics**. ## License Copyright (c) 2025 **Birds on Mars**. This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**. This aligns with the license of the underlying **YOLOv8** model architecture used in this project. Please note: **Training data and fine-tuned model weights are not part of the licensed materials** and are not included in this repository. For full details, see the LICENSE file. ## Troubleshooting ### FiftyOne: images (partially) not visible Try using `--recreate` flag to force FiftyOne to reload the dataset: ```sh python robbenblick/run_fiftyone.py --dataset groundtruth --split val --recreate ``` ### FiftyOne: failed to bind port If you get: ``` fiftyone.core.service.ServiceListenTimeout: fiftyone.core.service.DatabaseService failed to bind to port ``` Try killing any lingering `fiftyone` or `mongod` processes: ```sh pkill -f fiftyone pkill -f mongod Then rerun your script. ``` # Collaborators The code for this project has been developed through a collaborative effort between [WWF Büro Ostsee](https://www.wwf.de/themen-projekte/projektregionen/ostsee) and [KI-Ideenwerkstatt](https://www.ki-ideenwerkstatt.de), technical implementation by [Birds on Mars](https://birdsonmars.com). <p></p> <a href="https://ki-ideenwerkstatt.de" target="_blank" rel="noopener noreferrer"> <img src="assets/kiiw.jpg" alt="KI Ideenwerkstatt" height="100"> </a> <p></p> Technical realization <br> <a href="https://birdsonmars.com" target="_blank" rel="noopener noreferrer"> <img src="assets/bom.jpg" alt="Birds On Mars" height="100"> </a> <p></p> An AI initiative by <br> <a href="https://www.bundesumweltministerium.de/" target="_blank" rel="noopener noreferrer"> <img src="assets/bmukn.svg" alt="Bundesministerium für Umwelt, Klimaschutz, Naturschutz und nukleare Sicherheit" height="100"> </a> <p></p> In the context of <br> <a href="https://civic-coding.de" target="_blank" rel="noopener noreferrer"> <img src="assets/civic.svg" alt="Civic Coding" height="100"> </a>

Entwicklung von energieeffizienten Koaleszenzfiltermedien für CO2-Einsparung bei der Verdichtung von Wasserstoff mittels eines neuartigen Herstellprozesses

Der zukünftig erhöhte Wasserstoffbedarf rückt den Transport über Pipelines in den Vordergrund. Durch lange Transportwege muss dieser regelmäßig auf seinen Ausgangsdruck verdichtet werden. Zur Komprimierung sind entsprechende Kompressoren notwendig, welche mit Koaleszenzfiltern ausgestattet werden müssen, um die Reinheit des Wasserstoffs beim Transport zu gewährleisten. Das Projekt beschäftigt sich mit der Entwicklung und Realisierung einer neuartigen Technologie zur Fertigung von Koaleszenzfiltermedien, welche mittels Schaumauftragsverfahren hergestellt werden. Ein gezieltes Design der Filtermedien ermöglicht eine Verringerung des Druckverlustes und somit ein enormes CO2-Einsparpotential. Um das CO2-Einsparpotential unter realen Bedingungen zu ermitteln, wird für Testzwecke ein Wasserstoffteststand aufgebaut. Parallel zu den Experimenten werden numerische Untersuchungen, die zu einem auf klassischen CFD-Verfahren basieren, als auch auf Machine-Learning basierten Ansätzen beruhen. Durch geeignete Co-Simulationen können Modelle für unterschiedliche Skalen berechnet werden. Die validierten Modelle werden für die Optimierung komplexer Filterstrukturen eingesetzt und erlauben eine Effizienz-Steigerung der Filtermedien.

Entwicklung von energieeffizienten Koaleszenzfiltermedien für CO2-Einsparung bei der Verdichtung von Wasserstoff mittels eines neuartigen Herstellprozesses, Teilvorhaben: Numerische Modellierung und Simulation von Filtersystemen basierend auf Machine Learning und CFD-Methoden

Der zukünftig erhöhte Wasserstoffbedarf rückt den Transport über Pipelines in den Vordergrund. Durch lange Transportwege muss dieser regelmäßig auf seinen Ausgangsdruck verdichtet werden. Zur Komprimierung sind entsprechende Kompressoren notwendig, welche mit Koaleszenzfiltern ausgestattet werden müssen, um die Reinheit des Wasserstoffs beim Transport zu gewährleisten. Das Projekt beschäftigt sich mit der Entwicklung und Realisierung einer neuartigen Technologie zur Fertigung von Koaleszenzfiltermedien, welche mittels Schaumauftragsverfahren hergestellt werden. Ein gezieltes Design der Filtermedien ermöglicht eine Verringerung des Druckverlustes und somit ein enormes CO2-Einsparpotential. Um das CO2-Einsparpotential unter realen Bedingungen zu ermitteln, wird für Testzwecke ein Wasserstoffteststand aufgebaut. Parallel zu den Experimenten werden numerische Untersuchungen, die zu einem auf klassischen CFD-Verfahren basieren, als auch auf Machine-Learning basierten Ansätzen beruhen. Durch geeignete Co-Simulationen können Modelle für unterschiedliche Skalen berechnet werden. Die validierten Modelle werden für die Optimierung komplexer Filterstrukturen eingesetzt und erlauben eine Effizienz-Steigerung der Filtermedien.

Entwicklung und Validierung von geothermischen Modellen und Anlagenkonzepten mit innovativen oberflächennahen Elementen für dynamisch geregelte Wärmepumpensysteme, Teilvorhaben: Vertikalabsorber und Materialoptimierung

Im Projekt lnnoFlaG sollen neuartige oberflächennahe Wärmetauscherelemente in Kombination mit Latentwärmespeichern, Energiespeichern und Hydraulikmodulen als funktionsfähige Einheit vom Firmenkonsortium entwickelt, getestet und in Wechselwirkung mit dem oberflächennahen Erdreich (inkl. Feuchtetransport und Gefrierprozessen) sowie multimodaler Regenerierung modelliert werden. Hierbei geht es um erhöhte Planungssicherheit bezüglich der Erträge, aber auch um Schadensvermeidung, denn gerade bei flachen Geo-Kollektoren sind in der Vergangenheit durch Gefrieren des Bodens Schäden entstanden. In diesem Teilvorhaben wird von der GeoCollect GmbH untersucht, wie der Einsatz von 100 % Recyclingmaterialien für die kunststoffbasierten Absorber und verbindenden Rohrleitungen ermöglicht werden kann. Neben einer Materialoptimierung von gängigem Polypropylen in Richtung Polyethylen wird die GeoCollect GmbH insbesondere die Eignung und Zertifizierbarkeit von Recycling-Granulaten und daraus hergestellten Komponenten für die Anwendung im Rahmen der oberflächennahen Geothermie untersuchen. Desweiteren werden von der GeoCollect GmbH die Absorberform und die Gesamtgeometrie bezüglich der thermischen Performance und der Langzeitbeständigkeit optimiert. Dabei wird ein besonderes Augenmerk auf die Gesamt-Ökobilanz des Systems gelegt. Entsprechende Optimierungsrechnungen werden in Zusammenarbeit mit dem SIJ der FH Aachen durchgeführt, wobei die C02- Emissionen als Leitparameter der Ökobilanzierung gewählt werden. Zudem führt die GeoCollect GmbH in enger Zusammenarbeit mit dem SIJ und der WKG Energietechnik GmbH die Neuentwicklung eines zwangsdurchströmten Trennwärmetauschers zur Wärmerückgewinnung aus Oberflächen-, Ab- und Grundwasser bis zu einem Funktionsmuster durch. Basis der Neuentwicklung ist der Plattenabsorber der GeoCollect GmbH. Die für die Versuche an der FH Aachen benötigten Kollektor-Elemente und Anschlussmaterialien werden von der GeoCollect GmbH bereitgestellt.

Methoden zur Validierung der Anforderungen von Kunststoffmedienleitungen für Wasserstoffanwendungen (Teilprojekt 3)

Akustische Strukturüberwachung von Druckbehältern und Wärmetauschern der chemischen Industrie bei erhöhten Temperaturen, Teilvorhaben: Entwicklung und Charakterisierung hochtemperaturfähiger Wandler

1 2 3 4 5171 172 173