1 điểm bởi GN⁺ 2024-10-24 | 1 bình luận | Chia sẻ qua WhatsApp
  • PabloNet là một thiết bị biến hình ảnh webcam thành diffusion thời gian thực và hiển thị trên một màn hình LCD dạng khung tranh, giúp người xem trải nghiệm ảnh sinh ra như một vật thể vật lý treo trên tường chứ không chỉ là bản demo trên laptop
  • Cách triển khai kết hợp máy chủ dựa trên StreamDiffusion, client Raspberry Pi 5, màn hình 10.1 inch, camera Pi NoIR, đèn hồng ngoại và một khung tranh thông thường
  • Hạn chế lớn nhất là tốc độ khung hình thấp; tác giả đã cải thiện bằng TensorRT và nén ảnh đầu vào/đầu ra nhưng vẫn còn dư địa để tăng độ phản hồi
  • Do khó tạo đúng phong cách mong muốn chỉ bằng prompt, tác giả còn thử nghiệm thêm bộ lọc tiền xử lý; phong cách Picasso màu xanh được tạo bằng cách kết hợp Canny edge detection, tô màu xanh và làm mờ
  • Trong bản cập nhật tháng 1/2025, sau phản hồi từ HN và xuất hiện đơn đặt hàng, dự án đã phát triển thành một phiên bản gọn gàng hơn có thể giao hàng, với Pi Zero, ngàm in 3D, tấm lưng cắt laser và USB WiFi dongle

Khung diffusion thời gian thực treo trên tường

  • PabloNet nhận đầu vào từ webcam, thực hiện biến đổi ảnh thời gian thực và hiển thị kết quả trên một màn hình LCD dạng khung tranh
  • Thử nghiệm ban đầu chạy StreamDiffusion trên laptop tuy thú vị nhưng kiểu dáng laptop làm phá vỡ ảo giác, tạo cảm giác tạm bợ và khá “geeky”
  • Khi được làm thành khung LCD treo tường, màn hình không còn chỉ là một thiết bị hiển thị mà hoạt động như một vật thể có tính hiện diện lâu dài
    • Có thể gặp lại nó vào những thời điểm khác nhau, trong tâm trạng khác nhau, dưới ánh sáng khác nhau, với các đồ vật khác nhau và cùng những người bạn khác nhau
    • Có kèm các video ví dụ về khuôn mặt, ánh sáng hồng ngoại trong bóng tối, đồ vật và tương tác với bạn bè
  • Hạn chế lớn nhất hiện nay là FPS thấp
    • Tác giả dùng TensorRT và nén ảnh đầu vào/đầu ra để tăng tốc độ khung hình
    • Dù vậy vẫn còn nhiều chỗ để tiếp tục cải thiện

Cấu hình phần cứng và cách tạo phong cách thị giác

  • Mã client và server được công bố tại pablonet để mọi người có thể tự làm hoặc đóng góp
  • Cấu hình phần cứng ban đầu:
  • Lỗ cho camera được tạo trên tấm bìa của khung bằng dụng cụ đục lỗ, cho vết cắt sạch hơn so với dùng khoan
  • Kết quả hình ảnh không được tạo chỉ bằng prompt; bộ lọc tiền xử lý cũng quan trọng gần như tương đương
    • Khi dùng img2img mà không tiền xử lý, kết quả thường trông quá thực
    • Phong cách Picasso màu xanh được tạo bằng cách kết hợp Canny edge detection, tô xanh và làm mờ

Phiên bản thứ hai có thể giao hàng sau phản hồi từ HN

  • Sau thread trên Hacker News, dự án nhận được sự chú ý và có những đơn đặt hàng ngoài dự kiến, nên tác giả đã làm một phiên bản gọn gàng hơn có thể giao hàng
  • Phiên bản thứ hai được điều chỉnh để giảm bớt những bất tiện của thiết bị ban đầu
    • Ở thiết bị cũ, trước khi treo lên tường phải giữ cho các linh kiện điện tử không bị rơi ra
    • Với mục đích chỉ gọi API và hiển thị ảnh, một chiếc Pi thường bị xem là hơi thừa và đắt
    • Tình trạng dây cáp cũng không đẹp mắt
  • Tác giả dựng CAD trong Fusion 360 từ các linh kiện đã mua, lặp lại bốn vòng với các bộ phận tùy chỉnh và chốt phương án gồm 2 ngàm in 3D cùng một tấm lưng cắt laser
  • Vai trò của các ngàm:
    • Cố định màn hình khớp với mặt kính và tấm bìa của khung
    • Cố định Pi Zero và camera
    • Đóng vai trò keyhole slot để treo tường
    • Cho phép cố định toàn bộ cụm vào khung bằng vít và đai ốc
    • Cho phép cố định tấm lưng bằng threaded insert được cấy vào chi tiết in 3D bằng mỏ hàn và vít

Cách thiết lập để người dùng có thể tự thao tác

  • Để tăng khả năng giao hàng, cần giải quyết affordance cho người dùng
    • Ở phiên bản đầu, tác giả dùng chuột và bàn phím Bluetooth đã cấu hình sẵn qua cổng USB của Pi
    • Tác giả cho rằng việc để người dùng tự mở tấm lưng, cắm USB hub, chuột và bàn phím có dây rồi tự cấu hình ghép đôi Bluetooth là không ổn
    • Để tránh điều đó, tác giả thêm USB WiFi dongle để Pi có thể hoạt động như một access point phục vụ kết nối SSH, đồng thời vẫn kết nối Internet qua giao diện mạng hiện có
  • Có thể xem chi tiết tự chế tạo trong kho pablonet, và tác giả cũng nhận đặt làm qua email

1 bình luận

 
GN⁺ 2024-10-24
Ý kiến trên Hacker News
  • Rất ngầu. Lướt qua code thì thấy có vài mẹo để cải thiện tốc độ khung hình thấp
    Nếu mã hóa byte JPEG thành Base64 thì payload có thể tăng tới khoảng 30% và còn tốn CPU ở cả phía client lẫn server. WebSocket có thể gửi payload nhị phân, nên không cần biến nó thành văn bản
    Cũng có thể cân nhắc bỏ nén JPEG có mất dữ liệu, thay vào đó chỉ gửi byte RGB thô qua mạng. Ở phía server chỉ cần gọi Image.frombuffer(…) là xong
    StreamDiffusion có thể đạt tốc độ khung hình cao nhờ xử lý theo lô rộng khắp trong pipeline, nhưng ở đây client chỉ gửi từng khung hình một rồi chờ phản hồi nên không tận dụng được lợi thế đó. Có thể tham khảo ví dụ này về cách đưa các khung hình đầu vào vào hàng đợi rồi tiêu thụ theo lô https://github.com/cumulo-autumn/StreamDiffusion/blob/main/e...
    Hoặc cũng đáng xem SDXL Turbo và các model Lightning. Chúng rất nhanh trong img2img, nhưng bị giới hạn độ phân giải ở 512² hoặc 1024² pixel tương ứng. Có vẻ hơi thấp hơn mục tiêu, nhưng vẫn có thể chạy thời gian thực cục bộ trên GPU tiêu dùng cao cấp. Mã tham khảo ở đây https://github.com/GradientSurfer/Draw2Img/tree/main

    • Nhưng cũng tự hỏi liệu nhất thiết phải thời gian thực như vậy không. Có lẽ tự nhiên hơn nếu có kiểu một cái nút, người ta tạo dáng rồi chụp ảnh, sau đó ảnh được biến đổi và trả lại dưới dạng tranh, và bức tranh đó sẽ ở lại cho đến khi chụp bức tiếp theo. Làm vậy có thể khiến ảo giác nghệ thuật tốt hơn. Dĩ nhiên lúc đó nó sẽ không còn là “gương” nữa
    • Sau khi làm hết những thứ đó, sẽ hay nếu xem cả nội suy 2D không cần AI cho các khung hình trung gian. Có những phép toán kernel rất nhanh để nội suy tuyến tính siêu tốc từ một khối sang khối khác
  • Về câu “làm nghệ thuật là điều khó. Nhưng nghệ thuật phần lớn là bộc lộ thế giới nội tâm, còn kỹ thuật chỉ là một phần. Việc nghệ thuật sàng lọc quá mạnh theo kỹ năng kỹ thuật là điều đáng tiếc”, tôi không muốn nghe như một kẻ Luddite, nhưng tôi nghi ngờ ý nghĩ rằng khoảng cách kỹ năng chỉ đơn thuần là một sự bất tiện
    Tôi cho rằng quá trình học vẽ hay làm nhạc sẽ thay đổi điều gì đó bên trong con người và dạy những bài học sâu sắc hơn về cuộc sống
    Tôi từng nghe câu “tác phẩm nghệ thuật vĩ đại không phải do thiên tài tạo ra, mà là khi sự thiên tài bất ngờ ập đến như một cơn gió lốc”. Điều tốt nhất nghệ sĩ có thể làm là vun đắp cơ hội cho điều đó xảy ra, và việc loại bỏ khoảng cách kỹ năng dường như cũng loại bỏ quá trình vun đắp ấy, tức bản chất của việc tự biến đổi bản thân
    Có vẻ như có một vài cơ chế vận hành sâu xa cứ quay trở lại, dù ta không rõ chúng là gì và cũng không biết phải diễn đạt ra sao. Dự án này vui và có vẻ hữu ích với nhiều người, nhưng đôi lúc nó khiến tôi nghĩ vậy

    • Tôi nghĩ hướng “bộc lộ thế giới nội tâm” là đúng, nhưng vì thế nên thứ này có cảm giác giống giấy dán tường hơn là nghệ thuật. Nó không phải kiểu đào sâu vào tâm lý của chính mình để vớt lên những viên ngọc trai, và các hình ảnh này không có phẩm chất đó
      Còn liệu toàn bộ dự án có phẩm chất ấy không thì càng mơ hồ hơn, nhưng cá nhân tôi nghĩ là không. Nó trông như một tác phẩm vận hành bằng kỹ thuật hơn là vận hành bằng tâm lý. Dĩ nhiên gương là một biểu tượng giàu ý nghĩa, nên vẫn có thể viết artist note để lập luận rằng đây là một công việc mang tính tâm lý
      Dù vậy tôi vẫn thích nó, và nếu là tôi làm ra thì tôi cũng sẽ tự hào. Chỉ là nó gần với kỹ xảo hơn là nghệ thuật
      Nếu là tôi, tôi sẽ giảm tốc độ khung hình thay vì tăng nó. Đó là cách tận dụng giới hạn thay vì chống lại giới hạn kỹ thuật. Tôi sẽ làm cho hệ thống chỉ hiển thị những hình ảnh “đẹp”, rồi không cập nhật màn hình cho tới khi một hình ảnh “đẹp” khác được tạo ra. Phần code đánh giá một hình ảnh có “đẹp” hay không sẽ trở thành phần thú vị nhất của hệ thống, và có thể nói là mang ý đồ của nghệ sĩ, khiến nó tiến gần hơn với chữ A viết hoa trong Art theo tiêu chuẩn cá nhân của tôi
      Tôi cũng sẽ thử nghiệm việc đệm luồng hình ảnh như trong Light of Other Days của Bob Shaw
      Và vì Halloween đang đến gần, tôi nghĩ sức cám dỗ muốn inpaint thêm một nhân vật đứng phía sau người xem vào đôi lúc chắc sẽ cực kỳ lớn
      Để có được sự ổn định của hình ảnh, liệu có thể để LLM tạo mã bộ lọc video ngẫu nhiên thay vì tạo ảnh ngẫu nhiên không? Kiểu như “hãy viết một bộ lọc video làm cho video đầu vào trông như tranh lập thể”, “như tranh sơn dầu”, “theo thẩm mỹ Flash”. Khi bộ lọc được tạo ra và thực sự không bị crash thì chuyển sang bộ lọc đó. Tôi không biết điều này có khả thi không
    • Những câu kiểu “bộc lộ một điều gì đó bên trong” có thể khiến công chúng trầm trồ trong chốc lát, nhưng nghệ thuật hay cần nhiều hơn thế. Mọi loại hình nghệ thuật đều có ngôn ngữ và chuẩn mực, và đó là những thứ nghệ sĩ hấp thụ trong quá trình lớn lên khi học các kỹ năng cần thiết
      Mona Lisa không chỉ đơn giản là một bức tranh vẽ người rất giỏi. Nó chứa đầy chi tiết và ý nghĩa mà chỉ người đã học hội họa mới hiểu được. AI có thể tạo ra các hình ảnh ổn hoặc thú vị, nhưng nó không thể nói ngôn ngữ của hội họa. Điều đó đòi hỏi nỗ lực thực sự để học và để cảm thụ. Việc bơm kỹ thuật nét cọ vào bộ não con người hay vào công cụ AI không khiến ai đó trở thành nghệ sĩ
    • Tôi rất ủng hộ ý rằng “quá trình học vẽ hay âm nhạc sẽ thay đổi điều gì đó bên trong bạn và dạy những bài học sâu sắc hơn về cuộc sống”. Một ví dụ còn đơn giản hơn hội họa là viết lách. Ai cũng có chuyện để kể và ai cũng có thể viết, nhưng để tạo ra thứ gì đó đáng cho người khác bỏ thời gian đọc thì không phải vài ngày mà phải mài giũa tay nghề suốt nhiều năm, và trong quá trình đó tất yếu bạn sẽ hiểu chính mình hơn và kết tinh thế giới quan của mình
    • Điều này đi ngược với câu ngạn ngữ “các chuyên gia nói là không thể, nhưng những người nghiệp dư vẫn làm được mỗi ngày”
      Đôi khi thật tốt khi có ai đó với đôi mắt mới, chưa bị định hình bởi hàng chục năm lịch sử sẵn có, nhìn vào một điều gì đó
    • Vậy ra chỉ những người tự trồng cây để làm cả thuốc màu từ đầu mới có thể tạo ra nghệ thuật vĩ đại nhất à
  • Tham khảo thêm, liên kết tới khung dùng để cố định màn hình bị chặn truy cập
    https://www.leroymerlin.fr/produits/decoration-eclairage/dec...
    Nói cho ai tò mò thì đó là khung màu đen MILO 21 x 29.7 cm. Liên kết bên dưới thì tôi mở được
    https://www.leroymerlin.pt/produtos/decoracao-e-tapetes/mold...
    Ngoài ra cũng khá khó tìm đúng màn hình đã dùng là HMTECH Raspberry Pi Screen 10.1. Có ai gợi ý được màn hình nào có chất lượng và thông số tương tự không?
    Tôi cũng tò mò vì sao lại dùng đèn hồng ngoại và camera hồng ngoại

    • Mỗi lần thử tính chi phí để làm thứ này, cuối cùng tôi đều thấy rẻ hơn nhiều nếu dùng một máy tính bảng Android cũ ở chế độ kiosk và làm bằng web app
    • Việc dùng đèn hồng ngoại và camera hồng ngoại chắc là để nó hoạt động được trong chỗ tối
    • Không phải có thể mua màn hình trên Amazon sao? Dù vậy vì là màn hình cảm ứng nên có vẻ hơi thừa, thật ra gần như màn hình nào cũng được. Phần khung xung quanh thì tự làm là xong
  • Về câu “nghệ thuật phần lớn là bộc lộ thế giới nội tâm, còn công nghệ chỉ là một phần”, tôi luôn nghĩ nghệ thuật là việc lưu giữ và tạo ra cảm xúc. Vì thế quả chuối dán lên tường cũng là nghệ thuật, và nhạc đại chúng vẫn là nghệ thuật
    Có thể là ảnh hưởng từ trường lớp, nhưng tôi cũng hay hỏi “tại sao?”
    Bản thân phát minh này rõ ràng là một tác phẩm nghệ thuật, nhưng đầu ra của nó thì trong mắt tôi không phải vậy. Nó giống như mây vậy. Tạo ra nhiều hình dạng, cái thì buồn cười, cái thì có thể gợi nhớ đến người thân quen, nhưng rốt cuộc vẫn là tính ngẫu nhiên đã bị trung bình hóa
    Tuy vậy, ý tưởng phản chiếu thực tại vào kiểu ngẫu nhiên số này thì theo tôi chắc chắn là nghệ thuật. Và ngay cả khi không mang tính thị giác hay thính giác, phần mềm, phần cứng, mã nguồn và thiết kế cũng là nghệ thuật. Xét ở chỗ khó làm ra được, đây cũng là một phản ví dụ cho luận điểm ở đoạn đầu

    • Nếu nói “nghệ thuật là lưu giữ và tạo ra cảm xúc” thì vai trò của chủ đích trở nên mơ hồ. Nếu tôi tức giận, đầy ý thức đặc quyền và đỗ chiếc BMW chắn ngang hai chỗ đậu xe dành cho người khuyết tật thì đó có phải nghệ thuật không? Rõ ràng nó gợi ra cảm xúc, và cũng là kết quả được tạo ra bởi cảm xúc
    • Nghệ thuật phải có khả năng cuốn hút con người và phải độc đáo trong cách đưa ra chủ đề. Ngoài ra cũng phải có kỹ thuật can dự vào. Nếu không thì ngay khi nó tạo cảm giác rẻ tiền hoặc hời hợt, toàn bộ sẽ sụp đổ
      Quả chuối dán lên tường không phải nghệ thuật. Chỉ là đặt một vật thể thường ngày vào một bố trí thường ngày mà thôi
      Bạn có thể cảm thấy đó là nghệ thuật, nhưng nếu vậy thì có lẽ bạn chưa được tiếp xúc đủ với nghệ thuật thực sự để có vốn trải nghiệm, hoặc từ trước đến giờ chỉ mới thấy những ví dụ hời hợt
    • Chẳng phải đó chính là ý “bộc lộ thế giới nội tâm” sao?
  • Sẽ thú vị hơn nếu camera nằm ở chỗ khác với khung. Nhìn vào một chiếc gương nghệ thuật có vẻ hơi nhàm chán
    Nếu làm cái thứ hai rồi đặt ở nhà người khác, gửi hình từ camera bên này sang bên kia thì sao. Khi đó sẽ có những khoảnh khắc nhỏ nơi cả hai cùng nhìn vào “phản chiếu” của người kia. Cũng có thể làm nhiều cái để tuyệt đối không biết mình đang nhìn ai. Kiểu như Omegle dạng khung tranh

    • Ý hay đấy, nhưng đó là một món đồ hoàn toàn khác với thứ tác giả bài gốc đang muốn tạo ra
      Tôi nhớ là kiểu này đã từng được làm thành một tác phẩm sắp đặt nghệ thuật nơi công cộng. Nó cho phép nhìn thấy và tương tác với những người ở nơi khác trên thế giới
      Ví dụ như cái này https://www.inavateonthenet.net/news/article/vc-art-installa...
  • Mua vài giá đỡ điện áp thấp loại old-work và mặt ốp tường có chổi (https://www.homedepot.com/p/Carlon-1-Gang-Non-Metallic-Low-V..., https://www.homedepot.com/p/Commercial-Electric-1-Gang-Brush...) rồi đi dây nguồn vào trong tường thì trông sẽ đẹp hơn nhiều

  • Ý tưởng thật sự rất hay, tôi cũng muốn có một cái trên giá sách của mình
    Tác giả nói “vấn đề chính của cấu hình hiện tại là tốc độ khung hình thấp”, nhưng tôi muốn gọi đó là một tính năng hơn là hạn chế. Việc hình ảnh được xử lý chậm lại một chút để mình có thời gian tiếp nhận cũng không tệ
    Thậm chí tôi còn muốn tăng chu kỳ cập nhật lên 5–15 phút, và mỗi khi có gì thay đổi hoặc phát hiện chuyển động thì mới chụp ảnh mới để tạo tiếp

  • Đã từng cân nhắc thêm hiệu ứng morphing tốc độ khung hình cao giữa các ảnh chưa? Có vẻ như sẽ làm tăng tốc độ khung hình cảm nhận và trông khá ngầu

    • Đó chính là kỹ thuật tôi dùng trong một tác phẩm inpainting toàn bộ ảnh với tốc độ khoảng 1 ảnh mỗi 8 giây. Tôi xử lý theo cách “làm tan vào” kết quả cho đến khi mảng tiếp theo sẵn sàng
      https://hardwork.party/aws-epoch-optimizer/
    • Nếu sự thay đổi phong cách giữa các khung không giảm đi, thì tốc độ khung hình cao có khi còn trông tệ hơn. Nếu mỗi khung thay đổi nhiều như các khung trong video hiện tại thì sẽ rất rối mắt và hiện tượng popping sẽ xảy ra liên tục. Có lẽ tác giả bài gốc lại muốn cảm giác hỗn loạn đó
    • Chỉ cần crossfade đơn giản thôi cũng ổn
  • Mình rất thích hướng đi kiểu: “Nghệ thuật đang sàng lọc công nghệ quá mạnh. Liệu có thể tách hai thứ đó khỏi tương quan này không?”
    Mình hiểu lý do phản đối cách tiếp cận AI tạo sinh, nhưng trên thực tế đôi khi ta nảy ra những ý tưởng rất hay mà lại không có kỹ năng để tự làm ra. Cũng không thể bỏ ra vài tháng hay vài năm cho từng ý tưởng như vậy, và nó cũng không quan trọng đến mức trả cho một nghệ sĩ lành nghề vài trăm đô la
    Giờ đây đã có một con đường để mọi người thử tạo ra thứ họ muốn và tận hưởng nó, và đó là điều tốt. Ít nhất là với mục đích sử dụng cá nhân; còn với mục đích thương mại thì mọi thứ trở nên phức tạp hơn đôi chút

    • Điều này giả định rằng ý tưởng chưa được hiện thực hóa có giá trị. Thực ra mình cho rằng giá trị ta gán cho ý tưởng đến từ việc ý tưởng đó lan truyền sang người khác. Những ý tưởng đủ cấp tiến thường rất khó để người khác hiểu được, nên người nêu ra ý tưởng phải tự tạo ví dụ minh họa
      Vì vậy khi ai đó nói “đó là một ý tưởng hay”, ý họ thực sự thường gần với “đó là một tác phẩm tốt” hơn
      Liệu mọi người có xem những ý tưởng được chống lưng bằng tác phẩm AI là có giá trị hay không thì thời gian sẽ trả lời. Có phân biệt được hay không? Không ai biết
    • Nhưng đáng tiếc là vẫn chưa tách được hai thứ đó ra
      Không phải ai cũng có thể làm ra thứ được trình bày ở đây, và điều này vô tình xác nhận rằng để tạo ra một cỗ máy bẻ cong hiện thực thì vẫn cần kỹ thuật. Những bức ảnh được tạo ra không phải là nghệ thuật
  • Nếu vấn đề chính của cấu hình hiện tại là tốc độ khung hình thấp, thì có khi hạ hẳn xuống khoảng 0.3~1 fps lại còn tốt hơn!