1 คะแนน โดย GN⁺ 2023-12-01 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • สร้างภาพลวงตาหลายมุมมองที่ทำให้ ภาพเดียวดูเป็นวัตถุคนละอย่าง หลังผ่านการแปลงอย่างการหมุน การพลิก หรือการกลับค่าสี ได้แบบ zero-shot ด้วยโมเดลการแพร่กระจายที่ผ่านการพรีเทรนไว้แล้ว
  • วิธีการคือประเมินนอยส์ในแต่ละมุมมองของการแปลง จากนั้นใช้การแปลงผกผันของมุมมองนั้นเพื่อจัดพิกัดให้อยู่ในกรอบเดียวกัน แล้วใช้ค่านอยส์เฉลี่ยเพื่อทำขั้นตอนการแพร่กระจายถัดไป
  • การแปลงที่รองรับมีตั้งแต่ การหมุน, การพลิก, การกลับค่าสี, การเอียง, การจัดเรียงจิ๊กซอว์ใหม่, การสลับแพตช์แบบสุ่ม ไปจนถึงมากกว่า 3 มุมมอง
  • ฟังก์ชันการแปลงต้องเป็นแบบผกผันได้ และเพื่อให้สอดคล้องกับสมมติฐานเรื่องนอยส์ของโมเดลการแพร่กระจาย จึงต้องมี ความเป็นเชิงเส้น และ ความสอดคล้องทางสถิติ ของนอยส์เกาส์เซียนมาตรฐาน
  • การสลับพิกเซลและการกลับค่าสีที่เป็นไปตามเงื่อนไขเมทริกซ์ตั้งฉากนั้นใช้งานได้ง่ายตามเงื่อนไขทางทฤษฎี แต่เมื่อจำนวนมุมมองเพิ่มขึ้น การได้ภาพลวงตาที่ดีจะยากขึ้น

ภาพที่เปลี่ยนตัวตนเมื่อถูกแปลง

  • Visual Anagrams สร้าง ภาพลวงตาหลายมุมมอง ที่เมื่อภาพเดียวผ่านการแปลงบางอย่างแล้ว รูปลักษณ์หรือตัวตนที่รับรู้จะเปลี่ยนไป
  • เป็นแนวทางแบบ zero-shot ที่ใช้โมเดลการแพร่กระจายที่มีอยู่แล้วโดยไม่ต้องฝึกเพิ่ม
  • ตัวอย่างการแปลงมีหลากหลาย เช่น
    • การจัดเรียงจิ๊กซอว์ใหม่: เมื่อแบ่งเป็นชิ้นจิ๊กซอว์แล้วนำมาจัดเรียงใหม่ ภาพจะดูเป็นอีกสิ่งหนึ่ง และทำงานคล้ายจิ๊กซอว์ที่มีหลายคำตอบ
    • การพลิกและการหมุน 180 องศา: เมื่อพลิกภาพหรือหมุน 180 องศา รูปลักษณ์จะเปลี่ยนไป
    • การหมุน 90 องศา: เมื่อหมุนภาพ 90 องศา จะถูกรับรู้เป็นอีกสิ่งหนึ่ง
    • การกลับค่าสี: เมื่อกลับค่าสีแล้ว ภาพจะเปลี่ยนไป
    • การเอียง และ “inner circle rotations”: รวมอยู่ในตัวอย่างการแปลงอื่น ๆ
    • การสลับแพตช์แบบสุ่ม: มีการจัดเรียงแพตช์ใหม่ และแม้เพิ่มจำนวนถึงแพตช์ขนาด (64 \times 64) คุณภาพจะลดลงแต่ยังได้ผลลัพธ์ที่พอมองออก
  • สามารถสร้างภาพลวงตาแบบ สามมุมมอง ได้ ไม่ใช่แค่สองมุมมอง แต่การให้ได้ผลลัพธ์ที่ดีจะยากกว่า
  • ส่วนภาพลวงตาแบบ สี่มุมมอง นั้นทำให้ใช้งานได้จริงยากมาก และพบผลลัพธ์ที่พอใช้ได้เพียงหนึ่งชิ้นเท่านั้น

ขั้นตอนการสร้างและเงื่อนไขทางทฤษฎี

  • แก่นสำคัญคือกระบวนการ รวมค่านอยส์เป็นหนึ่งเดียว จากที่โมเดลการแพร่กระจายประเมินไว้ในหลายมุมมองของการแปลง
    • ประเมินนอยส์ในแต่ละมุมมอง (v_i)
    • นำค่าที่ประเมินได้ไปผ่านการแปลงผกผัน (v_i^{-1}) เพื่อจัดให้อยู่ในระบบพิกัดเดียวกัน
    • นำค่าประเมินนอยส์ที่จัดแนวแล้วมาเฉลี่ย
    • ใช้ค่านอยส์เฉลี่ยที่ประเมินได้เพื่อทำขั้นตอนการแพร่กระจาย
  • ฟังก์ชันของทุกมุมมองไม่ได้เหมาะกับวิธีนี้ทั้งหมด และ (v_i) ต้องเป็นแบบ ผกผันได้ ก่อน
  • โมเดลการแพร่กระจายมองข้อมูลที่มีนอยส์ปนอยู่ (\mathbf{x}_t) ว่าเป็นผลรวมถ่วงน้ำหนักของสัญญาณบริสุทธิ์ (\mathbf{x}_0) และนอยส์ (\epsilon)
    • หากการแปลง (v) จะต้องคงความสัมพันธ์เชิงถ่วงน้ำหนักระหว่างสัญญาณกับนอยส์ไว้ ก็ต้องเป็น การแปลงเชิงเส้น
    • การแปลงเชิงเส้นสามารถเขียนแทนได้ด้วยเมทริกซ์ (\mathbf{A})
  • โมเดลการแพร่กระจายถูกฝึกภายใต้สมมติฐานว่านอยส์มาจากการแจกแจงปกติมาตรฐานแบบอิสระและเหมือนกันทุกตัวแปร
    • นอยส์หลังการแปลงก็ต้องเป็นไปตาม (\mathbf{A}\epsilon \sim \mathcal{N}(0, I)) เช่นกัน
    • ในกรณีการแปลงเชิงเส้น เงื่อนไขนี้จะสมมูลกับการที่ (\mathbf{A}) เป็น เมทริกซ์ตั้งฉาก
    • ดังนั้น เงื่อนไขเพียงพอที่ทำให้การแปลงใช้งานได้ในวิธีนี้คือการเป็นการแปลงแบบตั้งฉาก
  • แม้การแปลงแบบตั้งฉากโดยทั่วไปส่วนใหญ่จะไม่มีความหมายเชิงภาพสำหรับรูปภาพ แต่ เมทริกซ์สับเปลี่ยน เป็นสับเซตของเมทริกซ์ตั้งฉาก และตีความได้ว่าเป็นการจัดเรียงพิกเซลใหม่
    • การหมุน การพลิก การเอียง inner rotations การจัดเรียงจิ๊กซอว์ใหม่ และการสลับแพตช์ ล้วนมองได้ว่าเป็นการจัดเรียงพิกเซลรูปแบบหนึ่ง
    • การกลับค่าสีแม้ไม่ใช่การสับเปลี่ยน แต่เป็นการแปลงที่เปลี่ยนเครื่องหมายของค่าพิกเซล จึงนับเป็นการแปลงแบบตั้งฉากเช่นกัน

บทความวิจัยและทรัพยากรสำหรับใช้งาน

  • Paper: ไฟล์ PDF ของงานวิจัย CVPR 2024
  • arXiv: หน้า arXiv
  • Code: โค้ดของ Visual Anagrams
  • Colab: Colab สำหรับทดลองใช้งาน
  • Diffusion Illusions: สร้างภาพลวงตาหลายมุมมองและเอฟเฟกต์ภาพอื่น ๆ ด้วย score distillation sampling
  • Illusion-Diffusion Colab: Colab ของ Matthew Tancik ที่ใช้แนวคิดคล้ายกัน โดย Visual Anagrams ปรับปรุงด้านคุณภาพของภาพลวงตา ช่วงของการแปลง และการวิเคราะห์เชิงทฤษฎี
  • Factorized Diffusion: งานต่อยอดจาก Visual Anagrams ที่สร้างภาพลวงตาไฮบริดหลายประเภท
  • Images that Sound: ใช้เทคนิคคล้ายกันเพื่อสร้างสเปกโตรแกรมที่ดูเหมือนภาพ

1 ความคิดเห็น

 
GN⁺ 2023-12-01
ความคิดเห็นบน Hacker News
  • ชอบ การกลับด้านชาย/หญิง มากจริง ๆ
    ถ้าขยายเทคนิคเดียวกันนี้ต่อไป สงสัยว่าจะสร้าง permutation ที่อ่านได้ภายในภาพเดียวได้กี่แบบ ผมไม่ค่อยรู้คณิตศาสตร์นัก แต่เป็นเพราะเมื่อใช้การแปลงเชิงตั้งฉากสองครั้งต่อเนื่องกัน ผลลัพธ์ก็ยังเป็นการแปลงเชิงตั้งฉากอยู่ เลยทำงานได้หรือเปล่า?

    • ตัวอย่างชาย/หญิงก็สะดุดตาผมเหมือนกัน และน่าจะดูไปสักสิบรอบได้ คงเพราะมันดู เหงา ๆ อยู่ที่ไหนสักอย่างด้วย
    • โมเสก เป็ดกับกระต่ายนี่ตลกมากจริง ๆ
    • ถ้า ‘การแปลงเชิงตั้งฉาก’ ที่พูดถึงตรงนี้หมายถึงการแปลง/เมทริกซ์เชิงเส้นเชิงตั้งฉากตามปกติ คำตอบคือใช่
  • ต้นปีที่แล้วมีไอเดียคล้าย ๆ กัน และเคยลองเล่น วิธีแบบ checkerboard อยู่บ้าง
    ตรงนี้มีภาพแมวที่สร้างจากภาพแมว 9 ภาพในสไตล์จิตรกรชื่อดัง: https://twitter.com/marekgibney/status/1521500594577584141
    อาจต้องหรี่ตาสักหน่อยถึงจะเห็น ลองทำไปไม่กี่ภาพแล้วก็ไม่รู้ทำไมความสนใจก็ลดลง

    • พูดตรง ๆ ในสายตาผมมันดูเหมือน cat-aclysm มากกว่าแมว อาจเป็นเพราะโมเดลถูกข้อกำหนดที่ขัดแย้งกันกดดันจนเกินไป ทำให้ทั้งภาพย่อยและภาพรวมที่ประกอบกันออกมาไม่ค่อยดีนัก ถึงอย่างนั้นอย่างที่บอกไว้ สักวันหนึ่งของแบบนี้ก็น่าจะทำได้ดีขึ้น
    • เจ๋งจริง ๆ 3x3x3 จะทำได้ไหม? หมายถึงแบบใน 9x9 มีแมวขนาด 1 ช่อง 81 ตัว, แมวขนาด 9 ช่อง 9 ตัว และแมวขนาด 81 ช่อง 1 ตัว
  • ตัวอย่าง การกลับสีชาย/หญิง น่าประทับใจที่สุด การหมุนยังพอหมุนในหัวเพื่อดูอีกมุมมองได้ แต่การกลับสีนี่ทำในหัวได้ยากมาก

    • สุดยอดมาก ฝากลิงก์ไว้สำหรับคนที่สนใจ หน้านี้มีรูปเยอะ
      https://dangeng.github.io/visual_anagrams/static/videos/grid...
    • สำหรับผมตรงกันข้ามเลย การกลับสีไม่ได้รู้สึกน่าประทับใจกว่า แอนิเมชัน morph ที่ฮิตกันในยุค 1990 มากนัก ผมเข้าใจว่าการกลับสีในระดับข้อมูลพิกเซลนั้นเรียบง่ายแค่ไหน แต่เพราะความเรียบง่ายนั้นมองด้วยตาไม่เห็น มันจึงดูไม่ต่างจาก alpha blending ที่ไม่เกี่ยวข้องกันเท่าไร
      ในทางกลับกัน การหมุนนี่น่าทึ่งจริง ๆ เห็นได้อย่างสมบูรณ์ว่าพิกเซลไม่ได้เปลี่ยนไป ถ้าหมุนหน้าจอจริง ๆ ภาพก็ ‘เปลี่ยน’ ผมนึกตัวอย่างที่แสดงได้ดีกว่านี้ไม่ออกว่า ภาพจาก diffusion model ไม่ได้เป็นเพียงเสียงสะท้อนของภาพเดิม ๆ แน่นอนว่ามันมีแง่นั้นอยู่บ้าง แต่โดยแก่นแล้วมันคือคำตอบของปัญหา “จงหาชุดพิกเซลที่ตรงกับคำอธิบาย {พรอมป์ต์}” ในที่นี้ก็คือการหา “พิกเซลที่จากทิศทางนี้ตรงกับ {A} และจากอีกทิศทางหนึ่งตรงกับ {B}”
    • ตอนที่เห็นผู้ชาย ถ้าลองมองหาก็เห็นผู้หญิงได้ แต่แปลกที่กลับกันแล้วทำไม่ได้
  • เทคนิคและผลลัพธ์นี้แยกต่างหากจากภาพ ControlNet ‘เกลียว’ ที่เคยดังเมื่อไม่กี่เดือนก่อน: https://arstechnica.com/information-technology/2023/09/dream...
    ในเชิงโค้ดมันอิง DeepFloyd-IF จึงไม่ได้รันง่ายเท่ากับสายแยกของ Stable Diffusion

    • ยังไม่ได้เจาะดูละเอียด แต่ไอเดียนี้ก็น่าจะใช้กับ เครือข่าย diffusion อื่น ๆ ได้ไม่ใช่หรือ? เพียงแต่โค้ดที่ให้มาอาจต้องแก้ค่อนข้างมาก แน่นอน ถ้าผมผิดก็แก้ได้เลย
    • ผมรู้สึกแปลกมาตลอดที่ไอเดียนี้ดันเกิดขึ้นกับ โมเดล ControlNet ตัวนั้นพอดี การเอาภาพเดียวกันไปผสมกับโมเดล ControlNet อื่น ๆ หลายตัวก็ได้ผลลัพธ์ที่ยอดเยี่ยมและทรงพลังเหมือนกัน
      ระบบนิเวศรอบ ๆ Stable Diffusion โดยรวมแล้วใหญ่มากจริง ๆ
    • ไม่ได้เห็นเลย มันฉาวเรื่องอะไรหรือ?
    • หรือจริง ๆ ตั้งใจจะบอกว่า เกี่ยวข้องกัน มากกว่าหรือเปล่า? ภาพ ‘เกลียว’ ต้นฉบับของ Ugleh ถูกให้เครดิตไว้อย่างชัดเจนในส่วน “Related Links”
  • มี จิ๊กซอว์จริง แบบที่เห็นในนี้ให้ซื้อไหม?

    • ทำเองก็ได้ แต่ไม่แน่ใจว่าวิธีข้างต้นจะเข้ากันได้ดีแค่ไหนเมื่อขยายสเกลมาก ๆ https://www.createjigsawpuzzles.com/
    • งานวิจัยนี้ใช้ DeepFloyd IF ซึ่งห้ามใช้เชิงพาณิชย์ ถ้าจะขายคงต้องหา หรือฝึก image generator ตัวอื่นที่เหมาะสม
  • ตัวอย่างแต่ละอันให้ความรู้สึกประมาณว่า “อืม... ก็ได้มั้ง... ในระดับหนึ่ง” ทั้งหมด
    เพนกวิน/ยีราฟ น่าจะดีที่สุด ส่วนหญิงชรา/ชุดเดรสนี่แทบไม่ดูเหมือนทั้งสองอย่าง

    • สองอันนั้นอิงจาก ambigram ที่เคยเป็นที่รู้จักมาก่อน
      เพนกวิน/ยีราฟใกล้เคียงกับอันนี้มาก: https://www.pinterest.com/pin/giraffepenguin--13398215764267...
      อีกอันได้แรงบันดาลใจโดยตรงจากที่นี่หรือคล้ายกัน แต่พรอมป์ต์ “young lady” ดูเหมือนจะทำให้โมเดลเลือกชุดเดรส และเป็นไปไม่ได้ที่จะทำให้ตากับหู ปากกับ choker เหมือนกันเป๊ะ ๆ แบบภาพถ่ายจริง: https://www.reddit.com/r/RedditDayOf/comments/35cjn5/the_cla...
    • อืม ตอนเห็นเพนกวิน/ยีราฟครั้งแรก ผมคิดว่า “ดูเหมือนเพนกวินกลับหัว แล้วทีนี้ยีราฟอยู่ไหน?” ส่วนอันอื่น ๆ มองออกทันทีว่าตั้งใจให้เป็นอะไร
  • เป็ด/กระต่าย ที่จัดเรียงใหม่ได้น่าจะเหมาะกับการทำเป็น sliding puzzle มาก ๆ จะมีคำตอบที่ถูกต้องสองแบบ

    • ต้องตรวจสอบอีกที แต่ถ้าสามารถสลับ ‘เดือยกับรู’ คู่หนึ่งกับอีกคู่หนึ่งได้ ทั้งสองคู่นั้นต้องเหมือนกันทั้งรูปร่างและสี แต่ถ้าแทนที่จะสลับกัน มันแยกออกไปติดกับขอบอื่น ก็จะเกิดการเชื่อมต่อเพิ่มเติม
      ถ้าคิดว่าขอบเป็นโหนดของกราฟมีทิศทางที่เชื่อมกันด้วยเดือยและรู คู่ที่เป็นไปได้ก็จะเชื่อมต่อกัน การสลับคือคลัสเตอร์สองคู่ ส่วนการเชื่อมต่อเพิ่มเติมคือโซ่สี่องค์ประกอบที่ปลายทั้งสองเปิดอยู่ ถ้าการเชื่อมต่อนั้นนำไปสู่คู่อื่น ๆ อีก ก็อาจเกิดคลัสเตอร์ขนาดใหญ่ของเดือยและรูที่เหมือนกันได้ จากคุณสมบัติของกราฟ น่าจะส่วนใหญ่เป็นแบบนั้น เหตุผลดูได้จาก prisoner’s paradox [0]
      ถ้าเป็นอย่างนั้น เดือยส่วนใหญ่ก็จะเข้ากับรูส่วนใหญ่ได้ ทำให้การแก้พัซเซิลยากขึ้นมาก
      [0] วิดีโอของ Matt Parker ที่ยอดเยี่ยม https://www.youtube.com/watch?v=a1DUUnhk3uE ก็ดี แต่ผมแนะนำการถกต่อกับ Derek จาก Veritasium มากกว่า
    • ถ้ามี องค์ประกอบที่จัดเรียงใหม่ได้ เยอะขนาดนั้น ก็จะสร้างคำตอบที่ ‘ถูกต้อง’ ได้จำนวนมากจนแยกไม่ออกถ้าไม่มีภาพประกอบ คงออกมาเป็นงานศิลปะมากกว่าจะเป็นพัซเซิล
  • ถ้าทำภาพแบบนี้ที่ดูเป็นคนละอย่างกันภายใต้แสงแดง/น้ำเงินได้น่าจะเจ๋ง

  • การระเบิดของความคิดสร้างสรรค์ ที่ generative AI นำมานั้นน่าทึ่งจริง ๆ