System webowy oparty na Django do automatycznej detekcji anomalii w obrazach rentgenowskich pojazdów.
Aplikacja wykorzystuje techniki machine learning do analizy obrazów rentgenowskich pojazdów w celu wykrywania potencjalnych zagrożeń i anomalii. System przetwarza zarówno "czyste" obrazy referencyjne, jak i obrazy zawierające anomalie, aby nauczyć model rozróżniania między nimi.
- Automatyczna detekcja anomalii - wykrywanie nieprawidłowości w skanach rentgenowskich
- Pipeline przetwarzania obrazów - transformacja i przygotowanie danych wejściowych
- System adnotacji - zarządzanie adnotacjami w formacie JSON dla obrazów treningowych
- Interfejs webowy - aplikacja Django umożliwiająca łatwe korzystanie z systemu
- Analiza różnicowa - porównywanie obrazów "czystych" i "brudnych"
KAS_HackNation/
│
├── scanner/ # Główna aplikacja Django
├── core/ # Konfiguracja projektu Django
│
├── brudne_przeksztalcone/ # Obrazy z anomaliami (przetworzone)
├── czyste_przeksztalcone/ # Obrazy referencyjne (przetworzone)
│
├── json_annotations_clean_final/ # Adnotacje dla czystych obrazów
├── json_annotations_dirty_final/ # Adnotacje dla obrazów z anomaliami
│
├── anomaly_app_script.py # Skrypt aplikacji do detekcji anomalii
├── diff_pipeline.py # Pipeline analizy różnicowej
├── przeksztalcanie_folderow.py # Skrypt transformacji katalogów
│
├── detecting_anomalies.ipynb # Notebook badawczy - detekcja anomalii
├── podejscie_temporary.ipynb # Notebook z eksperymentami
├── tmp.ipynb # Notebook roboczy
│
├── manage.py # Skrypt zarządzania Django
└── requirements.txt # Zależności projektu
- Backend: Django
- Machine Learning: YOLOv8
- Przetwarzanie obrazów: OpenCV, PIL/Pillow
- Analiza danych: NumPy, Pandas
- Notebooki: Jupyter
- Python 3.8+
- pip
- virtualenv (zalecane)
- Sklonuj repozytorium
git clone https://github.com/JakubPoltorak147/KAS_HackNation.git
cd KAS_HackNation- Utwórz i aktywuj środowisko wirtualne
python -m venv venv
source venv/bin/activate # Linux/Mac
# lub
venv\Scripts\activate # Windows- Zainstaluj zależności
pip install -r requirements.txt- Wykonaj migracje Django
python manage.py migrate- Uruchom serwer deweloperski
python manage.py runserverAplikacja będzie dostępna pod adresem: http://127.0.0.1:8000
- Uruchom serwer Django zgodnie z instrukcją instalacji
- Otwórz przeglądarkę i przejdź do
http://127.0.0.1:8000 - Wgraj obraz rentgenowski do analizy
- System automatycznie wykryje anomalie i wyświetli wyniki
Detekcja anomalii:
python anomaly_app_script.pyPipeline różnicowy:
python diff_pipeline.pyTransformacja katalogów:
python przeksztalcanie_folderow.pyProjekt zawiera notebooki badawcze do eksperymentowania z różnymi podejściami:
jupyter notebook detecting_anomalies.ipynbSystem wykorzystuje podejście oparte na analizie różnicowej między obrazami referencyjnymi (czystymi) a obrazami testowymi. Model jest trenowany na zbiorze danych zawierającym:
- Czyste obrazy - normalne skany rentgenowskie bez anomalii
- Brudne obrazy - skany zawierające kontrabandę lub inne nieprawidłowości
Adnotacje w formacie JSON zawierają informacje o lokalizacji i typie wykrytych anomalii.
{
"image_id": "example_001",
"annotations": [
{
"type": "anomaly",
"bbox": [x, y, width, height],
"confidence": 0.95
}
]
}