5. Anonimizacja instrukcja

Transkrypt

5. Anonimizacja instrukcja
LABORATORIUM TELEMONITORINGU OBIEKTÓW I AGLOMERACJI
Temat: „Metody anonimizacji obrazu”
W programie Watermarker.exe dostępny jest graficzny interfejs udostępniający
opcje algorytmów anonimizacji. Funkcjonalności realizowane przez program za
pośrednictwem GUI podzielone zostały na dwie grupy: przetwarzanie obrazów
statycznych oraz przetwarzanie strumieni wizyjnych (Capture i MobieDec, nie
wykorzystywane w tym laboratorium). Czarne pole po prawej stronie interfejsu pełni
rolę informacyjną, gdzie znajdują się komunikaty o błędach oraz ewentualne wyniki
przetwarzania.
Podczas przetwarzania pojedynczych obrazów użytkownik zmuszony jest do
wykonywania wszystkich operacji samodzielnie. Rys. 1 prezentuje dostępne opcje
związane z przetwarzaniem obrazów.
(a)
(b)
(c)
(d)
(e)
Rys. 1. Opcje związane z przetwarzaniem obrazów
Operacje możliwe do zrealizowania w procesie przetwarzania obrazów zostały
podzielone na pięć grup. Każda grupa została zaznaczona kropkowaną linią na rys. 1
dodatkowo oznaczono wszystkie grupy literami (a - e). Poszczególne grupy oraz ich
funkcje opisano w poniższych punktach. Wszystkie etapy przetwarzania opisano w
logicznej kolejności, która jest konieczna do skutecznego przeprowadzenia procesu
dekodowania.
1
1 Otwieranie i zapisywanie plików (a)

Otworzyć nowy obraz - przycisk „Image” w grupie (a). Po zatwierdzeniu
wyboru pojawi się okno zatytułowane „Original” prezentujące otworzony plik
graficzny. Możliwe jest otwieranie nowych obrazów w dowolnym momencie pracy
programu, jednak operacje będą przeprowadzane tylko na ostatnio otworzonym
pliku.
 Zapisywanie wyników - przycisk „Save” w grupie (a). Zapisywany jest
zawsze ostatnio wyświetlony obraz niezależnie od tytułu okna. Dla zapisu w
formacie JPEG możliwe jest ustawienie parametru jakości zapisywanego pliku za
pomocą suwaka znajdującego się w grupie (a), 100 oznacza najlepszą jakość obrazu
po kompresji JPEG, wartość parametru jakości wyświetlana jest w tytule pola wyboru
JPEG. W polu tekstowym zawierającym domyślnie tekst „OutputFilename” należy
wpisać nazwę pliku wynikowego bez rozszerzenia, który zostanie zapisany w katalogu
programu „Watermarker”. Aby plik został zapisany w innej lokalizacji należy podać
całą ścieżkę dostępu do docelowego katalogu np. „C:\Users\User\Desktop\nazwaPliku”.
2 Detekcja obiektów z wykorzystaniem kaskady Haara (b)
Dostępne są klasyfikatory Haara, wytrenowane pod kątem detekcji różnych
obiektów. W programie istnieje możliwość wybrania dowolnej kaskady spośród 19
dostarczonych opisanych w plikach xml, do wyboru odpowiedniego pliku służy
przewijana lista wyboru umieszczona w grupie (b). Doświadczalnie stwierdzono, że
najlepsze rezultaty powoduje zastosowanie wytrenowanej do detekcji twarzy o
nazwie „haarcascade_frontalface_alt2”.
 Ustawienie rozmiaru poszukiwanego obiektu suwakiem po lewej stronie grupy
(b), domyślny rozmiar obiektu ustawiono na 40×40 pikseli. Należy mieć na uwadze, że
wybór małego rozmiaru obiektu wydłuża proces detekcji natomiast ustawienie za
dużego rozmiaru poszukiwanych obiektów zmniejsza dokładność.
 W celu przeprowadzenia detekcji obiektów w obrazie należy użyć przycisku
„Multiple object detect”. Przeprowadzenie detekcji z zaznaczonym polem „show”
powoduje wyświetlenie okna zatytułowanego „Detected” zawierającego zaznaczone
czerwonym kolorem wykryte obiekty.
3 Ukrywanie obiektów i generacja klucza szyfrującego (c)
Funkcje odwracalnego kodowania obiektów realizowane są przez komponenty
wchodzące w skład grupy (c).
2
 Kodowanie - Przycisk „Code”. Opcje: liczba przeprowadzanych operacji oraz
rodzaj wykorzystywanych algorytmów. W celu ustalenia liczby relokacji należy
ustawić suwak znajdujący się po prawej stronie grupy (c) na wybraną wartość z
przedziału 0 – 10. Przesunięcie suwaka powoduje pojawienie się pól wyboru w grupach
po trzy pola. Przykładowe ustawienie parametrów kodowania przedstawiono na rys. 2.
(c)
Rys. 2. Konfiguracja parametrów kodowania
Proces kodowania umożliwia ukrywanie obszarów lub całego obrazu. W celu
anonimizacji wyłącznie obiektów należy przeprowadzić detekcję obiektów opisaną
poprzednim punkcie. Jeżeli wynik detekcji nie zwraca żadnych parametrów lub
procedura detekcji nie została uruchomiona, proces kodowania obejmie cały obszar
przetwarzanego obrazu. Obecność jednego wykrytego obiektu jest wystarczająca, aby
procedura kodowania została przeprowadzona w danym obszarze zainteresowania.
W efekcie kodowania obiektów wyświetlany jest zakodowany obraz wynikowy w
oknie „Coded” oraz wygenerowany zostaje klucz szyfrujący w polu tekstowym na
górze grupy (c). Pole tekstowe jest tylko do odczytu, możliwe jest skopiowanie klucza
szyfrującego.
4 Osadzanie informacji dodatkowych (d)
Informacja o lokalizacjach zakodowanych obiektów zapisywana jest w formie
znaków wodnych lub w meta danych. Opcje związane z osadzaniem informacji
dodatkowych zostały umieszczone w grupie (d):
 przycisk „Embed” - operacje zapisywania informacji w formie meta danych lub
znaków wodnych. Należy zaznaczyć pole reprezentujące dany algorytm. Istnieje pięć
możliwych sposobów umieszczania informacji dodatkowych, każdy z algorytmów
wykorzystuje informacje otrzymane w wyniku detekcji obiektów.
 Opcja „XML” umożliwia zapisywanie meta danych w formie pliku „*.xml” z
nazwą zgodną z polem tekstowym w grupie (a), domyślnie „OutputFilename.xml”.
Ważne, aby zapisany plik „*.xml” miał identyczną nazwę, jak zakodowany plik
graficzny.
 Kolejne pole „LSB” umożliwia osadzanie informacji z wykorzystaniem algorytmu
znakowania wodnego LSB. Należy zwrócić uwagę na konieczność zapisywania
3
oznakowanych obrazów w postaci mapy bitowej „*.bmp”. Najmniejsza kompresja
stratna JPEG skutecznie zniszczy osadzony znak wodny i uniemożliwi
ekstrakcję parametrów. W celach porównawczych możliwe jest zapisywanie
obrazów z wykorzystaniem kompresji JPEG, ale nie gwarantuje to prawidłowej
detekcji znaku wodnego.
 Zaznaczenie pola „Line RGB” realizuje zapisanie informacji dodatkowych w
postaci sygnatur w poszczególnych składowych barwnych. Słaba odporność
algorytmu na kompresję JPEG narzuca zapisywanie oznakowanych obrazów jako
pliki „*.bmp”. Możliwe jest zastosowanie kompresji JPEG w celach porównawczo
– badawczych.
 Pole wyboru zatytułowane „Line HPD” realizuje osadzanie informacji o
lokalizacjach obiektów z wykorzystaniem zakłóceń wysokoczęstotliwościowych.
Oznakowany obraz może zostać zapisany w dowolnym formacie, ponieważ
wstępne testy odporności wykazały wystarczającą odporność na kompresję JPEG.
Każda opisana metoda z wyłączniem „XML” powoduje wyświetlenie w oknie
„Positions watermarked” obrazu wynikowego zawierającego osadzone informacje
dodatkowe. Możliwe jest zapisanie oznakowanego obrazu, który zawiera zakodowane
obiekty oraz osadzone informacje dodatkowe.
5 Ekstrakcja osadzonych informacji dodatkowych (d)
Pierwszym etapem odczytywania zabezpieczonego pliku jest ekstrakcja
informacji o lokalizacjach ukrytych obiektów. Procedura wydobywania ukrytych
informacji wymaga dokładnej znajomości metody zastosowanej po stronie kodera do
osadzania danych. W przypadku korzystania z metody „XML” dodatkowo wymagana
jest obecność meta pliku o tej samej nazwie, co przetwarzany plik graficzny.

Przycisk „Extract” w grupie (d) – uruchomienie ekstrakcji. Poszczególne pola
wyboru umożliwiają wydobywanie informacji z użyciem odpowiedniego algorytmu.
W przypadku algorytmu „LSB” dodatkowo wyświetlany jest czarnobiały obraz
„Binary watermark” reprezentujący binarną postać ukrytego znaku wodnego. Nie jest
możliwy zapis binarnej reprezentacji znaku wodnego.
4
6 Dekodowanie zaszyfrowanych obiektów (c)
Na podstawie wyniku ekstrakcji realizowane jest dekodowanie wszystkich
ukrytych obiektów. W przypadku braku informacji o obiektach proces dekodowania
zostanie przeprowadzony na całym obrazie.

przycisk „Decode” na dole grupy (c) - dekodowanie z wykorzystaniem klucza
szyfrującego wpisywanego w pole tekstowe po prawej stronie. Klucz szyfrujący musi
być dokładnie taki sam, jak ten wygenerowany podczas kodowania.
Wynik przetwarzania wyświetlany jest w oknie „Decoded”, jeżeli parametry obiektów
zostały wydobyte zgodnie z algorytmem użytym po stronie kodera oraz wprowadzono
właściwy klucz obraz wyjściowy powinien być porównywalny z oryginalnym. Możliwe
jest pojawienie się artefaktów oraz zaburzenia barw w przetwarzanych obszarach
spowodowane wpływem kompresji stratnej. Istnieje możliwość zapisania obrazu
wyjściowego.
7 Wydobywanie addytywnych znaków wodnych (e)
Procesem
równorzędnym
do
dekodowania
obiektów
jest
wydobywanie
addytywnych znaków wodnych. Ze względu na właściwości algorytmu LSB procedura
może być stosowana w obrazach zapisywanych bezstratnie w formacie „*.bmp”.
Analogicznie do procedury dekodowania, jeżeli wydobyto informacje o ukrytych
obiektach proces ekstrakcji zostanie ograniczony do poszczególnych obszarów w
przeciwnym wypadku znak wodny zostanie wydobyty z całego obrazu.
W celu przeprowadzenia procesu ekstrakcji osadzonego znaku wodnego
addytywną metodą LSB należy zaznaczyć pole wyboru „Extract” oraz wybrać liczbę
warstw użytych do osadzenia znaku wodnego za pomocą suwaka na dole grupy (e).
Proces uruchamiany jest za pośrednictwem przycisku „AdditiveLSB”. Jakość
przetworzonego obrazu oraz wydobytych znaków wodnych zależna jest od
wykorzystanej ilości warstw bitowych.
8 Zadania do wykonania

Wczytać plik zawierający twarz lub kilka twarzy en face

Wykonać detekcję twarzy (punkt 2 powyżej), dla różnych ustawień
rozmiaru twarzy. Zanotować czas obliczeń pokazany w oknie z
dziennikiem zdarzeń (po prawej stronie okna programu)

Skonfigurować algorytm relokacji pikseli (punkt 3 powyżej), zapisać
klucz szyfrujący
5

Osadzić dane o lokalizacji obiektów (punkt 4 powyżej) korzystając z 2
wybranych metod, zapisać rodzaj zastosowanego algorytmu osadzania,
zapisać obraz wynikowy z jakościami JPEG-100, JPEG-25 i JPEG-10,

Dokonać ekstrakcji z obrazu wynikowego danych o lokalizacji,
odpowiednim algorytmem osadzania (punkt 5 powyżej)

Zdekodować oryginalny obraz (punkt 6 powyżej)

Ponownie na oryginalnym obrazie wykonać AdditiveLSB, najpierw z
opcją Embed, później z opcją Extract z minimalnym, średnim i
maksymalnym wykorzystaniem bitów, regulowanym suwakiem.
Jakość
pliku:
JPEG100
JPEG100
JPEG25
JPEG25
JPEG10
JPEG10

Skomentować wyniki uzyskiwane w powyższych krokach.

Wypełnić tabelę:
Konfiguracje algorytmu relokacji
Wpisz tu użyty przez siebie
Wpisz tu użyty przez siebie drugi
pierwszy algorytm i klucz
algorytm i klucz
Opisz tu subiektywne spostrzeżenia Opisz tu subiektywne spostrzeżenia
i oceń jakość obrazu po kodowaniu i i oceń jakość obrazu po kodowaniu i
dekodowaniu
dekodowaniu
Opisz j.w.
Opisz j.w.
Opisz j.w.
Opisz j.w.
Opisz j.w.
Opisz j.w.
Opisz j.w.
Opisz j.w.
Opisz j.w.
Opisz j.w.
6

Podobne dokumenty