- PabloNet एक ऐसा डिवाइस है जो webcam video को real-time diffusion में बदलकर frame-जैसे LCD पर दिखाता है, जिससे generated images को laptop demo की तरह नहीं बल्कि दीवार पर टंगे physical object की तरह अनुभव किया जा सकता है
- इसका implementation StreamDiffusion आधारित server, Raspberry Pi 5 client, 10.1-inch screen, Pi NoIR camera, infrared lighting और एक सामान्य frame को मिलाकर बनाया गया है
- सबसे बड़ी सीमा कम frame rate है; TensorRT और input/output image compression से सुधार किया गया है, लेकिन responsiveness बेहतर करने की गुंजाइश अभी भी बाकी है
- मनचाहा art style सिर्फ prompts से बनाना मुश्किल था, इसलिए pre-processing filters के साथ भी प्रयोग किए गए; नीला Picasso style Canny edge detection, blue coloring और blur के संयोजन से मिला
- जनवरी 2025 के update में, HN प्रतिक्रिया के बाद orders आने लगे और यह Pi Zero, 3D-printed mounts, laser-cut back panel और WiFi dongle वाले अधिक साफ-सुथरे, shippable version में विकसित हुआ
दीवार पर लगा real-time diffusion frame
- PabloNet webcam input लेकर real-time image transformation करता है और result को picture-frame के रूप वाले LCD पर दिखाता है
- laptop पर StreamDiffusion चलाने वाले शुरुआती प्रयोग मजेदार थे, लेकिन laptop form factor भ्रम को तोड़ देता था और अस्थायी व “geeky” लगता था
- wall-mounted LCD frame बनाने पर screen सिर्फ display नहीं रही, बल्कि स्थायित्व वाला object की तरह काम करने लगी
- अलग-अलग समय, mood, lighting, objects और दोस्तों के साथ फिर से इसका सामना किया जा सकता है
- चेहरों, अंधेरे में infrared lighting, objects और दोस्तों के साथ interactions के उदाहरण videos शामिल हैं
- फिलहाल सबसे बड़ी सीमा कम FPS है
- TensorRT का उपयोग करके और input/output images को compress करके frame rate बढ़ाया गया
- फिर भी अभी सुधार की काफी गुंजाइश है
Hardware configuration और visual style बनाना
- खुद बनाने या contribute करने के लिए client और server code pablonet पर公開 किया गया है
- शुरुआती hardware configuration:
- Server hosting: RunPod
- Client: Raspberry Pi 5
- Screen: 10.1" Pi screen
- Lighting: infrared light
- Frame: generic frame
- Camera: infrared Pi camera
- camera hole को drill के बजाय puncher से frame cardboard में बनाया गया, जिससे वह ज्यादा साफ कट सका
- visual result सिर्फ prompt से नहीं बने; pre-processing filters भी लगभग उतने ही महत्वपूर्ण थे
- pre-processing के बिना img2img इस्तेमाल करने पर result अक्सर बहुत realistic दिखता था
- नीला Picasso style Canny edge detection, blue coloring और blur के संयोजन से बनाया गया
HN प्रतिक्रिया के बाद shippable दूसरा version
- Hacker News thread के बाद project को attention मिली और अप्रत्याशित orders आए, इसलिए अधिक साफ-सुथरा shippable version बनाया गया
- दूसरा version मूल device की असुविधाओं को कम करने की दिशा में बदला
- पुराने device में दीवार पर लगाने से पहले electronic components को गिरने से बचाने के लिए पकड़कर रखना पड़ता था
- सिर्फ API call करने और images दिखाने के लिए सामान्य Pi ज्यादा और महंगा लगा
- cables की हालत भी अच्छी नहीं थी
- खरीदे गए parts को Fusion 360 में CAD के रूप में बनाया गया, और custom parts को चार iterations के बाद दो 3D-printed mounts और laser-cut back panel तक refine किया गया
- mounts की भूमिका:
- screen को frame glass और cardboard के साथ align करके fix करना
- Pi Zero और camera को fix करना
- wall mounting के लिए keyhole slot की तरह काम करना
- screws और nuts से assembly को frame में fix करने देना
- soldering iron से 3D print में डाले गए threaded inserts और screws के जरिए back panel को fix करने देना
Users के लिए खुद संभाल सकने वाली setup method
- shipping को आसान बनाने के लिए user affordance की समस्या हल करनी थी
- पहले version में Pi के USB port से पहले से configured Bluetooth mouse और keyboard इस्तेमाल किए गए थे
- user को back panel खोलकर USB hub, wired mouse और keyboard, और Bluetooth pairing खुद set up करनी पड़े—यह तरीका अच्छा नहीं माना गया
- इससे बचने के लिए WiFi dongle जोड़ा गया, ताकि Pi SSH access के लिए access point की तरह काम करे और साथ ही मौजूदा network interface से internet से जुड़ा रहे
- DIY details pablonet repository में देखी जा सकती हैं, और build requests email से ली जा सकती हैं
1 टिप्पणियां
Hacker News की रायें
शानदार। कोड पर नज़र डालने पर कम frame rate सुधारने के कुछ टिप्स दिख रहे हैं
JPEG bytes को Base64 में encode करने से payload करीब 30% तक बड़ा हो जाता है और client तथा server दोनों तरफ CPU खर्च होता है। WebSocket binary payload भेज सकता है, इसलिए इसे text में बदलने की जरूरत नहीं है
lossy JPEG compression भी हटाकर, सीधे raw RGB bytes को network पर भेजने पर भी विचार किया जा सकता है। server side पर बस
Image.frombuffer(…)call करना होगाStreamDiffusion pipeline में व्यापक batch processing करता है, इसलिए high frame rate दे सकता है, लेकिन यहां client एक बार में सिर्फ एक frame भेजकर response का इंतजार करता है, इसलिए वह फायदा नहीं मिल रहा। input frames को queue में डालकर batch में consume करने का तरीका इस example में देखा जा सकता है https://github.com/cumulo-autumn/StreamDiffusion/blob/main/e...
या SDXL Turbo और Lightning models भी देखने लायक हैं। img2img में ये बहुत तेज हैं, लेकिन resolution क्रमशः 512² या 1024² pixels तक सीमित है। लक्ष्य से थोड़ा कम लगता है, लेकिन high-end consumer GPU पर local real-time execution संभव है। reference code यहां है https://github.com/GradientSurfer/Draw2Img/tree/main
“Art बनाना मुश्किल है। लेकिन art ज्यादातर inner world को प्रकट करने का काम है, technique सिर्फ एक हिस्सा है। यह अफसोस की बात है कि art technique को इतना सख्ती से filter करता है” — इस बात पर, मैं Luddite जैसा नहीं सुनना चाहता, लेकिन मुझे इस विचार पर शक है कि technique gap सिर्फ एक असुविधा है
मुझे लगता है कि drawing सीखने या music बनाने की प्रक्रिया आपके अंदर कुछ बदलती है और जीवन के गहरे सबक सिखाती है
मैंने कभी सुना था, “महान कलाकृतियां genius द्वारा बनाई नहीं जातीं, बल्कि genius तूफानी झोंके की तरह अप्रत्याशित रूप से आ जाता है।” artist जो सबसे अच्छा कर सकता है, वह ऐसे अवसरों को cultivate करना है, और technique gap हटाना उस cultivation process को, खुद को बदलने वाले मूल तत्व को हटाने जैसा लगता है
लगता है कुछ गहरे operating principles हैं जिनकी असलियत हमें पता नहीं और जिन्हें कैसे कहा जाए यह भी नहीं जानते, फिर भी वे बार-बार लौट आते हैं। project मजेदार है और बहुत लोगों के लिए useful लगता है, लेकिन कभी-कभी ऐसे विचार आते हैं
पूरे project में वह गुण है या नहीं, यह ज्यादा अस्पष्ट है, लेकिन निजी तौर पर मुझे नहीं लगता। यह psychologically driven से ज्यादा technically driven काम लगता है। हालांकि mirror में बहुत symbolism होता है, इसलिए इसे psychological work बताने वाला artist note लिखा जा सकता है
फिर भी मुझे यह पसंद है, और अगर मैंने बनाया होता तो मुझे गर्व होता। बस यह art से ज्यादा craft के करीब है
मैं होता तो frame rate बढ़ाने के बजाय घटाता। यानी technical limits से लड़ने के बजाय उनका उपयोग करना। मैं system को केवल “अच्छी” images दिखाने देता, और जब तक कोई दूसरी “अच्छी” image generate न हो जाए, screen refresh न करवाता। image “अच्छी” है या नहीं तय करने वाला code system का सबसे दिलचस्प हिस्सा बन जाता, और कहा जा सकता कि उसमें artist की intent है, जिससे यह मेरे निजी criteria के हिसाब से capital-A Art के करीब आ सकता है
Bob Shaw की Light of Other Days की तरह image stream को buffer करना भी experiment करता
और Halloween पास है, इसलिए कभी-कभी viewer के पीछे खड़े किसी figure को inpaint करने का temptation बहुत जबरदस्त होगा
image stability पाने के लिए, random images generate करने के बजाय क्या LLM से random video filter code बनवाया जा सकता है? जैसे “input video को cubist जैसा दिखाने वाला video filter लिखो”, “oil painting जैसा”, “Flash aesthetics में”। filter generate हो गया और सच में crash नहीं करता, तो उसी filter पर switch कर देना। संभव है या नहीं, पता नहीं
Mona Lisa सिर्फ किसी व्यक्ति की अच्छी painting नहीं है। यह details और meanings से भरी है जिन्हें केवल painting पढ़े हुए लोग समझ सकते हैं। AI ठीक-ठाक या दिलचस्प images generate कर सकता है, लेकिन painting की language नहीं बोल सकता। उसे सीखने और appreciate करने के लिए वास्तविक मेहनत चाहिए। brushstroke technique को किसी इंसान के brain या AI tool में inject कर देने से कोई artist नहीं बन जाता
कभी-कभी किसी चीज़ को ऐसे fresh eyes वाले व्यक्ति का देखना अच्छा होता है, जिसे दशकों के मौजूदा इतिहास ने shape न किया हो
संदर्भ के लिए, डिस्प्ले को फिक्स करने के लिए इस्तेमाल किए गए फ्रेम का लिंक एक्सेस रोकता है
https://www.leroymerlin.fr/produits/decoration-eclairage/dec...
जिज्ञासु लोगों के लिए, यह MILO 21 x 29.7 cm काला फ्रेम है। नीचे वाला लिंक मेरे लिए खुलता है
https://www.leroymerlin.pt/produtos/decoracao-e-tapetes/mold...
और इस्तेमाल की गई स्क्रीन, HMTECH Raspberry Pi Screen 10.1, ढूंढना भी काफ़ी मुश्किल है। क्या समान क्वालिटी और स्पेक्स वाली कोई स्क्रीन सुझाई जा सकती है?
यह भी जानना चाहता हूँ कि इन्फ्रारेड लाइटिंग और इन्फ्रारेड कैमरा क्यों इस्तेमाल किए गए हैं
“कला ज़्यादातर अपने अंदरूनी संसार को उजागर करने का काम है, तकनीक उसका सिर्फ़ एक हिस्सा है” — इस पर, मैंने हमेशा सोचा है कि कला भावनाओं को सुरक्षित रखने और पैदा करने का तरीका है। इसलिए दीवार पर चिपका केला भी कला है, और पॉप म्यूज़िक भी अभी भी कला है
शायद स्कूल का असर हो, लेकिन मैं भी अक्सर “क्यों?” पूछता हूँ
यह आविष्कार खुद निश्चित रूप से कलाकृति है, लेकिन इसका आउटपुट मेरी नज़र में नहीं। यह बादलों जैसा है। कई तरह की आकृतियाँ बनाता है, कुछ मज़ेदार होती हैं, कुछ किसी करीबी की याद दिला सकती हैं, लेकिन फिर भी यह औसत निकाली हुई यादृच्छिकता है
हालांकि वास्तविकता को इस डिजिटल यादृच्छिकता में प्रतिबिंबित कराने का विचार निस्संदेह कला है। और भले ही वह दृश्य या श्रव्य न हो, software, hardware, code, design भी कला हैं। इन्हें बनाना कठिन है, इसलिए यह पहले पैराग्राफ के तर्क का प्रतिउदाहरण भी है
दीवार पर चिपका केला कला नहीं है। वह बस रोज़मर्रा की वस्तु को रोज़मर्रा की व्यवस्था में रखना है
आपको वह कला लग सकती है, लेकिन तब शायद आपने वास्तविक कला का पर्याप्त अनुभव नहीं किया है, या अब तक सिर्फ़ सतही उदाहरण ही देखे हैं
अगर कैमरा फ्रेम से अलग जगह पर हो तो ज़्यादा कूल लगेगा। कलात्मक आईने में झाँकना थोड़ा उबाऊ लगता है
क्यों न दूसरा बनाकर किसी के घर में रखा जाए, और एक तरफ़ का कैमरा वीडियो दूसरी तरफ़ भेजा जाए। आप किसी और का “प्रतिबिंब” देखते हैं, और ऐसे छोटे-छोटे पल बनते हैं जब दोनों एक साथ उस तस्वीर को देख रहे होते हैं। कई बना दें और कभी पता न चले कि आप किसे देख रहे हैं। यह फोटो-फ्रेम वर्ज़न वाला Omegle हो जाएगा
मुझे याद है कि इस तरह की चीज़ पहले सार्वजनिक जगहों पर art installation के रूप में बनाई जा चुकी है। उसमें दुनिया के अलग-अलग हिस्सों के लोगों को देखने और उनसे interact करने की सुविधा थी
उदाहरण के लिए यह https://www.inavateonthenet.net/news/article/vc-art-installa...
कुछ पुराने काम के low-voltage brackets और brush wall plates खरीदकर (https://www.homedepot.com/p/Carlon-1-Gang-Non-Metallic-Low-V..., https://www.homedepot.com/p/Commercial-Electric-1-Gang-Brush...) पावर केबल को दीवार के अंदर ले जाएँ तो यह कहीं ज़्यादा साफ़-सुथरा दिखेगा
वाकई शानदार आइडिया है, और मैं अपनी बुकशेल्फ़ पर भी एक रखना चाहूँगा
कहा गया कि “मौजूदा setup की मुख्य समस्या कम frame rate है”, लेकिन मैं इसे सीमा नहीं, बल्कि feature कहना चाहूँगा। इमेज को थोड़ा प्रोसेस करके आत्मसात करने का समय मिलना बुरा नहीं है
बल्कि मैं refresh interval को 5–15 मिनट तक बढ़ाना चाहूँगा, और जब भी कुछ बदले या motion detect हो, तभी नई इमेज capture करके generate कराना चाहूँगा
क्या images के बीच high frame rate वाला morphing effect डालने पर विचार किया है? इससे perceived frame rate बढ़ेगा और यह काफ़ी कूल दिखेगा
https://hardwork.party/aws-epoch-optimizer/
“कला तकनीक को बहुत ज़्यादा फ़िल्टर करती है। क्या दोनों को असंबद्ध किया जा सकता है?” वाली दिशा मुझे सच में बहुत पसंद आई
जनरेटिव AI approach का विरोध करने की वजह समझ में आती है, लेकिन असल में कभी-कभी शानदार ideas सूझते हैं, पर उन्हें खुद बनाने की तकनीकी क्षमता नहीं होती। ऐसे हर idea के लिए महीनों, सालों लगाना संभव नहीं, और वह इतना अहम भी नहीं होता कि किसी skilled artist को सैकड़ों डॉलर दिए जाएँ
अब लोगों के लिए अपनी चाही चीज़ generate करके उसका आनंद लेने का रास्ता खुल गया है, और यह अच्छी बात है। कम-से-कम personal use में तो; commercial purpose में मामला थोड़ा जटिल हो जाता है
इसलिए जब कोई कहता है “अच्छा idea है”, तो असल में उसका मतलब “अच्छा काम है” के ज़्यादा करीब होता है
AI work से supported ideas को लोग valuable मानेंगे या नहीं, यह समय बताएगा। क्या हम फर्क भी कर पाएँगे? कोई नहीं जानता
यहाँ दिखाई गई चीज़ कोई भी नहीं बना सकता, और यह अनजाने में इस बात की पुष्टि करता है कि reality को distort करने वाली machine बनाने के लिए तकनीक चाहिए। Generated photos खुद कला नहीं हैं
अगर मौजूदा setup की मुख्य समस्या कम frame rate है, तो शायद इसे उल्टा 0.3~1 fps तक और कम कर देना बेहतर हो सकता है!