Upscayl เครื่องมืออัปสเกลภาพด้วย AI แบบโอเพนซอร์สใช้ฟรี
(github.com/upscayl)- 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
- หลังติดตั้ง Volta ให้รัน
- ลำดับการรันบนเครื่องคือ clone repository, ติดตั้ง dependencies, แล้วรัน development server
git clone https://github.com/upscayl/upscaylcd upscaylnpm installnpm run start
- หากไม่ต้องการติดตั้ง Git สามารถดาวน์โหลด source zip แตกไฟล์ไปยังโฟลเดอร์
upscaylแล้วทำขั้นตอนที่เหลือต่อได้ - การแพ็กเกจแอปทำด้วย
npm run dist - คำสั่งเผยแพร่แอปคือ
npm run publish-appโดยแนะนำให้เฉพาะผู้ดูแลเพิ่มGH_TOKEN=ลงใน shell ก่อนรันเท่านั้น
1 ความคิดเห็น
ความเห็นจาก 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...
ถ้าจะใช้ Real-ESRGAN คุณต้องยอมรับโค้ดเบสที่ไม่ได้อัปเดตมานานและปัญหาหลายอย่าง เท่าที่ผมรู้ ตอนนี้โปรเจกต์เดียวที่ยังดูแล Real-ESRGAN NCNN อยู่คือ Upscayl NCNN
ผมเอารูปเก่า ๆ จากอัลบั้มครอบครัวมาขยายเยอะมาก แล้วใช้เครื่องมืออย่าง Photoroom, Snapseed แก้ตำหนิ ก่อนส่งไปอัดภาพ ซึ่งได้ผลดีมาก
เวลาเจอรูปเก่า ๆ ความละเอียดต่ำบนอินเทอร์เน็ตที่ต่อให้หาไฟล์ต้นฉบับความละเอียดสูงด้วย Google, DuckDuckGo หรือ Kagi ก็ไม่เจอ ผมจะเอามาอัปสเกลด้วย RealESRGAN แล้วใช้เป็นวอลเปเปอร์หรือพื้นหลังพรีเซนเทชัน
ทุกครั้งที่เห็นฉาก “enhance” ภาพในทีวีหรือหนัง ผมหัวเราะหนักมากจริง ๆ: https://youtu.be/LhF_56SxrGk
เหมือนนิยายวิทยาศาสตร์ของเมื่อวานกลายเป็นความจริงไปแล้ว
แต่ตอนนี้มันมีอยู่จริง “Enhance” ทำได้จริงแล้ว
ผมลองใช้เมื่อเดือนธันวาคมและรู้สึกว่าใช้งานค่อนข้างตรงไปตรงมา น่าแนะนำสำหรับคนที่เพิ่งเริ่มลองสำรวจเครื่องมือหลาย ๆ ตัว
แต่เท่าที่ผมเข้าใจ คุณภาพยังห่างจากระดับล้ำหน้าสุดอยู่พอสมควร เพื่อนคนหนึ่งเพิ่งแนะนำ Topaz มา แต่ตัวนั้นไม่ใช่โอเพนซอร์ส
ถ้าระดมทุนได้เพียงพอ ก็มีแผนจะสร้างโมเดลที่แข็งแรงของตัวเอง :)
https://ckovalev.com/midjourney-ai/guide/upscaling-ai-art-fo...
UpScayl ยอดเยี่ยมมากและผมใช้บ่อยในงาน ไม่ว่าจะเป็นการขยายกราฟิกหรือภาพประกอบความละเอียดต่ำแบบเร่งด่วนเพื่อใช้งานกราฟิก ขยายภาพพอร์ตเทรตสำหรับงานพิมพ์และงานใน Photoshop หรือขยายสำเนาเก่าเพื่อใช้ในการตัดต่อ
มันไม่สมบูรณ์แบบ แต่ทางเลือกอื่นก็ไม่ได้สมบูรณ์แบบเหมือนกัน ถึงอย่างนั้นก็มีประโยชน์มาก
upscayl เข้าถึงง่าย แต่ยังขาดฟีเจอร์หลายอย่างที่ผมต้องการ พอการอัปสเกลกลายเป็นส่วนหนึ่งของ workflow ปกติแล้ว ผมก็หันไปใช้ https://github.com/AUTOMATIC1111/stable-diffusion-webui แต่สำหรับคนที่แค่อยากปรับภาพไม่กี่ภาพให้ดีขึ้น มันเป็นเครื่องมือที่เหมาะมาก
เมื่อเทียบกับความก้าวหน้าในสาขาอื่น ๆ ตอนนี้อัปสเกลเลอร์ยังให้ความรู้สึกว่า ต่ำกว่าความคาดหวัง อย่างน่าประหลาด
มีโมเดลที่ช่วย เก็บกวาดภาพ ไม่ใช่แค่อัปสเกลไหม? ผมมีรูปเก่าเยอะมากที่ถ่ายจากกล้องคอมแพ็กรุ่นแรก ๆ ความละเอียดต่ำ เลยมีพวก JPEG artifact อยู่
โมเดลสมัยใหม่น่าจะ fine-tune ให้แก้ปัญหาแบบนี้ได้ไม่ยาก แต่ผมหามาหลายเดือนแล้วก็ยังไม่เจอ
ส่วนใหญ่รันในเครื่องได้ แต่ก่อนจะเสียเวลาไปทำความเข้าใจ cog/docker/hf ผมแนะนำให้ลองทดสอบบน replicate ก่อน
น่าเสียดายที่ในฝั่งวิดีโอ ผมยังไม่เห็นอะไรที่คุณภาพสูสีกับเครื่องมือแบบเสียเงินของ Topaz Labs เลย implementation อื่น ๆ มักมีปัญหาเรื่องความคมชัดและความสม่ำเสมอเสมอ
อยากให้มีใครพิสูจน์ว่าผมคิดผิด เพราะผมมีโปรเจกต์หนึ่งที่ค้างอยู่เนื่องจากคุณภาพและความละเอียดของต้นฉบับต่ำเกินไป
ว่าแต่ มีแอปตัวไหนที่เกี่ยวข้องกันและทำหน้าที่ ลบลายน้ำ ได้บ้าง?