پاسخ به:آموزش جلوه های ویژه
یک شنبه 12 بهمن 1393 2:59 PM
خوب بعد از آنکه درک صحیحی از پس زمینه کار بدست آوردیم. موقع آن می رسد که فیلم تهیه شده را به منظور تفکیک تصویر به صورت background و foreground پردازش نماییم. هدف ما در این مرحله این است که شخصیت یا شخصیت های موجود در تصویر را از بخش پس زمینه جدا کرده تا بتوانیم افکت های مورد نظرمان را به آن نسبت دهیم. تمام کاری که میخواهیم همان جدا سازی تصویر است. ما در این بخش دو نوع تصویر در اختیار خواهیم داشت. تصاویری که با پرده های سبز و آبی و ... تهیه کرده ایم ، و تصاویری که در صحنه های طبیعی گرفته شده و امکان استفاده از پرده های رنگی وجود نداشته با اینکه نخواسته ایم از آنها استفاده کنیم در بخش اول که خودمان صحنه را آماده کرده ایم، کار بسیار راحتتر خواهد بود. فراگیری چند تکنیک و روش مناسب کار تفکیک تصاویر را بسیار راحت خواهد کرد. در اولین مرحله تفکیک ساده تصویر پس زمینه از پیش زمینه را تجربه خواهیم نمود.
همانطور که مشاهده می فرمایید، ما میخواهیم هر آنچه که مربوط به صحنه ما نمی باشد و پشت سر یا جلوی شخصیت ما قرار دارد حذف شود. در نتیجه تمامی آن فضاها باید انتخاب و جداسازی شوند. ایده پردازی در این مرحله نقش بسیار اساسی را خواهد داشت. به عنوان مثال به تصویر زیر نگاه کنید. در این تصویر بدون استفاده از صفحه ها و پرده های رنگی، یک تصویر با پس زمینه بسیار مشخص تهیه شده است.
اجازه دهید در همین ابتدای کار تکلیف خودمان را روشن کنیم. کاری که ما میخواهیم انجام دهیم به نام ترکیب تصاویر یا composite معروف است. اما ترکیب تصاویر به چه معناست؟ اصولا هر روزه ما در حال انجام این کار هستیم. به عنوان مثال من به منظور جلوگیری از کپی کردن مطالب سایت بدون درج منبع آن، بروی تصاویر سایت لوگوی شرکت مازستا را درج میکنم. این کار باعث می شود که کپی کارانی که حتی زحمت تهیه عکس را به خودشان نمی دهند مجبور شوند تصاویر را با لوگوی سایت قرار دهند. چندی پیش مطلبی از سایت را در یکی از سایت های کاملا بی ربط مشاهده کردم که فقط برای افزایش بازدید سایت تمام مطالب دیگر سایت ها را کپی میکرد. در زیر مطلب " آشنایی با موتور رندر Arnold Render " مطالب زیر وجود داشت، "چگونه در اولین برخورد بیشترین تاثیرگذاری را داشته باشیم" ، " آنچه مردان میخواهند در مورد زنان بدانند" ، " راه های شادابی پوست " و .... . خوب بگذریم.
Composite یعنی ترکیب تصاویر اما به جه روشی ؟ به تصویر زیر نگاه کنید تا به اصل موضوع پی ببرید.
در ساده ترین تعریف برای Composite دو تصویر، باید بگویم که اگر دو تصویر A و B بروی هم قرار بگیرند، تصویر نهایی به ازای هر نقطه از تصویرش ، یا یک نقطه از تصویر A است یا یک نقطه از تصویر B . در نتیجه، ترکیب این دو تصویر شامل یک تصویر خواهد بود که یا نقاط تصویر اول در آن وجود دارد یا نقاط تصویر دوم. زمانی که من لوگوی DFM را بروی تصاویر سایت قرار میدهم ، هر کجا که نقاط تصویر لوگو وجود دارد در تصویر نهایی قرار میگیرد، و جاهایی از تصویر لوگو که خالی است تصویر زیر آن قرار میگیرد. نتیجه نهایی هم که تصویری خواهد بود که لوگو بروی آن قرار گرفته است. در تصویر بالا قسمت اول، تصویر مرد A و تصویر فانوسها B می باشد. تصویر composite نهایی شامل نقاطی از تصویر A است که آن نقاط سیز رنگ نیستند. هر جایی که نقاط سبز وجود دارد، بجای آنها نقاط معادل از تصویر B جایگزین شده است.
ما در تشکیل تصاویر از دو عنصر استفاده میکنیم، یکی رنگ و دیگری روشنایی است. مبحث روشنایی در تصاویر grayscale قدیمی استفاده می شد و انتخاب رنگ به منظور تفکیک صحنه بر اساس روشنایی Pixel های هر تصویر بود. به این نقاط روشن luminance pixel می گفتند. به همین منظور زمانی که شما بر اساس روشنایی یک تصویر اقدام به جداسازی تصویر پس زمینه از پیش زمینه میکنید، در حقیقت یک تصویر دو گانه تولید میکنید. یک لایه قسمت هایی که قرار است دیده شود و یک لایه قسمت هایی که حذف می شود. اما این امر چگونه مهیا می شود. اجازه دهید به صورت دقیقتر Luminance keying یا همان luma-key را معرفی کنم.
Lumakey روشی است که در آن یک مرحله یا شدت روشنایی (Brightness level) برای تصویر تعیین می شود. هر نقطه ای در تصویر (pixel) که از این مرحله یا شدت روشنایی روشنتر یا تیره تر باشد، از انتخاب خارج خواهد شد. نقاطی که انتخاب شده اند باقی می مانند و نقاطی که روشنتر یا تیره تر از شدت مورد نظر بوده اند به صورت transparent در تصویر ظاهر می شوند که مفهوم آن این است که این نقاط از تصویر مورد نظر حذف شده و قرار است تصویر زیر آنها نمایش داده شود.
به تصویر بالا دقت کنید، تصویر به دو ناحیه مشخص تقسیم شده است. در دنیای دیجیتال این نواحی را میتوانیم به دو حالت خاموش / روشن و یا 0-1 تعبیر کنیم. خوب پس ما در تصویر A , B به راحتی میتوانیم نقاط هر تصویر را به صورت خاموش و روشن تعیین کنیم. همانطور که در روش lumakey نیز تعریف کردیم، عملا ما برخی از نقاط را خاموش ( غیر فعال ) و یا روشن ( فعال ) میکنیم. خوب در نتیجه اگر رنگ سیاه را معادل Inactive یا 0 یا خاموش در نظر بگیریم و رنگ سفید را معدل 1 یا active یا روشن، تصویر مرد مورد نظر ما بعد از محاسبه نقاط مورد نظر به صورت زیر خواهد بود.
خوب در نتیجه در عمل composite ابتدا باید تصویر دو رنگ سیاه و سفید را برای هر عکس ایجاد کنیم و سپس با توجه به نقاط روشن و خاموش یا 01 یا سیاه و سفید آن اقدام به ترکیب تصاویر نماییم. این نکته بسیار ساده است پس به سراغ مرحله دوم خواهیم رفت. مرحله دوم فاز پیشرفته تری را به نمایش میگذارد که در تصویر زیر میتوانید ملاحظه فرمایید.
لطفا با دقت به تصویر بالا توجه فرمایید. در این تصویر ترکیب به روش دیگری انجام شده است. معادله بالا چنین میگوید: در ترکیب تصویر A و B ، تصویر نهایی شامل نقاطی از A یا نقاطی از B یا ترکیبی از نقاط A و B می باشد. توجه کنید این ترکیب میتواند شامل جمع رنگ های دو pixel ، ضرب آنها، تفریق آنها و .... باشد. در این حالت ما دیگر نمیتوانیم از دو حالت 0 و 1 برای این موضوع استفاده کنیم. در این بین حالتی دیگر نیز به وجود می آید که آن حالت باعث می شود که دو نقطه روی هم از تصویر رفتاری به غیر از جایگزینی داشته باشند. در این صورت تصویری که برای composite استفاده میکنیم نمیتواند شامل دو رنگ سیاه و سفید باشد. خوب حالات بسیار زیادی وجود خواهد داشت مثلا 80% از رنگ Pixel تصویر A با 20% از رنگ نقطه معادل آن در تصویر B ترکیب شود و هزاران حالت ممکن دیگر. بنابراین دو رنگ یا همان 0 و 1 دیگر کاربردی برای این حالت نخواهد داشت. در این مورد سعی شده است که بازه بین 0 و 1 را گسترده تر کنند و حالات میانگین برای این موضوع در اختیار کاربران قرار دهند. ما میتوانیم این بازه را 100 قسمت تبدیل کرده و رفتار نقاط را به % مشخص کنیم. بنابراین تصویر ترکیبی عکس بالا به صورت زیر خواهد شد.
همانطور که ملاحظه می فرمایید این تصویر دارای بازه های رنگی بسیار زیادی است. حال تصور کنید که ما یک تصویر 32 بیتی در اختیار داریم. زمانی که تصویر را 32 بیتی معرفی میکنیم، یعنی به ازای هر pixel از تصویر 8 بیت فضا به رنگ قرمز ، 8 بیت به رنگ آبی و 8 بیت به رنگ سبز اختصاص داده ایم. در نتیجه به ازای هر Pixel خواهیم داشت 3x8=24 bit . 8 بیت باقی مانده نیز برای کانال الفا یا همان کانال شفافیت (transparency) اختصاص خواهد یافت. در تصویر زیر میتوانید فرمت فایل BMP و ساختار رنگی آن را مشاهده فرمایید.
خوب در هر بیت ، میتوان دو مقدار 0 یا 1 را ذخیره کرد. به ازای هر 8 بیت میتوان 256 عدد را ذخیره نمود. در نتیجه ما برای هر رنگ در تصاویر 32 بیتی میتوانیم 256 حالت داشته باشیم. در نتیجه از ضرب سه رنگ RGB با مقادیر 256x256x256 خواهیم داشت 16777216 یا به اختصار 16 میلیون رنگ. دوستانی که نمی دانستند چرا مانیتور آنها توانایی نمایش 16 میلیون رنگ را دارد و یا زمانی که در نرم افزارهای گرافیکی برای انتخاب رنگ به ازای هر رنگ 256 حالت خواهیم داشت، این پاراگراف را مجددا مرور کنند.
با توجه به مطالب بالا می توانیم دریابیم که میتوان به جای تقسیم رنگهای بین سیاه و سفید به 100 قسمت ( درصد ) ، آن را در یک بایت ( 8 بیت ) قرار داد. در این صورت بجای اینکه 100 حالت برای تعریف داشته باشیم ، 256 حالت در اختیار داریم. میتوانید اختلاف بین تعداد رنگهای مورد استفاده را در تصاویر زیر مشاهده فرمایید.10
خوب حال می دانیم که برای یک composite درست، نیاز است که اطلاعاتی را دی قالب یک تصویر در بازه سیاه و سفید داشته باشیم. به این تصویر Matte می گویند. Matte تصویری است که با استفاده از Pixel های آن، شفافیت لایه ها در composite مشخص می شود. هر آنچه در نرم افزارهای ویرایش تصویر و ویدیو به نام Matte می بینید دقیقا به همین تعریف برمیگردد. تصاویر matte همانطور که گفته شد در بازه سیاه تا سفید بوده که به آن Grayscale می گویند. با استفاده از تصویر Matte برای هر تصویر مورد نظر، مشخص می شود در زمان ترکیب آن تصویر با دیگر تصاویر، شفافیت هر Pixel از تصویر دقیقا چقدر باید باشد. اگر توجه کرده باشید در بالا ذکر کردیم که بیشتر تصاویری که استفاده میکنیم 32 بیت هستند. 24 بیت برای رنگ های RGB و 8 بیت نیز برای کانال Alpha . این کانال alpha مشخصات تصویری را در خود ذخیره میکند که معادل تصویر Matte می باشد.
Matte پایه و اساس composite است. جالب است بدانید که هر کاری که از این به بعد در ترکیب تصاویر انجام خواهید داد از Matte استفاده خواهد شد. حال که مفهوم Matte را درک کردیم، به سراغ یک کلمه کلیدی به نام کلید خواهیم رفت. Key تعریفی بسیار اساسی دارد. عمل keying (نمیدانم معادل فارسی آن را چه باید بگویم )، به جداسازی تصویر پس زمینه از پیش زمینه در یک تصویر گفته می شود که همراه با تولید Matte برای آن تصویر است. به زبان ساده اگر بخواهیم در یک تصویر، پس زمینه را از پیش زمینه با تولید Matte جدا کنیم، به این کار keying می گویند. اما مانند هر کاری، روشهای بیشماری برای این موضوع وجود خواهد داشت. که به یکی از آنها در بالا اشاره کردیم. Lumakey روش جدا سازی foreground از background با تولید matte مورد نظر می باشد.
حال که تعاریف key و matte را میدانیم میتوانیم به صورت دقیق luma key را تشریح کنیم. در انتهای این بخش چند روش مطرح و اصلی را تعریف میکنیم و با توجه به اینکه حجم مطلب بالا خواهد رفت، تشریح هر یک از آنها را در مقاله بعدی انجام می دهیم.
Luma keying یک تصویر Matte بوسیله کم کردن مقدار مشخصی از brightness یا محدوده ای از آن ایجاد میکند. این بدان معناست که در تصویر ما یک محدوده یا یک مقدار مشخص از brightness تعریف می شود، سپس تمامی pixel هایی که مقدار brightness آن در این محدوده واقع نشده است در تصویر Matte به رنگ مشکی و تمامی pixel هایی که مقدار روشنایی آن در محدوده تعیین شده قرار دارد در تصویر Matte به رنگ سفید نمایش داده می شود.
ما در ساختار یک تصویر علاوه بر روشنایی نقاط، یک عنصر بسیار مهم در اختیار داریم که آن همان رنگ نقاط است. همانطور که تا به حال باید متوجه شده باشید به روشنایی نقاط یک تصویر luminance و در مقابل به رنگ نقاط chroma گفته می شود. خوب کاملا مشخص است اگر ما بخواهیم یک تصویر را بر اساس روشنایی آن تفکیک کنیم و جدا سازی نماییم ( پس زمینه را از پیش زمینه ) ، به این کار Luma Keying می گوییم و اگر بخواهیم تفکیک و جداسازی تصویر را بر اساس یک رنگ یا محدوده ای از چند رنگ اجرا کنیم، به این کار chroma keying می گویند.
در نتیجه کروماکی به معنای تفکیک تصویر به صورت پیش زمینه و پس زمینه بر اساس یک رنگ یا محدوده ای از رنگها می باشد که نتیجه این فرایند به صورت یک تصویر Matte خواهد بود.
در قسمت قبل و این قسمت بارها اشاره کردم که در برخی موارد نمیتوانیم از پرده های رنگی استفاده کنیم و یا اینکه نمیخواهیم از آنها استفاده کنیم. یکی از تکنیک های بسیار کاربردی مخصوصا در پلان هایی که دوربین ثابت است و پس زمینه نیز ثابت، استفاده از روشی است که به نام Difference Key معروف می باشد. این روش همیشه قابل استفاده از اما بهترین حالت آن همان است که ذکر شد.
این سه تکنیک یعنی luma key , chroma key و difference key از مهمترین تکنیک های composite هستند. روشهای بسیار زیادی برای این موضوع وجود دارد که در آینده به مهمترین آنها اشاره میکنم. در قسمت بعد، این سه روش را بررسی خواهیم کرد. در تصویر زیر میتوانید نکات ارزشمند بسیار زیادی را پیدا کنید.