Skip to content

Digitális képek módosításainak detektálása Fourier transzformációval és lokális képi jellemzőkkel

Notifications You must be signed in to change notification settings

timeaszabo1217/szakdolgozat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

szakdolgozat

Szakdolgozat

Ez a projekt a szakdolgozatomhoz készült, amely a CASIA1.0 adatkészlet használatával különböző képfeldolgozási és gépi tanulási technikákat vizsgál a manipulált képek felismerésére, a Detection of Digital Image Forgery using Fast FourierTransform and Local Features nevű kutatásra alapozva. A kutatás célja a digitális képhamisítás kimutatása Fast Fourier-transzformáció (FFT) és helyi textúra-leírók (LBP, LTP és ELTP) alkalmazásával.

Tartalomjegyzék

Bevezetés

A projekt célja egy gépi tanulási modell kifejlesztése, amely képes azonosítani a módosított képeket.

A projekt az alábbi fő lépéseket tartalmazza:

  1. Az adatok előfeldolgozása
  2. A képjellemzők kinyerése
  3. A modell betanítása és kiértékelése

Az 1. módszer folyamatai: lepesek1

A 2. módszer folyamatai: lepesek2

Követelmények

A projekt futtatásához a következő könyvtárak és eszközök szükségesek:

  • Python 3.x
  • OpenCV
  • NumPy
  • Scikit-learn
  • Matplotlib

Telepítés

  1. Könyvtárak Telepítése: Szükséges Python könyvtárak telepítése az alábbi parancs futtatásával:

    pip install opencv-python numpy scikit-learn matplotlib
  2. Adatok Letöltése: CASIA1.0 adatkészlet letöltése, és elhelyezése a data/ könyvtárban.

    A projekt már tartalmazza az adatkészletet.

Futtatás

Futtatás egyben:

Futtasuk az run_scripts.py scriptet:

python src/run_scripts.py

Futtatás külön-külön:

  1. Adatok Előfeldolgozása: Futtasuk az preprocess.py scriptet az adatok előfeldolgozásához:

    python src/preprocess.py
  2. Jellemzők kinyerése: Futtasuk a feature_extraction.py scriptet a jellemzők kinyeréséhez:

    python src/feature_extraction.py
  3. Modell Betanítása: Futtasuk a train_classifier.py scriptet a modell betanításához:

    python src/train_classifier.py

Eredmények

A betanított modell teljesítményének értékeléséhez a következő metrikákat használom:

Pontosság (Accuracy): Az összes helyes előrejelzés aránya az összes előrejelzéshez képest.

Visszahívás (Recall): A helyesen előrejelzett pozitív esetek aránya az összes tényleges pozitív esethez képest.

eredmenyek

Az eredményeket a results mappában tároljuk.

Következtetések

Az eredmények alapján az FFT-ELTP módszerrel a modell közepesen hatékonyan ismerte fel és különböztette meg az eltérő textúrákat. További munka lehet szükséges a modell fejlesztéséhez – például többféle jellemző kivonása, más tanító-tesztadat arány, másik adatkészlet (CASIA2.0) használata segíthet.

Fájlstruktúra

A projekt könyvtárszerkezete a következő:

├── data/
│   └── CASIA1.0/
│         ├── Au/
│         └── Tp/
├── src/
│   ├── results/
│   │   ├── metrics/
│   │   │   └── evaluation_metrics.txt
│   │   ├── plots/
│   │   │   ├── data_distribution.png
│   │   │   ├── confusion_matrix.png
│   │   │   ├── metrics_plot.png
│   │   │   └── roc_curve.png
│   │   ├── classifier.joblib
│   │   ├── features_labels.joblib
│   │   ├── preprocessed_data.joblib
│   │   └── results.txt
│   ├── feature_extraction.py
│   ├── preprocess.py
│   ├── run_scripts.py
│   └── train_classifier.py
├── .gitattributes
├── .gitignore
└── README.md

Hibakeresés

Ha problémák merülnek fel a scriptek futtatása közben, itt van néhány gyakori hiba és megoldás:

Adat Betöltési Hiba:

Győződjünk meg róla, hogy a data/ mappában találhatóak a szükséges Au és Tp mappák, és a fájlnevek helyesen vannak megadva.

Kép Konvertálási Hiba:

Ellenőrizzük, hogy az OpenCV megfelelően telepítve van és a képek elérhetők.

Import Hiba:

Ha valamely csomag nem megfelelően töltödött le, próbáljuk frissíteni, vagy újra letölteni a pip segítségével.

Virtuális Környezet Hiba:

Ha a virtuális környezetben nem fut le megfeleleően, töröljük és hozzuk újra létre a venv-et.

Modell Betöltési Hiba:

Győződjünk meg róla, hogy a classifier.joblib fájl elérhető a results/ mappában, és helyesen van elmentve.

Memória Túlcsordulás, Lassú Futás Hiba:

Ha memória problémák merülnek fel, próbáljunk kisebb batch méretet választani (pl. batch_size=100).

Kapcsolat

Email: [email protected]

LinkedIn: timeaszabo1217

Releases

No releases published

Packages

No packages published

Languages