paint-brush
ComfyUI के साथ पालतू जानवरों के बेहतरीन चित्र बनाएंद्वारा@hacker5029997
380 रीडिंग
380 रीडिंग

ComfyUI के साथ पालतू जानवरों के बेहतरीन चित्र बनाएं

द्वारा 5m2024/08/19
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

पिछले कुछ सालों में AI इमेज मैनिपुलेशन टूल ने काफ़ी तरक्की की है। आजकल लोगों और जानवरों के सुंदर, स्टाइलिश पोर्ट्रेट बनाना काफ़ी आसान है। लेकिन AI मॉडल का अनुमान लगाना बहुत मुश्किल है, इसलिए ज़्यादातर टूल खराब जेनरेशन को हटाने और सबसे अच्छी जेनरेशन को खोजने के लिए यूज़र (या किसी इंसान) पर निर्भर करते हैं। कुछ चतुर तरकीबों और सावधानीपूर्वक ट्यूनिंग के साथ, आप एक ऐसी पाइपलाइन बना सकते हैं जो ज़्यादातर पालतू जानवरों के लिए भरोसेमंद तरीके से काम करे। यह पोज़, लाइटिंग आदि में होने वाले बदलावों के लिए बेहद लचीला है।
featured image - ComfyUI के साथ पालतू जानवरों के बेहतरीन चित्र बनाएं
undefined HackerNoon profile picture
0-item

पिछले कुछ सालों में AI इमेज मैनिपुलेशन टूल ने काफ़ी तरक्की की है। आजकल लोगों और जानवरों के सुंदर, स्टाइलिश पोर्ट्रेट बनाना काफ़ी आसान है। लेकिन AI मॉडल का पूर्वानुमान लगाना बहुत मुश्किल है। इसलिए ज़्यादातर टूल खराब जेनरेशन को हटाने और सबसे अच्छी जेनरेशन को खोजने के लिए यूज़र (या किसी इंसान) पर निर्भर करते हैं।


यह क्लासिक "लूप में मानव" समस्या है जो अक्सर AI उपकरणों को परेशान करती है। पता चला है कि, कुछ चतुर चालों और सावधानीपूर्वक ट्यूनिंग के साथ, आप एक पाइपलाइन बना सकते हैं जो अधिकांश पालतू जानवरों के लिए भरोसेमंद रूप से काम करती है। यह मुद्रा, प्रकाश व्यवस्था आदि में बदलाव के लिए बेहद लचीला है।


इस पोस्ट में, मैं इस बारे में विस्तार से बताऊंगा कि यह कैसे काम करता है और इसे सक्षम करने वाली सभी छोटी-छोटी तरकीबें। यहाँ कुछ पोर्ट्रेट के उदाहरण दिए गए हैं जिन्हें आप इस पाइपलाइन से बना सकते हैं।

आएँ शुरू करें!

मुख्य सामग्री

आईपीएडाप्टर

इस तकनीक का सार IPAdapter है। यह मूल रूप से टेक्स्ट के बजाय छवि का उपयोग करके मॉडल को संकेत देने का एक तरीका है (यह वस्तुतः इमेज प्रॉम्प्ट एडाप्टर के लिए है)। इसलिए टेक्स्ट एम्बेडिंग लेने के बजाय, यह एम्बेडिंग प्राप्त करने के लिए एक छवि का उपयोग करता है। यह बहुत शक्तिशाली है क्योंकि यह किसी छवि में शैली और संरचना को सीधे सटीक रूप से कैप्चर कर सकता है, बजाय इसके कि किसी को छवि से जो चाहिए उसे टेक्स्ट में अनुवाद करना पड़े। हमारे ComfyUI IPAdapter नोड में, हमारे पास दो इनपुट हैं, एक स्टाइल के लिए और दूसरा कंपोजिशन के लिए। हम स्टाइल के लिए वॉटरकलर पेंटिंग इमेज का उपयोग करते हैं, और कंपोजिशन के लिए मूल इमेज को फीड करते हैं (क्योंकि हम वही कंपोजिशन रखना चाहते हैं, लेकिन स्टाइल बदलना चाहते हैं)।


ऊपर दी गई छवि का उपयोग IPAdapter के लिए छवि प्रॉम्प्ट के रूप में किया जाता है

कंट्रोलनेट्स

अब जब हमारे पास शैली को सुसंगत रखने का एक तरीका है, तो हम अपना ध्यान पालतू जानवर को ईमानदारी से प्रस्तुत करने पर लगा सकते हैं। IPAdapters छवि गुणवत्ता के प्रति बहुत अधिक पक्षपाती हैं, और छवि समानता प्रभावित होती है। इसलिए हमें आउटपुट को इनपुट के समान ही दिखने में सक्षम बनाने के लिए कुछ करने की आवश्यकता है।


इसका उत्तर है कंट्रोलनेट। कंट्रोलनेट छवि निर्माण प्रक्रिया में अतिरिक्त प्रतिबंध प्रदान करने के लिए एक और बढ़िया तकनीक है। कंट्रोलनेट का उपयोग करके, आप किनारों, गहराई, मानव मुद्रा आदि के रूप में प्रतिबंधों को निर्दिष्ट कर सकते हैं। कंट्रोलनेट की एक बड़ी विशेषता यह है कि उन्हें स्टैक किया जा सकता है। तो आपके पास एक एज कंट्रोलनेट हो सकता है जो आउटपुट को इनपुट के समान किनारों पर रखने के लिए मजबूर करता है, और एक डेप्थ कंट्रोलनेट भी जो आउटपुट को एक समान डेप्थ प्रोफ़ाइल रखने के लिए मजबूर करता है। और यही मैं यहाँ करता हूँ।


कैनी एज कंट्रोलनेट (बाएं) और डेप्थ कंट्रोलनेट (दाएं) का आउटपुट। ये आउटपुट को इनपुट के समान दिखने के लिए मजबूर करते हैं।


यह पता चला है कि कंट्रोलनेट न केवल अन्य कंट्रोलनेट के साथ स्टैकेबल हैं, बल्कि वे ऊपर बताए गए IPAdapter के साथ मिलकर भी काम कर सकते हैं। और इसलिए ये वे उपकरण हैं जिनका हम इसके लिए उपयोग करेंगे - स्टाइल प्राप्त करने के लिए स्रोत छवि के साथ IPAdapter, किनारों के आधार पर बाध्य करने के लिए कैनी एज डिटेक्टर के साथ कंट्रोलनेट, और गहराई प्रोफ़ाइल के आधार पर बाध्य करने के लिए गहराई के साथ कंट्रोलनेट।


तकनीकों के मामले में आपको बस इतना ही चाहिए, लेकिन उत्पादन के लिए मशीन लर्निंग के साथ प्रयोग करने से मैंने जो सीखा है, वह यह है कि इन चीजों का बहुत सारा मूल्य आपके सभी मापदंडों को पूरी तरह से ट्यून करने में समय लगाने से आता है। इसलिए मैं इसके बारे में थोड़ी बात करना चाहता हूँ।

फ़ाइन ट्यूनिंग

क्या आपको कभी कोई ऐसा मॉडल मिला है जिसमें अद्भुत उदाहरण आउटपुट हों, आपने उसे अपनी छवियों पर आज़माया हो और पाया हो कि वे भयानक दिख रही हैं? अक्सर, इसका एकमात्र कारण यह होता है कि मॉडल को आपकी छवियों के लिए फ़ाइनट्यून नहीं किया गया है। यह कभी-कभी पूरी तरह से अवरोधक जैसा लग सकता है, क्योंकि हम पहले से प्रशिक्षित मॉडल को फ़ाइनट्यून करने की शुरुआत कहाँ से करें?! यहाँ मैंने इस विषय के बारे में जो सीखा है, वह है। यह इस विशेष पाइपलाइन से परे भी फैला हुआ है, इसलिए आम तौर पर यह अच्छी जानकारी है।

कंट्रोलनेट्स

कंट्रोलनेट बहुत शक्तिशाली होते हैं, इसलिए आपको आउटपुट पर उनके प्रभाव को नियंत्रित करने के लिए सावधान रहना होगा। सौभाग्य से, ComfyUI में कस्टम नोड्स हमें कंट्रोलनेट के प्रभाव को कम करने देते हैं, और किसी भी बिंदु पर उनके प्रभावों को रोकते हैं। इसलिए हम एज डिटेक्टर को 75% शक्ति पर सेट करते हैं और इसे 75% पर जनरेशन को प्रभावित करना बंद कर देते हैं और डेप्थ डिटेक्टर 30% पर रुक जाता है। हम उन्हें केवल उनकी शक्ति को कम करने के बजाय अंत में रोकते हैं, क्योंकि इससे नेटवर्क को पिछले कुछ चरणों में उनके कारण होने वाली किसी भी आर्टिफैक्ट को "साफ़" करने की अनुमति मिलती है, बिना बाहरी रूप से बाध्य हुए। यह केवल छवि को सुंदर बनाता है। इसलिए यह किनारों और गहराई को अनदेखा करते हुए चीजों को यथासंभव अच्छा दिखाने के लिए केवल अपने प्रशिक्षण डेटा का उपयोग कर रहा है।



ट्यून करने के लिए दूसरी बड़ी चीज़ है के-सैम्पलर। यहाँ बहुत सी छोटी-छोटी चीज़ें चल रही हैं, लेकिन मैं उनमें से कुछ पर संक्षेप में बात करूँगा:

के-सैम्पलर - चरण

सबसे पहले हमारे पास चरण हैं। यह वस्तुतः मॉडल के बार-बार चलने की संख्या है। यह जितना अधिक चलेगा, आपका आउटपुट उतना ही अधिक स्टाइलिश होगा, और यह मूल छवि से उतना ही दूर होगा। इसके प्रभाव अक्सर स्पष्ट नहीं होते हैं, इसलिए इसके साथ खेलना उचित है।


के-सैम्पलर - CFG

फिर CFG है। ईमानदारी से कहूँ तो मैं इसे पूरी तरह से नहीं समझ पाया, लेकिन इसके नाम - क्लासिफायर फ्री गाइडेंस - से मैं मान रहा हूँ कि यह नियंत्रित करता है कि मॉडल को प्रॉम्प्ट द्वारा बिना किसी बाधा के छवि को कितना संशोधित करने की अनुमति है ताकि इसे बेहतर बनाया जा सके। यह आउटपुट छवि को भी महत्वपूर्ण रूप से प्रभावित करता है, इसलिए इसके साथ प्रयोग करना उचित है।


शोर कम करना

एक और बढ़िया छोटी सी तरकीब जो मैं यहाँ इस्तेमाल करता हूँ, वह है इमेज बनाने की प्रक्रिया को खाली इमेज के बजाय इनपुट इमेज से शुरू करना और शोर कम करना। इससे यह सुनिश्चित होता है कि आउटपुट रंगों और बनावट के मामले में एक जैसा दिखेगा।


पाठ संकेत

एक बात जो आप देखेंगे कि मैंने अब तक कभी उल्लेख नहीं किया है वह है टेक्स्ट प्रॉम्प्ट! आश्चर्यजनक है, क्योंकि यह आमतौर पर एकमात्र कंडीशनिंग है जो आप आम तौर पर प्रसार मॉडल को प्रदान करते हैं। लेकिन इस मामले में, हमारे पास कंडीशनिंग के इतने सारे अन्य तरीके हैं कि टेक्स्ट प्रॉम्प्ट आमतौर पर बस बीच में आ जाते हैं। तो इस मामले में, प्रॉम्प्ट सचमुच सिर्फ "एक कुत्ता" है। मैं कुछ अधिक शैलीगत चित्रों में टेक्स्ट प्रॉम्प्ट का थोड़ा अधिक उपयोग करता हूँ, जैसे कि शेफ़ कुत्ता या बाथरूम में मौजूद कुत्ता।

सहायक उपकरण जोड़ना

संक्षेप में, यह कमोबेश एक “AI फ़िल्टर” है जो छवियों को वॉटरकलर पोर्ट्रेट में परिवर्तित करता है। लेकिन यह आश्चर्यजनक है कि यह कितना लचीला हो सकता है। उदाहरण के लिए, कुत्ते का स्नान करते हुए चित्र बनाने के लिए, मैंने सचमुच छवियों को एक छवि संपादन उपकरण में एक साथ रखा और उसे इनपुट के रूप में इस्तेमाल किया! मॉडल सब कुछ एकीकृत करने और छवि को साफ करने का ख्याल रखता है।


निष्कर्ष

अब बैकग्राउंड हटाएँ, कुछ टेक्स्ट जोड़ें और बूम! आपके पास एक सुंदर पोर्ट्रेट है जो आपके पालतू जानवर के सभी छोटे विवरणों को कैप्चर करता है, और हमेशा उन्हें सबसे अच्छी रोशनी में चित्रित करता है!


ComfyUI नोड्स पर उनके काम और यूट्यूब पर उनकी शानदार व्याख्या श्रृंखला के लिए @cubiq को बहुत-बहुत धन्यवाद! इस पाइपलाइन का अधिकांश हिस्सा उनके द्वारा ही बनाया और उनके वीडियो में समझाया गया है।


यदि आप बिना किसी परेशानी के अपने पालतू जानवर का चित्र बनाना चाहते हैं, तो यहां से खरीदें: pawprints.pinenlime.com!