پروژه پنهان سازی اطلاعات در تصاویر با الگوریتم ژنتیک در سی شارپ به همراه داکیومنت
پیاده سازی مقاله A Data Embedding Technique for Gray scale Image Using Genetic Algorithm (DEGGA)
در این پست پروژه پنهان سازی اطلاعات در تصاویر با الگوریتم ژنتیک (DEGGA) در سی شارپ را با عنوان مقاله A Data Embedding Technique for Gray scale Image Using Genetic Algorithm (DEGGA) به همراه توضیح فارسی خطوط برنامه نویسی شده آماده کرده ایم که در ادامه به توضیحاتی در این باره پرداخته و فیلم و تصاویری از خروجی این پروژه پردازش تصویر و بینایی ماشین قرار داده شده است. مقاله اصلی نیز به صورت رایگان قابل دانلود است.
برای پنهان سازی اطلاعات در تصاویر، روش های زیادی وجود دارند که یکی از این روش ها استفاده از الگوریتم ژنتیک برای تصاویر خاکستری (DEGGA) می باشد که می تواند داده های زیادی را در تصاویر خاکستری ذخیره کند.
پنهان سازی اطلاعات در تصاویر در حوزه مکان:
پنهان سازی اطلاعات در تصاویر در حوزه مکان پرکاربرد ترین روش و یکی از ساده ترین روش های رمزنگاری پس از روش افزونگی حجم است. در این روش از توانایی اندک سیستم بینایی انسان در تفکیک دقیق رنگ ها و تشخیص تغییرات، استفاده شده و بدون تغییر قابل محاسبه در ابعاد یا حجم تصویر از خود آن به عنوان حامل پیام استفاده می شود. در واقع در این روش پیام درون بخشی از فضای بیتی تصویر نهفته شده و در نتیجه امکان کشف آن با روش های ساده میسر نخواهد بود.
توضیحات بیشتر، دانلود رایگان مقاله، فیلم و تصاویری از خروجی پروژه پنهان سازی اطلاعات در تصاویر با الگوریتم ژنتیک در تصاویر در ادامه مطلب.
یکی از روش های مرسوم در پنهان سازی حوزه مکان، استفاده از بیت های کم ارزش بایت های تشکیل دهنده تصویر حداکثر تا بیت چهارم می باشد. شکل زیر، نمونه ای از عمل کرد می باشد که این روش را برای یک تصویر 20 در 20 خاکستری نمایش می دهد.
(نمونه ای از روند پنهان سازی پیام در تصاویر)
همانطور که مشاهده می گردد در این روش نهان سازی سطح خاکستری تصویر تغییری جزیی نموده و به جای عدد 250 به عددی بین 240 تا 255 و در این مثال به 253 تغییر می کند. چشم انسان نمی تواند به سهولت این میزان تغییر را درک کند و در صورتی که پیام ذخیره شده دارای توزیع تصادفی یکنواخت از صفر ها و یک ها باشد به هیچ عنوان چشم انسان نخواهد توانست تغییرات را احساس کند.
بدیهی است هرچه تعداد بیت مورد استفاده از تصویر برای نهان سازی کمتر باشد امکان تشخیص توسط چشم و در عین حال فضای ذخیره سازی کاهش می یابد. از چالش های اساسی در پنهان سازی داده ها در تصاویر عدم تشخیص اطلاعات مخفی شده، حجم اطلاعات قابل ذخیره در تصاویر و مقاومت در برابر تغییرات است.
یکی دیگر از روش های پنهان سازی اطلاعات در تصویر با استفاده از افزونگی حجم، ذخیره آن ها به عنوان ابرداده درون تصویر می باشد. تقریبا اکثریت فرمت های تصویری این امکان را دارند که اطلاعاتی به صورت ابرداده درون آن ها ذخیره شوند.
این اطلاعات که به صورت کلی به آنها EXIF یا اطلاعات اضافی فایل گفته می شود محلی برای ذخیره سازی برخی مشخصات تصویر نظیر مدل دوربین، نوع لنز، نام عکاس، تاریخ عکاسی و غیره می باشند. اغلب نرم افزار های حرفه ای نمایش تصویر می توانند علاوه بر نمایش تصویر این اطلاعات را نیز استخراج و نمایش دهند با این حال در صورتی که در آن مکان ابرداده ای تعریف نشده وجود داشته باشد این نرم افزار ها امکان نمایش آن را نخواهند داشت. در نتیجه می توان هر حجم دلخواهی از دادگان را در این بخش از تصاویر ذخیره نمود.
مزیت این روش نسبت به روش قبل در آن است که دادگان در سرآیند تصویر ذخیره شده و در نتیجه به سادگی قابل مشاهده و ردیابی نخواهند بود. برای استفاده از این روش لازم است تا از نرم افزاری با قابلیت درج اطلاعات EXIF استفاده شود. ایراد هر دو روش مذکور و به طور کلی هر روش درج اطلاعات دیگری که موجب تغییر ابعاد فایل تصویر گردد در درجه اول در آن است که به سهولت قابل شناسایی است چرا که ابعاد واقعی فایل به راحتی قابل محاسبه است.
در درجه دوم آن است که در مقابل هیچ نوع تغییری نمی تواند مقاومت نشان داده و با کوچکترین تغییر و ذخیره سازی مجددی این اطلاعات از بین می روند. البته در این EXIF خصوص روش دوم اندکی مقاومتر بوده و در صورتی که فرمت تصویر تغییر نکند تغییرات ویرایش معمول موجب حذف اطلاعات نمی شوند.
معرفی الگوریتم ژنتیک برای پنهان سازی اطلاعات در تصاویر خاکستری:
در الگوریتم ژنتیک (DEGGA) ابتدا تصویری که قرار است درون تصویر دیگر جاسازی شود پیکسل های آن که عددی بین 0 تا 255 است، خوانده شده و به مبنای 2 تبدیل می شود. بعد از خوانده شدن تمام پیکسل ها و تبدیل آنها به مبنای 2 رشته ای از صفر و یک ها بدست خواهد آمد سپس تصویری که قرار است اطلاعات سری درون آن جاسازی شود پیکسل هایش به بلوک های 3*3 تقسیم شده و مقدار آنها در مبنای 2 نمایش داده می شوند. نمونه ای از این عملیات در شکل زیر نشان داده شده است.
(نمایش تصویر سری و تصویر پوششی در مینای 2)
در مرحله ای بعد، از بایت های تصویر سری 4 بیت را برداشته و با 4 بیت سمت راست بلوک 1 تصویر پوششی جایگزین می کنیم این عملیات را تا پایان بیت های تصویر سری، بر روی تمام بایت های بلوک ها انجام می دهیم.
(جایگزین کردن 4 بیت از سمت راست تصویر پوششی با 4 بیت تصویر سری)
بعد از اتمام عملیات جایگزینی، 3 بیت از سمت راست بلوک جدید، برداشته وعمل جهش بیتها را با xor کردن آنها با هم انجام می دهیم و دوباره سر جای خود قرار داده می شود این عمل را بر روی تمام بایت های بلوک ها انجام می دهیم.
بعد از اتمام این عملیات رشته های بدست آمده را به مبنای 10 بر گردانده و با پیکسل معادل خود در تصویر پوششی جایگزین می کنیم. در این روش چون از 4 بیت کم ارزش هر پیکسل استفاده می شود مقدار هر پیکسل ممکن است بین مثبت 16 تا منفی 16 تغییر پیدا کند.
(xor کردن 3 بیت از سمت راست)
بلوک دیاگرام و تصاویر استفاده شده در این الگوریتم بر روی تصاویر خاکستری در دو شکل زیر نشان داده شده است.
(بلوک دیاگرام الگوریتم ژنتیک بر روی تصاویر خاکستری DEGGA)
(تصاویر پوششی و جاسازی شده به همراه تصویر استگانوگرافی)
در جدول زیر حداکثر سیگنال به نویز تصویر پوششی با تصویر استگانوگرافی نمایش داده شده است که هر چه مقدار PSNR بیشتر باشد، بدین معنی است که تصویر نهایی به تصویر پوششی نزدیک است و هر چه این مقدار به عدد صفر نزدیک شود نشان دهنده تغییرات بیشتر تصویر نهایی می باشد.
(جدول حداکثر سیگنال به نویز بدست آمده در الگوریتم ژنتیک بر روی تصاویر خاکستری)
تصاویر خروجی پروژه پنهان سازی اطلاعات در تصاویر با الگوریتم ژنتیک:
تصویر خروجی 1:
تصویر خروجی 2:
سلام اگه زحمتی نیست می خواستم بدونم پروژه پنهان سازی اطلاعات در تصاویر رو میشه با الگوریتم های دیگه هم انجام داد ؟
لطفا الگوریتمی که می خواهید با اون پنهان سازی رو انجام بدید اینجا بگید تا بگم قابل انجام است یا نه
سلام یه پروژه تو همین مایه ها دارم قبول می کنید واسم انجام بدید به یه سایت مراجعه کردم در این مورد اطلاعات خوبی بهم نداد ؟
برای پنهان سازی تصویر به روش استگانوگرافی 3 یا 4 مورد آماده داریم و قبلا انجام دادیم اگه براش مقاله دارید ارسال کنید بررسی کنیم
سلام دستتون درد نکنه توضیحاتی رو که راجب پروژه دادید خیلی خوب بود و همچنین لینک هایی رو که برای دانلود گذاشتید به راحتی میشه باهاشون دانلود کرد صمیمانه ازتون تشکر می کنم .
سلام يه سوال دارم نميدونم طرح کردنش درست هست يا نه در حقيقت من پايان نامم رو دادم کسی برام انجام داده متاسفانه داکیومنت رو داده و ديگه جواب گوشی منو نمیده برا پياده سازی کارم انتخاب خصيصه با ژنتيک هست و گفته از کتابخانه های R و متلب کمک گرفتم پياده سازيم هم با سی شارپ بوده الان توش موندم اگه بهم گفتن چطوری ژنتيک رو پياده سازی کردی در سی شارپ و اينکه از چه کتابخانه ای در متلب و R استفاده کردی چه بگم.
سلام توضیحات فارسی کامل داره؟
بله داکیومنت فارسی کاملی داره
سلام ببخشید داکیومنت و توضیحات فارسی داره که بشه فهمیدش و توضیحش داد؟
بله داکیومنت فارسی در فایل ورد داره.