6 คะแนน โดย GN⁺ 2024-04-02 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Upscayl เป็นเครื่องมืออัปสเกลภาพแบบโอเพนซอร์สฟรีที่ขยายและปรับปรุงภาพความละเอียดต่ำด้วยอัลกอริทึม AI ขั้นสูง และมีรีลีสล่าสุด v2.15
  • รายละเอียดของภาพได้รับการปรับปรุงด้วยวิธีที่โมเดล AI คาดคะเนรายละเอียดที่เป็นไปได้ โดยใช้สถาปัตยกรรม Real-ESRGAN และ Vulkan
  • การรันต้องใช้ GPU ที่รองรับ Vulkan และอาจไม่ทำงานบน GPU แบบรวม (iGPU) หรือ CPU ส่วนใหญ่
  • รองรับ Linux, macOS 12 ขึ้นไป และ Windows 10 ขึ้นไป โดยบน Linux มีวิธีแจกจ่ายหลายแบบ เช่น Flatpak, AppImage, AUR, Snap, RPM, DEB และ ZIP
  • ไม่ใช่เครื่องมือสำหรับกู้คืนภาพที่เบลอหรือหลุดโฟกัส จึงควรใช้อินพุตที่เหมาะกับการปรับปรุงภาพความละเอียดต่ำหรือภาพแตกเป็นพิกเซล

Upscayl ทำอะไรได้บ้าง

  • Upscayl เป็นเครื่องมืออัปสเกลภาพด้วย AI แบบโอเพนซอร์สฟรีสำหรับขยายและปรับปรุงภาพความละเอียดต่ำ
  • มีเป้าหมายเพื่อเพิ่มขนาดภาพโดยไม่สูญเสียคุณภาพ และเว็บไซต์ทางการคือ upscayl.org
  • รีลีสล่าสุดระบุไว้เป็น v2.15

วิธีทำงานและเทคโนโลยีหลัก

  • Upscayl ปรับปรุงภาพโดยให้โมเดล AI คาดคะเนรายละเอียดของภาพ
  • ภายในใช้สถาปัตยกรรม Real-ESRGAN และ Vulkan
  • แบ็กเอนด์คือ upscayl-ncnn ซึ่งเป็นแบ็กเอนด์โอเพนซอร์สเต็มรูปแบบภายใต้ไลเซนส์ AGPLv3
  • มีเครื่องมือ CLI ให้ใช้ในชื่อ upscayl-ncnn เช่นกัน

การติดตั้งและแพลตฟอร์มที่รองรับ

  • Upscayl ต้องใช้ GPU ที่รองรับ Vulkan เพื่ออัปสเกลภาพ
    • GPU แบบรวมจำนวนมากอาจไม่ทำงาน
    • README ระบุว่าการลองใช้งานเองไม่ใช่ปัญหา
  • บน Linux ควรมีให้ใช้งานได้จากรายการซอฟต์แวร์ของดิสโทรส่วนใหญ่
    • แอป Store ของดิสโทรอาจรองรับเวอร์ชัน Flatpak หรือ Snap
    • แบบพกพาให้ดาวน์โหลด upscayl-x.x.x-linux.AppImage จาก ส่วนรีลีส หรือ เว็บไซต์ทางการ จากนั้นให้สิทธิ์รันและเปิดใช้งาน
    • เลือกรูปแบบ RPM, DEB และ ZIP ได้ด้วย
  • macOS รองรับ macOS 12 ขึ้นไป
    • มีลิงก์ Mac App Store ให้ใช้งาน
    • ดาวน์โหลดไฟล์ DMG แล้วย้ายไปยังโฟลเดอร์ Applications จากนั้นเปิดใน Finder ได้
    • คำสั่งติดตั้งผ่าน Homebrew คือ brew install --cask upscayl
  • Windows รองรับ Windows 10 ขึ้นไป
    • ดาวน์โหลดและรัน upscayl-x.x.x-win.exe
    • หากมีคำเตือน SmartScreen ให้เลือก More Info แล้วตามด้วย Run Anyway หรือกด YES ในกล่องโต้ตอบผู้เผยแพร่ที่ไม่รู้จัก

เอกสาร โมเดล และการตรวจสอบผลลัพธ์

  • ดูเอกสารและคู่มือได้ที่ Upscayl Documentation
  • สามารถลองโมเดลเพิ่มเติมได้ที่ custom-models
  • วิธีแปลงโมเดลด้วยตนเองอยู่ใน วิกิ Model Conversion
  • ตรวจสอบความเข้ากันได้ได้ที่ Compatibility List
  • ใช้เอกสาร Troubleshooting สำหรับการแก้ปัญหา
  • มีคำแนะนำให้ดูผลเปรียบเทียบก่อนและหลังอัปสเกลได้ใน COMPARISONS.MD

ข้อจำกัดและข้อควรระวังในการใช้งาน

  • Upscayl สามารถปรับปรุงภาพความละเอียดต่ำและภาพที่แตกเป็นพิกเซลได้
  • ไม่มีฟังก์ชัน deblur หรือ ปรับโฟกัส
    • ไม่เหมาะกับภาพที่หลุดโฟกัสหรือเบลออย่างสมบูรณ์
    • README แนะนำให้ใช้ภาพที่คล้ายกับตัวอย่างที่ให้ไว้
  • GPU ID เป็นการตั้งค่าสำหรับเลือก GPU ที่จะใช้งาน
    • ขั้นตอนโดยละเอียดอยู่ใน Wiki Guide
    • บน Windows หากไม่ได้ตั้ง Upscayl ไว้ในโหมดประสิทธิภาพ ระบบอาจเขียนทับการตั้งค่านี้ได้
  • หากหยุด Batch Upscayl กลางคันแล้วภาพยังไม่ได้ถูกประมวลผล หรือการบีบอัด/สเกลไม่ถูกต้อง อาจเป็นเพราะโมเดลไม่รองรับงานบางอย่าง
    • ในกรณีนี้ Upscayl จะอัปสเกลภาพทั้งหมดให้เสร็จก่อน แล้วจึงทำ post-processing ดังนั้นต้องรอจนกว่ากระบวนการจะจบ

การพัฒนาและการบิลด์

  • แนะนำให้ใช้ Volta สำหรับติดตั้ง Node.js ในสภาพแวดล้อมการพัฒนา
    • หลังติดตั้ง Volta ให้รัน volta install node
  • ลำดับการรันบนเครื่องคือ clone repository, ติดตั้ง dependencies, แล้วรัน development server
  • หากไม่ต้องการติดตั้ง Git สามารถดาวน์โหลด source zip แตกไฟล์ไปยังโฟลเดอร์ upscayl แล้วทำขั้นตอนที่เหลือต่อได้
  • การแพ็กเกจแอปทำด้วย npm run dist
  • คำสั่งเผยแพร่แอปคือ npm run publish-app โดยแนะนำให้เฉพาะผู้ดูแลเพิ่ม GH_TOKEN= ลงใน shell ก่อนรันเท่านั้น

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

 
GN⁺ 2024-04-02
ความเห็นจาก Hacker News
  • ถ้าคุณใช้ Real-ESRGAN-ncnn-vulkan [1] เหมือนผม และสงสัยว่า upscayl-ncnn CLI [2] เปลี่ยนอะไรไปบ้าง ดูแล้วแทบไม่มีความต่างใหญ่ ๆ และเหมือนจะไม่ได้มีการเปลี่ยนแปลงเชิงสาระมากนัก [3]
    ไม่ได้จะวิจารณ์นะ แค่อยากรู้ว่าคุ้มไหมที่จะย้ายไปใช้เครื่องมือ CLI ตัวนี้ $subj คือแอป GUI แยกต่างหากที่สร้างบนพื้นฐานนั้น
    [1] https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan
    [2] https://github.com/upscayl/upscayl-ncnn
    [3] https://github.com/xinntao/Real-ESRGAN-ncnn/compare/m...

    • Upscayl NCNN มีการแก้ไขหลายอย่าง เช่น รองรับ Vulkan รุ่นล่าสุด แก้บั๊ก และเพิ่มฟีเจอร์ใหม่ ๆ และจะมีเพิ่มเข้ามาอีกเร็ว ๆ นี้ แค่ยังไม่ได้ push การเปลี่ยนแปลงขึ้นไปเท่านั้น และตอนนี้ก็กำลังทำส่วนรองรับ CPU อยู่ด้วย
      ถ้าจะใช้ Real-ESRGAN คุณต้องยอมรับโค้ดเบสที่ไม่ได้อัปเดตมานานและปัญหาหลายอย่าง เท่าที่ผมรู้ ตอนนี้โปรเจกต์เดียวที่ยังดูแล Real-ESRGAN NCNN อยู่คือ Upscayl NCNN
    • ผมก็เข้ามาดูคอมเมนต์เพื่อถามเรื่องนี้เหมือนกัน ใช้ RealESRGAN มาหลายปีแล้ว และมีรูปที่ขยายด้วยมันแล้วเอาไปแขวนไว้ที่บ้านอยู่หลายรูป
      ผมเอารูปเก่า ๆ จากอัลบั้มครอบครัวมาขยายเยอะมาก แล้วใช้เครื่องมืออย่าง Photoroom, Snapseed แก้ตำหนิ ก่อนส่งไปอัดภาพ ซึ่งได้ผลดีมาก
      เวลาเจอรูปเก่า ๆ ความละเอียดต่ำบนอินเทอร์เน็ตที่ต่อให้หาไฟล์ต้นฉบับความละเอียดสูงด้วย Google, DuckDuckGo หรือ Kagi ก็ไม่เจอ ผมจะเอามาอัปสเกลด้วย RealESRGAN แล้วใช้เป็นวอลเปเปอร์หรือพื้นหลังพรีเซนเทชัน
    • ถ้าคนชอบ GUI มากกว่า ก็ไม่ได้แย่อะไร
  • ทุกครั้งที่เห็นฉาก “enhance” ภาพในทีวีหรือหนัง ผมหัวเราะหนักมากจริง ๆ: https://youtu.be/LhF_56SxrGk
    เหมือนนิยายวิทยาศาสตร์ของเมื่อวานกลายเป็นความจริงไปแล้ว

    • พอนึกถึงเรื่องนี้ตอนนี้ถึงกับสะดุ้งเลย สมัยก่อนเวลาผู้สร้างหนังพูดว่า “enhance!” ผมกับพวกเนิร์ดอีกหลายคนจะคิดว่า “มันไม่มีพิกเซลเพิ่มแล้ว จะทำแบบนั้นได้ยังไง!”
      แต่ตอนนี้มันมีอยู่จริง “Enhance” ทำได้จริงแล้ว
    • ตอนนี้มันแค่สร้างรายละเอียดขึ้นมาแบบ hallucinate เท่านั้น
    • ขำตรงที่วลี “นิยายวิทยาศาสตร์ของเมื่อวานกลายเป็นความจริงวันนี้” เขียนอยู่บน https://upscayl.org จริง ๆ เป็นคำว่า “From Science Fiction to Reality”
    • คำที่ถูกต้องน่าจะเป็น “Hallucinate!” มากกว่า
    • แต่ถ้าจะขยายป้ายทะเบียนรถของผู้ต้องสงสัย มันอาจได้เลขทะเบียนที่อิงจากสัญญาณรบกวนเฉลี่ย และไม่ตรงกับของจริง
  • ผมลองใช้เมื่อเดือนธันวาคมและรู้สึกว่าใช้งานค่อนข้างตรงไปตรงมา น่าแนะนำสำหรับคนที่เพิ่งเริ่มลองสำรวจเครื่องมือหลาย ๆ ตัว
    แต่เท่าที่ผมเข้าใจ คุณภาพยังห่างจากระดับล้ำหน้าสุดอยู่พอสมควร เพื่อนคนหนึ่งเพิ่งแนะนำ Topaz มา แต่ตัวนั้นไม่ใช่โอเพนซอร์ส

    • คุณภาพในบางด้านจริง ๆ แล้วใกล้เคียงกัน เพียงแต่ Upscayl เป็นโปรเจกต์ฟรี จึงยังไม่มีโมเดลของตัวเอง และเลยต้องพึ่งโมเดลจากชุมชน ซึ่งโมเดลเหล่านั้นก็ยอดเยี่ยมเหมือนกัน
      ถ้าระดมทุนได้เพียงพอ ก็มีแผนจะสร้างโมเดลที่แข็งแรงของตัวเอง :)
      https://ckovalev.com/midjourney-ai/guide/upscaling-ai-art-fo...
    • สำหรับผม ผลลัพธ์ที่ดีที่สุดได้จาก แท็บ extras ของ a1111 แน่นอนว่าคุณต้องรู้ก่อนว่าแต่ละตัวเลือกหมายถึงอะไร และอินเทอร์เฟซก็ซับซ้อนกว่าชัดเจน
  • UpScayl ยอดเยี่ยมมากและผมใช้บ่อยในงาน ไม่ว่าจะเป็นการขยายกราฟิกหรือภาพประกอบความละเอียดต่ำแบบเร่งด่วนเพื่อใช้งานกราฟิก ขยายภาพพอร์ตเทรตสำหรับงานพิมพ์และงานใน Photoshop หรือขยายสำเนาเก่าเพื่อใช้ในการตัดต่อ
    มันไม่สมบูรณ์แบบ แต่ทางเลือกอื่นก็ไม่ได้สมบูรณ์แบบเหมือนกัน ถึงอย่างนั้นก็มีประโยชน์มาก

    • ดีใจที่คุณชอบ เรากำลังทำให้มันดีขึ้น และเมื่อ Upscayl Cloud เข้ามา มันจะเปิดโอกาสให้มืออาชีพได้กว้างขึ้นมากด้วย แน่นอนว่าในขอบเขตที่สมเหตุสมผล :)
  • upscayl เข้าถึงง่าย แต่ยังขาดฟีเจอร์หลายอย่างที่ผมต้องการ พอการอัปสเกลกลายเป็นส่วนหนึ่งของ workflow ปกติแล้ว ผมก็หันไปใช้ https://github.com/AUTOMATIC1111/stable-diffusion-webui แต่สำหรับคนที่แค่อยากปรับภาพไม่กี่ภาพให้ดีขึ้น มันเป็นเครื่องมือที่เหมาะมาก

  • เมื่อเทียบกับความก้าวหน้าในสาขาอื่น ๆ ตอนนี้อัปสเกลเลอร์ยังให้ความรู้สึกว่า ต่ำกว่าความคาดหวัง อย่างน่าประหลาด

  • มีโมเดลที่ช่วย เก็บกวาดภาพ ไม่ใช่แค่อัปสเกลไหม? ผมมีรูปเก่าเยอะมากที่ถ่ายจากกล้องคอมแพ็กรุ่นแรก ๆ ความละเอียดต่ำ เลยมีพวก JPEG artifact อยู่
    โมเดลสมัยใหม่น่าจะ fine-tune ให้แก้ปัญหาแบบนี้ได้ไม่ยาก แต่ผมหามาหลายเดือนแล้วก็ยังไม่เจอ

    • ลองดูโมเดลพวกนี้ได้: https://replicate.com/collections/image-restoration
      ส่วนใหญ่รันในเครื่องได้ แต่ก่อนจะเสียเวลาไปทำความเข้าใจ cog/docker/hf ผมแนะนำให้ลองทดสอบบน replicate ก่อน
  • น่าเสียดายที่ในฝั่งวิดีโอ ผมยังไม่เห็นอะไรที่คุณภาพสูสีกับเครื่องมือแบบเสียเงินของ Topaz Labs เลย implementation อื่น ๆ มักมีปัญหาเรื่องความคมชัดและความสม่ำเสมอเสมอ
    อยากให้มีใครพิสูจน์ว่าผมคิดผิด เพราะผมมีโปรเจกต์หนึ่งที่ค้างอยู่เนื่องจากคุณภาพและความละเอียดของต้นฉบับต่ำเกินไป

  • ว่าแต่ มีแอปตัวไหนที่เกี่ยวข้องกันและทำหน้าที่ ลบลายน้ำ ได้บ้าง?