Netflix का यह AI मॉडल किसी भी सीन से किसी भी एक्टर को हटा सकता है (VOID मॉडल का विस्तृत विश्लेषण)
BBetter Stack
컴퓨터/소프트웨어영화사진/예술AI/미래기술
Transcript
00:00:00ओह वाह, यह थोड़ा दुखद लग रहा है, बेचारी केट विंसलेट, हे भगवान, बस वहाँ अकेली खड़ी है,
00:00:09बिना जैक के।
00:00:11नेटफ्लिक्स ने अभी एक बहुत ही दिलचस्प ओपन सोर्स AI टूल जारी किया है जिसे वीडियो ऑब्जेक्ट एंड इंटरैक्शन
00:00:17डिलीशन या VOID कहा जाता है।
00:00:19ज्यादातर AI वीडियो टूल ऑब्जेक्ट्स को मिटाने में पहले से ही माहिर हैं, यह कोई नई बात नहीं है।
00:00:24लेकिन वे दृश्य में उन ऑब्जेक्ट्स के प्रभावों को मिटाने में बहुत खराब हैं।
00:00:29उदाहरण के लिए, यदि आप पिनों से टकराती हुई बॉलिंग बॉल को हटा रहे हैं, तो अधिकांश मॉडल पिनों को
00:00:34बिना किसी कारण के गिरते हुए छोड़ देते हैं, लेकिन VOID इस समस्या को ठीक करने की कोशिश करता है।
00:00:39यह नेटफ्लिक्स और इनसाइट का एक नया फ्रेमवर्क है जो कारण और प्रभाव को समझता है और हटाए गए
00:00:44ऑब्जेक्ट्स के आधार पर वीडियो सामग्री को संशोधित करता है।
00:00:47तो इस वीडियो में, हम इस मॉडल पर करीब से नज़र डालेंगे, देखेंगे कि यह कैसे काम करता है, और मैंने वास्तव में
00:00:52इस मॉडल का पूरी तरह से परीक्षण करने के लिए एक वेब ऐप बनाया है, इसलिए हम खुद भी
00:00:57कुछ वीडियो टेस्ट करेंगे।
00:00:58इसमें बहुत मज़ा आने वाला है, तो चलिए इसमें गहराई से उतरते हैं।
00:01:05तो VOID का अर्थ है वीडियो ऑब्जेक्ट एंड इंटरैक्शन डिलीशन।
00:01:09यह समझने के लिए कि यह इतनी बड़ी बात क्यों है, आपको यह देखना होगा कि वीडियो इनपेंटिंग आमतौर पर
00:01:15कैसे काम करती है।
00:01:16स्टैंडर्ड AI इरेज़र मूल रूप से शक्तिशाली "कंटेंट-अवेयर फिल" की तरह होते हैं।
00:01:20वे छेद के चारों ओर के पिक्सल को देखते हैं और अनुमान लगाने की कोशिश करते हैं कि वहां क्या होना चाहिए।
00:01:24यह वॉटरमार्क या स्थिर खड़े व्यक्ति के लिए काम करता है, लेकिन भौतिक अंतःक्रिया (physical interaction) होते ही
00:01:29यह विफल हो जाता है।
00:01:31यदि आप ब्लेंडर में स्मूदी बनाती लड़की को हटाते हैं, तो एक सामान्य AI व्यक्ति को तो मिटा देगा,
00:01:36लेकिन ब्लेंडर को बिना किसी कारण के घूमते और चलते हुए छोड़ देगा।
00:01:40यह दिखावट को तो ठीक करता है, लेकिन अपने आस-पास के अन्य ऑब्जेक्ट्स के भौतिक विज्ञान को अनदेखा कर देता है।
00:01:46VOID को एक विपरीत वास्तविकता (counterfactual reality) की कल्पना करके उस भूतिया अंतःक्रिया की समस्या को हल करने के लिए डिज़ाइन किया गया है।
00:01:53मूल रूप से वीडियो का एक ऐसा संस्करण जहां वह ऑब्जेक्ट या व्यक्ति कभी था ही
00:01:57नहीं।
00:01:58और जिस तरह से यह इसे कर दिखाता है वह वास्तव में काफी चतुर है।
00:02:01यह तुरंत पेंटिंग करना शुरू नहीं करता है।
00:02:03इसके बजाय, यह दो-चरणीय प्रणाली (two-pass system) का उपयोग करता है।
00:02:06पहले चरण में, वे एक तर्क (reasoning) चरण करते हैं।
00:02:08सबसे पहले, VOID दृश्य को देखने के लिए विज़न लैंग्वेज मॉडल और SAM2 या सेगमेंट एनीथिंग मॉडल 2 का
00:02:15उपयोग करता है।
00:02:16मैंने वास्तव में SAM2 कैसे काम करता है, इस पर एक अलग वीडियो बनाया है, यदि आप रुचि रखते हैं तो उसे देखें।
00:02:22तो जबकि SAM2 उस ऑब्जेक्ट का एक सटीक ट्रैक बनाता है जिसे आप हटाना चाहते हैं, AI खुद से
00:02:28सवाल पूछता है, "अगर मैं इसे हटा दूँ, तो और क्या बदलेगा?"
00:02:32यदि आप डोमिनोज़ के ढेर से एक डोमिनोज़ हटाते हैं, तो AI पहचानता है कि अन्य डोमिनोज़ भी
00:02:38प्रभावित होते हैं।
00:02:39फिर यह वह बनाता है जिसे शोधकर्ता "क्वाड मास्क" (Quad Mask) कहते हैं, एक विशिष्ट मैप जो
00:02:44डिफ्यूजन मॉडल को न केवल यह बताता है कि कहाँ मिटाना है, बल्कि आसपास के क्षेत्र के भौतिक विज्ञान को
00:02:50कहाँ फिर से लिखना है।
00:02:51और फिर दूसरा चरण जनरेशन और रिफाइनमेंट है।
00:02:54एक बार जब वह मैप बन जाता है, तो एक वीडियो डिफ्यूजन मॉडल नया फुटेज बनाता है।
00:03:00अब कभी-कभी ये मॉडल थोड़े काल्पनिक हो सकते हैं, जैसे ऑब्जेक्ट अपना आकार बदल सकते हैं या खो सकते हैं।
00:03:05तो इसे ठीक करने के लिए, VOID में एक वैकल्पिक दूसरा चरण है।
00:03:08यह उन आकारों को स्थिर करने के लिए "फ्लो वार्प नॉइज़" (flow warp noise) नामक चीज़ का उपयोग करता है, यह सुनिश्चित करते हुए कि
00:03:14भौतिकी बदलने के बावजूद, शेष ऑब्जेक्ट ठोस और सुसंगत रहें।
00:03:19लेकिन आप सोच रहे होंगे, आप AI को यह कैसे सिखाते हैं कि क्या नहीं हुआ?
00:03:23नेटफ्लिक्स और इनसाइट की टीम प्रशिक्षण डेटा प्राप्त करने के लिए वास्तविक जीवन में कार क्रैश करके
00:03:28फिर उसे अन-क्रैश नहीं कर सकती थी।
00:03:30इसके बजाय, उन्होंने कुब्रिक (Kubrick) जैसे सिंथेटिक वातावरण का उपयोग किया।
00:03:34उन्होंने हज़ारों भौतिकी सिमुलेशन चलाए जहाँ उनके पास 'पहले' और 'बाद' का संस्करण था।
00:03:40एक संस्करण टक्कर के साथ और एक संस्करण जहाँ ऑब्जेक्ट कभी था ही नहीं।
00:03:44AI को दोनों संस्करण दिखाकर, इसने किसी ऑब्जेक्ट की उपस्थिति और उसके वातावरण पर
00:03:49पड़ने वाले प्रभाव के बीच संबंध सीखा।
00:03:51यह सब सुनने में बहुत दिलचस्प लगता है, लेकिन चलिए वास्तव में इस टूल का परीक्षण करते हैं।
00:03:57इसे चलाने का सबसे अच्छा तरीका क्लाउड GPU का उपयोग करना होगा जैसे कि RunPod मॉड्यूल जो
00:04:02H100 GPU या उसके समकक्ष किसी चीज़ पर चल रहा हो।
00:04:05लेकिन मैं आपको पहले ही बता दूँ, इसे सेटअप करना बिल्कुल भी आसान नहीं है।
00:04:10गिटहब (GitHub) डॉक्यूमेंटेशन में बहुत सारी कमियां और भ्रामक जानकारी है।
00:04:14इसलिए इसे सही ढंग से काम करने के लिए, कुछ चीजें हैं जिनका आपको ध्यान रखना होगा।
00:04:18उदाहरण के लिए, यह कमांड संभवतः विफल हो जाएगी क्योंकि उन्होंने कभी स्पष्ट नहीं किया कि आपको
00:04:23इस प्रक्रिया के लिए SAM3 मॉडल की आवश्यकता है।
00:04:25और यह कमांड विफल हो सकती है क्योंकि उन्होंने कभी नहीं बताया कि क्वाड मास्क का नाम
00:04:30सही ढंग से काम करने के लिए सख्ती से quad_mask_0.mp4 होना चाहिए।
00:04:35तो ऐसी बहुत सी छोटी-छोटी समस्याएं हैं जो यहाँ प्रलेखित नहीं हैं।
00:04:38और उनका ग्रैडियो (Gradio) डेमो अच्छा है यदि आपके पास पहले से ही SAM2 के साथ एक मास्क है, लेकिन वे
00:04:44वास्तव में उस मास्क को बनाने के लिए ग्राफिकल यूजर इंटरफेस प्रदान नहीं करते हैं।
00:04:48इसलिए मैंने एक कस्टम वेब ऐप बनाया जो इन सभी समस्याओं को ठीक करता है और आपको
00:04:54एक उपयोग के लिए तैयार UI प्रदान करता है जो सेगमेंटेशन स्टेप, इंफरेन्स स्टेप और
00:05:00यहाँ तक कि टू-पास सिस्टम से होकर गुज़रता है।
00:05:02तो आप बस अपना वीडियो अपलोड कर सकते हैं, मास्क को सेगमेंट कर सकते हैं और अंतिम आउटपुट रेंडर कर सकते हैं।
00:05:07और ठीक यही हम अभी करने जा रहे हैं।
00:05:09तो सबसे पहले, आपको एक शक्तिशाली GPU के साथ एक रन पॉड (RunPod) इंस्टेंस शुरू करना होगा।
00:05:14मैं इस टेस्ट के लिए H100 का उपयोग करने जा रहा हूँ।
00:05:17और टेम्पलेट सेक्शन में, सुनिश्चित करें कि आप कंटेनर साइज़ बढ़ाकर 100 जीबी कर दें।
00:05:22और पोर्ट सेक्शन में, पोर्ट 8998 जोड़ें क्योंकि यहीं हम अपने वेब ऐप को
00:05:27एक्सपोज़ करेंगे।
00:05:29फिर आपको बस पॉड में SSH करना है, मेरी रेपो को क्लोन करना है, उसमें जाना है और run.sh
00:05:36कमांड चलाना है।
00:05:38और यह आपसे हगिंग फेस टोकन देने के लिए भी कहेगा ताकि आप वास्तव में मॉडल
00:05:42डाउनलोड कर सकें और यह भी सुनिश्चित करें कि आपके पास SAM3 रिपॉजिटरी तक पहुँच है क्योंकि यह एक
00:05:48गेटेड मॉडल है और आपको इसे उपयोग करने के लिए अनुमति का अनुरोध करना होगा।
00:05:51लेकिन आमतौर पर यह प्रक्रिया काफी तेज़ होती है और आपको कुछ ही मिनटों में अनुमति मिल जाती है।
00:05:55और फिर आपको एक जेमिनी API की (Gemini API key) की भी आवश्यकता होगी क्योंकि सेगमेंटेशन चरण में, मॉडल
00:06:00सटीक क्वाड मास्क जनरेशन के लिए पोज़ एस्टीमेशन निर्धारित करने के लिए जेमिनी का उपयोग करता है।
00:06:06ठीक है।
00:06:07और यदि आपके पास वे दोनों क्रेडेंशियल हैं, तो run.sh कमांड को सब कुछ इंस्टॉल करने दें।
00:06:13और एक बार जब यह हो जाए, तो अब हम यहाँ बताए गए
00:06:18कमांड के साथ वेब ऐप लॉन्च कर सकते हैं।
00:06:19और अब रन पॉड पेज पर, आपको इस पोर्ट पर क्लिक करना होगा और उससे हमारा वेब
00:06:24ऐप खुल जाएगा।
00:06:25और अब हम आखिरकार मॉडल का परीक्षण शुरू कर सकते हैं।
00:06:28तो अपने पहले टेस्ट के लिए, मैं द मैट्रिक्स के इस प्रसिद्ध सीन का उपयोग करूँगा और मैं सीन से
00:06:32नियो (Neo) को हटाने की कोशिश करूँगा और देखूँगा कि क्या होता है।
00:06:35तो सबसे पहले आपको रिमूवल इंस्ट्रक्शन प्रॉम्प्ट निर्दिष्ट करना होगा।
00:06:41इस मामले में, हम कुछ ऐसा लिख सकते हैं जैसे "दृश्य से सफेद किमोनो वाले फाइटर को
00:06:45हटा दें"।
00:06:46और उसके बाद, हम उस सेक्शन में जाते हैं जहाँ आप उस ऑब्जेक्ट या व्यक्ति के चारों ओर कुछ पॉइंट्स को
00:06:51सेगमेंट करते हैं जिसे आप हटाना चाहते हैं ताकि SAM2 मॉडल जान सके कि किस आकार पर ध्यान केंद्रित करना है
00:06:57और फिर आउटपुट फोल्डर निर्दिष्ट करें जहाँ हम अपनी परिणाम फ़ाइलें संग्रहीत करेंगे।
00:07:02और आपको इस फोल्डर का नाम याद रखना होगा क्योंकि यह वह विशिष्ट पहचानकर्ता
00:07:06होगा जिसका उपयोग हम अन्य टैब में यह पहचानने के लिए करेंगे कि हम किस वीडियो पर काम कर रहे हैं।
00:07:11उसके बाद, हम दूसरे टैब पर जा सकते हैं, जो हमारा सेगमेंटेशन स्टेप चलाएगा और
00:07:16प्रक्रिया को रन करेगा।
00:07:17और एक बार जब यह हो जाए, तो हम टैब तीन पर जा सकते हैं, जो इंफरेन्स स्टेप है, जहाँ
00:07:22मॉडल वास्तव में वांछित ऑब्जेक्ट या व्यक्ति को हटाने की कोशिश करेगा।
00:07:26और यहाँ हमें उस फोल्डर का नाम फिर से टाइप करना होगा।
00:07:29और यहाँ हमें एक प्रॉम्प्ट निर्दिष्ट करना होगा जो बताता है कि हमारे हटाए गए ऑब्जेक्ट या व्यक्ति के
00:07:34बिना वीडियो कैसा दिखना चाहिए।
00:07:37तो हमारे मामले में, वह कुछ ऐसा होगा जैसे "जिम के अंदर खड़ा गहरे रंग के किमोनो में एक
00:07:42फाइटर"।
00:07:43और वे हटाए गए ऑब्जेक्ट या व्यक्ति का उल्लेख न करने की भी सलाह देते हैं, बस उस पर ध्यान केंद्रित करें
00:07:48जो वीडियो में होना चाहिए और इंफरेन्स स्टेप चलाएं।
00:07:52और एक बार जब यह हो जाए, तो अब हम रिजल्ट टैब पर जा सकते हैं और अपना अंतिम वीडियो देख सकते हैं।
00:07:58और एक बार फिर, हमें वीडियो फोल्डर निर्दिष्ट करना होगा।
00:08:01और यह रहा।
00:08:03इसे देखो।
00:08:04हाँ, ऐसा लग रहा है कि मॉर्फियस किसी भूत से लड़ रहा है।
00:08:07हम देख सकते हैं कि हाथों को हटाने और अन्य चीजों में कुछ विसंगतियां हैं।
00:08:12तो यह एकदम सही नहीं है, लेकिन इसे बेहतर बनाने के लिए हम एक और चीज़ कर सकते हैं।
00:08:18बेहतर परिणाम प्राप्त करने के लिए अब हम इसे दूसरे पास फिल्टर के माध्यम से चला सकते हैं, जो टैब चार है।
00:08:24और दूसरा पास चलाने के बाद, अब हमें यह अतिरिक्त विंडो मिलती है जहाँ हम
00:08:29दूसरे पास का परिणाम देखते हैं।
00:08:32और एक बार फिर, यह अभी भी थोड़ा अजीब लग रहा है।
00:08:34अभी भी ऐसा लगता है जैसे मॉर्फियस किसी भूत से लड़ रहा है या नाच रहा है या कुछ और।
00:08:39तो जैसा कि आप देख सकते हैं, यह हर सीन के लिए काम नहीं करता है।
00:08:42कुछ सीन बहुत अजीब होने वाले हैं, लेकिन यह दृश्य से नियो को पूरी तरह से
00:08:48हटाने का अच्छा काम करता है।
00:08:49जैसा कि कहा गया है, चलिए दो और मज़ेदार उदाहरणों को आज़माते हैं।
00:08:53तो यहाँ ला ला लैंड का प्रसिद्ध डांसिंग सीन है।
00:08:56और यहाँ मैं सीन से एम्मा स्टोन को हटाने की कोशिश करूँगा और देखूँगा कि क्या होता है।
00:09:01वाह, इसे देखो।
00:09:03यह लगभग दोषरहित लग रहा है।
00:09:05मैं वास्तव में विश्वास कर सकता हूँ कि रयान गोसलिंग यहाँ अकेले ही नाच रहे हैं।
00:09:09और आप वह क्षण देखते हैं जहाँ एम्मा स्टोन रयान गोसलिंग के सामने से गुज़रती है।
00:09:13यह ट्रांज़िशन लगभग निर्बाध है।
00:09:15हम कुछ मामूली आर्टिफैक्ट्स देख सकते हैं, लेकिन अधिकांश भाग के लिए, वाह, यह एक शानदार परिणाम है।
00:09:21तो मैंने जितने भी परिणामों का परीक्षण किया, उनमें से यह सबसे अच्छा था।
00:09:24और किसी कारण से, मुझे लगा कि यह चलाने के लिए सबसे कठिन उदाहरण होगा।
00:09:28लेकिन आश्चर्यजनक रूप से, इसने मेरे द्वारा किए गए सभी परीक्षणों में सबसे अच्छे परिणाम दिए।
00:09:33ठीक है।
00:09:34मैं एक और उदाहरण आज़माना चाहता हूँ।
00:09:35और इस बार, मैं टाइटैनिक के प्रसिद्ध सीन से लियोनार्डो डिकैप्रियो को हटाने की कोशिश करना चाहता हूँ और
00:09:41देखना चाहता हूँ कि क्या होता है।
00:09:42ओह, वाह, यह थोड़ा दुखद लग रहा है।
00:09:48बेचारी केट विंसलेट।
00:09:49हे भगवान।
00:09:50बिना जैक के बस वहाँ अकेली खड़ी है।
00:09:53यह दिलचस्प लग रहा है।
00:09:55हम देख सकते हैं कि इस मॉडल ने सीन से लियो को हटाने का बहुत अच्छा काम किया है।
00:09:59हालाँकि हम केट विंसलेट की बांह पर कुछ बचे हुए आर्टिफैक्ट्स देख सकते हैं।
00:10:03और हे भगवान, यह बहुत डरावना है।
00:10:06दूसरी तरफ अभी भी एक डरावना बचा हुआ हाथ केट की बांह को पकड़े हुए है।
00:10:10ओह नहीं।
00:10:11अब मैं इसे अनदेखा नहीं कर सकता।
00:10:14ईमानदारी से कहूँ तो, यह मेरी गलती है क्योंकि मैंने सेगमेंटेशन स्टेप में हटाने के लिए
00:10:19उन विशिष्ट पॉइंट्स को सेगमेंट नहीं किया था।
00:10:21तो यह मेरी कमी है।
00:10:23और हम यह भी देखते हैं कि केट विंसलेट का चेहरा थोड़ा बदल जाता है।
00:10:26तो यहाँ निश्चित रूप से थोड़ा अनकैनी वैली (uncanny valley) जैसा प्रभाव है।
00:10:30तो कुल मिलाकर, मुझे लगता है कि यह टूल वही करता है जिसका यह विज्ञापन करता है।
00:10:33यह सिर्फ विशिष्ट वीडियो और उसकी प्रकृति की बात है।
00:10:37ज़ाहिर है, हम मॉर्फियस को इस सीन में स्थिर खड़े रहने के लिए मजबूर नहीं कर सकते।
00:10:41लेकिन अगर हम उनके प्रोजेक्ट पेज पर कुछ अन्य उदाहरणों को देखें, तो वे बिल्कुल अविश्वसनीय हैं।
00:10:46इसलिए मुझे लगता है कि इस मॉडल में कुछ ठोस क्षमताएं हैं और शायद अतिरिक्त प्रशिक्षण के साथ,
00:10:51यह और भी बेहतर हो सकता है।
00:10:52तो ये रहा दोस्तों।
00:10:53संक्षेप में यही VOID मॉडल है।
00:10:55सच कहूँ तो, मुझे इसका परीक्षण करने में बहुत मज़ा आया।
00:10:58और चूंकि इसे नेटफ्लिक्स द्वारा विकसित किया गया है, मैं वास्तव में यह जानने के लिए बहुत उत्सुक हूँ कि वे
00:11:03इसका उपयोग किस लिए करेंगे?
00:11:04क्या इसका उपयोग उपयोगकर्ता की प्राथमिकताओं या विकल्पों के आधार पर कुछ वीडियो कथाओं को बदलने के लिए किया जा सकता है?
00:11:09ठीक उसी तरह, जैसे नेटफ्लिक्स ने ब्लैक मिरर बैंडर्सनैच शो में उस तरह का
00:11:15इंटरएक्टिव अनुभव जोड़ा था?
00:11:17आपको याद है वह?
00:11:18कौन जानता है?
00:11:19लेकिन किसी भी मामले में, यह देखना बहुत दिलचस्प होगा कि आगे बढ़ते हुए इस टूल का उपयोग कैसे
00:11:23विकसित होता है।
00:11:24खैर, आप इस फ्रेमवर्क के बारे में क्या सोचते हैं?
00:11:27यह टूल किस तरह के उपयोग के मामलों के लिए उपयोगी होगा?
00:11:30हमें नीचे कमेंट सेक्शन में अपने विचार बताएं।
00:11:33और दोस्तों, अगर आपको इस तरह के तकनीकी ब्रेकडाउन पसंद हैं, तो कृपया वीडियो के नीचे
00:11:37उस लाइक बटन को दबाकर मुझे बताएं।
00:11:39और हमारे चैनल को सब्सक्राइब करना न भूलें।
00:11:42मैं बेटर स्टैक से एंड्रेस हूँ और मैं आपसे अगले वीडियो में मिलूँगा।