- PabloNet เป็นอุปกรณ์ที่แปลงภาพจากเว็บแคมเป็น real-time diffusion แล้วแสดงบน LCD แบบใส่กรอบ ทำให้ผู้ใช้สัมผัสภาพที่สร้างขึ้นในฐานะวัตถุจริงที่แขวนอยู่บนผนัง ไม่ใช่แค่เดโมบนแล็ปท็อป
- การติดตั้งประกอบด้วยเซิร์ฟเวอร์ที่ใช้ StreamDiffusion เป็นฐาน, ไคลเอนต์ Raspberry Pi 5, หน้าจอ 10.1 นิ้ว, กล้อง Pi NoIR, ไฟอินฟราเรด และกรอบรูปทั่วไป
- ข้อจำกัดที่ใหญ่ที่สุดคือ อัตราเฟรมต่ำ แม้จะปรับปรุงด้วย TensorRT และการบีบอัดภาพขาเข้า/ขาออกแล้ว แต่ก็ยังมีพื้นที่ให้เพิ่มความตอบสนองอีก
- สไตล์ภาพที่ต้องการสร้างด้วยพรอมป์ต์อย่างเดียวได้ยาก จึงทดลองใช้ ฟิลเตอร์ pre-processing ร่วมด้วย และสไตล์ Picasso โทนสีน้ำเงินได้มาจากการผสม Canny edge detection, การลงสีฟ้า และ blur
- ในอัปเดตเดือนมกราคม 2025 หลังจากได้รับกระแสตอบรับบน HN จนมีออเดอร์เข้ามา ตัวอุปกรณ์ก็พัฒนาไปเป็นเวอร์ชันที่เรียบร้อยและพร้อมจัดส่งมากขึ้น โดยใช้ Pi Zero, เมาท์พิมพ์ 3D, แผงหลังเลเซอร์คัต และ WiFi dongle
เฟรม diffusion แบบเรียลไทม์ที่แขวนอยู่บนผนัง
- PabloNet เป็นอุปกรณ์ที่รับอินพุตจากเว็บแคม ทำ การแปลงภาพแบบเรียลไทม์ และแสดงผลลัพธ์บน LCD ในรูปแบบกรอบรูป
- การทดลองช่วงแรกที่รัน StreamDiffusion บนแล็ปท็อปนั้นสนุกดี แต่รูปแบบแล็ปท็อปทำลายความลุ่มลึกของประสบการณ์ และให้ความรู้สึกชั่วคราวกับ “geeky”
- เมื่อทำเป็นเฟรม LCD แบบแขวนผนัง หน้าจอจึงไม่ใช่แค่ดิสเพลย์ธรรมดา แต่ทำงานเหมือน วัตถุที่มีความคงอยู่
- สามารถกลับมาพบมันอีกครั้งได้ในช่วงเวลาต่างกัน อารมณ์ต่างกัน แสงต่างกัน พร้อมวัตถุหรือเพื่อนคนละแบบ
- มีวิดีโอตัวอย่างการโต้ตอบกับใบหน้า แสงอินฟราเรดในที่มืด วัตถุ และเพื่อน ๆ
- ตอนนี้ข้อจำกัดที่ใหญ่ที่สุดคือ FPS ต่ำ
- ใช้ TensorRT และบีบอัดภาพอินพุต/เอาต์พุตเพื่อเพิ่มอัตราเฟรม
- ถึงอย่างนั้นก็ยังมีช่องให้ปรับปรุงอีกมาก
ฮาร์ดแวร์ที่ใช้และการสร้างสไตล์ภาพ
- โค้ดฝั่งไคลเอนต์และเซิร์ฟเวอร์ถูกเผยแพร่ไว้ที่ pablonet เพื่อให้ทำตามเองหรือร่วมพัฒนาได้
- ฮาร์ดแวร์ชุดแรก:
- โฮสต์เซิร์ฟเวอร์: RunPod
- ไคลเอนต์: Raspberry Pi 5
- หน้าจอ: 10.1" Pi screen
- แสงสว่าง: infrared light
- กรอบ: generic frame
- กล้อง: infrared Pi camera
- รูสำหรับกล้องเจาะบนกระดาษแข็งของกรอบด้วย puncher ซึ่งตัดได้สะอาดกว่าการใช้สว่าน
- ผลลัพธ์ด้านภาพไม่ได้เกิดจากพรอมป์ต์อย่างเดียว และ ฟิลเตอร์ pre-processing ก็สำคัญพอ ๆ กัน
- ถ้าใช้ img2img โดยไม่มี pre-processing ผลลัพธ์มักดูสมจริงเกินไป
- สไตล์ Picasso โทนสีน้ำเงินถูกสร้างจากการผสม Canny edge detection, การลงสีฟ้า และ blur
เวอร์ชันที่สองซึ่งพร้อมจัดส่งหลังได้กระแสตอบรับจาก HN
- หลังจาก เธรด บน Hacker News โปรเจ็กต์ได้รับความสนใจและมีคำสั่งซื้อเข้ามาแบบไม่คาดคิด จึงทำเวอร์ชันที่เรียบร้อยและพร้อมจัดส่งมากขึ้น
- เวอร์ชันที่สองเปลี่ยนไปในทิศทางที่ลดความไม่สะดวกของอุปกรณ์ต้นฉบับ
- อุปกรณ์เดิมต้องคอยประคองไม่ให้ชิ้นส่วนอิเล็กทรอนิกส์หลุดก่อนจะติดเข้ากับผนัง
- สำหรับงานที่มีแค่เรียก API และแสดงภาพ ก็รู้สึกว่า Pi รุ่นปกตินั้นทั้งเกินความจำเป็นและแพงเกินไป
- สภาพสายเคเบิลก็ดูไม่เรียบร้อย
- ชิ้นส่วนที่ซื้อมาได้รับการออกแบบเป็น CAD ใน Fusion 360 และหลังทำชิ้นส่วนคัสตอมซ้ำ 4 รอบ ก็ลงตัวที่ เมาท์พิมพ์ 3D 2 ชิ้น และแผงหลังเลเซอร์คัต
- หน้าที่ของเมาท์:
- ยึดหน้าจอให้พอดีกับกระจกกรอบและกระดาษแข็ง
- ยึด Pi Zero และกล้อง
- ทำหน้าที่เป็น keyhole slot สำหรับแขวนผนัง
- ทำให้สามารถยึดชุดประกอบเข้ากับกรอบด้วยสกรูและนอตได้
- ทำให้สามารถยึดแผงหลังได้ด้วย threaded insert ที่ฝังในชิ้นพิมพ์ 3D ด้วยหัวแร้งบัดกรี และยึดด้วยสกรู
วิธีตั้งค่าที่ทำให้ผู้ใช้จัดการเองได้
- เพื่อเพิ่มความพร้อมในการจัดส่ง จำเป็นต้องแก้เรื่อง user affordance
- เวอร์ชันแรกใช้เมาส์และคีย์บอร์ด Bluetooth ที่ตั้งค่าไว้ล่วงหน้าผ่านพอร์ต USB ของ Pi
- มองว่าไม่เหมาะที่จะให้ผู้ใช้เปิดแผงหลัง แล้วต้องตั้งค่า USB hub, เมาส์กับคีย์บอร์ดแบบมีสาย และการจับคู่ Bluetooth ด้วยตัวเอง
- เพื่อหลีกเลี่ยงสิ่งนี้ จึงเพิ่ม WiFi dongle เพื่อให้ Pi ทำงานเป็น access point สำหรับการเชื่อมต่อ SSH ได้ ขณะเดียวกันก็ยังเชื่อมอินเทอร์เน็ตผ่าน network interface เดิม
- รายละเอียดการประกอบเพิ่มเติมดูได้ที่ ที่เก็บ pablonet และสามารถติดต่อสั่งทำได้ทางอีเมล
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เจ๋งดี ลองไล่อ่านโค้ดแล้วเห็นทิปสองสามอย่างที่น่าจะช่วยปรับปรุง เฟรมเรตต่ำ ได้
การเข้ารหัสไบต์ JPEG เป็น Base64 จะทำให้ payload ใหญ่ขึ้นได้ราว ๆ 30% และใช้ CPU ทั้งฝั่งไคลเอนต์กับเซิร์ฟเวอร์ WebSocket ส่ง payload แบบไบนารีได้อยู่แล้ว จึงไม่จำเป็นต้องทำให้เป็นข้อความ
อาจลองตัดการบีบอัด JPEG แบบสูญเสียข้อมูลออก แล้วส่งไบต์ RGB ดิบผ่านเครือข่ายไปเลยก็ได้ ฝั่งเซิร์ฟเวอร์ก็แค่เรียก
Image.frombuffer(…)StreamDiffusion ทำ batch processing อย่างกว้างขวางใน pipeline จึงทำเฟรมเรตสูงได้ แต่ในที่นี้ไคลเอนต์ส่งทีละเฟรมแล้วรอคำตอบ จึงไม่ได้ประโยชน์ส่วนนั้น วิธีนำเฟรมขาเข้าเข้าคิวแล้ว consume เป็น batch ดูตัวอย่างนี้ได้ https://github.com/cumulo-autumn/StreamDiffusion/blob/main/e...
หรือจะดูโมเดล SDXL Turbo กับ Lightning ก็ได้ สำหรับ img2img นั้นเร็วมาก แต่จำกัดความละเอียดไว้ที่ 512² หรือ 1024² พิกเซลตามลำดับ ดูต่ำกว่าเป้าหมายไปนิด แต่รันแบบเรียลไทม์ในเครื่องได้บน GPU ระดับผู้บริโภคขั้นสูง โค้ดอ้างอิงอยู่ที่นี่ https://github.com/GradientSurfer/Draw2Img/tree/main
ต่อคำพูดที่ว่า “การสร้างศิลปะเป็นเรื่องยาก แต่ศิลปะส่วนใหญ่คือการเผยโลกภายในออกมา ส่วนเทคโนโลยีเป็นเพียงส่วนหนึ่งเท่านั้น น่าเสียดายที่ศิลปะคัดกรองคนด้วยเทคนิคแรงเกินไป” ผมไม่อยากฟังดูเหมือนพวกลัดไดต์ แต่ก็สงสัยกับแนวคิดที่ว่า ช่องว่างทางทักษะ เป็นแค่ความไม่สะดวกธรรมดา ๆ
ผมมองว่ากระบวนการเรียนวาดภาพหรือทำดนตรีเปลี่ยนบางอย่างในตัวเรา และสอนบทเรียนชีวิตที่ลึกซึ้งกว่า
เคยได้ยินคำพูดว่า “งานศิลปะยิ่งใหญ่ไม่ได้ถูกสร้างโดยอัจฉริยะ แต่อัจฉริยภาพมาเยือนอย่างไม่คาดฝันราวกับลมกรรโชก” สิ่งที่ดีที่สุดที่ศิลปินทำได้คือบ่มเพาะโอกาสแบบนั้น และการกำจัดช่องว่างทางทักษะก็ดูเหมือนเป็นการตัดกระบวนการบ่มเพาะนั้น ตัดสาระสำคัญของการเปลี่ยนแปลงตนเองออกไป
ดูเหมือนมีหลักการทำงานอันลึกซึ้งบางอย่างที่เรายังไม่รู้ว่าคืออะไร และไม่รู้จะพูดถึงมันอย่างไร แต่ยังย้อนกลับมาหาเราอยู่เรื่อย ๆ โปรเจกต์นี้สนุกและดูมีประโยชน์ต่อหลายคน แต่บางครั้งก็ทำให้คิดแบบนี้
ถ้าถามว่าโปรเจกต์ทั้งชุดมีคุณสมบัตินั้นไหมก็คลุมเครือกว่า แต่โดยส่วนตัวคิดว่าไม่มี มันดูเป็นงานที่ขับเคลื่อนด้วยเทคนิคมากกว่าจิตวิทยา แน่นอนว่ากระจกมีนัยเชิงสัญลักษณ์สูง จึงเขียน artist statement อ้างว่าเป็นงานเชิงจิตวิทยาได้
ถึงอย่างนั้นผมก็ชอบ และถ้าผมเป็นคนทำก็คงภูมิใจ เพียงแต่มันใกล้กับ ฝีมือเชิงเทคนิค มากกว่าศิลปะ
ถ้าเป็นผม น่าจะลดเฟรมเรตลงมากกว่าจะเพิ่ม เป็นการใช้ข้อจำกัดนั้นแทนที่จะสู้กับข้อจำกัดทางเทคนิค ผมจะทำให้ระบบแสดงเฉพาะภาพที่ “ดี” และไม่รีเฟรชหน้าจอจนกว่าจะสร้างภาพ “ดี” อีกภาพได้ โค้ดที่ตัดสินว่าภาพ “ดี” หรือไม่จะกลายเป็นส่วนที่น่าสนใจที่สุดของระบบ และบอกได้ว่ามันบรรจุเจตนาของศิลปินไว้ จึงอาจเข้าใกล้ Art ตัว A ใหญ่ตามเกณฑ์ส่วนตัวของผมมากขึ้น
ผมคงทดลอง buffer สตรีมภาพแบบใน Light of Other Days ของ Bob Shaw ด้วย
แล้วพอดีใกล้ฮาโลวีน คงยั่วใจมากที่จะ inpainting เป็นคนที่ยืนอยู่ข้างหลังผู้ชมเป็นครั้งคราว
เพื่อให้ภาพมีเสถียรภาพ แทนที่จะสร้างภาพสุ่ม จะให้ LLM สร้างโค้ดฟิลเตอร์วิดีโอแบบสุ่มได้ไหม เช่น “เขียนฟิลเตอร์วิดีโอที่ทำให้วิดีโออินพุตดูเหมือนคิวบิสม์”, “เหมือนภาพสีน้ำมัน”, “ในสุนทรียะแบบ Flash” ถ้าสร้างฟิลเตอร์ได้และรันไม่ล่มจริง ๆ ก็ค่อยสลับไปใช้ฟิลเตอร์นั้น ไม่รู้ว่าเป็นไปได้ไหม
Mona Lisa ไม่ใช่แค่ภาพที่วาดคนได้ดี แต่เต็มไปด้วยรายละเอียดและความหมายที่มีแต่คนที่ศึกษาจิตรกรรมจึงจะเข้าใจ AI สร้างภาพที่ใช้ได้หรือน่าสนใจได้ แต่พูดภาษาของจิตรกรรมไม่ได้ สิ่งนั้นต้องอาศัยความพยายามจริง ๆ เพื่อเรียนรู้และซาบซึ้ง การใส่เทคนิคการลงพู่กันเข้าไปในสมองมนุษย์หรือเครื่องมือ AI ไม่ได้ทำให้ใครกลายเป็นศิลปิน
บางครั้งการให้คนที่มี สายตาใหม่ ซึ่งไม่ได้ถูกหล่อหลอมด้วยประวัติเดิมหลายสิบปี มองบางสิ่งก็เป็นเรื่องดี
สำหรับอ้างอิง ลิงก์ของเฟรมที่ใช้ยึดจอแสดงผลถูกบล็อกไม่ให้เข้าถึง
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 ที่ใช้เป็นจอก็ค่อนข้างหายาก มีจอคุณภาพและสเปกใกล้เคียงที่พอจะแนะนำได้ไหม?
ยังสงสัยด้วยว่าทำไมถึงใช้ แสงอินฟราเรดและกล้องอินฟราเรด
สำหรับประโยคที่ว่า “ศิลปะส่วนใหญ่คือการเผยโลกภายในออกมา ส่วนเทคโนโลยีเป็นเพียงส่วนหนึ่งเท่านั้น” ฉันคิดมาตลอดว่าศิลปะคือการเก็บรักษาและสร้างอารมณ์ ดังนั้นกล้วยที่ติดอยู่บนผนังก็เป็นศิลปะ และเพลงป็อปก็ยังเป็นศิลปะ
อาจเป็นผลจากโรงเรียนก็ได้ แต่ฉันเองก็มักถามว่า “ทำไม?” อยู่บ่อย ๆ
สิ่งประดิษฐ์นี้เองเป็น งานศิลปะ อย่างชัดเจน แต่ผลลัพธ์ของมัน ในสายตาฉันไม่ใช่ มันเหมือนเมฆ สร้างรูปทรงได้หลากหลาย บางอย่างตลก บางอย่างอาจทำให้นึกถึงคนใกล้ตัว แต่ถึงอย่างไรก็ยังเป็นความสุ่มที่ถูกเฉลี่ย
อย่างไรก็ตาม แนวคิดในการสะท้อนความเป็นจริงผ่านความสุ่มดิจิทัลนี้เป็นศิลปะอย่างไม่ต้องสงสัย และแม้จะไม่ใช่สิ่งที่มองเห็นหรือได้ยิน ซอฟต์แวร์ ฮาร์ดแวร์ โค้ด และดีไซน์ก็เป็นศิลปะเช่นกัน ในแง่ที่มันสร้างได้ยาก จึงเป็นตัวอย่างโต้แย้งประเด็นในย่อหน้าแรกด้วย
กล้วยที่ติดอยู่บนผนังไม่ใช่ศิลปะ มันเป็นเพียงการวางวัตถุธรรมดาไว้ในการจัดวางธรรมดาเท่านั้น
คุณอาจรู้สึกว่ามันเป็นศิลปะได้ แต่ถ้าเป็นเช่นนั้น อาจเป็นเพราะยังไม่ได้สัมผัสศิลปะจริงมากพอจนไม่มีคลังประสบการณ์ หรือที่ผ่านมาได้เห็นแต่ตัวอย่างผิวเผินเท่านั้น
ถ้ากล้องอยู่คนละที่กับเฟรมคงจะเท่กว่า การมองเข้าไปในกระจกศิลปะดูน่าเบื่อนิดหน่อย
ถ้าทำชิ้นที่สองแล้วเอาไปไว้ในบ้านของใครสักคน แล้วส่งภาพจากกล้องฝั่งหนึ่งไปยังอีกฝั่งจะเป็นอย่างไร จะได้เห็น “ภาพสะท้อน” ของคนอื่น และเกิดช่วงเวลาสั้น ๆ ที่ทั้งสองคนมองภาพนั้นพร้อมกัน จะทำหลายอันให้ไม่มีทางรู้เลยว่ากำลังมองใครอยู่ก็ได้ กลายเป็น Omegle เวอร์ชันกรอบรูปนั่นเอง
ฉันจำได้ว่าสิ่งแบบนี้เคยถูกทำเป็นงานติดตั้งศิลปะในพื้นที่สาธารณะมาแล้ว เป็นวิธีให้ได้เห็นและโต้ตอบกับผู้คนในที่ต่าง ๆ ทั่วโลก
เช่นอันนี้ https://www.inavateonthenet.net/news/article/vc-art-installa...
ถ้าซื้อแผงยึดแรงดันต่ำสำหรับงานติดตั้งย้อนหลังกับแผ่นครอบผนังแบบแปรงมาสักสองสามอัน (https://www.homedepot.com/p/Carlon-1-Gang-Non-Metallic-Low-V..., https://www.homedepot.com/p/Commercial-Electric-1-Gang-Brush...) แล้วเดินสายไฟเข้าไปในผนัง น่าจะดูดีขึ้นมาก
เป็นไอเดียที่เจ๋งจริง ๆ และฉันก็อยากมีไว้บนชั้นหนังสือสักอัน
แม้จะบอกว่า “ปัญหาหลักของการจัดวางปัจจุบันคือเฟรมเรตต่ำ” แต่ฉันอยากเรียกสิ่งนี้ว่า ฟีเจอร์ มากกว่าข้อจำกัด การมีเวลาสักครู่เพื่อประมวลผลและรับภาพนั้นไม่ใช่เรื่องแย่
กลับกัน ฉันอยากเพิ่มรอบการอัปเดตเป็น 5–15 นาที และให้จับภาพใหม่มาสร้างทุกครั้งที่มีบางอย่างเปลี่ยนไปหรือตรวจพบการเคลื่อนไหว
เคยพิจารณาใส่ เอฟเฟกต์มอร์ฟิง เฟรมเรตสูงระหว่างภาพไหม? น่าจะช่วยเพิ่มเฟรมเรตที่รู้สึกได้และดูเท่มาก
https://hardwork.party/aws-epoch-optimizer/
ชอบทิศทางที่ว่า “ศิลปะคัดกรองเทคโนโลยีแรงเกินไป จะทำให้สองอย่างนี้ไม่สัมพันธ์กันได้ไหม?” มาก
เข้าใจเหตุผลที่คัดค้านแนวทาง AI เชิงสร้างสรรค์ แต่ในความเป็นจริง บางครั้งแม้จะมีไอเดียเจ๋ง ๆ ผุดขึ้นมา ก็ไม่มีทักษะที่จะลงมือสร้างเอง จะให้ทุ่มเวลาหลายเดือนหรือหลายปีเพื่อไอเดียแต่ละอย่างก็ไม่ได้ และมันก็ไม่ได้สำคัญพอจะจ่ายเงินหลายร้อยดอลลาร์ให้ศิลปินที่ชำนาญทำให้
ตอนนี้มีช่องทางให้ผู้คนลองสร้างสิ่งที่ต้องการและสนุกกับมันได้แล้ว ซึ่งเป็นเรื่องดี อย่างน้อยก็สำหรับการใช้งานส่วนตัว ส่วนถ้าเป็นวัตถุประสงค์เชิงพาณิชย์ก็จะซับซ้อนขึ้นหน่อย
เพราะฉะนั้น เวลามีคนพูดว่า “เป็นไอเดียที่ดี” ความหมายจริง ๆ จะใกล้เคียงกับ “เป็นผลงานที่ดี” มากกว่า
เวลาจะเป็นเครื่องพิสูจน์ว่าผู้คนจะมองไอเดียที่มีผลงานจาก AI หนุนหลังว่ามีคุณค่าหรือไม่ แล้วจะแยกแยะได้หรือเปล่า? ก็ไม่มีใครรู้
สิ่งที่นำเสนออยู่นี้ไม่ใช่ว่าใครก็สร้างได้ และเท่ากับเป็นการยืนยันโดยไม่ตั้งใจว่าการสร้างเครื่องจักรที่บิดเบือนความเป็นจริงนั้นต้องใช้ เทคโนโลยี ภาพถ่ายที่ถูกสร้างขึ้นมาไม่ได้เป็นศิลปะ
ถ้าปัญหาหลักของโครงสร้างปัจจุบันคือเฟรมเรตต่ำ บางทีการลดให้ต่ำลงไปอีกเป็นราว 0.3~1 fps อาจจะดีกว่าก็ได้!