2 คะแนน โดย GN⁺ 4 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เมื่อนำภาพถ่ายต่อเนื่องที่ถ่ายจากมุมใกล้เคียงกันซึ่งสะสมอยู่ในคลังรูปมาต่อรวมกันอัตโนมัติ ก็ได้ wigglegram หลายร้อยชิ้นแบบไม่ตั้งใจ
  • wigglegram คือ ภาพสามมิติ ที่สร้างโดยเล่นหลายเฟรมซ้ำแบบ GIF โดยใช้ภาพของฉากเดียวกันที่ถ่ายจากมุมมองต่างกันเล็กน้อยเป็นวัตถุดิบ
  • การดึงออกมาอัตโนมัติใช้ perceptual hashing แบบเดียวกับที่ใช้ในระบบค้นหารูปย้อนกลับอย่าง TinEye โดยอาศัยคุณสมบัติที่ภาพคล้ายกันจะมีแฮชใกล้กันมากกว่า
  • สคริปต์จะคำนวณแฮชของรูป แล้วเปรียบเทียบ Hamming distance ของคู่ภาพ เพื่อดึงกลุ่มรูปที่คล้ายกันต่ำกว่าค่าขีดแบ่งออกมาเป็น wigglegram
  • บางส่วนเป็นผลจากการถ่ายที่ตั้งใจไว้ แต่ส่วนใหญ่เป็นภาพที่ถ่ายติดมาโดยบังเอิญ และหลายชิ้นก็ออกมาเป็นผลลัพธ์แบบ kinescopic คล้ายวิดีโอเล็ก ๆ ที่ไม่รู้ตัว มากกว่าจะให้มิติความลึก

wigglegram ที่เกิดขึ้นโดยบังเอิญ

  • wigglegram เป็นภาพ stereo รูปแบบหนึ่งที่สร้างจากการเล่นหลายเฟรมวนซ้ำ
  • เมื่อวนเฟรมแบบ GIF ภาพจากมุมมองที่ต่างกันเล็กน้อยจะต่อเนื่องกันและเกิดเอฟเฟกต์สามมิติ
  • ด้วยนิสัยที่ชอบถ่ายฉากเดียวกันไว้หลายภาพจากมุมที่ต่างกันเล็กน้อย และนิสัยที่ไม่ค่อยจัดระเบียบ camera roll จึงมีรูปที่คล้ายกันสะสมอยู่ในคลังภาพจำนวนมาก
  • ชุดภาพแบบนี้ตรงกับเงื่อนไขอินพุตของ wigglegram ที่เป็น “ภาพของฉากเดียวกันที่ถ่ายจากมุมต่างกัน” อย่างมาก

ค้นหารูปที่คล้ายกันด้วย perceptual hashing

  • เพื่อค้นหาช่วงต่อเนื่องของภาพที่คล้ายกันในคลังรูปโดยอัตโนมัติ จึงนำ perceptual hashing มาใช้
  • perceptual hashing ต่างจาก cryptographic hash อย่าง sha1 ตรงที่มันออกแบบให้ภาพที่ดูคล้ายกันมีบิตแฮชที่ซ้อนทับกันมากกว่า
  • สคริปต์จะคำนวณแฮชของรูปทั้งหมด
    • การคำนวณแฮชนั้นเร็ว
    • แต่ขั้นตอนดาวน์โหลดรูปจาก iCloud ช้า
  • จากนั้นคำนวณ Hamming distance ระหว่างแฮชเพื่อประเมินว่าคู่ภาพคล้ายกันแค่ไหน
  • ในตัวอย่าง ค่า Hamming distance ราว 10 ดูเหมือนจะเป็นเส้นแบ่งที่เหมาะสม และใช้เป็นเกณฑ์ดึงคู่ภาพและกลุ่มภาพที่คล้ายกันออกมา

ลักษณะของผลลัพธ์จากการดึงอัตโนมัติ

  • ผลจากการดึงอัตโนมัติทำให้ได้ wigglegram หลายร้อยชิ้น
  • บางส่วนมาจากภาพที่ถ่ายอย่างตั้งใจ แต่ส่วนใหญ่เป็นผลลัพธ์ที่เกิดขึ้นโดยบังเอิญจริง ๆ
  • ภาพที่เกิดขึ้นโดยบังเอิญไม่ได้ดูเป็นภาพสามมิติแบบต้นฉบับเสมอไป
    • หลายชิ้นใกล้เคียงกับ “kinescopic” มากกว่า “stereoscopic”
    • มีผลลัพธ์ที่ดูเหมือนภาพยนตร์จิ๋วที่เกิดขึ้นโดยไม่รู้ตัว
  • wigglegram ถูกสร้างขึ้นจากวัตถุหลากหลายแบบ ทั้งภาพท่องเที่ยวหรือสถานที่ สัตว์ งานออกแบบ และภาพประติมากรรม

วัตถุที่เข้ากันได้ดี

  • สัตว์ เหมาะกับการเป็นวัตถุดิบของ wigglegram เพราะคาดเดาได้ยาก
    • มีตัวอย่างอย่างแมว สุนัข และนกพิราบ
  • งานออกแบบก็ให้ผลลัพธ์ได้ดี เพราะมักมีการเก็บภาพไว้หลายมุมหรือหลายสถานะ
    • มีตัวอย่างงานอย่าง iPad Sidecar, baby book, resistor bridge
  • ภาพประติมากรรมหรือวัตถุก็สามารถแปลงเป็น wigglegram ได้เมื่อมีหลายมุมมองต่อเนื่องกัน
    • มีตัวอย่างอย่าง Olivetti, frog with a joint

สคริปต์ที่เผยแพร่

  • สคริปต์ถูกเผยแพร่ไว้บน GitHub
  • บน Mac มันทำงานกับ คลังรูป iCloud ได้
  • นอกจากนี้ยังสามารถระบุไดเรกทอรีที่มีรูปเพื่อใช้งานได้

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

 
GN⁺ 4 시간 전
ความคิดเห็นจาก Lobste.rs
  • ทั้งสนุกและเพี้ยนดีมาก ถึงจะเป็นไอเดียงี่เง่าแบบนี้แต่มันกลับใช้งานได้ดีมาก
    แค่กระบวนการแฮชนั่นดูหนักเอาเรื่องพอสมควร ไม่ใช่ในแง่ “คำวิจารณ์” แต่ในความหมายที่ว่าทั้งปริมาณการดาวน์โหลดและงานแฮชมหาศาลมาก สำหรับโปรเจกต์/การทดลองเล่นเร็วๆ แบบนี้ การใช้วิธีที่ง่ายที่สุดและทำงานได้ก่อน แล้วปล่อยให้มันใช้เวลานานอยู่เบื้องหลัง ก็นับว่าสมเหตุสมผลพอแล้ว
    ถ้ามีจินตนาการมากพอจะคิดสิ่งนี้ขึ้นมาได้ ก็ไม่รู้เหมือนกันว่าตัวเองจะทำแบบเดียวกันไหม หรือจะคัดรูปที่ไม่ได้ถ่ายในช่วงเวลาใกล้กันออกก่อน แต่พอทำแบบนั้นก็มักจะตกหลุมพรางคลาสสิก คือไปติดอยู่กับ “การกรองล่วงหน้าที่ดีที่สุด” เป็นอาทิตย์จนเบื่อ แล้วสุดท้ายก็อาจไม่ได้ผลลัพธ์ที่น่าสนใจหรือสนุกอะไรเลย

    • ฟังดูเป็นปัญหาแบบงานล้างจานตามตำราเลยนะ คุณจะลงมือทำเองให้เสร็จใน 10 นาทีก็ได้ หรือไม่ก็ใส่มันเข้า “เครื่องนั้น” แล้วรอหลายชั่วโมง โดยแทบไม่ต้องออกแรงเองเลย
  • เป็นเอฟเฟกต์พิเศษที่เจ๋งใช้ได้เลย

  • สงสัยเหมือนกันว่าถ้าวิเคราะห์จากวันที่ถ่ายจะได้ผลใกล้เคียงกันไหม เพราะไม่ใช่ว่ารูปต่อเนื่องทั้งหมดจะถูกถ่ายอย่างรวดเร็ว เลยอาจมีfalse negativeมากขึ้นก็ได้

    • น่าจะเหมาะใช้เป็นตัวกรองสำหรับ “จัดกลุ่มผู้เข้าข่ายที่จะนำไปแฮช” ถ้ามีข้อมูลพิกัดก็ใช้ร่วมกันได้ อย่างน้อยก็ไม่ต้องแฮชทุกรูป
      แถมบน macOS ก็น่าจะดึง timestamp กับข้อมูลตำแหน่งได้ตรงๆ จากฐานข้อมูล sqliteของ Photos โดยไม่ต้องดาวน์โหลดอะไรจากคลาวด์เลย
  • ไม่เคยรู้มาก่อนว่ามีอัลกอริทึมแฮชที่เก็บข้อมูลของภาพไว้ได้ระดับหนึ่ง จนสามารถเทียบกันระหว่างแฮชเพื่อหาค่าความคล้ายคลึงของรูปได้ รู้สึกว่าน่าจะมีการใช้งานอีกเยอะมากที่ไม่เคยนึกถึง

  • เขาทำโทนภาพแบบหยาบๆ lo-fi นั่นยังไงกันนะ?

    • เป็น Floyd-Steinberg dithering โดยใช้พาเลต 256 สี
      ถ้าทำเป็น GIF พาเลต 256 สีก็แทบจะได้มาแบบ “ฟรีๆ” อยู่แล้ว เว้นแต่ว่าจะใช้เทคนิคขั้นสูงอย่างการประกอบหลายหน้าต่างเฟรมที่แต่ละหน้าต่างมีตารางสีเฉพาะของตัวเอง
  • ในปี 2013 ผมกับแฟนตอนนั้นเคยเอา iPod 3 เครื่องไปวางไว้หลังกระจกสองทาง ทำเป็นบูธถ่ายภาพสามมิติ ควบคุมด้วยเว็บแอปเล็กๆ แล้วใช้ iPad สั่งลั่นชัตเตอร์และแสดงผลลัพธ์
    ตัวงานไม่ได้เนี้ยบเท่าไร แต่ตอนทำสนุกมาก http://stereogif.me

  • คนที่มีอาการเมารถเมาเรือควรระวังตอนเปิดหน้านี้

  • เจ๋งดี เมื่อก่อนเคยมีบริการที่รับรูปจาก Nintendo 3DS แล้วแปลงเป็นGIF แบบเคลื่อนไหวจากเฟรมของกล้องสองตัว
    บนบล็อกของผมเรียกมันว่า “wigglepics” และมันมีสุนทรียะแบบสนุกดีมาก

  • จำได้ว่าเอฟเฟกต์นี้เคยฮิตมากบน Tumblr และเว็บแถวๆ นั้นในช่วงต้นยุค 2010
    เพราะงั้นตลอดหลายชั่วโมงที่ผ่านมา ผมเลยถ่ายรูปแมวแล้วเอามาทำเป็น GIF อยู่