Rozpoznawanie artefaktów na ekranie

Rozpoznawanie artefaktów na ekranie
Ze względu na stały wzrost poziomu rozwoju technologii informatycznych, z każdym rokiem dokumenty elektroniczne stają się coraz wygodniejsze i bardziej pożądane w użyciu oraz zaczynają dominować nad tradycyjnymi nośnikami papierowymi. Dlatego bardzo ważne jest, aby w odpowiednim czasie zwrócić uwagę na ochronę treści informacji nie tylko na tradycyjnych nośnikach papierowych, ale także na dokumentach elektronicznych. Każda duża firma posiadająca tajemnice handlowe, państwowe i inne chce zapobiec ewentualnym wyciekom informacji i ujawnieniu informacji niejawnych, a w przypadku wykrycia wycieku podjąć działania mające na celu zatrzymanie wycieków i zidentyfikowanie sprawcy naruszenia.

Trochę o opcjach ochrony

Aby wykonać te zadania, wprowadza się pewne elementy ochronne. Takimi elementami mogą być kody kreskowe, znaczniki widoczne, znaczniki elektroniczne, jednak najciekawsze są znaczniki ukryte. Jednym z najbardziej uderzających przedstawicieli są znaki wodne, które można nakładać na papier lub dodawać przed drukowaniem na drukarce. Nie jest tajemnicą, że drukarki umieszczają podczas drukowania własne znaki wodne (żółte kropki i inne znaki), ale rozważymy inne artefakty, które można umieścić na ekranie komputera w miejscu pracy pracownika. Takie artefakty są generowane przez specjalny pakiet oprogramowania, który rysuje artefakty na obszarze roboczym użytkownika, minimalizując widoczność samych artefaktów i nie zakłócając pracy użytkownika. Technologie te mają starożytne korzenie w zakresie rozwoju nauki i algorytmów używanych do prezentowania ukrytych informacji, ale są dość rzadkie we współczesnym świecie. Podejście to można spotkać głównie w sferze wojskowej i na papierze, w celu szybkiej identyfikacji pozbawionych skrupułów pracowników. Technologie te dopiero zaczynają być wprowadzane do środowiska komercyjnego. Widoczne znaki wodne są obecnie aktywnie wykorzystywane do ochrony praw autorskich różnych plików multimedialnych, ale niewidoczne są dość rzadkie. Ale i one budzą największe zainteresowanie.

Artefakty bezpieczeństwa

Rozpoznawanie artefaktów na ekranie Niewidoczne dla człowieka Znaki wodne tworzą różne artefakty, które w zasadzie mogą być niewidoczne dla ludzkiego oka i mogą być maskowane na obrazie w postaci bardzo małych kropek. Rozważymy obiekty widoczne, ponieważ te niewidoczne dla oka mogą znajdować się poza standardową przestrzenią kolorów większości monitorów. Artefakty te mają szczególną wartość ze względu na wysoki stopień niewidzialności. Niemożliwe jest jednak uczynienie CEH całkowicie niewidocznymi. W procesie ich realizacji do obrazu wprowadza się pewnego rodzaju zniekształcenie obrazu pojemnika i pojawiają się na nim pewnego rodzaju artefakty. Rozważmy 2 typy obiektów:

  1. Cykliczne
  2. Chaotyczny (wprowadzony przez konwersję obrazu)

Elementy cykliczne reprezentują pewną skończoną sekwencję powtarzających się elementów, które powtarzają się więcej niż raz na obrazie ekranowym (rys. 1).

Artefakty chaotyczne mogą być spowodowane różnego rodzaju przekształceniami nałożonego obrazu (ryc. 2), np. wprowadzeniem hologramu.

Rozpoznawanie artefaktów na ekranie
Ryż. 1 Artefakty rowerowe
Rozpoznawanie artefaktów na ekranie
Ryż. 2 chaotyczne artefakty

Najpierw przyjrzyjmy się opcjom rozpoznawania artefaktów cyklicznych. Takimi artefaktami mogą być:

  • tekstowe znaki wodne powtarzające się na ekranie
  • ciągi binarne
  • zbiór punktów chaotycznych w każdej komórce siatki

Wszystkie wymienione artefakty są nakładane bezpośrednio na wyświetlaną treść, dlatego można je rozpoznać poprzez identyfikację lokalnych ekstremów histogramu każdego kanału koloru i odpowiednio wycięcie wszystkich pozostałych kolorów. Metoda ta polega na pracy z kombinacjami lokalnych ekstremów każdego z kanałów histogramu. Problem polega na poszukiwaniu ekstremów lokalnych na dość złożonym obrazie z wieloma ostro przechodzącymi szczegółami; histogram wygląda bardzo piłokształtnie, co sprawia, że ​​to podejście nie ma zastosowania. Można próbować zastosować różne filtry, lecz wprowadzą one własne zniekształcenia, co w ostatecznym rozrachunku może doprowadzić do braku możliwości wykrycia znaku wodnego. Istnieje również możliwość rozpoznania tych artefaktów za pomocą określonych detektorów krawędzi (na przykład detektora krawędzi Canny'ego). Podejścia te mają swoje miejsce w przypadku artefaktów, które są dość ostre w przejściach; detektory mogą podkreślać kontury obrazu, a następnie wybierać zakresy kolorów w obrębie konturów w celu binaryzacji obrazu w celu dalszego uwypuklenia samych artefaktów, ale metody te wymagają dość dokładnego dostrojenia, aby uwydatnić wymagane kontury, a także późniejsza binaryzacja samego obrazu względem kolorów w wybranych konturach. Algorytmy te uważane są za dość zawodne i starają się wykorzystywać bardziej stabilne i niezależne od rodzaju składowych kolorystycznych obrazu.

Rozpoznawanie artefaktów na ekranie
Ryż. 3 Znak wodny po konwersji

Jeśli chodzi o wspomniane wcześniej chaotyczne artefakty, algorytmy ich rozpoznawania będą radykalnie różne. Zakłada się bowiem powstawanie chaotycznych artefaktów poprzez nałożenie na obraz pewnego znaku wodnego, który ulega przekształceniu w wyniku niektórych przekształceń (np. dyskretnej transformaty Fouriera). Artefakty powstałe w wyniku takich przekształceń są rozsiane po całym ekranie i trudno zidentyfikować ich wzór. Na tej podstawie znak wodny zostanie rozmieszczony na całym obrazie w postaci „losowych” artefaktów. Rozpoznanie takiego znaku wodnego sprowadza się do bezpośredniej transformacji obrazu za pomocą funkcji transformacji. Wynik transformacji przedstawiono na rysunku (rys. 3).

Pojawia się jednak szereg problemów, które uniemożliwiają rozpoznanie znaku wodnego w warunkach odbiegających od idealnych. W zależności od rodzaju konwersji mogą wystąpić różne trudności, np. niemożność rozpoznania dokumentu uzyskanego poprzez fotografowanie pod dużym kątem względem ekranu, czy po prostu zdjęcie raczej kiepskiej jakości, czy też zrzut ekranu zapisany w formacie plik z kompresją o dużych stratach. Wszystkie te problemy prowadzą do komplikacji w identyfikacji znaku wodnego; w przypadku obrazu pod kątem konieczne jest zastosowanie albo bardziej złożonych przekształceń, albo zastosowania przekształceń afinicznych do obrazu, ale ani jedno, ani drugie nie gwarantuje całkowitego przywrócenia znaku wodnego. Jeśli weźmiemy pod uwagę przypadek przechwytywania ekranu, pojawiają się dwa problemy: pierwszy to zniekształcenie podczas wyświetlania na samym ekranie, drugi to zniekształcenie podczas zapisywania obrazu z samego ekranu. Pierwszy jest dość trudny do kontrolowania ze względu na fakt, że istnieją matryce dla monitorów o różnej jakości, a ze względu na brak tego czy innego koloru interpolują kolor w zależności od ich odwzorowania kolorów, wprowadzając w ten sposób zniekształcenia samego znaku wodnego. Drugi jest jeszcze trudniejszy, ponieważ możesz zapisać zrzut ekranu w dowolnym formacie i odpowiednio stracić część zakresu kolorów, dlatego możemy po prostu stracić sam znak wodny.

Problemy wdrożeniowe

We współczesnym świecie istnieje całkiem sporo algorytmów wprowadzania znaków wodnych, jednak żaden nie gwarantuje 100% możliwości dalszego rozpoznania znaku wodnego po jego zaimplementowaniu. Główną trudnością jest określenie zestawu warunków reprodukcji, które mogą wystąpić w każdym konkretnym przypadku. Jak wspomniano wcześniej, trudno jest stworzyć algorytm rozpoznawania, który uwzględniałby wszystkie możliwe cechy zniekształceń i prób uszkodzenia znaku wodnego. Na przykład, jeśli do bieżącego obrazu zostanie zastosowany filtr Gaussa, a artefakty na oryginalnym obrazie były dość małe i kontrastowały z tłem obrazu, wówczas albo nie będzie można ich rozpoznać, albo część znaku wodnego zostanie utracona . Rozważmy przypadek fotografii, z dużym prawdopodobieństwem będzie na niej widoczna mora (ryc. 5) i „siatka” (ryc. 4). Mora powstaje na skutek dyskretności matrycy ekranu i dyskretności matrycy urządzenia rejestrującego; w tej sytuacji dwa obrazy siatkowe nakładają się na siebie. Siatka najprawdopodobniej częściowo zakryje artefakty znaku wodnego i spowoduje problemy z rozpoznawaniem, z kolei mora w niektórych metodach osadzania znaku wodnego uniemożliwia jego rozpoznanie, ponieważ pokrywa część obrazu ze znakiem wodnym.

Rozpoznawanie artefaktów na ekranie
Ryż. 4 Siatka obrazu
Rozpoznawanie artefaktów na ekranie
Ryż. 5 Mora

Aby zwiększyć próg rozpoznawania znaków wodnych, konieczne jest zastosowanie algorytmów opartych na samouczących się sieciach neuronowych, które w procesie działania same nauczą się rozpoznawać obrazy znaków wodnych. Obecnie istnieje ogromna liczba narzędzi i usług sieci neuronowych, na przykład firmy Google. W razie potrzeby można znaleźć zestaw obrazów referencyjnych i nauczyć sieć neuronową rozpoznawania niezbędnych artefaktów. Podejście to ma największe szanse na identyfikację nawet bardzo zniekształconych znaków wodnych, jednak do szybkiej identyfikacji wymaga dużej mocy obliczeniowej i dość długiego okresu szkolenia w zakresie prawidłowej identyfikacji.

Wszystko, co opisano, wydaje się dość proste, jednak im głębiej zagłębiasz się w te zagadnienia, tym bardziej rozumiesz, że aby rozpoznać znaki wodne, trzeba poświęcić dużo czasu na wdrożenie dowolnego z algorytmów, a jeszcze więcej czasu na doprowadzenie go do wymaganego prawdopodobieństwa rozpoznawanie każdego obrazu.

Źródło: www.habr.com

Dodaj komentarz