Document Type : Research Article
Authors
Department of electrical engineering, Faculty of Engineering, Yazd University of Technology, Yazd
Abstract
Keywords
امروزه با پیشرفت سریع تکنولوژی اطلاعات دیجیتالی و گسترش استفاده از شبکههای رایانهای و اینترنت، دسترسی به اطلاعات دیجیتال و کپیبرداری از آنها به آسانی امکان پذیر است، بنابراین، مسأله حفاظت از دادهها در مقابل کپی برداری و توزیع غیرقانونی اسناد و جعل از اهمیت بالایی برخوردار است. هماکنون مؤثرترین روش، استفاده از تکنیک واترمارکینگ است. در این روش یک سیگنال دیجیتالی محرمانه، در یک سند دیجیتالی پنهان میشود و در تمام طول عمر سند به آن متصل است. سند دیجیتالی میتواند یک تصویر، ویدیو، صوت یا متن باشد که در این مقاله، واترمارکینگ تصاویر دیجیتال مورد بحث است. واترمارکینگ کاربردهای گوناگونی دارد که مهمترین کاربرد آن حفاظت از حق نشر و یا اثبات حق مالکیت است.
در روشهای واترمارکینگ، مجموعهای از ملزومات وجود دارد که باید مورد توجه قرار گیرند. از مهمترین ملزومات آن میتوان به شفافیت، مقاومت، امنیت و میزان ظرفیت واترمارک اشاره کرد. در این میان، شفافیت و مقاومت واترمارکینگ از اهمیت بیشتری برخوردارند. منظور از شفافیت، غیر قابل مشاهده بودن اطلاعات نهفته شده در تصویر است و منظور از مقاومت، مقاوم بودن سیگنال واترمارک در برابر انواع تکنیکهای پردازش تصویر و حملات عمدی و غیرعمدی است. این دو ویژگی در تضاد با یکدیگرند؛ یعنی همواره افزایش یکی باعث کاهش دیگری می گردد. مقالههای متعددی در جهت ایجاد توازن بین این دو ویژگی ارائه شده است. یکی از عوامل بسیار مؤثر در ایجاد توازن بین شفافیت و مقاومت، انتخاب وفقی و بهینه ضریب قوت واترمارک1 است. ضریب قوت واترمارک نمایانگر میزان تزریق واترمارک در تصویر میزبان است. افزایش این ضریب، باعث افزایش مقاومت و کاهش شفافیت میشود و برعکس. روشهای واترمارکینگ وفقی مبتنی بر سیستم بینایی انسان2 (HVS) ضریب قوت واترمارک را به صورت وفقی متناسب با ویژگیهای سیستم بینایی تعیین میکنند. یک تکنیک کلی در روشهای واترمارکینگ وفقی مبتنی بر HVS این است که مکانهای جاسازی واترمارک بر اساس ویژگیهای سیستم بینایی طبقهبندی میشوند و سپس مطابق با طبقهبندی انجام شده ضریب قوت واترمارک مناسبی برای هر دسته تعیین میگردد [1،2]. در اکثر این روشها طبقهبندی بلوکهای تصویر با تعیین آستانه انجام میگیرد، اما از آنجا که سیستم بینایی انسان دارای ویژگیهای پیچیده و غیر خطی است استفاده از آستانهگذاری برای طبقهبندی، مناسب نیست.
الگوریتمهای هوشمند نظیر شبکه های عصبی، منطق فازی و الگوریتم ژنتیک نیز در سیستمهای واترمارکینگ وفقی به طور گسترده استفاده شدهاند. در [3،4] از شبکه عصبی برای مدلسازی سیستم بینایی انسان استفاده شده است که در آنها شبکه عصبی با توجه به ویژگیهای محلی تصویر نظیر آنتروپی، روشنایی، فرکانس و حساسیت بافت، ضریب قوت واترمارک را به صورت وفقی تعیین میکند. در [5] یک روش واترمارکینگ مبتنی بر الگوریتم ژنتیک ارائه شده است که در آن با استفاده از یک تابع برازندگی مناسب، الگوریتم ژنتیک مقادیر بهینه برای ضریب قوت واترمارک را معین میکند. در [6،7] نیزاز الگوریتم ژنتیک برای بهینه کردن شفافیت و مقاومت واترمارکینگ در حوزه تبدیل کسینوسی گسسته3 (DCT) استفاده شده است. در [8،9] یک طرح واترمارکینگ در حوزه DCT بر اساس دستهبندی کننده فازی و سیستم بینایی انسان ارائه شده است. در [10] نیز روشی جدید مبتنی بر یادگیری تقویتی4(RL)، برای تعیین وفقی ضریب قوت واترمارک ارائه شده است.
یکی از تکنیکهای یادگیری ماشینی که اخیراً در بحث واترمارکینگ مطرح شده است، ماشین بردار پشتیبان5 (SVM) است. SVM، یک طبقهبندی کننده دودویی است که با تغییراتی میتواند به عنوان یک تخمین زننده استفاده شود که به آن رگرسیون بردار پشتیبان6 (SVR) گویند. در اکثر روشهای واترمارکینگ مبتنی بر بردارهای پشتیبان از SVR برای بررسی روابط موجود بین پیکسلها در حوزه مکان به منظور درج و استخراج واترمارک استفاده میگردد. برای مثال، در [11،12] پس از انتخاب تعدادی نقاط در تصویر میزبان، SVR، رابطه بین آنها و نقاط همسایه را بررسی میکند و سپس یک مدل SVR آموزش دیده حاصل میشود. برای عمل درج واترمارک، پس از انتخاب نقاط جاسازی، از رابطه بین آن نقاط و خروجی SVR آموزش دیده، برای تغییر در مقادیر آن پیکسلها استفاده میشود و برای استخراج واترمارک نیز پیکسلهای حامل واترمارک و خروجی SVR با یکدیگر مقایسه میشوند. در تحقیقات محدودی نیز از SVR برای تعیین وفقی ضریب قوت واترمارک استفاده شده است. برای نمونه، در [13،14] یک الگوریتم واترمارکینگ وفقی بر اساس سیستم بینایی انسان مبتنی بر SVR ارائه گردیده که در آنها از SVR برای شبیهسازی سیستم بینایی انسان استفاده شده است. SVR با در نظر گرفتن ویژگیهای بصری هر تصویر، ضریب قوت واترمارک را به صورت وفقی تعیین میکند.
این مقاله یک تکنیک واترمارکینگ جدید در حوزه DCT ارائه میدهد که در آن از SVM به علت توانایی بالای آن در مدلسازی سیستم بینایی انسان و قابلیت یادگیری، تعمیم و تقریب غیر خطی، برای تعیین وفقی ضریب قوت واترمارک استفاده میشود. بلوکهای مختلف در تصویر بر اساس ویژگیهای بافت و روشنایی توسط SVM به کلاسهای مختلف طبقهبندی میشوند. سپس با ارائه تکنیکی جدید مبتنی بر الگوریتم ژنتیک ضریب قوت مناسبی برای هر کلاس تعیین میگردد. برای افزایش امنیت روش، مکانهای جاسازی واترمارک، به شکل تصادفی انتخاب میشوند. نتایج نشان میدهند روش پیشنهادی شفافیت و مقاومت بالایی دارد.
در بخش دوم این مقاله، مرور جامعی بر SVM انجام میشود. در بخش سوم توضیح مختصری درباره ساختار الگوریتم ژنتیک داده میشود. در بخش چهارم الگوریتم جاسازی و استخراج واترمارک ارائه میگردد و سپس روشی برای تعیین ضریب قوت واترمارک توسط SVM و GA مطرح و در بخش آخر، نتایج حاصل از پیادهسازی ذکر میشود.
ماشین بردار پشتیبان (SVM)
ماشین بردار پشتیبان (SVM) یک طبقهبندی کننده دودویی است که دو کلاس را با استفاده از یک مرز خطی از هم جدا میکند. نخستین بار SVM توسط وپنیک در اوایل دهه 1990 میلادی مطرح شد [15]. SVM در بسیاری از مسائل مربوط به طبقهبندی دادهها و شناسایی الگو، همچون دستهبندی متون، تشخیص چهره در تصاویر، تشخیص ارقام دستنویس و بیوانفورماتیک کارکرد بسیار موفقی داشته است. از ویژگیهای مهم SVM طبقهبندی دادهها بر اساس مینیممسازی خطای ساختاری7 یا همان خطای آزمایش است. اغلب طبقهبندی کنندههای دیگر بر اساس مینیمم سازی خطای تجربی8 یا همان خطای آموزش عمل میکنند. SVM در بخش آموزش به حل یک مسأله بهینهسازی محدب می پردازد و قادر به یافتن جواب مطلق مسأله است و بر خلاف روشهایی چون شبکه های عصبی، مشکل مینیممهای محلی را نخواهد داشت. شکل (1- الف) سادهترین حالت SVM را نشان میدهد که به آن SVM با حاشیه سخت9 گویند؛ جایی که دادههای دو کلاس به صورت خطی قابل تفکیک هستند. H مرز تصمیمی است که دادههای دو کلاس را از هم جدا میکند. H1 و H2 موازی با H در فاصله یکسانی از آن قرار دارند و از نزدیکترین نقاط به H میگذرند که به این نقاط، بردارهای پشتیبان10 گویند. فاصله بین H1 و H2 نشاندهنده حاشیه11 مرز تصمیم است و به طور کلی، هدف SVM یافتن مرز تصمیمی است که علاوه بر طبقهبندی دادههای دو کلاس با حداقل خطا، بیشترین حاشیه را نیز دارا باشد.
اگر X_i ,i=1,…,m مجموعه دادههای آموزشی باشند و دادهها در فضای n بعدی قرار داشته باشند (X∈R^n) وy_i∈{-1,1} نمایانگر کلاس هر داده باشد در صورتی که دادهها به صورت خطی قابل تفکیک باشند، میتوان آنها را توسط یک فوق صفحه خطی از یکدیگر جدا نمود. معادله این فوق صفحه به صورت زیر بیان میشود:
(1) H:W.X+b=0
W بردار وزن است و در فضای n بعدی قرار دارد و b یک اسکالر است. W.X بیانگر ضرب داخلی دو بردار است. بردار W و اسکالر b موقعیت فوق صفحه را مشخص میکنند و دادهها به صورت زیر از یکدیگر مجزا میشوند.
(2) {█(W.X_i+b>0 if y_i=1 @ W.X_i+b<0 if y_i=-1 )┤
فاصله هر داده نظیر X_i تا فوق صفحه، توسط معادله زیر به دست میآید:
(3) d(X_i )=(y_i (W.X_i+b))/‖W‖
یک فوق صفحه با حاشیه δ به صورت زیر تعریف می-شود:
(4) ∀i d(X_i )≥ δ⟹∀i (y_i (W.X_i+b))/‖W‖ ≥δ
(5) set δ=1/‖W‖ → ∀i 〖 y〗_i (W.X_i+b)≥1
SVM مقادیر W و b را به گونهای تعیین میکند که فوق صفحه مذکور عریضترین حاشیه را در اطراف خود داشته باشد. به عبارت دیگر، مرز تصمیم بهینه را میتوان با حل مسأله بهینهسازی زیر محاسبه نمود.
(6) {█(maximize δ=1/‖W‖ ≡minimize┬(W,b)〖 1/2 ‖W‖^2 〗 @subject to: ∀i 〖 y〗_i (W.X_i+b)≥1 )┤
این مسأله از طریق یافتن ضرایب لاگرانژ و تشکیل یک مسأله QP12 محدب، قابل حل است. با تشکیل معادله لاگرانژ و دوگان مسأله، معادله زیر حاصل میشود:
(7) {█(max┬(α_i )〖L_D=∑_(i=1)^m▒〖α_i-1/2 ∑_(i=1)^m▒∑_(j=1)^m▒〖α_i α_j y_i y_j (X_i 〖.X〗_j ) 〗〗〗 @subject to: α_i≥0 ,∑_(i=1)^m▒〖α_i y_i 〗=0 )┤
α_iها ضرایب لاگرانژ هستند. پس از حل مسأله بهینهسازی فوق، ضرایب لاگرانژ معین میگردند. این ضرایب برای نقاط بردار پشتیبان بزرگتر از صفر و برای بقیه نقاط صفر هستند. با مشخص شدن ضرایب α_i بردار W معین می شود.
(8) W=∑_(i=1)^m▒〖α_i y_i X_i 〗
پس از یافتن W مقدار b با استفاده از رابطه زیر به ازای هر یک از بردارهای پشتیبان، محاسبه شده و b نهایی با میانگینگیری از b های محاسبه شده به دست میآید.
(9) ∀(X_i,y_i )∈SV → 〖 y〗_i (W.X_i+b)=1
تابع طبقهبندی کننده نهایی از رابطه زیر به دست می-آید:
(10) F(X,W,b)=sign(W.X+b)
شکل (1- ب) یک مسأله طبقهبندی را نشان میدهد که دادهها توسط یک مرز تصمیم خطی همراه با مقداری خطا از یکدیگر متمایز شدهاند. در این گونه مسائل که به آن SVM با حاشیه نرم13 میگویند، هدف یافتن مرز تصمیمی است که علاوه بر داشتن بیشترین حاشیه، کمترین میزان خطا را نیز دارا باشد. نقاط خطا، دادههایی هستند که یا به اشتباه دستهبندی شده یا درون حاشیه مرز تصمیم قرار دارند. چنانچه فاصله این نقاط تا محل صحیح را به عنوان خطا (ε) در نظر بگیریم، میتوان با حل مسأله بهینهسازی زیر مرز تصمیم بهینه را یافت:
(11) {█(minimize┬(W,b,ε)〖 1/2 ‖W‖^2+C∑_(i=1)^m▒ε_i 〗 @subject to: ∀i 〖 y〗_i (W.X_i+b)≥1-ε_i@ ε_i≥0 )┤
پارامتر C بین ماکزیممسازی حاشیه مرز تصمیم و مینیممسازی خطای آموزش، توازن ایجاد میکند. ε_i برای دادههایی که درست طبقهبندی شدهاند، صفر است. در اینجا نیز با تشکیل معادله لاگرانژ و دوگان آن، مسأله بهینهسازی فوق به رابطه (7) تبدیل میشود؛ با این تفاوت که شرط 0≤α_i≤C برقرار است. پس از حل مسأله و یافتن ضرایب لاگرانژ مشاهده خواهد شد که این ضرایب برای نقاط بردار پشتیبان در محدوده (0,C) و برای نقاط خطا برابر C و برای بقیه نقاط صفر است. بردار W و اسکالر b و طبقهبندی کننده نهایی از معادلات (8) تا (10) به دست میآیند.
علاوه بر طبقهبندی خطی، SVM برای مسائل طبقهبندی غیرخطی نیز به کار میرود. شکل (1- پ) حالتی را نشان میدهد که دادههای دو کلاس، توسط هیچ مرز خطی، قابل تفکیک نیستند. برای حل این مشکل، ابتدا دادهها از فضای ورودی R^n، با استفاده از یک تبدیل غیرخطی Φ، به فضای ویژگی R^d با ابعاد بالاتر منتقل میشوند.
(12) Φ∶X∈R^n→Φ(X)∈R^d d>n
در فضای جدید کلاسها تداخل کمتری با یکدیگر دارند و میتوان دادهها را به صورت خطی از یکدیگر جدا نمود. در نتیجه، عملیات غیرخطی در فضای ورودی به عملیات خطی در فضای ویژگی تبدیل خواهد شد. یافتن مرز تصمیم بهینه در فضای ویژگی مانند مباحث قبلی است و با قرار دادن Φ(X) به جای X در رابطه (11) حاصل میشود.
در عمل چون ابعاد فضای ویژگی بسیار بزرگتر از ابعاد فضای ورودی است، محاسبات در این فضا بسیار سنگین و پیچیده خواهد بود، به همین علت، معمولاً به جای استفاده از Φ، از یک تابع هسته14 استفاده میشود.
(13) K(X_i 〖,X〗_j )=Φ(X_i ).Φ(X_j)
تابع هسته K(X_i 〖,X〗_j ) در واقع یک تابع در فضای ورودی است که برابر با ضرب داخلی دو بردار در فضای ویژگی است. تابع K(X_i 〖,X〗_j )در صورتی میتواند یک تابع هسته باشد که در شرط مرسر15 صدق کند و ماتریس حاصل از آن، متقارن، معین و مثبت باشد [16].
برخی از مهمترین توابع هسته عبارتند از: تابع هسته چند جملهای با درجه P، تابع هسته گاوسی یا RBF و تابع هسته سیگموید که به ترتیب در روابط زیر نشان داده شده است.
(14) K(X_i 〖,X〗_j )=〖(X_i.X_j+1)〗^P
(15) K(X_i 〖,X〗_j )=exp((-‖X_i-X_j ‖^2)⁄(2σ^2 ))
(16) K(X_i 〖,X〗_j )=tanh(γX_i.X_j-δ)
نتیجه اینکه، در یک طبقهبندی غیر خطی، ابتدا تابع هسته را مشخص نموده و سپس با حل مسأله بهینهسازی زیر، مرز تصمیم بهینه به دست میآید.
(17) {█(max┬(α_i )〖L_D=∑_(i=1)^m▒〖α_i-1/2 ∑_(i=1)^m▒∑_(j=1)^m▒〖α_i α_j y_i y_j 〗〗〗 K(X_i 〖,X〗_j ) @subject to: 0≤α_i≤C , ∑_(i=1)^m▒〖α_i y_i 〗=0 )┤
در پایان، پس از یافتن ضرایب لاگرانژ، تابع طبقهبندی کننده نهایی از رابطه زیر حاصل میشود:
(18) F(X)=sign(∑_(i=1)^m▒〖α_i y_i 〗 K(X_i,X)+b)
SVM یک طبقهبندی کننده دودویی است. بنابراین، در حالتی که بیش از دو کلاس وجود داشته باشد، نمیتوان مستقیماً از آن استفاده کرد. یکی از روشهای موثر برای استفاده SVM در حالت چند کلاسه، روش یکی در مقابل یکی16 است. در این روشها هر بار دو تا از کلاسها را در نظر گرفته، مرز تصمیم بین آن دو محاسبه میشود. پس برای k کلاس مختلف باید به تعداد k(k-1)/2 طبقهبندی کننده مجزا طراحی شود. برای طبقهبندی داده مجهول X، آن را در همه طبقهبندی کنندههای به دست آمده قرار داده، توسط هر طبقهبندی کننده، X به یک کلاس خاص تعلق می گیرد، در نهایت X متعلق به کلاسی خواهد بود که حداکثر آراء را بیاورد. در کاربردهای عملی، این روش کارایی بهتری نسبت به بقیه روشها دارد [17].
الگوریتم ژنتیک (GA)
الگوریتم ژنتیک توسط پرفسور هلند طی دهههای 1960 و 1970 ارائه شد [18]. از آن پس الگوریتم ژنتیک در کاربردهای مختلف زیادی آزمایش شد و در نهایت، توسط گلدبرگ به یکی از روشهای بهینهسازی معروف تبدیل شد [19]. الگوریتم ژنتیک روشی است برای بهینهسازی مسائل محدود و نامحدود و بر اساس فلسفه انتخاب اصلح در طبیعت بنا شده است. الگوریتم ژنتیک به صورت تکراری، جمعیتی از راه حلها را اصلاح میکند. در هر مرحله، الگوریتم ژنتیک تعدادی از افراد را از جمعیت کنونی انتخاب میکند تا والدینی برای فرزندان نسل بعد باشند. در نسلهای متوالی، جمعیت به سوی راه حل بهینه پیش میرود. از الگوریتم ژنتیک برای حل بسیاری از مسائل بهینهسازی که با الگوریتمهای استاندارد همخوانی ندارند، مانند توابع ناپیوسته، مشتق ناپذیر، تصادفی یا بسیار غیرخطی، میتوان استفاده کرد.
ساختار کلی الگوریتم ژنتیک:
الگوریتم با تولید یک جمعیت اولیه تصادفی شروع میشود. در هر مرحله الگوریتم از افراد نسل کنونی استفاده کرده تا جمعیت جدیدی را بسازد. برای تولید جمعیت جدید، الگوریتم مراحل زیر را انجام میدهد:
1. با محاسبه مقدار تابع برازندگی17، به هر عضو جمعیت کنونی ارزش میدهد. تابع برازندگی که در الگوریتمهای بهینهسازی استاندارد همان تابع هدف مسأله است، میزان شایستگی هر عضو را ارزیابی میکند.
2. ارزشهای خام تابع را تغییر مقیاس میدهد تا در محدوده مناسبتری قرار بگیرند.
3. الگوریتم ژنتیک والدین را بر اساس میزان شایستگی آنها انتخاب میکند. روشهای متداول برای انتخاب عبارتند از: روش چرخ رولت، انتخاب بولتزمن، انتخاب حالت پایدار، نخبهسالاری و انتخاب رقابتی [20].
4. الگوریتم ژنتیک از روی والدین، فرزندان را تولید میکند. به طور کلی، سه نوع فرزند در الگوریتم ایجاد میشود:
فرزندان نخبه افرادی از جمعیت کنونی هستند که بهترین میزان برازندگی را دارند و مستقیماً به نسل بعد منتقل میشوند.
فرزندان تقاطع18 توسط ترکیب دو والد با یکدیگر ساخته میشوند. عمل تقاطع به الگوریتم این امکان را می-دهد که بهترین ژنها را از روی افراد مختلف انتخاب و با ترکیب آنها فرزندانی برتر ایجاد کند. یک روش ساده برای تقاطع، انتخاب تصادفی یک نقطه برش و تولید فرزندی از ترکیب قسمتی از یک والد با قسمتی از یک والد دیگر است.
فرزندان جهش19 توسط ایجاد تغییرات تصادفی در یکی از افراد نسل کنونی ایجاد میشوند. معمولاً جهش روی فرزند حاصل از عمل تقاطع صورت میگیرد. عمل جهش، ژنهایی را که توسط فرایند انتخاب از جمعیت خارج میشوند، دوباره جایگزین میکند و در نتیجه آنها میتوانند در حالت جدیدی بهبود یابند. در ضمن، ژنهایی را که در جمعیت اولیه حضور نداشتهاند، به وجود میآورد.
5. الگوریتم ژنتیک جمعیت کنونی را با فرزندان جایگزین میکند تا نسل بعد را تولید کند.
این الگوریتم آن قدر ادامه مییابد تا یکی از معیارهای توقف به وقوع بپیوندد. از شیوههای مختلفی میتوان برای توقف الگوریتم استفاده کرد. برای نمونه، میتوان همگرا شدن کل جمعیت و یا فاصله میزان برازندگی بهترین فرد جمعیت از متوسط میزان برازندگیها را در نظر گرفت که در این حالت باید از حد مشخصی کوچکتر باشد یا میتوان زمان معینی برای خاتمه الگوریتم یا تعداد نسلهای مشخصی را به عنوان محک اختتام در نظر گرفت [22،21].
طرح واترمارکینگ پیشنهادی
در این بخش یک الگوریتم واترمارکینگ وفقی برای تصاویر دیجیتال در حوزه تبدیل DCT ارائه میگردد. روش پیشنهادی با بهرهگیری از ویژگیهای سیستم بینایی انسان، ضریب قوت واترمارک را به صورت وفقی متناسب با ویژگیهای بصری تصویر تعیین میکند.
در زیربخش اول و دوم الگوریتم جاسازی و استخراج واترمارک شرح داده میشود. در زیربخش سوم با استفاده از دو الگوریتم یادگیری ماشینی (ماشین بردار پشتیبان و الگوریتم ژنتیک) و بهرهگیری از ویژگیهای سیستم بینایی انسان، روشی جدید برای تعیین وفقی ضریب قوت واترمارک ارائه میگردد.
الگوریتم جاسازی واترمارک
در این مقاله یک روش واترمارکینگ کور20 در حوزه DCT معرفی شده است. بنابراین، در بخش استخراج واترمارک نیاز به دسترسی به تصویر اصلی نیست.
اگر تصویر میزبان، تصویر I با ابعاد M×N و تصویر واترمارک، یک تصویر باینری با ابعاد M_w×N_w باشد، برای جاسازی واترمارک در تصویر میزبان، ابتدا تصویر I به بلوکهای 88 تقسیم و از هر یک تبدیل DCT گرفته میشود. سپس ضرایب DCT هر بلوک، به صورت زیگزاگی مرتب میگردند:
(19) F_k=DCT(I_k ) 1≤k≤k_t
(20) F_k=⋃_(i=1)^64▒〖F_k (i) 〗 1≤k≤k_t
F_k، شامل ضرایب DCT بلوک k ام در تصویر میزبان I است که به صورت زیگزاگی مرتب شدهاند و k_t تعداد کل بلوکهای 88 در تصویر را نشان میدهد (k_t=[M⁄8]×[N⁄8]). رابطه (20) نشان می-دهد هر بلوک DCT از اجتماع 64 ضریب تشکیل شده است. شکل (2) نحوه مرتبسازی ضرایب را نشان می-دهد.
در مرحله بعد، جدول مرجع R={R(i)} ,i∈[2,64] ، مطابق با نسبت ضرایب AC به DC بلوکها به صورت زیر محاسبه میشود:
(21) R(i)=1/k_t ∑_(k=1)^(k_t)▒(F_k (i))/(F_k (1) ) 2≤i≤64
در این مقاله، برای افزایش امنیت واترمارکینگ، از دو کلید key1 و key2 برای تعیین مکانهای جاسازی واترمارک استفاده میشود. فرض میشود که تعداد بیتهای واترمارک از تعداد بلوکهای 88 در تصویر میزبان کمتر باشد (M_w×N_w≤k_t). بنابراین، در هر بلوک حداکثر یک بیت واترمارک جاسازی میشود. ابتدا توسط key1 ، به تعداد بیتهای واترمارک، بلوکهایی از بین بلوکهای DCT انتخاب میگردند که آنها را B_K می-نامیم.
(22) B_K⊆F_k 1≤K≤M_w×N_w 1≤k≤k_t
(23) B_K=⋃_(i=1)^64▒〖B_K (i) 〗 1≤K≤M_w×N_w
سپس توسط key2 ، در هر بلوک منتخب، یکی از ضرایب DCT در باند فرکانس میانی برای درج بیت واترمارک انتخاب میگردد. برای اینکه وابستگی ضرایب قوت واترمارک به مکان ضرایب DCT حداقل شود، تنها ضرایب 11 تا 15 بدین منظور استفاده میشود (شکل2).
F_k (29) F_k (28) F_k (16) F_k (15) F_k (7) F_k (6) F_k (2) F_k (1)
F_k (43) F_k (30) F_k (27) F_k (17) F_k (14) F_k (8) F_k (5) F_k (3)
F_k (44) F_k (42) F_k (31) F_k (26) F_k (18) F_k (13) F_k (9) F_k (4)
F_k (54) F_k (45) F_k (41) F_k (32) F_k (25) F_k (19) F_k (12) F_k (10)
F_k (55) F_k (53) F_k (46) F_k (40) F_k (33) F_k (24) F_k (20) F_k (11)
F_k (61) F_k (56) F_k (52) F_k (47) F_k (39) F_k (34) F_k (23) F_k (21)
F_k (62) F_k (60) F_k (57) F_k (51) F_k (48) F_k (38) F_k (35) F_k (22)
F_k (64) F_k (63) F_k (59) F_k (58) F_k (50) F_k (49) F_k (37) F_k (36)
شکل(2): نحوه مرتبسازی ضرایب DCT
ضریب منتخب در بلوک B_K را c_K مینامیم. پس B_K (c_K ) ,1≤K≤M_w×N_w ها، مکان-های جاسازی واترمارک را مشخص میکنند.
اکنون برای جاسازی واترمارک در تصویر میزبان، ابتدا B ̃_K (i) را به صورت زیر تعریف میکنیم:
(24) B ̃_K (i)=B_K (1)×R(i) 1≤K≤M_w×N_w
B ̃_K (i) تقریبی از B_K (i) است و از آن به عنوان مقدار مرجع در بخش جاسازی و استخراج واترمارک استفاده میشود. در نهایت، عمل جاسازی واترمارک، به ازای هر بیت به صورت زیر است:
(25) B_K (c_K )={█(min(B_K (c_K ) ,B ̃_K (c_K )-α_K ) if w(K)=0@max(B_K (c_K ) ,B ̃_K (c_K )+α_K ) if w(K)=1)┤
α_K ضریب قوت واترمارک در بلوک B_K است. یکی از اهداف این مقاله، این است که این ضریب به صورت وفقی متناسب با شرایط بافت و روشنایی هر بلوک تعیین شود. در بخش 4-3 نحوه استفاده از ماشین بردار پشتیبان و الگوریتم ژنتیک برای تعیین وفقی ضریب قوت واترمارک بررسی میگردد.
پس از درج واترمارک، از بلوکهای حاصل، عکس تبدیل DCT گرفته میشود تا تصویر I_w که تصویر حامل واترمارک است، به دست آید.
الگوریتم استخراج واترمارک
اگر تصویر I' با ابعاد M'×N' تصویر حامل واترمارک باشد، برای استخراج واترمارک ابتدا I' به بلوک-های 88 تقسیم و از هر یک DCT گرفته میشود. سپس جدول مرجع R' برای آن طبق معادله (21) محاسبه می-گردد.
در مرحله بعد، با استفاده از key1 ، بلوکهای حامل واترمارک (B_K^') و با استفاده از key2 ، ضرایبی که واترمارک در آنها جاسازی شده است (c_K^') مشخص میشوند: در نهایت، بیتهای واترمارک w'، از هر یک از بلوکهای حامل واترمارک به صورت زیر استخراج میشوند.
(26) w^' (K)={█(1, if B_K^' (c_K^')≥B ̃_K^' (c_K^')@0, else )┤
B ̃_K^' (c_K^') از رابطه زیر به دست میآید:
(27) B ̃_K^' (c_K^' )=B_K^' (1)×R^' (c_K^')
از آنجا که عمل جاسازی واترمارک در باند فرکانس میانی صورت میگیرد، در مقادیر DC بلوکها تغییری داده نمیشود. از طرف دیگر، مقادیر جداول مرجع R و R' بسیار به هم نزدیک هستند، زیرا این جداول با میانگینگیری در تمامی بلوکها به دست میآیند. بنابراین، میتوان گفت مقادیر B ̃_K (i) ، در بخش جاسازی و استخراج تقریباً ثابت بوده و به همین علت، از آن به عنوان مقدار مرجع استفاده میشود.
تعیین ضریب قوت واترمارک
در این بخش، تکنیک جدیدی برای تعیین وفقی ضریب قوت واترمارک بر اساس ویژگیهای محلی تصویر ارائه میگردد. تعیین وفقی این ضریب شامل سه مرحله است:
1. استخراج ویژگیهای مناسب از بلوکهای تصویر بر اساس خصوصیات سیستم بینایی انسان؛
2. طبقهبندی بلوکها به کلاسهای مختلف بر اساس ویژگیهای استخراج شده؛
3. تعیین ضریب قوت واترمارک برای هر کلاس.
استخراج ویژگی بر اساس HVS
جاسازی واترمارک در تصویر میزبان، در واقع اضافه نمودن یک نویز ضعیف به یک سیگنال قوی است و تا زمانی که قدرت نویز از آستانه JND21 کمتر باشد، چشم انسان قادر به تشخیص آن نخواهد بود. در سیستم دیداری انسان، عوامل مختلفی بر میزان حساسیت چشم نسبت به نویز تاثیر دارند که میتوان به موارد زیر اشاره نمود:
حساسیت به بافت: چشم انسان در بخشهایی از تصویر که بافت ناهمواری دارند، حساسیت کمتری نسبت به نویز دارد. به عبارت دیگر، اغتشاش در بخشهایی از تصویر که بافت شلوغی دارند، خیلی کمتر از نواحی با بافت هموار و یکنواخت، قابل رؤیت است.
پدیده پوشش22: به افزایش آستانه تحریک بصری یک سیگنال، بر اثر مجاورت با سیگنالی دیگر، پوشش گویند. یک عنصر تصویری میتواند قابلیت آشکارسازی عناصر تصویری مجاور آن را کاهش دهد. برای مثال، وجود لبه در ناحیهای از تصویر، قابلیت رؤیت عناصر مجاور آن را کاهش میدهد.
حساسیت نسبت به میزان روشنایی: اعوجاج در بخشهایی از تصویر که سطح روشنایی خیلی بالا یا خیلی پایین دارند، کمتر از نواحی با روشنایی متوسط، قابل رویت است.
این ویژگیها نشان میدهند، چشم انسان در مقابل بخشهای مختلفی از تصویر با بافت و روشنایی متفاوت، حساسیت متفاوتی دارد. بر این اساس، میتوان در سیستمهای واترمارکینگ، برای نواحی مختلف تصویر، ضریب قوت واترمارک متفاوتی در نظر گرفت. برای مثال، در بافتهای شلوغ، اطراف لبهها و نواحی روشن یا تاریک میتوان ضریب قوت واترمارک بزرگتری به کار برد.
در این مقاله، بلوکهای مختلف تصویر بر اساس بافت و روشنایی، به کلاسهای مختلف طبقهبندی میشوند و ضرایب قوت واترمارک متفاوتی برای هر کلاس تعیین میشود. با توجه به موارد فوق شش کلاس مختلف برای بلوکها تعریف میشود.
t_1: بلوکهای دارای بافت هموار با روشنایی زیاد؛
t_2: بلوکهای دارای بافت هموار با روشنایی متوسط؛
t_3: بلوکهای دارای بافت هموار با روشنایی کم؛
t_4: بلوکهای دارای لبه؛
t_5: بلوکهای دارای بافت نسبتاً شلوغ (بافت درشت)؛
t_6: بلوکهای دارای بافت بسیار شلوغ (بافت ریز).
در این مقاله از چهار ویژگی برای طبقهبندی بلوکها به کلاسهای مذکور استفاده میشود: سطح روشنایی، آنتروپی، واریانس و کنتراست. به عبارت دیگر، از هر بلوک تصویر چهار ویژگی فوق استخراج شده، سپس بر اساس آنها، کلاس متناظر با هر بلوک مشخص میگردد.
سطح روشنایی هر بلوک با میانگینگیری از مقادیر پیکسلهای آن به دست میآید. هنگامی که روشنایی بلوک کم یا زیاد باشد، میتوان ضریب قوت واترمارک بیشتری به کار برد. گشتاور دوم یا واریانس در توصیف بافت اهمیت ویژهای دارد و معیاری از کنتراست شدت است که میتوان از آن برای تعیین هموار بودن نسبی تصاویر استفاده کرد. آنتروپی معیاری است که نشاندهنده پراکندگی در شدت پیکسلهاست. در نتیجه، در تصاویر دارای بافت، مقادیر بزرگتری دارد. سطح روشنایی، واریانس و آنتروپی از روابط زیر به دست میآیند:
(28) mean=∑_(i=0)^(l-1)▒〖z_i P(z_i)〗
(29) var=∑_(i=0)^(l-1)▒〖(z_i-mean)^2 P(z_i)〗
(30) ent=-∑_(i=0)^(l-1)▒〖P(z_i)log_2〖P(z_i)〗 〗
در این روابط z_i نشاندهنده شدت روشنایی و l تعداد سطوح خاکستری است. P(z_i ) احتمال شدت روشنایی z_i در تصویر است و برابر نسبت تعداد پیکسلها با روشنایی z_i به تعداد کل پیکسلهای تصویر است.
معیارهای بافتی که فقط با استفاده از هیستوگرام محاسبه میشوند، مانند معیارهای فوق، هیچ اطلاعاتی درباره موقعیت نسبی پیکسلها نسبت به یکدیگر حمل نمیکنند. این نکته در هنگام توصیف بافت مهم است و یک روش برای گنجاندن این نوع اطلاعات در فرایند تحلیل بافت، در نظر گرفتن موقعیت نسبی پیکسلهاست. به این منظور، در این مقاله از معیار گشتاور تفاضلی عنصری23 از مرتبه 2 یا همان معیار کنتراست استفاده میگردد. برای این کار، ابتدا ماتریس همرویدادی24 برای بلوک تصویری مورد نظر تشکیل داده میشود. ماتریس همرویدادی، ماتریسی است که عناصر آن تعداد دفعاتی را که جفت پیکسلهای z_i و z_j در موقعیت خاصی نسبت به یکدیگر قرار میگیرند، نشان میدهند [23]. در اینجا هر یک از عناصر این ماتریس (g_ij) نشان دهنده تعداد دفعاتی است که جفت پیکسل z_i و z_j در کنار هم، در همسایگی هشتگانه یکدیگر قرار میگیرند. معیار کنتراست برای هر بلوک تصویر به صورت زیر محاسبه میشود [23]:
(31) cont=∑_(i=0)^(l-1)▒∑_(j=0)^(l-1)▒〖(z_i-z_j )^2 P(z_i,z_j)〗
z_i و z_j نمایانگر شدت روشنایی و P(z_i,z_j) احتمال قرار گرفتن آنها در کنار یکدیگر است و به صورت زیر محاسبه میگردد:
(32) P(z_i,z_j )=g_ij⁄n
n تعداد کل جفت پیکسلهایی است که در کنار یکدیگر قرار گرفتهاند و به عبارت دیگر، برابر مجموع عناصر ماتریس همرویدادی است. همانطور که از رابطه (31) مشاهده میشود، اگر تفاوت شدت روشنایی پیکسلهای مجاور بیشتر باشد، کنتراست بیشتر خواهد بود. از واریانس، آنتروپی و کنتراست برای تعیین بافت بلوک استفاده میشود. هنگامی که آنتروپی و واریانس مقادیر کوچکی داشته باشند تصویر هموار است. اگر آنتروپی بزرگ باشد، در صورتی که واریانس مقدار بزرگی داشته باشد، لبه و در غیر این صورت بافت است. کنتراست نیز در تصاویر دارای بافت بسیار شلوغ (بافت ریز) مقادیر بزرگی دارد.
طبقهبندی بلوکها توسط SVM
برای تعیین ضرایب قوت واترمارک (α_K) در بلوک-های جاسازی (B_K)، مطابق با آنچه در بخش قبل ذکر شد، ابتدا از تمام بلوکهای B_K، 4 ویژگی سطح روشنایی، واریانس، آنتروپی و کنتراست استخراج میگردد و سپس بر اساس آنها، بلوکها به 6 کلاس طبقهبندی می-شوند.
در این مقاله، برای طبقهبندی بلوکها از یک ماشین بردار پشتیبان آموزش دیده استفاده میگردد. در مقالههای پیش از این، که از طبقهبندی بلوکها، برای وفقی نمودن واترمارکینگ استفاده شده است، عمدتاً روشهای کلاسیک طبقهبندی مبتنی بر آستانهگذاری برای ویژگیهای استخراجی، به کار رفتهاند [2،1]. استفاده از این طبقهبندی کنندهها دقت لازم را نخواهد داشت، زیرا سیستم بینایی انسان سیستمی کاملاً پیچیده و غیر خطی است. بنابراین در اینجا از SVM به علت توانایی بالای آن در شبیهسازی سیستم بینایی انسان و قابلیت یادگیری، تعمیم و تقریب غیرخطی، برای یافتن رابطهای بین چهار ویژگی مذکور و کلاسهای متناظر با آنها، استفاده میشود. برای به کارگیری SVM در طبقهبندی دادهها ابتدا باید آن را آموزش داد. به این منظور، در این مقاله از 1000 بلوک تصویری با بافت و روشنایی متفاوت به عنوان نمونههای آموزشی استفاده شده است [24]. در نهایت، از SVM آموزش دیده برای تعیین کلاس بلوکهای B_K استفاده میگردد.
(33) Class(B_K )=SVM(〖mean〗_K,〖var〗_K,〖ent〗_K,〖cont〗_K)
(34) Class(B_K )∈{t_1,t_2,t_3,t_4,t_5,t_6 }
SVM ، فرایند طبقهبندی دادهها از طریق ماشین بردار پشتیبان را نشان میدهد. از آنجا که تعداد کلاسها بیش از دوتاست، از روش یکی در مقابل یکی برای طبقهبندی دادهها استفاده میشود (〖mean〗_K,〖var〗_K,〖ent〗_K,〖cont〗_K). بردار ویژگی استخراج شده از بلوک B_K است که شامل سطح روشنایی، واریانس، آنتروپی و کنتراست است.
تعیین ضرایب قوت واترمارک با GA
پس از طبقهبندی بلوکها به شش کلاس مذکور، ضریب قوت واترمارک مناسب برای هر کلاس با استفاده از الگوریتم ژنتیک تعیین میشود. بردار S را به صورت زیر تعریف میکنیم که نمایانگر ضرایب قوت واترمارک در هر کلاس است.
(35) S=[s_1,s_2,s_3,s_4,s_5,s_6 ]
s_i نشان دهنده ضریب قوت واترمارک در بلوکهای کلاس t_i است (s_i=S(t_i )) . هدف یافتن S بهینه توسط الگوریتم ژنتیک است. چنانچه S^* بردار بهینه حاصل از الگوریتم ژنتیک باشد، مقادیر α_K در بخش جاسازی واترمارک از رابطه زیر به دست میآید:
(36) α_K=S^* (Class(B_K ))
شکل (3) بلوک دیاگرام نحوه یافتن S بهینه از طریق الگوریتم ژنتیک را نشان میدهد. الگوریتم ژنتیک با یک جمعیت اولیه از بردارهای S شروع به کار میکند. به ازای هر بردار S در جمعیت، تابع برازندگی محاسبه شده و سپس بر اساس مقادیر برازندگی حاصل تعدادی از آنها به عنوان والدین انتخاب میگردند. پس از انجام عملیات تقاطع و جهش بر روی والدین و ایجاد فرزندان، نسل بعدی شامل جمعیتی جدید از بردارهای S تشکیل میگردد. این روند ادامه مییابد تا جمعیت به یک بردار بهینه همگرا شود. در نهایت، برداری که بیشترین مقدار برازندگی را در نسل آخر دارد، جواب نهایی الگوریتم خواهد بود (S^*).
برای تعریف تابع برازندگی، میزان شفافیت واترمارکینگ از یکسو و میزان مقاومت واترمارک از سوی دیگر، برای هر یک از بردارهای S محاسبه میگردد. بنابراین، به ازای هر یک از بردارهای S عمل جاسازی واترمارک طبق آنچه در بخش 4-1 ذکر شد، انجام میشود. سپس برای ارزیابی شفافیت واترمارکینگ، میزان شباهت تصویر واترمارک شده با تصویر میزبان سنجیده میشود.
هم اکنون، سادهترین و پرکاربردترین معیارهای سنجش شباهت MSE25 و PSNR26 هستند و علت آن محاسبه ساده و در برداشتن یک معنای فیزیکی قابل فهم است، اما این معیارها با ویژگیهای سیستم بینایی انسان تطابق خوبی ندارند. برای مثال، دو تصویر مخدوش با MSE یکسان میتوانند دارای خطاهای متفاوتی باشند، به طوری که خطاهای یکی قابل مشاهده و دیگری غیرقابل مشاهده باشد. در سالهای اخیر تلاشهای زیادی در جهت ایجاد روشهای ارزیابی کیفیت بر اساس سیستم بینایی انسان شده است و اکثر روشهای پیشنهادی بر اساس اصلاح معیار MSE و با جریمه نمودن خطاها مطابق با میزان آشکاری آنها بنا نهاده شده است. این روشها که معیارهای ارزیابی کیفیت مبتنی بر میزان حساسیت خطا نامیده میشوند نیز دارای اشکالها و محدودیتهایی هستند. در [25] محدودیتهای این دسته از روشها ذکر شده است و سپس شاخص جدیدی برای ارزیابی کیفیت تصویر مبتنی بر شباهت ساختاری بین دو تصویرمعرفی گردیده است. این معیار که شاخص شباهت ساختاری27 نامیده میشود، برای سنجش شباهت بین دو تصویر Y و X، روشنایی، کنتراست و ساختار دو تصویر را مقایسه میکند. این مقایسه به صورت محلی در بلوکهای متناظر در دو تصویر انجام میشود. اگر y و x بلوکهای محلی متناظر در دو تصویر Y و X باشند، تابع مقایسه روشنایی l(x,y) ،تابع مقایسه کنتراست c(x,y) و تابع مقایسه ساختار s(x,y) به صورت زیر تعریف میشوند [25]:
(37) l(x,y)=(2μ_x μ_y+C_1)/(μ_x^2+μ_y^2+C_1 )
(38) c(x,y)=(2σ_x σ_y+C_2)/(σ_x^2+σ_y^2+C_2 )
(39) s(x,y)=(σ_xy+C_3)/(σ_x σ_y+C_3 )
C_1،C_2 و C_3 مقادیر ثابتی هستند که از ناپایداری معادلهها هنگامی که مخرج کسر مقدار کوچکی است، جلوگیری میکنند. μ_x و μ_y مقادیر متوسط در بلوکهای y و x هستند و σ_x^2 و σ_y^2 نمایانگر مقادیر واریانس و σ_xy کوواریانس بین y و x را نشان میدهد.
شاخص شباهت ساختاری بین دو بلوک y و x از حاصلضرب سه تابع مقایسه مذکور به دست میآید که با فرض C_3=C_2⁄2 از رابطه زیر حاصل میشود:
(40) SSIM(x,y)=(2μ_x μ_y+C_1 )(〖2σ〗_xy+C_2 )/(μ_x^2+μ_y^2+C_1 )(σ_x^2+σ_y^2+C_2 )
در نهایت، شاخص شباهت ساختاری کل بین دو تصویر Y و X با میانگینگیری از مقادیر SSIM به دست خواهد آمد.
(41) MSSIM(X,Y)=1/M ∑_(i=1)^M▒〖SSIM(x_i,y_i)〗
M نشاندهنده تعداد بلوکهای محلی در تصویر است که به صورت پیکسل به پیکسل بر روی تصویر جابهجا میگردند و y_i 〖و x〗_i بلوک محلی i ام در دو تصویر Y و X را نشان میدهند. حداکثر مقدار شاخص شباهت ساختاری برابر یک است و تنها در صورتی محقق میشود که دو تصویر Y و X دقیقاً مشابه باشند.
پس از ارزیابی میزان شفافیت واترمارکینگ از طریق محاسبه شاخص شباهت ساختاری بین تصویر میزبان و تصویر واترمارک شده، برای ارزیابی میزان مقاومت واترمارک، تعدادی حمله و عملیات پردازش تصویری بر روی تصویر واترمارک شده انجام میپذیرد. سپس واترمارک از تصاویر مورد حمله طبق الگوریتم پیشنهادی در بخش 4-2 استخراج میگردد و شاخص BCR28 برای هر کدام، بین واترمارک اصلی و واترمارک استخراج شده محاسبه میشود.
(42) BCR(w,w^' )
=1-(∑_(i=1)^(M_w)▒∑_(j=1)^(N_w)▒XOR(w(i,j),w^' (i,j)) )/(M_w×N_w )
حداکثر مقدار BCR یک است و تنها در صورتی که واترمارک اصلی و واترمارک استخراجی یکسان باشند، این مقدار حاصل میگردد.
تابع برازندگی برای هر یک از بردارهای S به صورت زیر تعریف میشود:
(43) f(S)=MSSIM(I,I^' )+1/p ∑_(k=1)^p▒〖BCR_k (w,w^')〗
I تصویر میزبان و I^' تصویر واترمارک شده حاصل از جاسازی واترمارک در تصویر I با استفاده از بردار S است. p تعداد حملات اعمال شده بر روی تصویر I^' را نشان میدهد. w واترمارک اصلی و w^' واترمارک استخراج شده از هر یک از تصاویر مورد حمله است. در این مقاله از سه حمله فیلتر میانگین، فیلتر میانه29 و فشرده-سازی JPEG با ضریب کیفیت 40 برای ارزیابی میزان مقاومت واترمارک در تابع برازندگی استفاده میشود.
از آنجا که شاخص SSIM و BCR محدوده تغییر مشابهی دارند، نیاز به وزندهی در رابطه (43) نیست، در حالی که اگر از شاخص PSNR استفاده شود، وجود یک پارامتر وزن ضروری است که تعیین بهینه آن مشکل است.
4-4- نتایج پیادهسازی
به منظور ارزیابی سیستم واترمارکینگ ارائه شده، روش پیشنهادی به طور گسترده بر روی تصاویر استاندارد تحت حملههای مختلف آزمایش گردید که در این بخش با توجه به محدودیت فضا به چند نمونه اشاره خواهیم کرد. تصاویر Lena، Baboon، Airplane، Cameraman و Peppers با ابعاد 512512 به عنوان تصاویر میزبان و تصویر باینری Copyright با ابعاد 7020 به عنوان واترمارک آزمایش میشوند.
در فرایند طبقهبندی بلوکها، به یک مدل SVM آموزش دیده نیاز است. همانطور که پیش از این ذکر شد، از 1000 بلوک تصویری با بافت و روشنایی متفاوت به عنوان نمونههای آموزشی استفاده میگردد. پس از استخراج ویژگیها از نمونهها، دادههای آموزشی حاصل به منظور کاهش حجم محاسبات به محدوده [1 ,1-] مقیاس میشوند. با آزمون توابع کرنل مختلف، در نهایت از کرنل RBF به علت کارایی بهتر و داشتن خطای آزمایش کمتر برای آموزش SVM استفاده میشود. سپس با جستجوی شبکهای30 بر روی مقادیر مختلف (C,σ) و تقریب خطای آزمایش به ازای هر یک از طریق Cross-validation مقادیر16384 C= و 1 σ= برای آموزش SVM به کار میروند. C پارامتر ایجاد توازن بین حاشیه مرز تصمیم و خطای آموزش است و σ عرض کرنل RBF است. شکل (4) مقادیر بهینه C و γ که از طریق جستجوی شبکهای به دست آمدهاند، نشان میدهد (γ=1⁄(2σ^2 )). همانطور که مشاهده میشود، به ازای این مقادیر، طبقهبندی کننده حاصل بیشترین دقت را خواهد داشت که تقریباً برابر 94% است.
پس از تشکیل یک مدل SVM آموزش دیده و طبقهبندی بلوکها توسط آن، ضرایب قوت واترمارک برای هر کلاس توسط الگوریتم ژنتیک تعیین میگردد. تعداد جمعیت اولیه را برابر 60 قرار داده که در آزمایشهای ابتدایی به صورت تصادفی تولید میشود. محدوده تغییرات هر یک از متغیرها در بازه [100,10] در نظر گرفته میشود، چون به ازای ضرایب قوت کوچکتر از 10 مقاومت اندکی در برابر حملهها دارد و به ازای مقادیر بیشتر از 100 شفافیت به طور قابل ملاحظهای کاهش مییابد. معمولاً پس از طی حداکثر 40 نسل جمعیت به یک مقدار بهینه همگرا میشود. شکل (5) مقدار برازندگی بهترین کروموزوم و مقدار متوسط برازندگی کروموزومها، طی گذشت نسلهای متوالی نشان میدهد که برای تصویر Lena به دست آمده است. در این نمودار محور افقی، نسلها و محور عمودی، ارزش برازندگی را نشان میدهد. نقاط قرمز مقادیر برازندگی بهترین بردار S را در هر نسل نشان میدهد و نقاط آبی نشاندهنده متوسط مقادیر برازندگی تمام بردارها در هر نسل است. برای شبیهسازی، تابع برازندگی به صورت منفی تعریف شده است (-f(S)) و مسأله بهینهسازی با مینیمم کردن آن حل میشود. به همین علت، مقادیر برازندگی در محور عمودی با علامت منفی مشخص شدهاند.
شکل(4): مقادیر بهینه C و γ حاصل از جستجوی شبکهای
شکل(5): نمودار تغییرات مقدار برازندگی بهترین کروموزوم و متوسط مقادیر برازندگی طی نسلهای متوالی
با انجام این آزمایشها بر روی تصاویر مختلف که دارای بافت و روشنایی متفاوت هستند، مجموعهای از بردارهای بهینه حاصل میگردد که میتوان از آنها در جمعیت اولیه برای تصاویر بعدی استفاده نمود.
جدول (1) حاوی بردارهای بهینه حاصل از الگوریتم ژنتیک برای هر یک از تصاویر مورد آزمایش است. همانطور که مشاهده میشود، ضریب قوت واترمارک در بافتهای بسیار شلوغ (S(t_6 )) بیشترین مقدار و در بافتهای هموار با روشنایی متوسط (S(t_2 ))، کمترین مقدار را دارد.
پس از تعیین بردار S بهینه توسط الگوریتم ژنتیک برای هر یک از تصاویر میزبان، عمل جاسازی واترمارک طبق الگوریتم ارائه شده در این مقاله، انجام میگیرد. شکل (6) تصاویر واترمارک شده به همراه واترمارک استخراج شده از آنها را نشان میدهد. از راست به چپ، به ترتیب تصاویر اصلی، تصاویر واترمارک شده و واترمارک استخراجی مشخص شدهاند. همانطور که مشاهده میشود، تفاوت محسوسی بین تصاویر میزبان و تصاویر واترمارک شده قابل تشخیص نیست؛ از طرف دیگر، هنگامی که هیچ حملهای بر روی تصاویر واترمارک شده اعمال نگردد واترمارک بدون هیچ خطایی استخراج میشود. معمولاً کیفیت یک سیستم واترمارکینگ با ارزیابی میزان شفافیت و مقاومت آن سنجیده میشود. در اینجا برای سنجش شفافیت روش، از شاخص SSIM بین تصاویر میزبان و تصاویر واترمارک شده استفاده میشود. جدول (2) مقادیر SSIM را برای تصاویر مورد آزمایش نشان میدهد.
جدول(1): بردارهای بهینه (S^*) حاصل از الگوریتم ژنتیک
S(t_6) S(t_5) S(t_4) S(t_3) S(t_2) S(t_1)
43/60 76/36 83/38 27/26 32/18 36/23 Lena
96/85 66/48 76/61 38/26 32/18 91/22 Baboon
46/61 96/32 57/38 65/24 87/20 56/23 Peppers
12/79 86/37 11/39 71/23 26/18 35/21 Airplane
41/54 41/42 26/31 25/21 59/19 73/21 Cameraman
جدول(2): نتایج جاسازی واترمارک در تصاویر میزبان
SSIM تصاویر میزبان
روش [24] روش پیشنهادی
9908/0 9898/0 Lena
9891/0 9862/0 Baboon
9906/0 9894/0 Peppers
9907/0 9905/0 Airplane
9892/0 9886/0 Cameraman
4
(الف) (ب) (پ)
شکل (6): (الف): تصاویر میزبان؛ (ب): تصاویر حامل واترمارک؛ (پ): واترمارکهای استخراج شده
(الف) (ب) (پ) (ت) (ث)
(ج) (چ) (ح) (خ) (د)
(ذ) (ر) (ز) (ژ) (س)
شکل (7): نتایج آشکارسازی واترمارک تحت حملات مختلف:
(الف): فشردهسازی JPEG با ضریب کیفیت 40 (1BCR=)؛ (ب): JPEG با ضریب کیفیت 30 (9642/0BCR=)؛ (پ): فیلتر تیزکننده (1BCR=)؛
(ت): تعدیل هیستوگرام (9957/0BCR=)؛ (ث): افزودن نویز گاوسی جمع شونده (9628/0BCR=)؛ (ج): نویز ضرب شونده speckle (9524/0BCR=) ؛
(چ): نویز نمک و فلفل (9514/0BCR=)؛ (ح): فیلتر میانه (9857/0BCR=)؛ (خ): فیلتر میانگین (9878/0BCR=)؛ (د): فیلتر پایین گذر گاوسی (1BCR=)؛
(ذ): فیلتر وینر (9985/0BCR=)؛ (ر): فیلتر α-trimmed (9871/0BCR=)؛ (ز): فیلتر نقطه میانی (9079/0BCR=)؛
(ژ): تغییر ابعاد تصویر با ضریب 75/0 (1BCR=)؛ (س): تغییر ابعاد تصویر با ضریب 3/1 (1BCR=)
برای محاسبه شاخص SSIM، مقادیر C_2 و C_1 به صورت زیر به دست میآیند:
(44) ■(C_1=(k_1 L)^2 , k_1=0.01@C_2=(k_2 L)^2 , k_2=0.03)
L محدوده پویای مقادیر پیکسلهاست که در اینجا برابر 255 است. در ضمن، مقادیر μ_x، μ_y، σ_x^2، σ_y^2 و σ_xy در بلوکهای 1111 و به صورت وزندار توسط یک پنجره گاوسی متقارن نرمالیزه شده محاسبه میشوند [25].
برای ارزیابی میزان مقاومت روش، چندین حمله بر روی تصاویر واترمارک شده اعمال میگردد. شکل (7) تعدادی از این حملهها را به همراه واترمارک استخراجی از آنها برای تصویر Lena نشان میدهد. برای سنجش میزان مقاومت روش، از شاخص BCR بین واترمارک اصلی و واترمارک استخراج شده، استفاده میشود.
جدول (3) مقادیر BCR را به ازای حملههای مختلف برای واترمارک استخراج شده از تصاویر مورد آزمایش نشان میدهد. همانطور که مشاهده میشود، روش واترمارکینگ پیشنهادی توازن خوبی بین شفافیت و مقاومت ایجاد کرده است. واترمارک در برابر اکثر حملهها مقاوم است و در حملههایی مانند تغییر ابعاد، فشردهسازی JPEG با ضریب کیفیت 40، فیلتر پایینگذر گاوسی و فیلتر تیزکننده بدون خطا قابل استخراج است. در حمله تغییر ابعاد، ابتدا تصویر واترمارک شده با ضریب مورد نظر کوچک یا بزرگ میشود سپس برای استخراج واترمارک، تصویر مورد حمله دوباره به اندازه ابعاد اصلی بازسازی میشود. تمام فیلترها توسط پنجرههای 33 بر روی تصویر واترمارک شده اعمال میشوند. عرض فیلتر پایین-گذر گاوسی 5/0 σ= است. فیلتر نقطه میانی31، میانگین مقادیر ماکزیمم و مینیمم پنجره را جایگزین پیکسل مرکزی میکند. فیلتر α-trimmed مقادیر پنجره را به صورت یک دنباله مرتب میکند، سپس از ابتدا و انتهای آن باندازه α برش میدهد و میانگین اعداد باقیمانده را جایگزین پیکسل مرکزی میکند.
در [24] نیز از طبقهبندی بلوکها برای وفقی نمودن ضرایب قوت واترمارک استفاده شده است. در مقاله مذکور ضرایب قوت واترمارک به صورت تجربی و روش سعی و خطا به دست آمدهاند و برای هر یک از کلاسها در هر تصویر مقدار ثابتی دارند. در جداول (2) و (3) نتایج این روش را میتوان با الگوریتم پیشنهادی مقایسه نمود. نتایج نشان میدهد با وجود شفافیت بالای هر دو روش، الگوریتم پیشنهادی دارای مقاومت بسیار بالاتری است. این موضوع در تصاویر دارای بافت مثل تصویر Baboon کاملاً مشهود است.
جدول (3): نتایج آشکارسازی واترمارک تحت حملات مختلف
Cameraman Airplane Peppers Baboon Lena
روش [24] روش پیشنهادی روش [24] روش پیشنهادی
995/0 9971/0 9942/0 9878/0 9985/0 9942/0 9957/0 histogram equalization
1 1 1 9721/0 1 9885/0 1 Scaling 1.3
1 1 1 9521/0 1 9607/0 1 Scaling 0.75
935/0 945/0 9485/0 9207/0 9942/0 9035/0 9514/0 Salt & pepper noise
9228/0 8971/0 9657/0 9171/0 995/0 9114/0 9524/0 multiplicative Speckle noise
9535/0 9621/0 9714/0 9335/0 9957/0 925/0 9628/0 additive Gaussian white noise
995/0 955/0 9978/0 76/0 9985/0 7321/0 9642/0 JPEG 30
1 1 1 8907/0 1 8914/0 1 JPEG 40
1 1 1 9721/0 1 985/0 1 Sharpening
975/0 9857/0 9857/0 7435/0 985/0 8635/0 9871/0 α-trimmed filter (α=2)
86/0 8978/0 9228/0 6707/0 9179/0 7535/0 9079/0 Midpoint filter
9707/0 995/0 9942/0 8378/0 9985/0 8942/0 9985/0 Wiener filter
9642/0 9814/0 9864/0 7457/0 9807/0 8392/0 9878/0 Averaging filter
1 1 1 9857/0 1 9871/0 1 Gaussian low pass filter
9842/0 9907/0 9907/0 7414/0 9778/0 8842/0 9857/0 Median filter
نتیجهگیری
در این مقاله یک روش واترمارکینگ وفقی مبتنی بر سیستم بینایی انسان در حوزه DCT ارائه گردید که در آن برای تعیین وفقی ضرایب قوت واترمارک در مکانهای جاسازی، برخی از ویژگیها و محدودیتهای سیستم بینایی انسان به کار گرفته شدند. برای تعیین خصوصیات بصری بخشهای مختلف تصویر، چهار ویژگی متفاوت از بلوکهای تصویر استخراج گردید. روشنایی، آنتروپی و واریانس ویژگیهای متداولی هستند که در اکثر مقالهها از آنها برای تعیین نوع بافت و میزان روشنایی استفاده میشود. در این مقاله از ویژگی دیگری نیز برای تعیین بافت استفاده گردید که کنتراست نام دارد. با استفاده از این ویژگی میتوان بخشهایی از تصویر را که دارای بافت بسیار شلوغ هستند شناسایی نمود و ضریب قوت واترمارک بزرگی را در این بخشها به کار برد. بنابراین، نتیجه گرفته میشود اضافه نمودن این ویژگی تاثیر بسزایی در کارایی روش واترمارکینگ پیشنهادی، مخصوصاً در افزایش مقاومت آن داشته است.
سپس از ماشین بردار پشتیبان برای طبقهبندی بلوکهای تصویر به شش کلاس مختلف بر اساس ویژگیهای استخراج شده، استفاده گردید. در نهایت، با ارائه روشی مبتنی بر الگوریتم ژنتیک، ضرایب قوت بهینه برای هر کلاس تعیین شد. تابع برازندگی به صورت تابعی از شفافیت و مقاومت واترمارکینگ تعریف شد که در آن از شاخص شباهت ساختاری (SSIM) به منظور ارزیابی شفافیت و از شاخص نرخ صحت بیت (BCR) برای ارزیابی مقاومت استفاده شد. نتایج نشان دادند، تابع برازندگیِ تعریف شده، عملکرد مناسبی در تعیین مقادیر بهینه برای ضرایب قوت واترمارک در کلاسهای مختلف داشته است.
نتایج پیادهسازی نشان دادند استفاده از ماشین بردار پشتیبان و الگوریتم ژنتیک در تعیین وفقی ضرایب قوت واترمارک در بخشهای مختلف تصویر مفید بوده است. روش پیشنهادی به طور گسترده تحت حملههای مختلف آزمایش شد و با توجه به نتایج پیادهسازی، الگوریتم ارائه شده توازن خوبی بین شفافیت و مقاومت ایجاد نموده است و در برابر حملهها و پس پردازشها مقاومت خوبی دارد