क्या एक निश्चित शैली में चित्र बनाने के लिए तंत्रिका नेटवर्क को प्रशिक्षित करना संभव है?


10

क्या निश्चित शैली में चित्र बनाने के लिए तंत्रिका नेटवर्क को प्रशिक्षित करना संभव है? (इसलिए यह एक छवि लेता है और इसे एक शैली में बदल देता है जिसे इसके लिए प्रशिक्षित किया गया था।)

क्या इस तरह की चीज़ के लिए कोई स्वीकृत तकनीक है? मुझे डीपआर्ट एल्गोरिथ्म के बारे में पता है। मुख्य छवि को कुछ पैटर्न (उदाहरण के लिए, vangoghify छवि) के साथ भरना अच्छा है, लेकिन मैं कुछ अलग देख रहा हूं - उदाहरण के लिए, इनपुट चित्र से एक निश्चित शैली में कार्टून बनाना।


3
फोटोग्राफ-टू-कार्टून न्यूरल नेट प्रशिक्षण के लिए एक बाधा एक प्रशिक्षण डेटासेट ढूंढना हो सकता है। ऐसा लगता है कि डेटासेट में तस्वीरों को शामिल करना होगा, और उन तस्वीरों के आधार पर मनुष्यों द्वारा बनाए गए कार्टून। मुझे ऐसे किसी भी डेटासेट के बारे में जानकारी नहीं है।
टान्नर स्लेट

@TannerSwett आपको कैसे लगता है कि इस तरह के प्रशिक्षण के लिए कितनी छवियां आवश्यक हैं?
जावेद

मैं कोई विशेषज्ञ नहीं हूं, इसलिए मैं केवल एक जंगली अनुमान लगा सकता हूं। मुझे लगता है कि आपको कम से कम एक हजार छवियों की आवश्यकता होगी। आपको इससे कहीं अधिक की आवश्यकता हो सकती है। वैसे, मैं इस उपकरण को देखने का सुझाव देता हूं: github.com/hardmaru/sketch-rnn उस उपकरण का उपयोग चीनी पात्रों की नकल उत्पन्न करने के लिए किया गया है; शायद एक समान उपकरण कार्टूनों की नकल उत्पन्न कर सकता है।
टान्नर स्विट

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

जवाबों:


12

एक प्रासंगिक पेपर है: LA Gatus, AS Ecker, M Bethge, 2015, A Neural Algorithm of Artistic Style । अमूर्त से उद्धरण,

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

यहाँ इस पत्र से चित्र 2 है:

यहां छवि विवरण दर्ज करें

यहां मशाल पर आधारित एक बहुत लोकप्रिय ओपन-सोर्स कार्यान्वयन भी है जो उपयोग करने में काफी आसान है। अधिक उदाहरणों के लिए लिंक देखें।

ध्यान रखें, कि गणनाएँ भारी हैं और इसलिए एकल छवियों का प्रसंस्करण इस कार्य का दायरा है।

संपादित करें: आपके उल्लेखित डीपआर्ट परियोजना की जाँच करने के बाद, ऐसा लगता है कि यह उसी तकनीकों का उपयोग कर रहा है। मुझे यकीन नहीं है कि यह वह क्यों नहीं है जो आप चाहते हैं, क्योंकि स्टाइल-ट्रांसफर की अवधारणा सामान्य है जितना कि यह मिलता है।


4
कार्टून अतिरंजित करते हैं और जो कुछ भी वे चित्रित कर रहे हैं उनकी विशेषताओं को सरल बनाते हैं, एक आकृति का निर्माण करते हैं जो एक तस्वीर में आकृतियों के विपरीत है। मुझे विश्वास नहीं है कि मौजूदा स्टाइल ट्रांसफर न्यूरल नेट्स ने कभी ऐसा किया है।
टान्नर स्लेट

उदाहरण यहाँ पर @TannerSwett देखो: imgur.com/a/ue6ap । उनमें से कुछ काफी कार्टून-ईश हैं।
अमीबा

@amoeba वे कार्टूनिस्ट दिखते हैं, हाँ, लेकिन उनमें से कोई भी विकृत अनुपात नहीं है जो कि अधिकांश वास्तविक कार्टून हैं।
टान्नर स्विट

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

7

यह हल करने के लिए एक बहुत मुश्किल समस्या है। आप यहां कुछ उदाहरण देख सकते हैं कि सिम्पसन की ओर से एक कार्टून शैली, कैसे एक छवि पर लागू की गई है।

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

संपादित करें:

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

मुझे लगता है कि शायद जाने का रास्ता कलात्मक तंत्रिका नेटवर्क दृष्टिकोण नहीं है। शायद एक नेटवर्क होना बेहतर है जो वस्तुओं को एक छवि में वर्गीकृत कर सकता है और फिर वस्तुओं और उनके कार्टून समकक्षों के बीच पत्राचार सीख सकता है, फिर परिणामों को कुछ सार्थक तरीके से मिश्रण कर सकता है।


1
सिम्पसन का उदाहरण मुझे बहुत अच्छा लगता है @Gumeo
फैब्रिकियो

1

यह करने के लिए बहुत जटिल नहीं होना चाहिए। उल्लिखित लेख नहीं पढ़ा, यहाँ मेरा नुस्खा है:

परिवर्तनशील ऑटो एनकोडर

मॉर्फिंग चेहरों के साथ ऑनलाइन डेमो: http://vdumoulin.github.io/morphing_faces/online_demo.html

और तहजीब के लिए https://jmetzen.github.io/2015-11-27/vae.html

मूल रूप से, यह आपको अपने मामले में 'स्टाइल' को समरूप करने का एक तरीका देता है, उदाहरण के लिए आइए हम बताते हैं कि ब्रश स्ट्रोक कितना चौड़ा या फजी होना चाहिए। सामान जो उस विशेष शैली पर निर्भर करता है जिसे आप अनुकरण करने की कोशिश कर रहे हैं।

ऊपर के उदाहरण में अलग-अलग 'रूपांकित' या 'कल्पना' वाले चेहरे अव्यक्त स्थान में मापदंडों का एक कार्य हैं। नीचे दी गई छवि में वह होगा जो आपको 'कोड' स्तर पर सामान बदलने से मिलता है।

यहां मूल विचार है: मूल छवि बाएं, दाईं ओर एक ही छवि का शैलीगत संस्करण:

यहां छवि विवरण दर्ज करें

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

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

सौभाग्य!

ऑटो एनकोडर पर विकी लेख एक अच्छा प्रारंभिक बिंदु होगा: https://en.wikipedia.org/wiki/Autoencoder

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.