در بخش اول از این سری سه قسمتی، راهحلی ارائه کردیم که نشان میدهد چگونه میتوانید با استفاده از AWS AI و خدمات یادگیری ماشینی (ML) برای یک مورد استفاده از وام مسکن، دستکاری و تقلب در اسناد را بهطور خودکار شناسایی کنید.
در این پست، رویکردی را برای توسعه یک مدل بینایی کامپیوتری مبتنی بر یادگیری عمیق برای شناسایی و برجسته کردن تصاویر جعلی در پذیرهنویسی وام مسکن ارائه میکنیم. ما راهنمایی هایی در مورد ساخت، آموزش و استقرار شبکه های یادگیری عمیق ارائه می دهیم آمازون SageMaker.
در قسمت 3، نحوه پیاده سازی راه حل را نشان می دهیم ردیاب تقلب آمازون.
بررسی اجمالی راه حل
برای دستیابی به هدف شناسایی دستکاری اسناد در پذیره نویسی وام مسکن، ما از یک مدل بینایی کامپیوتری میزبانی شده در SageMaker برای راه حل تشخیص جعل تصویر خود استفاده می کنیم. این مدل یک تصویر آزمایشی را به عنوان ورودی دریافت می کند و یک پیش بینی احتمال جعل را به عنوان خروجی آن ایجاد می کند. معماری شبکه همانطور که در نمودار زیر نشان داده شده است.
جعل تصویر عمدتاً شامل چهار تکنیک است: اتصال، انتقال کپی، حذف و بهبود. بسته به ویژگی های جعل، سرنخ های مختلفی می تواند به عنوان پایه ای برای تشخیص و محلی سازی استفاده شود. این سرنخ ها شامل آرتیفکت های فشرده سازی JPEG، ناهماهنگی لبه ها، الگوهای نویز، ثبات رنگ، شباهت بصری، سازگاری EXIF و مدل دوربین است.
با توجه به قلمرو گسترده تشخیص جعل تصویر، ما از الگوریتم تحلیل سطح خطا (ELA) به عنوان یک روش گویا برای تشخیص جعل استفاده میکنیم. ما تکنیک ELA را برای این پست به دلایل زیر انتخاب کردیم:
- اجرای آن سریعتر است و به راحتی می تواند دستکاری تصاویر را بگیرد.
- با تجزیه و تحلیل سطوح فشرده سازی قسمت های مختلف یک تصویر کار می کند. این به آن اجازه میدهد تا ناهماهنگیهایی را که ممکن است نشاندهنده دستکاری باشد، شناسایی کند - برای مثال، اگر یک ناحیه از تصویر دیگری که در سطح فشردهسازی متفاوتی ذخیره شده بود کپی و جایگذاری شده باشد.
- در تشخیص دستکاری های ظریف یا بدون درز که ممکن است به سختی با چشم غیر مسلح تشخیص داده شود، خوب است. حتی تغییرات کوچک در یک تصویر می تواند ناهنجاری های فشرده سازی قابل تشخیص را ایجاد کند.
- برای مقایسه به داشتن تصویر اصلاح نشده اصلی متکی نیست. ELA می تواند علائم دستکاری را فقط در خود تصویر مورد سوال شناسایی کند. سایر تکنیک ها اغلب نیاز به نسخه اصلی اصلاح نشده برای مقایسه دارند.
- این یک تکنیک سبک وزن است که تنها بر تجزیه و تحلیل مصنوعات فشرده سازی در داده های تصویر دیجیتال متکی است. این به تخصص سخت افزاری یا پزشکی قانونی بستگی ندارد. این باعث می شود ELA به عنوان یک ابزار تجزیه و تحلیل گذر اول قابل دسترسی باشد.
- تصویر ELA خروجی میتواند به وضوح تفاوتها در سطوح فشردهسازی را برجسته کند و نواحی دستکاری شده را بهطور قابلتوجهی آشکار کند. این اجازه می دهد تا حتی یک غیر متخصص نیز علائم دستکاری احتمالی را تشخیص دهد.
- روی بسیاری از انواع تصویر (مانند JPEG، PNG و GIF) کار میکند و برای تجزیه و تحلیل فقط به خود تصویر نیاز دارد. سایر تکنیک های پزشکی قانونی ممکن است در قالب ها یا الزامات تصویر اصلی محدودتر باشند.
با این حال، در سناریوهای دنیای واقعی که ممکن است ترکیبی از اسناد ورودی (JPEG، PNG، GIF، TIFF، PDF) داشته باشید، توصیه میکنیم از ELA همراه با روشهای مختلف دیگر استفاده کنید. تشخیص ناسازگاری در لبه ها, الگوهای نویز, یکنواختی رنگ, سازگاری داده های EXIF, شناسایی مدل دوربینو یکنواختی فونت. هدف ما این است که کد این پست را با تکنیک های تشخیص جعل اضافی به روز کنیم.
فرض اساسی ELA فرض می کند که تصاویر ورودی در فرمت JPEG هستند که به دلیل فشرده سازی با اتلاف آن شناخته شده است. با این وجود، این روش همچنان میتواند مؤثر باشد، حتی اگر تصاویر ورودی در ابتدا در قالب بدون اتلاف (مانند PNG، GIF، یا BMP) بوده و بعداً در طی فرآیند دستکاری به JPEG تبدیل شده باشند. هنگامی که ELA برای فرمتهای بدون اتلاف اصلی اعمال میشود، معمولاً کیفیت تصویر ثابت و بدون هیچ گونه افتی را نشان میدهد و آن را برای تعیین دقیق مناطق تغییر یافته چالش برانگیز میکند. در تصاویر JPEG، هنجار مورد انتظار این است که کل تصویر سطوح فشرده سازی مشابهی را نشان دهد. با این حال، اگر یک بخش خاص در تصویر سطح خطای متفاوتی را نشان دهد، اغلب نشان میدهد که تغییر دیجیتالی انجام شده است.
ELA تفاوت در نرخ فشرده سازی JPEG را برجسته می کند. نواحی با رنگآمیزی یکنواخت احتمالاً نتیجه ELA کمتری خواهند داشت (به عنوان مثال، رنگ تیرهتر در مقایسه با لبههای با کنتراست بالا). مواردی که برای شناسایی دستکاری یا اصلاح باید به دنبال آنها بود شامل موارد زیر است:
- لبه های مشابه باید روشنایی مشابهی در نتیجه ELA داشته باشند. تمام لبه های با کنتراست بالا باید شبیه به یکدیگر به نظر برسند و تمام لبه های با کنتراست کم باید شبیه به هم به نظر برسند. با یک عکس اصلی، لبه های کم کنتراست باید تقریباً به اندازه لبه های با کنتراست بالا روشن باشند.
- بافت های مشابه باید رنگ آمیزی مشابه تحت ELA داشته باشند. مناطقی که جزئیات سطح بیشتری دارند، مانند نمای نزدیک از توپ بسکتبال، احتمالاً نتیجه ELA بالاتری نسبت به سطح صاف خواهند داشت.
- صرف نظر از رنگ واقعی سطح، همه سطوح مسطح باید تقریباً یک رنگ در زیر ELA داشته باشند.
تصاویر JPEG از یک سیستم فشرده سازی با اتلاف استفاده می کنند. هر کدگذاری مجدد (ذخیره مجدد) تصویر کاهش کیفیت بیشتری را به تصویر اضافه می کند. به طور خاص، الگوریتم JPEG بر روی یک شبکه 8×8 پیکسل عمل می کند. هر مربع 8×8 به طور مستقل فشرده می شود. اگر تصویر کاملاً اصلاح نشده باشد، تمام مربع های 8×8 باید پتانسیل خطای مشابهی داشته باشند. اگر تصویر اصلاح نشده و دوباره ذخیره شود، هر مربع باید تقریباً با همان سرعت کاهش یابد.
ELA تصویر را در سطح کیفی JPEG مشخصی ذخیره می کند. این ذخیره مجدد تعداد مشخصی از خطاها را در کل تصویر معرفی می کند. سپس تصویر ذخیره شده مجدد با تصویر اصلی مقایسه می شود. اگر یک تصویر اصلاح شده باشد، هر مربع 8×8 که توسط اصلاح لمس شده است باید دارای پتانسیل خطای بالاتری نسبت به بقیه تصویر باشد.
نتایج حاصل از ELA مستقیماً به کیفیت تصویر بستگی دارد. ممکن است بخواهید بدانید که آیا چیزی اضافه شده است یا خیر، اما اگر تصویر چندین بار کپی شده باشد، ممکن است ELA فقط اجازه تشخیص ذخیرههای مجدد را بدهد. سعی کنید بهترین کیفیت تصویر را پیدا کنید.
با آموزش و تمرین، ELA همچنین میتواند یاد بگیرد که مقیاسبندی، کیفیت، برش و ذخیره مجدد تصاویر را شناسایی کند. به عنوان مثال، اگر یک تصویر غیر JPEG دارای خطوط شبکه قابل مشاهده باشد (عرض 1 پیکسل در مربع 8×8)، به این معنی است که تصویر به صورت JPEG شروع شده و به فرمت غیر JPEG (مانند PNG) تبدیل شده است. اگر برخی از قسمتهای تصویر فاقد خطوط شبکهای باشند یا خطوط شبکه جابجا شوند، نشاندهنده یک پیوند یا بخش کشیده شده در تصویر غیر JPEG است.
در بخشهای بعدی، مراحل پیکربندی، آموزش و استقرار مدل بینایی کامپیوتری را نشان میدهیم.
پیش نیازها
برای دنبال کردن این پست، پیش نیازهای زیر را تکمیل کنید:
- یک حساب AWS داشته باشید.
- راه اندازی Amazon SageMaker Studio. میتوانید به سرعت SageMaker Studio را با استفاده از تنظیمات پیشفرض، راهاندازی سریع را تسهیل کنید. برای اطلاعات بیشتر مراجعه کنید Amazon SageMaker راه اندازی Amazon SageMaker Studio را برای کاربران فردی ساده می کند.
- SageMaker Studio را باز کنید و ترمینال سیستم را راه اندازی کنید.
- دستور زیر را در ترمینال اجرا کنید:
git clone https://github.com/aws-samples/document-tampering-detection.git
- هزینه کل اجرای SageMaker Studio برای یک کاربر و تنظیمات محیط نوت بوک 7.314 دلار در ساعت است.
دفترچه آموزشی مدل را تنظیم کنید
مراحل زیر را برای تنظیم دفترچه آموزشی خود انجام دهید:
- باز کردن
tampering_detection_training.ipynb
فایل از دایرکتوری document-tampering-detection. - محیط نوت بوک را با تصویر TensorFlow 2.6 Python 3.8 CPU یا GPU Optimized تنظیم کنید.
ممکن است هنگام انتخاب نمونههای بهینهشده GPU، با مشکل در دسترس بودن ناکافی مواجه شوید یا به محدودیت سهمیهای برای نمونههای GPU در حساب AWS خود برسید. برای افزایش سهمیه، به کنسول Service Quotas مراجعه کنید و محدودیت سرویس را برای نوع نمونه خاصی که نیاز دارید افزایش دهید. در چنین مواردی می توانید از محیط نوت بوک بهینه سازی شده CPU نیز استفاده کنید. - برای هسته، انتخاب کنید Python3.
- برای نوع نمونه، انتخاب کنید ml.m5d.24xlarge یا هر نمونه بزرگ دیگری
ما یک نوع نمونه بزرگتر را برای کاهش زمان آموزش مدل انتخاب کردیم. با محیط نوت بوک ml.m5d.24xlarge، هزینه هر ساعت 7.258 دلار در ساعت است.
دفترچه آموزشی را اجرا کنید
هر سلول را در نوت بوک اجرا کنید tampering_detection_training.ipynb
به ترتیب. در بخشهای بعدی درباره برخی از سلولها با جزئیات بیشتر صحبت میکنیم.
مجموعه داده را با لیستی از تصاویر اصلی و دستکاری شده آماده کنید
قبل از اجرای سلول زیر در نوت بوک، مجموعه داده ای از اسناد اصلی و دستکاری شده را بر اساس نیازهای تجاری خاص خود تهیه کنید. برای این پست، ما از یک مجموعه داده نمونه از دستکاری شده و صورت حساب بانکی استفاده می کنیم. مجموعه داده در دایرکتوری تصاویر موجود است مخزن GitHub.
نوت بوک تصاویر اصلی و دستکاری شده را می خواند images/training
دایرکتوری.
مجموعه داده برای آموزش با استفاده از یک فایل CSV با دو ستون ایجاد می شود: مسیر فایل تصویر و برچسب برای تصویر (0 برای تصویر اصلی و 1 برای تصویر دستکاری شده).
مجموعه داده را با تولید نتایج ELA هر تصویر آموزشی پردازش کنید
در این مرحله، نتیجه ELA (با کیفیت 90 درصد) تصویر آموزشی ورودی را تولید می کنیم. کارکرد convert_to_ela_image
دو پارامتر را می گیرد: path، که مسیر یک فایل تصویری است، و کیفیت، که پارامتر کیفیت را برای فشرده سازی JPEG نشان می دهد. تابع مراحل زیر را انجام می دهد:
- تصویر را به فرمت RGB تبدیل کنید و تصویر را به صورت فایل JPEG با کیفیت مشخص شده با نام tempresaved.jpg ذخیره کنید.
- تفاوت بین تصویر اصلی و تصویر JPEG ذخیره شده مجدد (ELA) را محاسبه کنید تا حداکثر تفاوت در مقادیر پیکسل بین تصاویر اصلی و ذخیره شده مجدد را تعیین کنید.
- برای تنظیم روشنایی تصویر ELA، یک ضریب مقیاس را بر اساس حداکثر اختلاف محاسبه کنید.
- با استفاده از ضریب مقیاس محاسبه شده، روشنایی تصویر ELA را افزایش دهید.
- نتیجه ELA را به 128x128x3 تغییر اندازه دهید، که در آن 3 نشان دهنده تعداد کانال ها برای کاهش اندازه ورودی برای آموزش است.
- تصویر ELA را برگردانید.
در فرمت های تصویری با اتلاف مانند JPEG، فرآیند ذخیره اولیه منجر به از دست دادن قابل توجه رنگ می شود. با این حال، هنگامی که تصویر بارگیری می شود و متعاقباً با همان فرمت با اتلاف دوباره رمزگذاری می شود، به طور کلی کاهش رنگ کمتری اضافه می شود. نتایج ELA بر نواحی تصویر تأکید میکند که در هنگام ذخیره مجدد بیشتر در معرض تخریب رنگ هستند. به طور کلی، تغییرات در مناطقی که پتانسیل بالاتری برای تخریب نسبت به بقیه تصویر دارند، بهطور برجسته ظاهر میشوند.
در مرحله بعد، تصاویر برای آموزش در یک آرایه NumPy پردازش می شوند. سپس مجموعه داده ورودی را به طور تصادفی به داده های آموزشی و آزمایشی یا اعتبار سنجی تقسیم می کنیم (80/20). هنگام اجرای این سلول ها می توانید هر هشداری را نادیده بگیرید.
بسته به اندازه مجموعه داده، اجرای این سلول ها ممکن است به زمان نیاز داشته باشد تا تکمیل شود. برای مجموعه داده نمونه ای که در این مخزن ارائه کردیم، ممکن است 5 تا 10 دقیقه طول بکشد.
مدل CNN را پیکربندی کنید
در این مرحله، ما یک نسخه حداقلی از شبکه VGG با فیلترهای کانولوشنال کوچک می سازیم. VGG-16 از 13 لایه کانولوشن و سه لایه کاملاً متصل تشکیل شده است. تصویر زیر معماری مدل شبکه عصبی کانولوشنال (CNN) ما را نشان می دهد.
به تنظیمات زیر توجه کنید:
- ورودی - اندازه ورودی تصویر مدل 128x128x3 است.
- لایه های کانولوشن - لایههای کانولوشن از یک میدان دریافتی حداقل (3×3)، کوچکترین اندازه ممکن استفاده میکنند که همچنان بالا/پایین و چپ/راست را میگیرد. به دنبال آن یک تابع فعال سازی واحد خطی اصلاح شده (ReLU) انجام می شود که زمان تمرین را کاهش می دهد. این یک تابع خطی است که در صورت مثبت بودن ورودی را خروجی می دهد. در غیر این صورت، خروجی صفر است. گام کانولوشن روی پیشفرض (1 پیکسل) ثابت میشود تا وضوح فضایی پس از پیچیدگی حفظ شود (گام تعداد جابهجایی پیکسلها بر روی ماتریس ورودی است).
- لایه های کاملا متصل – شبکه دارای دو لایه کاملا متصل است. اولین لایه متراکم از فعال سازی ReLU استفاده می کند و دومی از softmax برای طبقه بندی تصویر به عنوان اصلی یا دستکاری شده استفاده می کند.
هنگام اجرای این سلول ها می توانید هر هشداری را نادیده بگیرید.
مصنوعات مدل را ذخیره کنید
مدل آموزش دیده را با یک نام فایل منحصر به فرد - به عنوان مثال، بر اساس تاریخ و زمان فعلی - در فهرستی با نام model ذخیره کنید.
مدل با فرمت Keras با پسوند ذخیره می شود .keras
. ما همچنین مصنوعات مدل را به عنوان دایرکتوری به نام 1 ذخیره می کنیم که حاوی امضاهای سریالی و وضعیت مورد نیاز برای اجرای آنها است، از جمله مقادیر متغیر و واژگان برای استقرار در زمان اجرا SageMaker (که بعداً در این پست به آن خواهیم پرداخت).
اندازه گیری عملکرد مدل
منحنی زیان زیر پیشرفت افت مدل را در دوره های آموزشی (تکرار) نشان می دهد.
تابع ضرر اندازه گیری می کند که چقدر پیش بینی های مدل با اهداف واقعی مطابقت دارند. مقادیر پایین تر نشان دهنده همسویی بهتر بین پیش بینی ها و مقادیر واقعی است. کاهش زیان در طول دوره ها نشان دهنده بهبود مدل است. منحنی دقت، دقت مدل را در دورههای آموزشی نشان میدهد. دقت نسبت پیش بینی های صحیح به تعداد کل پیش بینی ها است. دقت بالاتر نشان دهنده یک مدل با عملکرد بهتر است. به طور معمول، دقت در طول آموزش افزایش می یابد، زیرا مدل الگوها را یاد می گیرد و توانایی پیش بینی خود را بهبود می بخشد. اینها به شما کمک میکنند تا تعیین کنید که آیا مدل بیش از حد برازش دارد (در دادههای آموزشی خوب عمل میکند اما در دادههای دیده نشده ضعیف است) یا نادرست (از دادههای آموزشی به اندازه کافی یاد نمیگیرد).
ماتریس سردرگمی زیر بهصورت بصری نشان میدهد که مدل به خوبی بین کلاسهای مثبت (تصویر جعلی، که به عنوان مقدار 1 نشان داده میشود) و منفی (تصویر دست نخورده، نشان داده شده به عنوان مقدار 0) به خوبی تمایز قائل میشود.
پس از آموزش مدل، مرحله بعدی ما شامل استقرار مدل بینایی کامپیوتر به عنوان یک API است. این API به عنوان بخشی از گردش کار پذیره نویسی در برنامه های کاربردی تجاری یکپارچه خواهد شد. برای رسیدن به این هدف، ما از Amazon SageMaker Inference، یک سرویس کاملاً مدیریت شده استفاده می کنیم. این سرویس به طور یکپارچه با ابزارهای MLOps ادغام می شود و امکان استقرار مدل مقیاس پذیر، استنتاج مقرون به صرفه، مدیریت مدل بهبود یافته در تولید و کاهش پیچیدگی عملیاتی را فراهم می کند. در این پست، مدل را به عنوان نقطه پایانی استنتاج بلادرنگ اجرا می کنیم. با این حال، توجه به این نکته مهم است که بسته به گردش کار برنامههای تجاری شما، استقرار مدل میتواند به عنوان پردازش دستهای، مدیریت ناهمزمان یا از طریق معماری استقرار بدون سرور تنظیم شود.
نوت بوک استقرار مدل را تنظیم کنید
مراحل زیر را برای تنظیم دفترچه استقرار مدل خود تکمیل کنید:
- باز کردن
tampering_detection_model_deploy.ipynb
فایل از دایرکتوری document-tampering-detection. - محیط نوت بوک را با تصویر Data Science 3.0 تنظیم کنید.
- برای هسته، انتخاب کنید Python3.
- برای نوع نمونه، انتخاب کنید ml.t3.متوسط.
با محیط نوت بوک ml.t3.medium، هزینه هر ساعت 0.056 دلار آمریکا است.
یک خط مشی درون خطی سفارشی برای نقش SageMaker ایجاد کنید تا تمام اقدامات Amazon S3 مجاز باشد
La هویت AWS و مدیریت دسترسی نقش (IAM) برای SageMaker در قالب خواهد بود AmazonSageMaker- ExecutionRole-<random numbers>
. مطمئن شوید که از نقش درست استفاده می کنید. نام نقش را می توان در زیر جزئیات کاربر در پیکربندی دامنه SageMaker یافت.
نقش IAM را بهروزرسانی کنید تا یک خطمشی درونی برای اجازه دادن به همه لحاظ شود سرویس ذخیره سازی ساده آمازون (Amazon S3) اقدامات. این برای ایجاد و حذف خودکار سطل های S3 که مصنوعات مدل را ذخیره می کنند، مورد نیاز است. می توانید دسترسی به سطل های خاص S3 را محدود کنید. توجه داشته باشید که ما از یک علامت عام برای نام سطل S3 در خط مشی IAM استفاده کردیم (tamperingdetection*
).
نوت بوک استقرار را اجرا کنید
هر سلول را در نوت بوک اجرا کنید tampering_detection_model_deploy.ipynb
به ترتیب. در بخشهای بعدی درباره برخی از سلولها با جزئیات بیشتر صحبت میکنیم.
یک سطل S3 ایجاد کنید
سلول را اجرا کنید تا یک سطل S3 ایجاد کنید. سطل نامگذاری خواهد شد tamperingdetection<current date time>
و در همان منطقه AWS به عنوان محیط SageMaker Studio شما.
آرشیو مصنوع مدل را ایجاد کنید و در آمازون S3 آپلود کنید
یک فایل tar.gz از آرتیفکت های مدل ایجاد کنید. ما مصنوعات مدل را بهعنوان دایرکتوری به نام 1 ذخیره کردهایم که حاوی امضاهای سریالی و وضعیت مورد نیاز برای اجرای آنها، از جمله مقادیر متغیر و واژگان برای استقرار در زمان اجرا SageMaker است. همچنین می توانید یک فایل استنتاج سفارشی به نام اضافه کنید inference.py
در پوشه کد در آرتیفکت مدل. استنتاج سفارشی می تواند برای پیش پردازش و پس پردازش تصویر ورودی استفاده شود.
یک نقطه پایانی استنتاج SageMaker ایجاد کنید
سلول برای ایجاد نقطه پایانی استنتاج SageMaker ممکن است چند دقیقه طول بکشد تا تکمیل شود.
نقطه پایان استنتاج را تست کنید
تابع check_image
یک تصویر را به عنوان یک تصویر ELA از قبل پردازش می کند، آن را برای استنتاج به نقطه پایانی SageMaker ارسال می کند، پیش بینی های مدل را بازیابی و پردازش می کند و نتایج را چاپ می کند. مدل یک آرایه NumPy از تصویر ورودی را به عنوان یک تصویر ELA می گیرد تا پیش بینی ها را ارائه دهد. پیشبینیها به صورت 0، نشاندهنده یک تصویر دستکاری نشده، و 1، نشاندهنده یک تصویر جعلی، خروجی میشوند.
بیایید مدل را با یک تصویر دست نخورده از یک کارت پرداخت فراخوانی کنیم و نتیجه را بررسی کنیم.
این مدل طبقه بندی را به عنوان 0 خروجی می دهد، که یک تصویر دستکاری نشده را نشان می دهد.
حالا بیایید مدل را با یک تصویر دستکاری شده از یک دستکاری فراخوانی کنیم و نتیجه را بررسی کنیم.
این مدل طبقه بندی را به صورت 1 ارائه می دهد که یک تصویر جعلی را نشان می دهد.
محدودیت ها
اگرچه ELA یک ابزار عالی برای کمک به تشخیص تغییرات است، تعدادی محدودیت وجود دارد، مانند موارد زیر:
- یک تغییر پیکسلی یا تنظیم جزئی رنگ ممکن است تغییر محسوسی در ELA ایجاد نکند زیرا JPEG روی یک شبکه کار می کند.
- ELA فقط مشخص می کند که چه مناطقی دارای سطوح فشرده سازی متفاوت هستند. اگر یک تصویر با کیفیت پایین تر به یک تصویر با کیفیت بالاتر متصل شود، آنگاه تصویر با کیفیت پایین ممکن است به عنوان یک منطقه تیره تر ظاهر شود.
- مقیاس بندی، رنگ آمیزی مجدد یا اضافه کردن نویز به یک تصویر، کل تصویر را تغییر می دهد و پتانسیل سطح خطای بالاتری ایجاد می کند.
- اگر یک تصویر چندین بار ذخیره شود، ممکن است کاملاً در سطح حداقل خطا باشد، جایی که ذخیره مجدد بیشتر تصویر را تغییر نمی دهد. در این حالت، ELA یک تصویر سیاه را برمی گرداند و با استفاده از این الگوریتم هیچ تغییری قابل شناسایی نیست.
- با فتوشاپ، عمل ساده ذخیره تصویر میتواند بافتها و لبهها را بهطور خودکار تیز کند و پتانسیل سطح خطای بالاتری ایجاد کند. این مصنوع تغییر عمدی را شناسایی نمی کند. مشخص می کند که یک محصول Adobe استفاده شده است. از نظر فنی، ELA به عنوان یک تغییر ظاهر می شود زیرا Adobe به طور خودکار یک اصلاح را انجام می دهد، اما این تغییر لزوماً توسط کاربر عمدی نبوده است.
توصیه میکنیم از ELA در کنار سایر تکنیکهایی که قبلاً در وبلاگ بحث شدهاند، استفاده کنید تا طیف وسیعتری از موارد دستکاری تصویر را شناسایی کنید. ELA همچنین می تواند به عنوان یک ابزار مستقل برای بررسی بصری تفاوت های تصویر عمل کند، به خصوص زمانی که آموزش یک مدل مبتنی بر CNN چالش برانگیز می شود.
پاک کردن
برای حذف منابعی که به عنوان بخشی از این راه حل ایجاد کرده اید، مراحل زیر را انجام دهید:
- سلول های نوت بوک را در زیر اجرا کنید پاک کردن بخش. با این کار موارد زیر حذف می شود:
- نقطه پایان استنتاج SageMaker – نام نقطه پایانی استنتاج خواهد بود
tamperingdetection-<datetime>
. - اشیاء درون سطل S3 و خود سطل S3 - نام سطل خواهد بود
tamperingdetection<datetime>
.
- نقطه پایان استنتاج SageMaker – نام نقطه پایانی استنتاج خواهد بود
- خاموش منابع نوت بوک SageMaker Studio.
نتیجه
در این پست راه حلی را برای تشخیص دستکاری و تقلب در اسناد با استفاده از یادگیری عمیق و SageMaker ارائه کردیم. ما از ELA برای پیش پردازش تصاویر و شناسایی اختلافات در سطوح فشرده سازی استفاده کردیم که ممکن است نشان دهنده دستکاری باشد. سپس یک مدل CNN را بر روی این مجموعه داده پردازش شده آموزش دادیم تا تصاویر را به عنوان اصلی یا دستکاری شده طبقه بندی کنیم.
این مدل میتواند به عملکرد قوی، با دقت بیش از 95 درصد با مجموعه داده (جعلی و اصلی) مناسب برای نیازهای تجاری شما دست یابد. این نشان میدهد که میتواند به طور قابل اعتماد اسناد جعلی مانند اوراق پرداخت و صورتحساب بانکی را شناسایی کند. مدل آموزشدیده در یک نقطه پایانی SageMaker مستقر میشود تا استنتاج با تأخیر کم را در مقیاس فعال کند. با ادغام این راه حل در گردش کار وام مسکن، موسسات می توانند به طور خودکار اسناد مشکوک را برای بررسی بیشتر تقلب علامت گذاری کنند.
اگرچه ELA قدرتمند است، اما محدودیت هایی در شناسایی انواع خاصی از دستکاری های ظریف تر دارد. به عنوان گام های بعدی، این مدل می تواند با ترکیب تکنیک های پزشکی قانونی اضافی در آموزش و استفاده از مجموعه داده های بزرگتر و متنوع تر بهبود یابد. به طور کلی، این راه حل نشان می دهد که چگونه می توانید از یادگیری عمیق و خدمات AWS برای ایجاد راه حل های تأثیرگذار که کارایی را افزایش می دهد، خطر را کاهش می دهد و از تقلب جلوگیری می کند، استفاده کنید.
در قسمت 3، نحوه پیاده سازی راه حل را در آشکارساز تقلب آمازون نشان می دهیم.
درباره نویسندگان
آنوپ راویندرانات یک معمار ارشد راه حل در خدمات وب آمازون (AWS) مستقر در تورنتو، کانادا است که با سازمان های خدمات مالی کار می کند. او به مشتریان کمک می کند تا کسب و کار خود را تغییر دهند و در فضای ابری نوآوری کنند.
وینی ساینی یک معمار ارشد راه حل در خدمات وب آمازون (AWS) مستقر در تورنتو، کانادا است. او با راهحلهای مبتنی بر هوش مصنوعی و ML که بر پایههای قوی تعالی معماری قرار گرفتهاند، به مشتریان خدمات مالی کمک میکند تا در فضای ابری تغییر شکل دهند.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- PlatoHealth. هوش بیوتکنولوژی و آزمایشات بالینی. دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/machine-learning/train-and-host-a-computer-vision-model-for-tampering-detection-on-amazon-sagemaker-part-2/
- : دارد
- :است
- :نه
- :جایی که
- $UP
- 056
- 1
- 100
- 13
- 195
- 258
- 408
- 75
- 8
- ٪۱۰۰
- a
- توانایی
- درباره ما
- دسترسی
- در دسترس
- حساب
- دقت
- به درستی
- رسیدن
- در میان
- عمل
- اقدامات
- فعال سازی
- واقعی
- اضافه
- اضافه کردن
- اضافی
- می افزاید:
- تنظیم کردن
- تنظیم
- خشت
- پس از
- در برابر
- AI
- هدف
- الگوریتم
- هم ترازی
- معرفی
- اجازه دادن
- اجازه می دهد تا
- تقریبا
- در امتداد
- در کنار
- همچنین
- تغییر
- آمازون
- ردیاب تقلب آمازون
- آمازون SageMaker
- Amazon SageMaker Studio
- آمازون خدمات وب
- خدمات وب آمازون (AWS)
- مقدار
- an
- تحلیل
- تحلیل
- تجزیه و تحلیل
- و
- دیگر
- هر
- API
- ظاهر شدن
- ظاهر می شود
- برنامه های کاربردی
- اعمال می شود
- روش
- تقریبا
- معماری
- معماری
- بایگانی
- هستند
- محدوده
- مناطق
- صف
- AS
- فرض می کند
- At
- خودکار بودن
- بطور خودکار
- دسترس پذیری
- در دسترس
- AWS
- بانک
- مستقر
- بسکتبال
- BE
- زیرا
- شود
- بوده
- بهترین
- بهتر
- میان
- سیاه پوست
- بلاگ
- بالا بردن
- روشن
- ساختن
- بنا
- کسب و کار
- برنامه های تجاری
- کسب و کار
- اما
- by
- محاسبه
- نام
- دوربین
- CAN
- Canada
- جلب
- مورد
- موارد
- کشتی
- سلول
- سلول ها
- معین
- به چالش کشیدن
- تغییر دادن
- تبادل
- کانال
- مشخصات
- بررسی
- را انتخاب کنید
- کلاس ها
- طبقه بندی
- طبقه بندی کنید
- به وضوح
- ابر
- CNN
- رمز
- رنگ
- ستون ها
- ترکیب
- مقايسه كردن
- مقایسه
- مقایسه
- کامل
- به طور کامل
- پیچیدگی
- جزء
- کامپیوتر
- چشم انداز کامپیوتر
- پیکربندی
- گیجی
- پیوستگی
- متصل
- قابل توجه
- استوار
- تشکیل شده است
- کنسول
- ساختن
- شامل
- تبدیل
- مبدل
- شبکه عصبی حلقوی
- اصلاح
- هزینه
- میتوانست
- پردازنده
- ایجاد
- ایجاد شده
- ایجاد
- ایجاد
- جاری
- منحنی
- سفارشی
- مشتریان
- تیره تر
- داده ها
- علم اطلاعات
- مجموعه داده ها
- تاریخ
- کاهش
- عمیق
- یادگیری عمیق
- به طور پیش فرض
- نشان دادن
- نشان می دهد
- نشان می دهد
- متراکم
- بستگی دارد
- وابسته
- بستگی دارد
- گسترش
- مستقر
- استقرار
- گسترش
- جزئیات
- جزئیات
- تشخیص
- کشف
- مشخص کردن
- توسعه
- نمودار
- تفاوت
- تفاوت
- مختلف
- دیجیتال
- مستقیما
- بحث و تبادل نظر
- بحث کردیم
- صفحه نمایش
- متمایز می کند
- مختلف
- do
- سند
- اسناد و مدارک
- نمی کند
- دامنه
- کشیده شده
- رانده
- در طی
- هر
- به آسانی
- لبه
- موثر
- بهره وری
- اهمیت دادن
- استخدام
- قادر ساختن
- را قادر می سازد
- پشت سر هم
- نقطه پایانی
- افزایش
- تقویت
- کافی
- تمام
- به طور کامل
- محیط
- دوره ها
- خطا
- خطاهای
- به خصوص
- اتر (ETH)
- حتی
- هر
- در حال بررسی
- مثال
- برتری
- عالی
- نمایش دادن
- نمایشگاه
- گستردگی
- انتظار می رود
- تخصص
- گسترش
- چشم
- تسهیل کننده
- عامل
- کمی از
- رشته
- پرونده
- فیلترها برای تصفیه آب
- مالی
- خدمات مالی
- پیدا کردن
- نام خانوادگی
- ثابت
- صاف
- به دنبال
- به دنبال
- پیروی
- برای
- پزشک قانونی
- پزشکی قانونی
- ساخته
- قالب
- یافت
- پایه
- بنیادین
- چهار
- تقلب
- از جانب
- کاملا
- تابع
- بیشتر
- عموما
- تولید می کنند
- تولید می کند
- مولد
- GIF
- رفتن
- خوب
- GPU
- بیشتر
- توری
- راهنمایی
- بود
- اداره
- سخت
- سخت افزار
- آیا
- داشتن
- he
- کمک
- کمک
- کمک می کند
- بالاتر
- نماد
- های لایت
- اصابت
- میزبان
- میزبانی
- ساعت
- چگونه
- چگونه
- اما
- HTML
- HTTP
- HTTPS
- IAM
- شناسایی
- شناسایی می کند
- شناسایی
- شناسایی
- هویت
- IEEE
- if
- چشم پوشی از
- نشان می دهد
- تصویر
- تصاویر
- تأثیرگذار
- انجام
- مهم
- را بهبود می بخشد
- بهبود
- in
- شامل
- از جمله
- تناقضات
- گنجاندن
- افزایش
- افزایش
- مستقل
- به طور مستقل
- نشان دادن
- نشان می دهد
- فرد
- اطلاعات
- اول
- وارد کردن
- نوآوری
- ورودی
- نمونه
- نمونه ها
- موسسات
- یکپارچه
- ادغام
- ادغام
- عمدی
- به
- معرفی
- معرفی می کند
- تحقیق
- شامل
- موضوع
- IT
- تکرار
- ITS
- خود
- JPG
- نگاه داشتن
- کراس
- دانستن
- شناخته شده
- برچسب
- عدم
- بزرگ
- بزرگتر
- بعد
- راه اندازی
- لایه
- لایه
- منجر می شود
- یاد گرفتن
- یادگیری
- کمتر
- سطح
- سطح
- سبک وزن
- پسندیدن
- احتمال
- احتمالا
- محدود
- محدودیت
- خطی
- خطوط
- فهرست
- بومی سازی
- نگاه کنيد
- خاموش
- کاهش
- دستگاه
- فراگیری ماشین
- ساخته
- عمدتا
- ساخت
- باعث می شود
- ساخت
- اداره می شود
- مدیریت
- دست کاری
- بسیاری
- مسابقه
- ماتریس
- بیشترین
- ممکن است..
- به معنی
- معیارهای
- متوسط
- دیدار
- روش
- روش
- حداقل
- حد اقل
- خردسال
- دقیقه
- ML
- MLO ها
- مدل
- تغییرات
- اصلاح شده
- تغییر
- بیش
- رهن
- اکثر
- چندگانه
- نام
- تحت عنوان
- لزوما
- نیاز
- ضروری
- منفی
- شبکه
- شبکه
- عصبی
- شبکه های عصبی
- با این اوصاف
- بعد
- نه
- سر و صدا
- توجه داشته باشید
- دفتر یادداشت
- عدد
- بی حس
- هدف
- واضح
- of
- غالبا
- on
- ONE
- فقط
- عمل می کند
- قابل استفاده
- بهینه
- or
- سفارش
- سازمان های
- اصلی
- در اصل
- دیگر
- در غیر این صورت
- ما
- نتایج
- تولید
- خروجی
- روی
- به طور کلی
- پارامتر
- پارامترهای
- بخش
- ویژه
- بخش
- مسیر
- الگوهای
- برای
- کارایی
- انجام
- انجام
- انجام می دهد
- عکس
- فتوشاپ
- تصویر
- ستون ها
- پیکسل
- افلاطون
- هوش داده افلاطون
- PlatoData
- طرح
- سیاست
- بخشی
- مثبت
- ممکن
- پست
- پتانسیل
- پتانسیل ها
- قوی
- تمرین
- پیش گویی
- پیش بینی
- پیش بینی
- آماده
- پیش نیازها
- در حال حاضر
- ارائه شده
- حفظ شده است
- جلوگیری از
- قبلا
- چاپ
- روند
- پردازش
- فرآیندهای
- در حال پردازش
- محصول
- تولید
- پیشرفت
- ارائه
- ارائه
- پــایتــون
- کیفیت
- مورد سوال
- سریعتر
- تصادفی
- محدوده
- سریع
- نرخ
- نسبت
- دنیای واقعی
- زمان واقعی
- قلمرو
- دلایل
- دریافت
- شناختن
- توصیه
- اصلاح شد
- كاهش دادن
- کاهش
- را کاهش می دهد
- مراجعه
- منطقه
- مناطق
- relu
- تکیه
- برداشت
- برداشتن
- تفسیر
- مخزن
- نمایندگی
- نمایندگی
- نشان دهنده
- نیاز
- ضروری
- مورد نیاز
- نیاز
- وضوح
- منابع
- REST
- منحصر
- نتیجه
- نتایج
- برگشت
- RGB
- خطر
- نقش
- دویدن
- در حال اجرا
- حکیم ساز
- استنباط SageMaker
- همان
- مجموعه داده نمونه
- ذخیره
- نگهداری می شود
- صرفه جویی کردن
- مقیاس پذیر
- مقیاس
- مقیاس گذاری
- سناریوها
- علم
- بدون درز
- یکپارچه
- دوم
- بخش
- بخش
- انتخاب شد
- انتخاب
- می فرستد
- ارشد
- سلسله
- خدمت
- بدون سرور
- سرویس
- خدمات
- تنظیم
- برپایی
- او
- تغییر
- شیفت
- باید
- نشان می دهد
- امضا
- نشان می دهد
- نشانه ها
- مشابه
- ساده
- ساده می کند
- تنها
- اندازه
- کوچک
- هموار کردن
- راه حل
- مزایا
- برخی از
- چیزی
- فضایی
- تخصصی
- خاص
- به طور خاص
- مشخص شده
- انشعاب
- Spot
- مربع
- مربع
- آغاز شده
- دولت
- اظهارات
- گام
- مراحل
- هنوز
- ذخیره سازی
- opbevare
- گام های بلند برداشتن
- قوی
- استودیو
- متعاقبا
- چنین
- حاکی از
- مطمئن
- سطح
- مناسب
- مشکوک
- به سرعت
- سیستم
- طراحی شده
- گرفتن
- طول می کشد
- اهداف
- techniquement
- تکنیک
- تکنیک
- جریان تنسور
- پایانه
- آزمون
- تست
- نسبت به
- که
- La
- دولت
- شان
- آنها
- سپس
- آنجا.
- اینها
- اشیاء
- این
- سه
- از طریق
- زمان
- بار
- به
- ابزار
- ابزار
- تورنتو
- جمع
- لمس کرد
- قطار
- آموزش دیده
- آموزش
- دگرگون کردن
- تحولات
- درست
- امتحان
- دو
- نوع
- انواع
- به طور معمول
- زیر
- اساسی
- تعهد
- منحصر به فرد
- واحد
- بروزرسانی
- بر
- دلار آمریکا
- استفاده کنید
- مورد استفاده
- استفاده
- کاربر
- استفاده
- با استفاده از
- اعتبار سنجی
- ارزش
- ارزشها
- متغیر
- مختلف
- نسخه
- قابل رویت
- دید
- بازدید
- بصری
- بصری
- می خواهم
- بود
- we
- وب
- خدمات وب
- خوب
- بود
- چی
- چه زمانی
- که
- وسیع
- اراده
- با
- در داخل
- بدون
- گردش کار
- گردش کار
- کارگر
- با این نسخهها کار
- شما
- شما
- زفیرنت
- صفر