Zaštita trodimenzijskih objekata vodenim žigom

 

Yu-Kwokov algoritam

Nekoliko je jedinstvenih svojstava Yu-Kwokovog pristupa. Permutacijom vrhova (u 2. koraku) i umetanjem bitova vodenog žiga u skupine tako permutiranih vrhova (u 4. koraku) postignuto je da su podaci o svakom pojedinom bitu distribuiran po različitim dijelovima površine objekta. Pored toga podaci o vodenom žigu u objekt se umeću promjenom duljine niza vektora razapetih između pojedinih vrhova i centra modela, a snaga s kojom se pojedini bit umeće prilagođava se globalnim karakteristikama modela, kao i lokalnim karakteristikama pojedinog vrha. Na taj način ovako umetnuti vodeni žig otporan je na moguće napade navedene u prvom poglavlju.

 

To konkretno znači ovo: napadi poligonskom simplifikacijom, zaglađivanjem objekta i premrežavanjem mogu se nakon postupka ponovnog uzorkovanja promatrati kao podvrsta bijelog šuma. Kako bi sustav bio što otporniji na takvo unošenje šuma, tijekom dohvata vodenog žiga koristi se vrijednost cijele skupine razapetih vektora za dohvat jednog bita informacije o vodenom žigu. Napadi preslagivanjem vrhova, nakon postupka ponovnog uzorkovanja nemaju nikakav utjecaj na dohvat vodenog žiga, dok za obranu od napada lokalnim deformacijama i operacijama odsijecanja sustav distribuira informaciju o pojedinom bitu vodenog žiga po cijelom modelu. Napadi promjenom topologije modela također nemaju nikakav utjecaj na dohvat našeg vodenog žiga budući da je vodeni žig skriven unutar geometrijskih karakteristika objekta.

 

Kako bi se dodatno povećala robustnost ovakvog sustava za umetanje vodenog žiga parametri i M0ij u 4. koraku kontroliraju snagu signala vodenog žiga koji se umeće. Takvim adaptivnim umetanjem vodenog žiga postignuto je da se vodeni žig u 3D objekt može umetnuti što neprimjetnije uz istovremeno maksimalnu moguću snagu svakog pojedinog umetnutog bita.


 

Umetanje vodenog žiga

 

Postupak umetanja vodenog žiga  odvija se na ovaj način:

 

1.      Zada se vodeni žig kao binarni niz dužine W=(w0, w1,...,wn-1); .

 

2.      Izmješaj vrhove izvornog modela prema zadanom koraku permutacije K: V'=Permutiraj(V, K). Pri tome Vo=(vo0, vo1,...,voL-1) predstavljaja vrhove izvornog modela, L je broj vrhova modela a V'o =(v'o0, v'o1,..., v'oL-1).

 

3.      Izaberi prvih S*N vrhova iz skupa Vo' i podijeli ih u N skupina V'oi=(v'oi0, v'oi1, voi2,...,voS-1), pri čemu je Svaka skupina sadrži S vrhova.

 

4.      Umetni po jedan bit vodenog žiga u svaku skupinu na ovaj način: , , . Pri tome  označava izvorni vektor razapet između centra modela i j-tog vrha i-te skupine,je parametar vodenog žiga koji određuje globalnu snagu umetnutog vodenog žiga, M0ij je parametar koji određuje lokalnu snagu umetnutog žiga i time omogućuje da se snaga vodenog žiga prilagođava geometriji modela. je jedinični vektor vektora , dok je wi i-ti bit vodenog žiga.

 

5.      Obnovi izvorni redoslijed vrhova kakav je bio prije permutacije iz 2. koraka.

 

 

Dohvat vodenog žiga

 

 

 

Postupak dohvata vodenog žiga umetnutog na gore opisani način prikazan je na odvija se na ovaj način:

 

 

1.      Ako je 3D model koji se ispituje translatiran, rotiran ili skaliran u odnosu na naš izvorni model, najprije je potrebno, takav model dovesti na lokaciju i mjerilo u koje se nalazi izvorni model. To se postiže postupkom registracije. Postoji nekoliko postupaka za registraciju, od kojih su najpoznatiji oni opisani u [Chen92] i [Besl92].

 

2.      U slučaju da je na modelu izvedena neka od operacija koja mijenja topologiju mreže, kao što su poligonska simplifikacija, odsijecanje, premrežavanje i sl; nije moguće izravno dohvatiti vodeni žig već je prethodno potrebno iznova uzorkovati model.

 

3.      Kao i u koracima 2. i 3. postupka za umetanje vodenog žiga, i u postupku dohvata vodenog žiga potrebno je permutirati i podijeliti u grupe vrhove izvornog modela kao i modela iz kojeg se pokušava dohvatiti vodeni žig. Tako se dobije N skupina vrhova V'oi=(v'oi0, v'oi1, voi2,...,voiS-1) izvornog modela i N skupina vrhova
Vdi'=(v'di1, vdi2,....,vdiS-1) ispitivanog modela, pri čemu je .

 

4.      Izračuna se razlika duljina između vektora razapetih između pojedinih vrhova modela i centra modela, pri čemu se za oba modela (i za izvorni i za ispitivani) kao središte modela uzima središte izvornog modela, što možemo zapisati ovako: Doij=Ldoij – Looij pri čemu je Looij duljina vektora razapetog između centra izvornog modela i j-tog vrha i-te skupine izvornog modela, dok je Ldoij duljina vektora razapetog između centra izvornog modela i i j-tog vrha i-te skupine ispitivanog modela.

 

5.      Svaka izračunata razlika dužina pomnoži se težinskim faktorom Woij (o tome kako se taj faktor izračuna bit će riječi u sljedećem poglavlju) te se izračunaju sume razlika dužina za svaku skupinu:  

 

6.      Iz tako izračunatih suma skupina, pročita se vodeni žig na način da je

 

wdi=sign(Doi),

(4.1)

 

7.      Izračuna se korelacija između dohvaćenog vodenog žiga i umetnutog vodenog žiga kako bi se procijenilo da li je traženi vodeni žig prisutan u ispitivanom modelu. Koristi se linearna korelacija između ta dva vodena žiga:

 

(4.2)

 Wd označava dohvaćeni vodeni žig, W je umetnuti vodeni žig,  je srednja vrijednost od Wd,  je srednja vrijednost od W, a N je dužina vodenog žiga (odnosno broj bitova žiga). Ako izračunata korelacija prelazi određeni prag ThrD, zaključujemo da je vodeni žig prisutan u ispitivanom modelu.

 

Prethodna

 
 
bottom graphic