اگر در حال مطالعهی این مقاله هستید، احتمالاً در مورد الگوریتم AI خاصی که دیپ فیک نامیده میشود، چیزهایی شنیدهاید. قسمت عمدهی این مسئله بخاطر برنامههایی همانند اسنپ چت، فیس اپ و اینستاگرام است که از این الگوریتم برای ساخت محتوای سرگرم کننده استفاده میکنند. هرشخصی بدون نوشتن حتی یک خط کد میتواند دیپ فیک بسازد. در این مقاله بهترین برنامه های ساخت دیپ فیک و روش های تولید دیپ فیک آورده شده است. با آموزش ساخت دیپ فیک همراه کار و تک باشید.
در این بخش از روشهای ساخت و تولید دیپ فیک، اطلاعاتی در مورد ماهیت دیپ فیک کسب میکنیم.
دیپ فیک، یک ویدئو، تصویر یا استوری غیر واقعی است که توسط شبکه عصبی (neural network) ایجاد میشود. توسعهدهندگان دیپ فیک از هوش مصنوعی و الگوریتم یادگیری ماشین برای تقلید حالتهای چهره و بدن افراد واقعی استفاده میکنند.
دیپ فیکها از سایر فرمهای فیک مدیا که شناسایی آنها بسیار دشوار است، متفاوتاند.
در آوریل سال 2018، BuzzFeed با ترکیب صورت باراک اوباما و جردن پیل با یک صدای قانعکننده، نشان داد که دیپ فیک در جعل هویت تا کجا میتواند پیش برود.
دیپ فیکها به شبکه عصبی اتوانکودر وابسته هستند. اتوانکودر دارای یک انکودر (کدکننده) است که تصویر را به یک بعد کمتر (lower-dimensional) فضای مخفی کاهش میدهد؛ و یک دیکودر (رمزگشا) که تصویر را از نمایش مخفی بازسازی میکند. دیپ فیکها با داشتن یک انکودر جهانی که کاراکتر را به درون فضای مخفی کد میکند، از این ساختار استفاده میکنند.
نمایش مخفی، شامل ویژگیهای کلیدی مشخصات صورت و حالت بدن است.
دوست دارید خود را در حال کپی حرکات رقصنده یا مجری مورد علاقهی خود ببینید؟ جای نگرانی نیست! بهراحتی میتوانید این کار را انجام دهید.
تصور کنید که یک تصویر تمام قد از خودتان دارید. یک تصویر ثابت. بعد از آن تمام چیزی که نیاز دارید یک ویدئو از رقصندهی مورد علاقهتان در حال انجام یک سری حرکات است. میتوانید بهراحتی از تیک تاک این ویدئو را پیدا کنید.
در یک تصویر متحرک از یک ترکیب ویدئویی برای به حرکت درآوردن یک شی درون تصویر استفاده میشود. در این مقاله، میبینیم که امروزه استفاده از تکنولوژی تصویر متحرک تا چه اندازه آسان است و این که شما چگونه میتوانید تقریباً هر چیزی که فکرش را میکنید به حرکت در آورید.
در پایان این مقاله، سورس کد یک منبع مرتبط به یک متن ساده تبدیل شده است تا هرکس بتواند از آن برای ساخت دیپ فیک استفاده کند. با یک تصویر منبع و ویدئوی درست، هرچیزی امکانپذیر است.
حال که دیپ فیک و بعضی از بحثهای پیرامون آن را بهطور کلی بررسی کردیم، بیاید نگاهی به نحوهی ساختن آنها بیندازیم. برای کسب اطلاعات بیشتر در مورد دیپ فیک به مقالهی تکنولوژی دیپ فیک چیست و چه کاربردی دارد؟ مراجعه کنید.
چگونه عکس فیک بسازیم؟ در این قسمت روش های تولید دیپ فیک را با هم بررسی میکنیم:
در این مقاله، از قسمتی از مجلهی پیشرفتها در سیستم پردازندهی اطلاعات عصبی 32 (NIPS 2019) که اولین مدل ترتیب حرکت برای تصویر متحرک نامیده شده، استفاده شده است. الکساندر سیاروهین (Aliaksandr Siarohin) و همکارانش، بدون ارائهی هیچگونه اطلاعات اضافی یا تفسیر در مورد شی مورد نظر که قرار بود متحرک شود، یک روش جدید برای متحرک کردن تصویر منبع، معرفی کردند که باعث ایجاد یک ویدئوی متحرک شد.
در بطن ماجرا، آنها از یک شبکه عصبی آموزش دیده برای بازسازی یک ویدئو، یک فریم منبع مشخص (تصویر ثابت) و نمایش نهفته از حرکت در ویدئو، که در طول تمرین آموخته شده بود، استفاده کردند.
در زمان آزمایش، مدل از یک تصویر منبع جدید و یک ویدئوی متحرک (مجموعهای از فریمها) به عنوان ورودی استفاده کرد و پیش بینی کرد که شئ درون تصویر منبع براساس حرکت نمایش داده شده در این فریمها، چگونه حرکت میکند.
مدل هرچه را که در انیمیشن جذاب است دنبال میکند: حرکات سر، صحبت کردن، حرکات چشمها و حتی حرکات بدن. اجازه دهید به GIF زیر نگاه کنیم: ترامپ، بازیگران گیم آف ترونز را وادار میکند مثل خودش صحبت و حرکت کنند.
قبل از ساختن مجموعهی خود، اجازه دهید این روش را کمی بیشتر بررسی کنیم. اول اینکه، مجموعهی دادهی آموزشی، یک کلکسیون بزرگ از ویدئوهاست. در حین آموزش، نویسندگان، جفتهای فریم را از ویدئوی مشابه استخراج کردند و آنها را به مدل دادند. مدل تلاش میکند تا به طریقی با آموختن این که نکات کلیدی در جفتها چه هستند و روش ارائهی حرکت بین آنها، ویدئو را بازسازی کند.
در نهایت فریم ورک متشکل از دو مدل است: تخمین زنندهی حرکت و سازندهی ویدئو. در ابتدا، تخمین زنندهی حرکت تلاش میکند تا نمایش مخفی حرکت در ویدئو را بیاموزد. این کار با عنوان جابهجایی نقاط کلیدی خاص حرکت (جایی که نقاط کلیدی میتوانند محل چشمها یا دهان باشند) و تبدیلهای محلی کدگذاری شده است.
این ترکیب میتواند به جای استفاده از جابهجاییهای نقاط کلیدی یک خانوادهی بزرگتر از تبدیلات (transformation) را تشکیل دهد. خروجی مدل دوتاست: یک میدان حرکت متراکم (dense motion field) و یک ماسک انسداد (occlusion mask). این ماسک مشخص میکند که کدام قسمتهای ویدئو میتوانند با جابهجا کردن با تصویر منبع بازسازی شود و این که کدام قسمتها باید از محتوا استخراج شود، چون آنها درون تصویر منبع وجود ندارند (مثل پشت سر). برای مثال، GIF مد زیر را در نظر بگیرید. پشت هر مدل در تصویر منبع وجود ندارد، در نتیجه، باید توسط مدل استخراج شود. پیشنهاد می شود مقاله دیگر ما درباره رزولوشن تصویر چیست را بخوانید.
بعد سازندهی ویدئو، خروجی شناسایی کننده حرکت و تصویر منبع را به عنوان ورودی برمیدارد و بر اساس ویدئو آن را متحرک میکند، سازنده، تصویر منبع را به صورتی جابهجا میکند که مشابه ویدئو شود. تصویر 1 معماری فریم ورک را به تصویر میکشد.
مثال کد
در این قسمت از تولید دیپ فیک به بررسی کدهای مورد نیاز برای ساخت دیپ فیک میپردازیم. سورس کد این مقاله در گیت هاب وجود دارد. کاری که در این مقاله انجام شده، تبدیل سورس کد به یک متن ساده است که میتواند توسط هرکس برای امتحان کردن سریع، استفاده شود.
برای استفاده از آن، اول باید ماژول را نصب کنید. Pip install deep – animator را اجرا کنید تا کتابخانه در محیط شما نصب شود. بعد از انجام این کار به 4 آیتم نیاز دارید:
برای رسیدن سریع به یک سری نتیجه و تست عملکرد الگوریتم میتوانید از این تصویر منبع و از این ویدئو استفاده کنید. طراحی کلی مدل میتواند اینجا یافت شود. یک فایل پیکر بندی YAML ساده در زیر آورده شده است. ویرایشگر متن را باز کرده و خطوط زیر را کپی/پیست کرده و به عنوان conf.yml ذخیره کنید.
model_params:
common_params:
num_kp: 10
num_channels: 3
estimate_jacobian: True
kp_detector_params:
temperature: 0.1
block_expansion: 32
max_features: 1024
scale_factor: 0.25
num_blocks: 5
generator_params:
block_expansion: 64
max_features: 512
num_down_blocks: 2
num_bottleneck_blocks: 6
estimate_occlusion_map: True
dense_motion_params:
block_expansion: 64
max_features: 1024
num_blocks: 5
scale_factor: 0.25
discriminator_params:
scales: [1] block_expansion: 32
max_features: 512
num_blocks: 4
الان میتوانیم یک مجسمه را وادار کنیم حرکات لئوناردو دیکاپریو را تقلید کند. برای مشاهده نتایج دستورها زیر را دنبال کنید.
deep_animate
<path_to_the_source_image>
<path_to_the_driving_video>
<path_to_yaml_conf>
<path_to_model_weights>
برای مثال اگر همه چیز را در یک فولدر دانلود کردید به آن فولدر وارد شوید و دستورها زیر را اجرا کنید:
deep_animate 00.png 00.mp4
conf.yml
deep_animator_model.pth.tar
با انجام این کار، فایل در همان پوشه ذخیره خواهد شد، مگر این که تعیین شده باشد در غیر اینصورت با گزینهی –dest ذخیره خواهد شد. همچنین شما میتوانید از با گزینهی –device cuda از سرعت GPU استفاده کنید. در نهایت نتیجهی کار تماشایی است.
در این بخش از روشهای ساخت و تولید دیپ فیک به بررسی روش دوم انجام این کار میپردازیم:
در این روش نیز از کولب کد گوگل ای. سیاروهین استفاده میکنیم.
اول اطمینان حاصل کنید که کدها را درون گوگل درایو خود کپی کنید چون ما نمیخواهیم کد سیاروهین را تغییر دهیم.
برای صرفهجویی در وقت به Runtime -> Change runtime type بروید و GPU را انتخاب کنید.
قبل از شروع، باید یک سری فایل ضروری از درایو لینک زیر دانلود کنیم. شما باید یک تصویر یا پسوند jpeg، یک ویدئو با پسوند mp4، یک فایل vox-cpk.pth.tar و یک فایل vox-adv-cpk.pth.tar دانلود کنید. بعد از دانلود فایلهای مورد نیاز، یک فولدر با نام first-order-motion-model در گوگل درایو خود بسازید و فایلهای دانلود شده را درون آن آپلود کنید.
برای راه اندازی با دادههای خود …
تمامی اطلاعات مرتبط با خود را درون فولدر first-order-motion-model درون گوگل درایو خود آپلود کنید.
برای گذاشتن صورت خود روی ویدئویی که آنها گذاشتهاند، کدهای زیر را به نام فایل خود تغییر دهید. سپس سایر مراحل را همانطور که گفته شده دنبال کنید.
source_image =
imageio.imread(‘/content/gdrive/My Drive/first-order-motion-model/File Name.png’)
برای تبدیل ویدئوی خود به سایز بالا، به قسمتی از کد با عنوان Run on your data بروید. کد مربوطه را حذف کرده و کد زیر را اضافه کنید:
!ffmpeg -i /content/gdrive/My\ Drive/first-order-motion-model/File Name.mp4 -s 256×256 -c:a copy result.mp4
با این کار اندازهی ویدئوی شما تغییر میکند.
result.mp4
فایل result.mp4 را درون فولدر first-order-motion-model کپی کرده و کدهای زیر را از Load driving video and source image تغییر دهید.
driving_video = imageio.mimread(‘/content/first-order-model/result.mp4’)
در زیر تصویری از نیکولاس کیج در فرندز قرار داده شده است. پیشنهاد می شود مقاله دیگر ما درباره مقالات سی پی یو چیست را بخوانید.
نتیجهگیری
در این مقاله ما بررسی انجام شده توسط ای. سیاروهین و همکارانش و استفاده از آن برای رسیدن به نتایج خارقالعاده را نشان دادیم. هر چند هنوز در مورد این تکنولوژی نگرانیهایی وجود دارد، اما میتواند کاربردهای مختلفی داشته باشد و به ما نشان میدهد که امروزه ساختن استوریهای فیک چقدر آسان است و آگاهی ما نسبت به این مسئله افزایش میدهد.
امیدواریم این مقاله و آموزش دیپ فیک برای شما مفید بوده باشد. نظر شما در مورد دیپ فیک چیست؟ آیا شما روشهای دیگری برای تولید و ساخت دیپ فیک با گوشی دارید؟ بنظر شما بهترین برنامه دیپ فیک یا بهترین نرم افزار دیپ فیک کدام است؟ نظرات خود را با ما در میان بگذارید.
سلام ممنون بابت آموزش ساخت دیپ فیک مقاله خیلی خوبی بود
سلام ممنون از توجه شما.