|
Zajecia:
Srody 9:15--11:00, (grupa 6. tyg. nieparz., grupa 7. tyg. parz.), sala 603
07.11.2018
Po dziesiejszych ustaleniach, uklad katalogow jest nastepujacy:
.
+-- BoW
| +-- cats_dogs
| +-- sifts
| +-- kmeans100
| +-- hist_normalized
| +-- train
| | +-- cat
| | +-- dog
| +-- validate
| +-- cat
| +-- dog
+-- classify
| +-- cats_dogs
| +-- sifts
| +-- kmeans100
| +-- hist_normalized
| +-- SVM
+-- datasets
| +-- cats_dogs
| +-- results
| +-- train
| | +-- cat
| | +-- dog
| +-- validate
| +-- cat
| +-- dog
+-- dict
| +-- cats_dogs
| +-- sifts
| +-- kmeans100
| +-- dictionary_EMPTY.json
+-- doc
| +-- data_flow
+-- features
| +-- cats_dogs
| +-- sifts
| +-- train
| | +-- cat
| | +-- dog
| +-- validate
| +-- cat
| +-- dog
+-- scripts
+-- users_test
-
Zespoly:
Zespol 1: Z.D., A.M.,
Zespol 2: D.J., P.F., N.S.,
Zespol 3: Sz.C., M.K., W.W.,
Zespol 4: E.M., A.P., J.Z.,
Zespol 5: K.K., M.Si., K.V.,
Zespol 6: K.G., T.K., A.S.
Zespol 7: W.L., M.St.
-
- Dla danych cats_dogs zrobilem:
-- wszystkie SIFTy w jednym pliku: /features/cats_dogs/sifts/sifts_all.json
-- SIFTy dla kazdego obrazka osobno - w stosownych podkatalogach
w features/cats_dogs/sifts/train/ oraz
features/cats_dogs/sifts/validate/
Innymi slowy - zoriblem to co ma zautomatyzowac Zespol 1. (tak by zespol drugi juz mogl pracowac)
24.10.2018:
Podzial zadan na zespoly, wersja 2.0
18.10.2018:
- Format danych: w katalogu datasets bedziemy trzymali zestawy obrazkow.
Wrzucilem tam przykladowy cats_dogs. Zakladamy, ze tam zawsze sa przynajmniej dwa katalogi:
train oraz validate, a kazdy z nich sklada sie z katalogow, ktorych nazwy odpowiadaja roznym klasom.
Na przykladzie cats_dogs struktura wyglada tak
cats_dogs/
|--train/
|-- cats/
| cat.1.jpg
| cat.10.jpg
| cat.1009.jpg
|-- dogs/
| dog.1001.jpg
| dog.1004.jpg
| dog.1005.jpg
|--validate/
|-- cats/
| cat.1001.jpg
| cat.1002.jpg
| cat.1011.jpg
|-- dogs/
| dog.169.jpg
| dog.17.jpg
- W scripts dodalem zupdatowany show_keypoints.py (wyszukuje keypointsy),
show_keypoints_calculate_sifts.py (wyszukuje keypointy i wylicza SIFTy) i przede wszystkim
glob_example.py, przeszukuje on wszystkie pliki w podanym katalogu (zaklada, ze
sa podkatalogi train oraz validate), wyszukuje tam SIFTy i zapisuje je do pliku.
Typowe uzycie:
python3.6 glob_example.py --data-dir datasets/cats_dogs/ --sifts-file datasets/cats_dogs/results/cats_dogs_exp1_sifts_all.json
Przeszuka on katalogi datasets/cats_dogs/train oraz datasets/cats_dogs/validate, na obrazkach wyszuka sifty,
wszystkie je zapisze do pliku datasets/cats_dogs/results/cats_dogs_exp1_sifts_all.json
Kilka hasel dot. projektu
- Git: Repozytorium, z ktorego bedziemy korzystali znajduje sie pod adresem
https://github.com/lorek/ZPS2018
Jest tam (w README) opisana instrukcja zakladania konta, wczytania repozytorium,
informacje jak "dolaczyc" do projektu itp. W szczegolnosci, jest tam opisane pierwsze
ZADANIE -- by stworzyc przykladowy plik i dopisac sie do listy uczestnikow projektu
(ktore to zadanie jest po prostu potwierdzeniem wykonania niezbednych krokow)
- Python:
- Edytor: polecam prosty Geany. Bardziej zaawansowany:
PyCharm
- Konieczne jest zaznajomienie sie z biblioteka Numpy
(krotka sciaga wyslana mailem)
- Wygodnie bedzie uzywac biblioteki argparse. Sluzy ona do tego, by
moc latwo podawac argumenty do programu.
Przykladowy plik: linia_polecen_przyklad.py, wymagany jest argument --input, a opcjonalny --output
(program wczytuje obrazek --input, rysuje go oraz jego czarnobiala wersje,
a jesli podano --output, to wersja czarnobiala jest pod ta nazwa zapisywana)
Wywolanie:
$ python linia_polecen_przyklad.py
usage: linia_polecen_przyklad.py [-h] --input INPUT [--output OUTPUT]
linia_polecen_przyklad.py: error: the following arguments are required: --input
Wywolanie z wymaganymi parametrami
$ python linia_polecen_przyklad.py --input IM.png --output IM_gray.png
- Python: kilka przykladowych plikow:
- tsne_pca_example.py
Przyklad zastosowania PCA i t-sne do obrazkow "cyferek" MNIST
- scatter3d_demo.py
rysowanie chmury punktow 3d
- axes3d.py
rysowanie chmury punktow 3d raz jeszcze
- pca_norm.py
Trojwymiarowy rozklad normalny + PCA do 2d
- pca_wines.py
Dane 13 wymiarowe punkty -- cechy = rozne chemiczne rzeczy dotyczace win, podzielone na jakies 3 klasy. Redukcja PCA do 3d
- kmeans0.py
Klasteryzacja k-means - przyklad uzycia
- kmeans_spectral.py
Klasteryzacja k-means vs spectral clustering
- img1.py
Wczytanie obrazka baloons2.jpg , wyswietlenie kolorowej wersji oraz wersji czarno-bialej (jednego z kanalow)
- show_keypoints.py
Wczytuje obrazek IM.png ,
znajduje na nim 'keypoints' (uzywane do SIFT), rysuje je na obrazku i calosc zapisuje w pliku
IM_sift_keypoints.png
- eigs_image.py
Przyklad uzycia SVD do kompresji obrazu ("obrazki wlasne")
- class_svm.py
Przyklad uzycia klasyfikatora SVM
(wiekszosc kodu to generowanie punktow i pozniejsze ladne rysowanie)
|
|