หน้านี้จะอธิบายวิธีใช้การวาดภาพนอกกรอบโดยใช้ Imagen เพื่อขยายเนื้อหาของรูปภาพให้เกินขอบเขตเดิมโดยใช้ SDK ของ Firebase AI Logic
การวาดภาพนอกกรอบเป็นการแก้ไขโดยใช้มาสก์ประเภทหนึ่ง มาสก์คือการซ้อนทับแบบดิจิทัล ที่กำหนดพื้นที่เฉพาะที่คุณต้องการแก้ไข
วิธีการทำงาน: คุณระบุรูปภาพต้นฉบับและรูปภาพที่มาสก์ที่สอดคล้องกัน ซึ่งระบบสร้างขึ้นโดยอัตโนมัติหรือคุณเป็นผู้ระบุ ซึ่งกำหนดมาสก์ของพื้นที่ใหม่ที่ขยาย นอกจากนี้ คุณยังระบุพรอมต์ข้อความที่อธิบายสิ่งที่ต้องการในพื้นที่ที่ขยายได้ หรือโมเดลจะตัดสินใจอย่างชาญฉลาดว่าจะให้ฉากที่มีอยู่ดำเนินต่อไปอย่างไรอย่างสมเหตุสมผล โมเดลจะสร้างเนื้อหาใหม่และเติมในพื้นที่ที่มาสก์
เช่น คุณเปลี่ยนสัดส่วนภาพหรือเพิ่มบริบทพื้นหลังได้
ก่อนเริ่มต้น
ใช้ได้เมื่อใช้ Vertex AI Gemini API เป็นผู้ให้บริการ API เท่านั้น |
หากยังไม่ได้ดำเนินการ ให้ทำตามคู่มือเริ่มต้นใช้งาน ซึ่งอธิบายวิธีตั้งค่าโปรเจ็กต์ Firebase, เชื่อมต่อแอปกับ Firebase, เพิ่ม SDK, เริ่มต้นบริการแบ็กเอนด์สำหรับผู้ให้บริการ API ที่เลือก และสร้างอินสแตนซ์ ImagenModel
รุ่นที่รองรับความสามารถนี้
Imagen มีบริการแก้ไขรูปภาพผ่านโมเดล capability
ดังนี้
imagen-3.0-capability-001
โปรดทราบว่าสำหรับโมเดล Imagen ระบบไม่รองรับตำแหน่ง global
ขยายเนื้อหาของรูปภาพ
ก่อนที่จะลองใช้ตัวอย่างนี้ ให้ทำส่วนก่อนเริ่มต้นของคู่มือนี้ เพื่อตั้งค่าโปรเจ็กต์และแอป |
ตัวอย่างต่อไปนี้แสดงวิธีขยายรูปภาพให้เกินขอบเขตเดิม โดยใช้มาสก์ที่กำหนดไว้ในรูปภาพที่คุณระบุ คุณระบุรูปภาพต้นฉบับ พรอมต์ข้อความ และรูปภาพที่มาสก์ โปรดทราบ สิ่งต่อไปนี้เกี่ยวกับรูปภาพต้นฉบับและรูปภาพที่มาสก์
รูปภาพที่มาสก์ต้องมีขนาดพิกเซลเท่ากับขนาดเป้าหมายของ รูปภาพที่ Outpaint สุดท้าย
รูปภาพต้นฉบับต้องมีระยะขอบเพิ่มเติมเพื่อให้ตรงกับขนาดพิกเซล ของรูปภาพที่มาสก์
การระบุพรอมต์ข้อความเป็นตัวเลือกหากคุณต้องการให้โมเดลตัดสินใจอย่างชาญฉลาด ว่าอะไรจะทำให้ฉากที่มีอยู่ดำเนินต่อไปอย่างสมเหตุสมผล หากต้องการเนื้อหาที่เฉพาะเจาะจง ในพื้นที่ที่ขยายออก คุณต้องระบุในพรอมต์ข้อความ
Swift
Swift ไม่รองรับการแก้ไขรูปภาพด้วยโมเดล Imagen โปรดกลับมาดูอีกครั้งในปลายปีนี้
Kotlin
หากต้องการขยายรูปภาพ ให้ใช้
editImage()
และตั้งค่าการแก้ไขให้ใช้ ImagenEditMode.OUTPAINT
โปรดทราบว่าคุณเลือกใช้
outpaintImage()
แทน editImage()
ได้ และไม่จำเป็นต้องระบุโหมดการแก้ไข
ดูการเริ่มต้นใช้งานอย่างรวดเร็วสำหรับโค้ดตัวอย่างสำหรับการวาดภาพนอกกรอบ
Java
หากต้องการขยายรูปภาพ ให้ใช้
editImage()
และตั้งค่าการแก้ไขให้ใช้ ImagenEditMode.OUTPAINT
โปรดทราบว่าคุณเลือกใช้
outpaintImage()
แทน editImage()
ได้ และไม่จำเป็นต้องระบุโหมดการแก้ไข
ดูการเริ่มต้นใช้งานอย่างรวดเร็วสำหรับโค้ดตัวอย่างสำหรับการวาดภาพนอกกรอบ
Web
แอปบนเว็บไม่รองรับการแก้ไขรูปภาพด้วยโมเดล Imagen โปรดกลับมาดูอีกครั้งในปลายปีนี้
Dart
หากต้องการขยายรูปภาพ ให้ใช้
editImage()
และตั้งค่าการแก้ไขให้ใช้ ImagenEditMode.OUTPAINT
ดูการเริ่มต้นใช้งานอย่างรวดเร็วสำหรับโค้ดตัวอย่างสำหรับการวาดภาพนอกกรอบ
Unity
Unity ไม่รองรับการแก้ไขรูปภาพด้วยโมเดล Imagen โปรดกลับมาดูอีกครั้งในปลายปีนี้
แนวทางปฏิบัติแนะนำและข้อจำกัด
เราขอแนะนำให้ขยายมาสก์เมื่อแก้ไขรูปภาพ ซึ่งจะช่วยให้ขอบของการแก้ไขเรียบเนียนขึ้น
และดูสมจริงยิ่งขึ้น โดยทั่วไป เราขอแนะนำให้ใช้ค่าการขยาย
ที่ 1% หรือ 2% (0.01
หรือ 0.02
)
แสดงความคิดเห็น เกี่ยวกับประสบการณ์การใช้งาน Firebase AI Logic