API src

Found 1739 results.

Related terms

Wasserversorgungsnetz der Stadtwerke Einbeck GmbH

Die Stadtwerke Einbeck GmbH versorgen neben der Kernstadt 46 Ortsteile mit Wasser. Für die Altgemeinde Kreiensen ist die Netzbetriebs­führungs­gesellschaft mbH WVEK verantwortlich. Die Abrechnung sowie der Kunden­service übernehmen wir für Sie. Die Ortsteile Dassensen und Holtensen werden aus den Wassergewinnungsanlagen des WAZ Sollings versorgt. Der Ortsteil Sievershausen hat eine eigene Wasserversorgung. Das Leitungsnetz ist zum Teil mit Maßangaben versehen. Es gibt aber auch Bereiche in der die Lage und Dimension von Leitungen nicht bekannt ist. Die Daten sind nicht einsehbar, sie werden bei berechtigtem Interesse im PDF-Format abgegeben.

Trinkwasserverteilernetz Osnabrück

Der Datensatz umfasst das Trinkwasserleitungsnetz der SWO Netz GmbH für das Versorgungsgebiet der Stadt Osnabrück.

Trinkwasserleitungsnetz der Stadtwerke Delmenhorst GmbH

Der Datensatz umfasst das Trinkwassernetz der Stadtwerke Delmenhorst GmbH im Versorgungsgebiet Delmenhorst. Die Daten bilden sowohl die Hauptleitungen, als auch die Hausanschlüsse mit den jeweils zugehörigen Armaturen ab.

Untersuchung der Kriterien zur Sanierung und Erneuerung (Rehabilitation) des Wasserrohrnetzes der Stadt Erfurt als Beitrag zur Erstellung eines Rehabilitationsprogrammes und zur Senkung der Wasserverluste

Die Forschungsvereinbarung sieht die Unterstuetzung der Stadtwerke Erfurt bei der Ausarbeitung eines Rohrnetzsanierungsprogrammes vor. Gestuetzt wird die Dringlichkeit der Untersuchungen durch die Alterung der Rohrnetze und ihre daraus abzuleitende Schadensanfaelligkeit, da die technische Gebrauchsdauer von Rohrleitungen in vielen Staedten ueberschritten und die notwendige Rehabilitation der Wasserversorgungsnetze (nach W 401 'Massnahmen zur Erhaltung oder Verbesserung der Funktionsfaehigkeit bestehender Wasserverteilungsanlagen. Sie schliesst alle Reinigungs-, Sanierungs- und Erneuerungsmethoden ein') erforderlich ist. Das Ziel der Untersuchungen besteht darin, dazu beizutragen, den Stadtwerken Erfurt zu ermoeglichen, eine jederzeit aktuelle Schadensstatistik zu fuehren und durch Untersuchung bestimmter Kriterien die permanente Instandhaltung und Erneuerung des Rohrnetzes durchzufuehren. Durch die Aussonderung besonders schadensbehafteter Leitungen (Sanierung derselben bzw. Ersatz) sollen sowohl die Instandhaltungskosten als auch die Wasserverluste gesenkt werden. Gleichzeitig soll die Schadensstatistik genutzt werden, begruendet die zu sanierenden oder zu erneuernden Rohrstrecken auszuwaehlen. Erdverlegte Wasserrohrleitungen sind nicht unmittelbar und jederzeit zugaenglich und koennen aufgrund ihrer Verlegetiefe nicht unmittelbar hinsichtlich ihrer Schaeden beurteilt werden wie Hochbauten. Rohrschaeden sind daher eine Moeglichkeit, Leitungssysteme zumindest punktuell zu beurteilen. Dabei ist natuerlich zu beruecksichtigen, dass bei Schadensfaellen aufgrund der Dringlichkeit der Wiederherstellung des Betriebszustandes die Leitungen nur kurzzeitig aussen und innen beurteilt werden koennen und auch die Schadensursache durch das austretende Wasser nicht immer zweifelsfrei festgelegt werden kann (Unterspuelungen, oft auch mehrere Ursachen). Trotz dieser Einschraenkungen ermoeglicht die Schadensstatistik wichtige Aussagen zur Erneuerung und Sanierung von Rohrleitungssystemen. Zur Schadenserfassung stand 1996/97 eine ABM-Stelle zur Verfuegung, das EDV-Statistikprogramm wurde durch eine Mitarbeiterin des Fachbereiches Bauingenieurwesen erstellt, die Auswertung und Erarbeitung des Forschungsberichtes erfolgte durch den Projektleiter. Der Abschluss der Forschungsarbeiten ist 1998 vorgesehen, notwendige Voraussetzung die Bewilligung einer ABM-Stelle zur Datenerfassung und Weiterbearbeitung.

Ressortforschungsplan 2023, Untersuchungen von Ermüdungsbewertungen an Komponenten in LWR

European Investment Bank - Water Management

BACKGROUND: The Kingdom of Jordan belongs to the ten water scarcest countries in the world, and climate change is likely to increase the frequency of future droughts. Jordan is considered among the 10 most water impoverished countries in the world, with per capita water availability estimated at 170 m per annum, compared to an average of 1,000 m per annum in other countries. Jordan Government has taken the strategic decision to develop a conveyor system including a 325 km pipe to pump 100 million cubic meters per year of potable water from Disi-Mudawwara close to the Saudi Border in the south, to the Greater Amman area in the north. The construction of the water pipeline has started end of 2009 and shall be finished in 2013. Later on, the pipeline could serve as a major part of a national water carrier in order to convey desalinated water from the Red Sea to the economically most important central region of the country. The conveyor project will not only significantly increase water supplies to the capital, but also provide for the re-allocation of current supplies to other governorates, and for the conservation of aquifers. In the context of the Disi project that is co-funded by EIB two Environmental and Social Management Plans have been prepared: one for the private project partners and one for the Jordan Government. The latter includes the Governments obligation to re-balance water allocations to irrigation and to gradually restore the protected wetlands of Azraq (Ramsar site) east of Amman that has been depleted due to over-abstraction by re-directing discharge of highland aquifers after the Disi pipeline becomes operational. The Water Strategy recognizes that groundwater extraction for irrigation is beyond acceptable limits. Since the source is finite and priority should be given to human consumption it proposes to tackle the demand for irrigation through tariff adjustments, improved irrigation technology and disincentive to water intensive crops. The Disi aquifer is currently used for irrigation by farms producing all kinds of fruits and vegetables on a large scale and exporting most of their products to the Saudi and European markets and it is almost a third of Jordan's total consumption. The licenses for that commercial irrigation were finished by 2011/12. Whilst the licenses will be not renewed the difficulty will be the enforcement and satellite based information become an important supporting tool for monitoring. OUTLOOK: The ESA funded project Water management had the objective to support the South-North conveyor project and the activities of EIB together with the MWI in Jordan to ensure the supply of water for the increasing demand. EO Information provides a baseline for land cover and elevation and support the monitoring of further stages. usw.

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.

Weitere Anlagen des Wasserbaus

Geoportal Berlin: Gewässerkarte Zu den weiteren Anlagen des Wasserbaus zählen unter anderem verrohrte Gewässer und Pumpstationen im Verlauf von Gewässern. Gewässer fließen ganz oder teilweise in unterirdisch verlegten Rohrleitungen, wenn sie tief in das Gelände eingeschnitten sind oder im Zuge der Stadtentwicklung überbaut worden sind. Diese Rohrleitungen sind regelmäßig instand zu setzen oder, wenn Instandsetzungen nicht mehr sinnvoll sind, grundhaft zu sanieren oder zu erneuern. Pumpstationen im Verlauf von Gewässern werden benötigt, um das Wasser entgegen der natürlichen Fließrichtung eines Gewässers zu heben und den Wasserspiegel eines oberhalb liegenden Gewässers zu stabilisieren. Bild: SenUVK Neubau der Schleuse Neukölln und Sanierung der Uferwände des Neuköllner Schifffahrtskanals Die grundhafte Erneuerung der Schleuse Neukölln sowie Sanierungsmaßnahmen der Uferwände am Neuköllner Schifffahrtskanal ist geplant. Die Maßnahmen erstrecken sich von der Einmündung in den Landwehrkanal bis zum Hafen Britz-Ost am Teltowkanal. Weitere Informationen Bild: Karte: OpenStreetMap Sanierung verrohrter Talgraben Der verrohrte Talgraben ist ein Gewässer II. Ordnung im Stadtbezirk Charlottenburg-Wilmersdorf von Berlin. Er wurde wohl um 1926 gebaut und verbindet auf einer Länge von ca. 1.900 m den Hubertussee mit dem Fennsee als Teil der Grunewaldseenkette. Weitere Informationen Bild: Karte: OpenStreetMap Neubau Pumpstation Dianasee Die alte Pumpstation Dianasee in der Fontanestraße förderte ca. 85 m³ Wasser pro Stunde aus dem Hundekehlegraben in den oberhalb gelegenen Dianasee. Sie ist zur Verbesserung des Wasserhaushaltes der Kleinen Grunewaldseenkette durch eine leistungsfähigere Station ersetzt worden. Weitere Informationen

Gerichtete Beseitigung von Antibiotikaresistenzgenen und fakultativen pathogenen Bakterien mit modularen angewandten Behandlungsverfahren in Abwasserbereichen

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>

1 2 3 4 5172 173 174