پاسخ به:آموزش جلوه های ویژه
یک شنبه 12 بهمن 1393 2:50 PM
با توجه به در دسترس بودن نرم افزارها، فقط به معرفی نرم افزارهای تخصصی و مطرح این رشته خواهیم پرداخت. اما قبل از بررسی نرم افزارها، موارد دیگری را بررسی خواهیم کرد که مستقل از نرم افزار عمل خواهد نمود. شما باید بدانید که برای استفاده از تمامی این نرم افزارها، می بایست تکنیک های ترکینگ را رعایت فرمایید. این که از کدام نرم افزار استفاده میکنید، از اهمیت کمی برخوردار است. این شما هستید که باید از قابلیت های یک نرم افزار نهایت استفاده را ببرید. عموما کاربران نرم افزاری را انتخاب میکنند که مطالب آموزشی بیشتری برای آن موجود است و راحتتر میتوانند با آن کار کنند. این بدان معنا نیست که نرم افزارهای دیگر از قدرت کمی برخودار است بلکه بنا به نوع کاربری هر یک، امکانات و خدمات متنوع تری را ارائه می دهند. از این روست که نکته مهمی که همیشه در این سایت و هم در دوره های آموزشی به آن اشاره کرده ام را مجددا تکرار میکنم. این شما هستید که باید بتوانید از نرم افزار استفاده درست را ببرید. دوستانی که کتاب های من را خوانده باشند می دانند که همیشه اولین فصل از هر کتاب را به بررسی ذهنیت های کاربران از نرم افزارها اختصاص داده ام تا این اشتباه را تکرار نکنند که هر روز بدنبال نرم افزار جدیدی می گردند تا بتوانند کمبود اطلاعات و مهارت خود را با اجرای نرم افزارهای جدیدتر مهک بزنند. این یک اصل است که یک کاربر ماهر که فقط یک نرم افزار را به صورت کامل و مسلط کار میکند، از کاربری که دهها نرم افزار را به صورت ناقص و سطحی اجرا میکند بهتر و مفید تر است. در نتیجه سعی کنید با دیدی باز یک نرم افزار را انتخاب کرده و بر خصوصیات آن مسلط شوید. مطمئن باشید که نتیجه کار بسیار بهتر و دقیق تر از این خواهد بود که هر شش ماه یکبار نرم افزار خود را تغییر دهید.
روش های Camera Tracking در تمام نرم افزارها به صورت یکسانی اجرا می شود. اگر کاربر نرم افزارهای سه بعدی هستید می دانید که روشهای مدلسازی همیشه یکسان است و اگر شما به یکی از این روشها مسلط باشید در هر نرم افزاری می توانید از آن استفاده کنید. در این جا هم با توجه به اینکه الگوریتم های Camera Tracking بسیار محدود هستند روشهای پیاده سازی نیز به طبع آن بسیار محدود و شبیه به هم هستند. اگر شما چند اصل مهم را در ترکینگ بکار ببرید مطمئن خواهید بود که نتیجه کار شما دقیق و با کمترین خطا خواهد بود. اجازه دهید این اصول را با هم بررسی کنیم و در انتها اشاره کنیم که نرم افزارهای مطرح این مبحث در اجرای این اصول در چه وضعیتی قرار دارند.
اصل اول Point Tracking
همه چیز با نقطه ها شروع می شود. این که میگویم نقطه، منظورمان فقط Pixel ها نیست. نقطه یک محدوده کوچک یا بزرگ است. این محدوده میتواند یک Pixel باشد یا اینکه سر یک بازیگر در تصویر. مهم این است که این نقطه قابل تشخیص باشد. مهمترین از آن توالی نقطه است. اینکه نقطه مورد نظر شما در چندین فریم متوالی قابل تشخیص و ردگیری باشد بسیار اهمیت دارد. فرض کنید شما می خواهید بروی یک shot با 1000 فریم کار کنید. اگر شما بتوانید 10 نقطه را انتخاب کنید که این 10 نقطه در تمام طول 1000 فریم قابل دسترس باشد، بمراتب بهتر از آن است که 200 نقطه داشته باشیم که هر کدام فقط در 50 یا 100 فریم قابل ردگیری هستند. پس اینکه کدام عنصر از صحنه را به عنوان نقاط قابل ردگیری انتخاب میکنید، بسیار اهمیت دارد. این موضوع یک تابع برگشتی است. نقطه هم باید قابل شناسایی و تشخیص باشد و هم قابل ردگیری. بدون نیاز به نتیجه گیری مشخص است که هر چه کیفیت تصویر شما بالاتر باشد کار ترکینگ و ردگیری دوربین بهتر خواهد بود. بهترین انتخاب این است که تصاویر ویدویی خود را به صورت uncompression تهیه کنید. یعنی به هیچ عنوان کدکی را برای کاهش حجم فیلم های بروی آنها قرار ندهید. اگر نیاز به codec گذاری دارید، در مرحله بعد از camera tracking این کا را انجام دهید. به تصویر زیر نگاه کنید.
اثر فشرده سازی یا همان Codecing در تصویر بالا کاملا مشخص است. توجه کنید تعداد نقطه های قابل شناسایی در هر تصویر بشدت افت کرده و سنگ ریزه ای که بروی خیابان بوده با چه کاهش شدید تشخیصی روبرو است. این سنگ ریزه یکی از نقاطی است که قابل ردگیری با دقت بالا خواهد بود. اما علت چیست؟ نکته مهم در contrast نقاط انتخابی با نواحی همجوارشان است. حال با دقت بیشتری به تصویر زیر نگاه کنید. در تصویر زیر بروی نقاطی که کنتراست بالاتری نسبت به نقاط همجوار خود دارند تاکید بیشتری شده است.
اما در همین تصویر هم بیش از دهها نقطه وجود دارد که میتوان به عنوان نقاط شاخص انتخاب نمود. توجه کنید نقاط انتخابی ما شامل چراغ خودرو ، رینگ سفید که با لاستیک سیاه، ماشین سفید رنگی که در انتهای تصویر وجود دارد ( به شرطی که در طول فیلم حرکتی نکند )، قسمت انتهایی تیر چراغ که با آسمان پشت سرش کنتراست بالایی دارد و ....
همانطور که در قسمت قبل ذکر شد، توجه شما را به این نکته جلب میکنم که حتما قبل از انجام پردازش در نرم افزار Camera Tracking بروی رنگ و Level و Contrast فیلم خود تغییراتی را اعمال کنید. هدف ما این است که بتوانیم جزییات بیشتری از صحنه را در اختیار داشته باشیم. به تصویر زیر نگاه کنید من با کنی تغییرات در رنگ و کنتراست ، نقاط بیشتری را میتوانم ردگیری کنم که در فیلم بدون ویرایش قابل تشخیص نبوده است.
نکته جالب اینجاست که این تغییر میتواند در کنار فیلم اصلی صورت پذیرد. در حال حاضر نرم افزارهای Tracking قدرتمند مانند syntheye , Pftrach , Boujou و ...این قابلیت را به شما میدهند که از یک shot چندین نوع را برای ترکینگ انتخاب کنید. به عنوان مثال میتوانید فیلم اولیه و فیلم ویرایش شده سیاه وسفید و فیلم ویرایش شده با کنتراست بالا و ... را همزمان وارد نرم افزار کنید، جداگانه پردزاش کنید و نتیجه پردازش همه آنها را با یکدیگر برای رسیدن به جواب نهایی مورد استفاده قرار دهید. این کار باعث می شود که دقت رسیدن به جواب نهایی بسیار زیادتر شود به گونه ای که تا 2 یا سه برابر بالاتر رود.
خوب فرض کنیم که از نظر قابلیت شناسایی نقاط در وضع مطلوبی به سر می بریم. همانطور که متوجه شدید در برخی از تصاویری که داریم ، دوربین بشدت در حال لرزش است و یا اینکه زاویه دید مناسبی ندارد و .... در همه این شرایط شما می بایست صحنه را برای بهترین حالت tracking آماده کنید. حال نوبت به ردگیری نقاط است. تمامی نرم افزارها روشی به نام Auto Track دارند که نقاط را به صورت خودکار انتخاب میکنند و پردازش می نمایند. اما ما همیشه باید نقاطی را به صورت دستی (Manual) به سیستم نشان دهیم تا علاوه بر نقاطی که به صورت دستی پیدا کرده است، نقاط ما را هم در پردازش لحاظ کند. ما کاری به روش خودکار نخواهیم داشت زیرا بر خلاف ظاهرش، تنظیمات زیادی دارد که باید در بخشی مجزا و به ازای هر نرم افزار جداگانه بررسی شود. در تصویر زیر ملاحظه میکنید که روش auto track چگونه عمل میکند و تعداد بسیار زیادی نقطه را برای پردازش انتخاب میکند.
در نرم افزارهای tracking در روش دستی یک نکته مشترک وجود دارد. زمانی که شما میخواهید به صورت دستی یک نقطه را انتخاب نمایید، نرم افزار به شما یک Tracker برای اینکار خواهد داد. این Tracker که در تصویر زیر مشخص شده است دارای دو محدوده می باشد. مستطیل داخلی یا محدوده داخلی که به REF معروف است (Reference ) و محدوده بیرونی یا مستطیل بیرونی که به Track معروف است. شما می بایست نقطه مورد نظر خود را درون بخش Ref قرار دهید. در حقیقت این بخش ref است که در تمام فریم ها ردگیری خواهد شد. اما مهمتر از ref بخش track است. این بخش محدوده ای را مشخص میکند که نقطه مورد نظر شما باید در آن محدوده جستجو شود. این همان محدوده ای است که با نقطه مورد نظر شما کنتراست دارد. این محدوده محلی است که نرم افزار شما در فریم های بعدی بدنبال نقطه انتخابی شما یا همان بخش ref می گردد. فرض کنید شما در فریم 10 هستید. در فریم بعدی یعنی 11 ، در محدوده تعیین شده track ، بدنبال REF جستجو می شود. اگر ref پیدا شد، محدوده ref به موقعیت پیدا شده منتقل می شود و محدوده track نیز با همان مقیاس جابجا خواهد شد. برای تک تک فریم های بعدی این جستجو و انتقال انجام خواهد شد. حال اگر در فریمی ناگهان به دلیل لرزش دوربین یا جابجایی نقطه یا از دید خارج شده و ... محدوده ref در محدوده track پیدا نشود، در این فریم خطا رخ خواهد داد. این خطا به معنی عدم پیدا کردن آن نقطه خواهد بود. در اینجا شما می بایست به کمک سیستم بشتابید و در فریم های معیوب، در صورت امکان نقطه را به صورت دستی به محل مورد نظر جابجا کنید.
توجه کنید که محدوده track نباید زیاد کوچک و نه زیاد بزرگ باشد. این محدوده بهتر است مساحتی باشد که نرم افزار به راحتی و بدون دخالت با نقاط دیگر، ref مورد نظرتان را پیدا کند. در تصاویر زیر چند نکته از این دست را میتوانید ملاحظه کنید.
بهترین نتیجه زمانی حاصل می شود که بخش ref به گونه ای متمایز از بخش track باشد ( contrast ) و یا اینکه در لبه اجسام قرار داشته باشد. اینکه بتوانید لبه ها را برای ترکینگ انتخاب کنید یک اصل است. الگوریتم های ردگیری به راحتی میتوانند لبه های را پیدا کنند (Edge Detection) در نتیجه شما میتوانید ( و باید ) از لبه ها برای نقاط مورد نظرتان استفاده کنید. عموما نقاط هر لبه کنتراست زیادی با محیط اطراف دارند و به راحتی شناسایی می شوند. شاید الان بهتر متوجه شوید که چرا از تصویر زیر به عنوان یک نقطه راهنما (Marker) استفاده میکنیم. توجه کنید هر آنچه که تا کنون ذکر کرده ام در این نشانه وجود دارد، contrast ، لبه ها، محدوده قابل جستجو و ...
اینکه چرا از مارکر استفاده میکنم دلایل بسیار ساده ای دارد. زمانی که در صحنه ای در حال فیلم برداری هستیم که نمیتوانیم عوارض محیط را به عنوان نقطه در نظر بگیریم، می بایست نقاط را به صورت دستی و به منظور کمک به نرم افزار به صحنه اضافه کنیم.Marker ها از انواع مختلفی تشکیل می شوند، از یک نوار چسب ساده تا علائم و ... که بهترین آنها چیزی است که در تصویر بالا و با خصوصیات ذکر شده می بینید. بعضی مواقع Marker های ثابت بوده و به دیوار و زمین و ... متصل می شوند. این بدان معناست که ما میخواهیم که سطح را بدست آورده و موقعیت دوربین را در پیدا کنیم (Camera Tracking ) . اما برخی مواقع هستند که Marker ها بجای اینکه بروی سطوح ثابت قرار گیرند بروی اجسام متحرک قرار میگیرند. به عنوان مثال به تصویر زیر نگاه کنید.
در تصویر بالا نشانه ها بروی ماشین قرار گرفته است تا نرم افزار بتواند سطح ماشین و موقعیت آن را ردیابی کند. به این کار Object Tracking می گویند. این روش دو نوع را شامل می شود. Object Tracking توسط نقاط و Object Tracking توسط مدل سه بعدی . روش دوم را در آینده بررسی میکنیم . در اینجا منظور از هر چه بگویم روش نقطه ای خواهد بود. در این روش میتواند بعد از ردیابی ماشین، آن را با یک مدل سه بعدی مثلا ماشین BatMan تغییر دارد. کافی است مختصات نقاط بدست آمده را با مدل سه بعدی هماهنگ کنید. گاهی اوقات نیز Marker ها بروی بدن کاراکتر قرار میگیرند. مانند آنچه در "دزدان دریایی کاراییب "، مرد عنکبوتی، مرد آهنی، فانوس سبز، انتقام جویان، و صدها فیلم مشابه دیده اید. در این روش همانطور که در تصویر زیر خواهید دید، ما موقعیت مفاصل بازیگر را و محل دقیق سطح بدن وی را برای جایگزین کردن با مدل سه بعدی می خواهیم. کافی است که نشانه های را با نظم دقیق بروی بدن وی قرار دهیم. امروزه با مرسوم شدن این روش لباسهای ویژه ای تهیه شده که مجهز به همین Marker هاست.
شاید این سوال برای شما پیش بیاید که اگر قرار است که با استفاده از این Marker ها، موقعیت و مشخصات کاراکتر را بدست آوریم ، پس چرا از Motion Capture استفاده نکنیم که بسیار دقیقتر هم خواهد بود. توجه داشته باشید در فیلمی مانند فانوس سبز که قرار نیست که یک مدل سه بعدی بجای کل بدن بازیگر جایگزین شود. در این روش میخواهیم مدل سه بعدی یا ... را به بدن بازیگر اضافه کنیم. به این زوش Object Replacement می گویند. به عنوان مثال برای قرار دادن مدل سه بعدی بجای سر بازیگر از همین روش استفاده می شود که به آن Head Replacement گویند و ...
دلیل دوم هم این است که Motion Capture کار را محدود به استودیو میکند. زمانی که کاراکتر ها می خواهند در محیط فیلم بازی کنند از روشهای دیگری استفاده میکنند که در این زمینه شرکت ILM روش انحصاری خود را با استفاده از قوانین Marker Tracking ابداع کرده است. در این روش از Marker ها همانند انچه Motion Capture استفاده میکند بهره برداری کرده و کل یا بخشی از بدن کاراکتر را با مدل سه بعدی جایگزین خواهد کرد.
نکته مهم اینجاست که قانون کار همان استفاده از Marker هاست. پس شما اگر بدانید که چگونه میتوانید از مارکرها استفاده کنید میتوانید به راحتی ایده های جدیدی را پیاده سازی کنید. خوب بعد از انتخاب مارکرها، نقاط موجود در صحنه و ... می بایست به نرم افزار اجازه دهید که پردازش خود را شروع کند.
اصل دوم فاصله و محور
خوب ما هم اکنون می خواهیم شروع به پردازش کنیم. اما الگوریتمی که ردگیری نقاط را انجام می دهد به یک اصل بسیار مهم نیاز دارد. در فرمول اصلی الگوریتم d فاصله بین هر دو نقطه است. این الگوریتم اگر فاصله بین تمام نقاط را داشته باشد میتوانید با دقت 97% صحنه را ردگیری کند. این بدان معناست که اگر ما بتوانیم فاصله بین هر دو نقطه را برای نرم افزار مشخص کنیم، بدون هیچ مشکلی با بالاترین دقت صحنه ردگیری خواهد شد. اما آیا این امر امکان پذیر است؟ مسلما خیر. شاید در صحنه شما صدها و هزاران نقطه وجود داشته باشد، چگونه ممکن است بتوانید برای تمام آنها اندازه داشته باشید. فرض را بر این بگیریم که این کار را بتوانیم انجام دهیم ، آیا شما فاصله هر دونقطه در تصویر را می دانید؟ راه کار استفاده از شاخص هاست. بدین منظور الگوریتم های پردازشی به شما این امکان را می دهند که شما چند نقطه انتخابی را در نظر گرفته و فاصله آنها را ذکر کنید. در نتیجه شما می بایست فاصله چند نقطه در صحنه را داشته باشید تا بتوانید آن را به نرم افزار معرفی کنید. اما کدام نقطه ها؟
راه کار اساسی در اینجاست که شما می بایست در هر محور چند نقطه را مشخص کنید. بهتر است این نقطه ها به گونه ای انتخاب شوند که بروی یک محور باشند ( بهتر است نه اینکه الزامی است ). اگر بتوانید نقاط را به گونه ای انتخاب کنید که بروی یک محور مثلا X و یا Y باشند، کمک بسیار بزرگی به حل مساله کرده اید. قبل از هر چیز به عکس زیر توجه فرمایید
همانطور که ملاحظه می فرمایید در عکس بالا با استفاده از آنچه در تصویر می بینیم می توانیم محورهایی را برای نرم افزار مشخص کنید.این کار به پردازش دقیقتر کمک کرده و باعث می شود که نرم افزار دید درستی از صحنه شما داشته باشید. به عنوان مثال تیر چراغ برق میتوانید یک محور باشد. اگر این تیز وجود نداشت، از لبه ساختمان استفاده میکردیم. من در اینجا برای بهتر شدن نتیجه هر دو را انتخاب کرده ام. پس سه نقطه ای را در این محورها داشته ام را به نرم افزار معرفی کرده و به عنوان محور Y نشان می دهم. در کف خیابان هم سه نقطه را در نظر گرفته ام. همانطور که ملاحظه میکنید در یک راستا بودن این نقاط ابهام دارد زیرا به صورت چشمی میزان شده است اما همین امر هم به سیستم کمک میکند. سه نقطه ای که به سمت داخل تصویر رفته اند را محور Z و سه نقطه چپ به راست را محورX در نظر میگیریم. این امر به نرم افزار شما کمک میکند که دقیقتر پردازش کرده و نتیجه بهتری از ترکینگ به شما بدهد. در اینجا اصل دوم را باید تکمیل کنیم. هب عنوان مثال فرض کنیم تیر چراغ برق 4 متر می باشد. شما باید طول خطی را که توسط آن سه نقطه روی تصویر مشخص کرده اید را به نرم افزار اعلام کنید. همینطور ساختمان و ... . در بیشتر مواقع این اندازه ها حدودی هستند اما باید تا جای ممکن به اندازه اصلی نزدیک باشند. در فیلم های سینمایی یا صحنه هایی که برای فیلم های تبلیغاتی و ... کار می شود، ناظر جلوه های ویژه باید اندازه هایی را در صحنه در زمان فیلم برداری با متر تهیه کرده و به اپراتور Camera Tracking بدهد. اینکار دقت مظاعفی را برای پیدا کردن جواب نهایی ایجاد خواهد کرد. به عنوان مثال در تصویر زیر مشاهده میکنید که بعد از پردازش صحنه نقاط، به دلیل اینکه محورها را برای آن مشخص نکرده ایم، سطح زمین را به شکل نادرستی تشخیص داده است.
اصل سوم دوربین
اینکه شما بدانید با چه دوربینی و در حقیقت با چه لنزی فیلم برداری انجام شده یکی دیگر از اصول کاربری شما خواهد بود. تمامی نرم افزارهای Tracking علاوه بر اینکه پارامترهایی برای مشخص کردن اصولی که در بالا ذکر شد، در اختیار دارند، پارامترهایی را نیز برای مشخص کردن لنز دوربین شما در اختیار شما قرار خواهند داد. با توجه به اینکه هر لنز عمق میدان متفاوتی دارد و خصوصیات ویژه ای را در تصویر ایجاد میکند، تنظیمات لنز دوربین در این گونه نرم افزارها از اهمیت ویژه ای برخوردار می باشد.
بحث در مورد خصوصیات Camera Tracking ها را در همین بخش به پایان خواهیم برد و بقیه موارد را در دوره ها آموزشی دنبال خواهیم کرد. برای پایان دادن به بخش معرفی Camera Tracking به بررسی سریع و اجمالی نر افزارهای این بخش خواهیم پرداخت.
Boujou
یکی از قدیمی ترین و قدرتمند ترین نرم افزارهای Tracking در رده قیمتی بسیار بالا می باشد. این نرم افزار یک نسخه استودیویی دارد و یک نسخه عادی که در دسترس عموم قرار میگیرد. نسخه استودیویی سفارشی بوده و تمامی امکاناتی را که تصور کنید در اختیار کاربر قرار میدهد. در نمایشگاه سیگراف 2012 یک نمونه از آن معرفی شد که حیرت بازدیدکنندگان را به همراه داشت. قیمت نسخه عمومی آن برای هر کاربر 10 هزار دلار خواهد بود و یکی از قویترین Solverهای دنیا را به همراه دارد. Solver الگوریتمی است که بر اساس نقاط بدست آمده پردازش نهایی را انجام می دهد. این نرم افزار قابلیت 3D Tracking را داراست.
Mocha Pro
نرم افزار Mocha تاریخچه ای به قدمت جلوه های ویژه دارد. این نرم افزار توسعه یافته اجداد خود به نام های Monkey و ... می باشد . Mocha بهترین انتخاب برای 2D Tracking و 2.5D Tracking است . قابلیت هایی که در Mocha برای اینکار وجود دارد، در هیچ نرم افزاری نخواهید یافت. به تازگی این نرم افزار وارد عرصه 3D Tracking نیز شده است.
Pftrack
یکی از قدرتمندترین نرم افزارهای Tracking با قابلیت های بسیار استثنایی در زمینه 3D Tracking. این نرم افزار جز نرم افزارهای گران قیمت این عرصه بوده و با محیط Node-Based خود امکانات کاملی از Object Tracking تا Stereo Tracking را در اختیار شما قرار میدهد.
Syntheyes
یکی از محبوبترین، ساده ترین و قوی ترین ها در نوع خود. این نرم افزار محبوب کاربران و استودیوهای ارزان قیمت می باشد. این نرم افزار میتوانید 3D Tracker محبوب شما باشد که همراه با محیط کاربری بسیار ساده و جدید خود میتواند تمامی نیازهای شما را برطرف سازد.
3D Equalizer
این نرم افزار یکی از قدرت های مخفی است که عموما کاربران در مورد آن کمتر شنیده اند. یک نرم افزار که ویژه استودیویهای ساخت فیلم و جلوه های ویژه طراحی شده است. این نرم افزار سالهاست که در چنین شرکت هایی حرف اول را در Matchmoving می زند و تقریبا در این عرصه بی رقیب است. این نرم افزار هم قیمت Boujou بوده و هر آنچه که تصور کنید در این زمینه به شما خواهد رساند.
نرم افزارهای دیگری هم هستند که در زمینه Camera Tracking فعالیت دارند مانند Maya MatchMover ، Blender Tracker ، NukeX و After Effects و Fusion و .... که همگی آنها قابل اعتماد می باشند.