एक बटन दबाएँ, और एक सेकंड बाद आपकी फ़ोटो का बैकग्राउंड गायब हो जाता है, उसकी जगह पारदर्शिता का एक साफ़ चेकरबोर्ड आ जाता है। यह जादू जैसा लगता है, पर कोई जादू नहीं है और IMG.DIY पर कोई सर्वर भी यह काम नहीं कर रहा। यहाँ बताया गया है कि क्लिक और कटआउट के बीच असल में क्या हो रहा है।
असली काम: यह तय करना कि कौन से पिक्सेल "विषय" हैं

बैकग्राउंड हटाना असल में एक लेबलिंग समस्या है। आपकी इमेज के हर एक पिक्सेल के लिए, सॉफ़्टवेयर को एक सवाल का जवाब देना होता है: क्या यह विषय का हिस्सा है, या बैकग्राउंड का? इसे सभी के लिए करें और आपको एक मास्क मिलता है, जो एक श्वेत-श्याम नक्शा है जहाँ सफ़ेद का मतलब "रखें" और काले का मतलब "हटाएँ" है। मास्क को ओरिजिनल के ऊपर बिछाएँ, काले हिस्से फेंक दें, और आपको अपना कटआउट मिल जाता है।
कंप्यूटर विज़न में इस काम का एक नाम है: इमेज सेगमेंटेशन। ख़ासकर, बैकग्राउंड रिमूवल salient object segmentation का इस्तेमाल करता है, यानी मॉडल वह एक चीज़ ढूँढने की कोशिश करता है जिसे कोई इंसान कहेगा कि फ़ोटो उसी "के बारे में" है, और उसे बाक़ी सब से अलग करता है।
मॉडल ने विषय को देखना कैसे सीखा

मॉडल "व्यक्ति के आकार वाली चीज़ पकड़ो" जैसे हाथ से लिखे नियमों का पालन नहीं करता। यह एक न्यूरल नेटवर्क है जिसे हज़ारों-दसियों हज़ार ऐसी इमेजों पर ट्रेन किया गया जहाँ किसी इंसान ने पहले से हाथ से एकदम सही मास्क खींच रखा था। ट्रेनिंग के दौरान, नेटवर्क ने एक अंदाज़ा लगाया, उसकी तुलना इंसान के जवाब से हुई, और वह ख़ुद को ज़रा सा एडजस्ट करके कम गलत हुआ। इसे लाखों बार दोहराएँ और नेटवर्क वे दृश्य पैटर्न सीख लेता है जो किसी अग्रभूमि वस्तु को उसके परिवेश से अलग करते हैं: किनारे, टेक्सचर के बदलाव, फ़ोकस, कंट्रास्ट, और वह तरीका जिससे कोई विषय आम तौर पर केंद्र के पास बैठता है।
IMG.DIY पर Background Remover U²-Net परिवार के मॉडलों का इस्तेमाल करता है, जो ठीक इसी काम के लिए एक जाना-माना आर्किटेक्चर है। दो वर्ज़न उपलब्ध हैं:
- u2netp — एक छोटा, तेज़ 4MB मॉडल। साफ़ विषयों और झटपट काम के लिए बढ़िया।
- silueta — एक बड़ा 43MB मॉडल जो ज़्यादा साफ़ किनारे बनाता है, विस्तृत कटआउट के लिए बेहतर।
दोनों आपकी इमेज लेते हैं, उसे सीखे हुए फ़िल्टरों की कई परतों से गुज़ारते हैं, और वह रखें-या-हटाएँ वाला मास्क आउटपुट करते हैं।
यह सर्वर के बजाय आपके ब्राउज़र में क्यों चलता है
ज़्यादातर बैकग्राउंड रिमूवर आपकी फ़ोटो को किसी डेटा सेंटर पर अपलोड करते हैं, मॉडल को अपने हार्डवेयर पर चलाते हैं, और नतीजा वापस भेजते हैं। यह काम करता है, पर इसका मतलब है कि आपकी इमेज, चाहे कितनी भी थोड़ी देर के लिए, किसी और के कंप्यूटर पर बैठती है।
IMG.DIY इसे अलग तरह से करता है। वही तरह का न्यूरल नेटवर्क दो वेब तकनीकों का इस्तेमाल करके आपके ब्राउज़र के अंदर चलता है:
- WebAssembly (WASM) ब्राउज़र को कंपाइल किए हुए, लगभग-नेटिव-गति वाले कोड चलाने देता है, जो मॉडल के गणित को चाहिए।
- ONNX Runtime वह इंजन है जो असल में उस माहौल में ट्रेन किए हुए मॉडल को चलाता है।
मॉडल फ़ाइल एक बार डाउनलोड होती है, फिर सारी गणना आपके अपने CPU (या GPU) पर होती है। आपकी फ़ोटो डिस्क से पढ़ी जाती है, संख्याओं के एक ग्रिड में बदली जाती है, नेटवर्क से गुज़ारी जाती है, और एक कटआउट के रूप में फिर से जोड़ी जाती है — यह सब बिना एक भी बाइट के आपकी मशीन छोड़े।
इन-ब्राउज़र प्रोसेसिंग का आपके लिए क्या मतलब है
इस डिज़ाइन से तीन व्यावहारिक नतीजे निकलते हैं।
गोपनीयता एक वादा नहीं, ढाँचागत है। कई साइट्स कहती हैं "हम आपकी इमेज नहीं रखते।" यहाँ इमेज कभी कहीं भेजी ही नहीं जाती, इसलिए रखने को कुछ है ही नहीं। यह ID फ़ोटो, दस्तावेज़, प्रोडक्ट प्रोटोटाइप, या किसी भी ऐसी चीज़ के लिए सबसे ज़्यादा मायने रखता है जिसे आप किसी अजनबी के सर्वर को सौंपना नहीं चाहते।
यह ऑफ़लाइन काम करता है। चूँकि IMG.DIY एक सर्विस वर्कर वाला PWA है, टूल बिना कनेक्शन के काम करते रहते हैं। बैकग्राउंड रिमूवल में एक शर्त है: मॉडल को पहली बार डाउनलोड होना होता है (ऊपर बताई 4MB या 43MB फ़ाइल)। उसके बाद, आप हवाई जहाज़, ट्रेन, या किसी लड़खड़ाते होटल कनेक्शन पर बैकग्राउंड काट सकते हैं।
कोई कतार नहीं और कोई अपलोड इंतज़ार नहीं। आप किसी साझा सर्वर के लिए दूसरे उपयोगकर्ताओं से होड़ नहीं कर रहे, और आपको कभी किसी बड़ी फ़ोटो के अपलोड होने का इंतज़ार नहीं करना पड़ता। प्रोसेसिंग की गति आपके अपने डिवाइस पर निर्भर करती है, इसलिए एक आधुनिक लैपटॉप ज़्यादातर इमेजों को कुछ ही सेकंड में संभाल लेता है।
मॉडल अब भी कहाँ जूझते हैं
तंत्र समझना यह भी बताता है कि यह कहाँ टूटता है। बारीक, महीन डिटेल जैसे उड़ते बाल या फ़र सचमुच मुश्किल हैं, क्योंकि एक अकेला लट मॉडल के भरोसे से भी पतला होता है और वह किनारे के साथ "बैकग्राउंड" का अंदाज़ा लगा सकता है। कम-कंट्रास्ट वाले दृश्य (धूसर सोफ़े पर धूसर बिल्ली) नेटवर्क को अलग करने के लिए बहुत कम देते हैं। और एक व्यस्त बैकग्राउंड जो रंग और टेक्सचर में विषय जैसा दिखता हो, लेबलिंग को उलझा सकता है।
किसी अलग बैकग्राउंड पर साफ़ विषयों के लिए, नतीजे शानदार होते हैं। मुश्किल मामलों के लिए, किनारों पर एक झटपट मैनुअल टच-अप काम पूरा कर देता है। किसी भी हाल में, पूरी प्रक्रिया आपके डिवाइस पर, एक ब्राउज़र टैब में, सेकंडों में होती है, और भारी काम एक अच्छा Background Remover करता है।
