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