ImageEmbedder

คลาสสุดท้ายแบบสาธารณะ ImageEmbedder

ทำการดึงการฝังรูปภาพ

API ต้องการโมเดล TFLite ที่มีข้อมูลเมตาของโมเดล TFLite ที่ไม่บังคับ แต่ขอแนะนำอย่างยิ่ง

API รองรับโมเดลที่มี Tensor อินพุตอิมเมจ 1 รายการและ Tensor เอาต์พุตอย่างน้อย 1 รายการ หากต้องการเจาะจงยิ่งขึ้น โปรดดูข้อกำหนดด้านล่าง

  • Tensor อิมเมจ (kTfLiteUInt8/kTfLiteFloat32)
    • อินพุตรูปภาพของขนาด [batch x height x width x channels]
    • ไม่รองรับการอนุมานกลุ่ม (ต้องมี batch เป็น 1)
    • รองรับเฉพาะอินพุต RGB เท่านั้น (ต้องมี channels เป็น 3)
    • หากประเภทคือ kTfLiteFloat32 ต้องแนบ การทำให้เป็นมาตรฐาน กับข้อมูลเมตาเพื่อทำให้อินพุตเป็นมาตรฐาน
  • Tensor เอาต์พุตอย่างน้อย 1 รายการ (kTfLiteUInt8/kTfLiteFloat32) ที่มีรูปร่าง [1 x N] โดยที่ N คือจำนวนมิติข้อมูลในการฝังที่สร้างขึ้น

ชั้นเรียนที่ซ้อนกัน

คลาส ImageEmbedder.ImageEmbedderOptions ตัวเลือกสำหรับการตั้งค่าและImageEmbedder 

วิธีการสาธารณะ

static 2 เท่า
cosineSimilarity(การฝัง u, การฝัง v)
ฟังก์ชันยูทิลิตีเพื่อคำนวณความคล้ายคลึงกันของโคไซน์ระหว่างออบเจ็กต์ Embedding 2 รายการ
ภาพนิ่ง ImageEmbedder
createFromBuffer(บริบทบริบท, ByteBuffer modelBuffer)
สร้างอินสแตนซ์ ImageEmbedder จากบัฟเฟอร์โมเดลและ ImageEmbedder.ImageEmbedderOptions เริ่มต้น
ภาพนิ่ง ImageEmbedder
createFromFile(บริบทบริบท, String modelPath)
สร้างอินสแตนซ์ ImageEmbedder จากไฟล์โมเดลและ ImageEmbedder.ImageEmbedderOptions เริ่มต้น
ภาพนิ่ง ImageEmbedder
createFromFile(บริบทบริบท, ไฟล์ modelFile)
สร้างอินสแตนซ์ ImageEmbedder จากไฟล์โมเดลและ ImageEmbedder.ImageEmbedderOptions เริ่มต้น
ภาพนิ่ง ImageEmbedder
createFromOptions(บริบทบริบท, ตัวเลือก ImageEmbedder.ImageEmbedderOptions)
สร้างอินสแตนซ์ ImageEmbedder จากอินสแตนซ์ ImageEmbedder.ImageEmbedderOptions
ImageEmbedderResult
embed(ภาพ MPImage, ImageProcessingOptions imageProcessingOptions)
ดำเนินการดึงข้อมูลการฝังในรูปภาพเดียวที่ให้ไว้
ImageEmbedderResult
ฝัง(ภาพ MPImage)
ดำเนินการดึงข้อมูลการฝังในรูปภาพเดียวที่ให้มาด้วยตัวเลือกการประมวลผลรูปภาพเริ่มต้น เช่น
void
embedAsync(ภาพ MPImage, ImageProcessingOptions imageProcessingOptions, Long timestampMs)
ส่งข้อมูลรูปภาพแบบเรียลไทม์เพื่อทำการดึงการฝัง และผลการค้นหาจะพร้อมใช้งานผ่าน OutputHandler.ResultListener ที่ให้ไว้ใน ImageEmbedder.ImageEmbedderOptions
void
embedAsync(รูปภาพ MPImage, การประทับเวลายาว Ms)
ส่งข้อมูลรูปภาพแบบสดเพื่อดึงข้อมูลการฝังด้วยตัวเลือกการประมวลผลรูปภาพเริ่มต้น เช่น
ImageEmbedderResult
embedForVideo(ภาพ MPImage, ImageProcessingOptions imageProcessingOptions, Long timestampMs)
ทำการดึงการฝังในเฟรมวิดีโอที่ระบุ
ImageEmbedderResult
embedForVideo(รูปภาพ MPImage, timestampMs ยาว)
ดำเนินการดึงข้อมูลการฝังในเฟรมวิดีโอที่ให้มาด้วยตัวเลือกการประมวลผลรูปภาพเริ่มต้น เช่น

วิธีการที่รับช่วงมา

วิธีการสาธารณะ

สาธารณะ คงที่ Double cosineSimilarity (การฝัง u, การฝัง v)

ฟังก์ชันยูทิลิตีเพื่อคำนวณความคล้ายคลึงกันของโคไซน์ระหว่างออบเจ็กต์ Embedding 2 รายการ

พารามิเตอร์
u
v
การขว้าง
IllegalArgumentException การฝังเป็นคนละชนิดกัน (แบบลอยกับวัดปริมาณ) มีขนาดต่างกัน หรือมี L2-norm เป็น 0

ภาพนิ่งสาธารณะ ImageEmbedder createFromBuffer (บริบทบริบท, ByteBuffer ModelBuffer)

สร้างอินสแตนซ์ ImageEmbedder จากบัฟเฟอร์โมเดลและ ImageEmbedder.ImageEmbedderOptions เริ่มต้น

พารามิเตอร์
บริบท Android ERROR(/Context)
modelBuffer ByteBuffer โดยตรงหรือ ERROR(/MappedByteBuffer) ของโมเดลที่ฝัง
การขว้าง
หากเกิดข้อผิดพลาดระหว่างการสร้าง ImageEmbedder

สาธารณะ static ImageEmbedder createFromFile (บริบทบริบท, String modelPath)

สร้างอินสแตนซ์ ImageEmbedder จากไฟล์โมเดลและ ImageEmbedder.ImageEmbedderOptions เริ่มต้น

พารามิเตอร์
บริบท Android ERROR(/Context)
modelPath ไปยังโมเดลที่ฝังในเนื้อหา
การขว้าง
หากเกิดข้อผิดพลาดระหว่างการสร้าง ImageEmbedder

สาธารณะ static ImageEmbedder createFromFile (บริบทบริบท, ไฟล์ modelFile)

สร้างอินสแตนซ์ ImageEmbedder จากไฟล์โมเดลและ ImageEmbedder.ImageEmbedderOptions เริ่มต้น

พารามิเตอร์
บริบท Android ERROR(/Context)
modelFile อินสแตนซ์ File ของโมเดลที่ฝัง
การขว้าง
IOException หากเกิดข้อผิดพลาด I/O เมื่อเปิดไฟล์โมเดล tflite
หากเกิดข้อผิดพลาดระหว่างการสร้าง ImageEmbedder

สาธารณะ static ImageEmbedder createFromOptions (บริบทบริบท, ตัวเลือก Imageembedder.Imageตัว ตัวเลือก)

สร้างอินสแตนซ์ ImageEmbedder จากอินสแตนซ์ ImageEmbedder.ImageEmbedderOptions

พารามิเตอร์
บริบท Android ERROR(/Context)
ตัวเลือก อินสแตนซ์ ImageEmbedder.ImageEmbedderOptions
การขว้าง
หากเกิดข้อผิดพลาดระหว่างการสร้าง ImageEmbedder

สาธารณะ ImageEmbedderResult ฝัง (รูปภาพ MPImage ImageProcessingOptions imageProcessingOptions)

ดำเนินการดึงข้อมูลการฝังในรูปภาพเดียวที่ให้ไว้ ใช้วิธีนี้เฉพาะเมื่อมีการสร้าง ImageEmbedder ด้วย ERROR(/RunningMode.IMAGE)

ImageEmbedder รองรับพื้นที่สีประเภทต่อไปนี้

พารามิเตอร์
รูปภาพ ออบเจ็กต์ MediaPipe MPImage สำหรับการประมวลผล
imageProcessingOptions ImageProcessingOptions จะระบุวิธีประมวลผลรูปภาพอินพุตก่อนเรียกใช้การอนุมาน
การขว้าง
ในกรณีที่เกิดข้อผิดพลาดภายใน

สาธารณะ ImageEmbedderResult ฝัง (MPImage)

ดำเนินการดึงข้อมูลการฝังในรูปภาพเดียวที่ให้ไว้ด้วยตัวเลือกการประมวลผลรูปภาพเริ่มต้น กล่าวคือ ใช้รูปภาพทั้งรูปเป็นภูมิภาคที่สนใจและไม่ใช้การหมุนใดๆ เลย ใช้วิธีนี้เฉพาะเมื่อมีการสร้าง ImageEmbedder ด้วย ERROR(/RunningMode.IMAGE) เท่านั้น

ImageEmbedder รองรับพื้นที่สีประเภทต่อไปนี้

พารามิเตอร์
รูปภาพ ออบเจ็กต์ MediaPipe MPImage สำหรับการประมวลผล
การขว้าง
ในกรณีที่เกิดข้อผิดพลาดภายใน

สาธารณะ void embedAsync (ภาพ MPImage, ImageProcessingOptions imageProcessingOptions, Long timestampMs)

ส่งข้อมูลรูปภาพแบบเรียลไทม์เพื่อทำการดึงการฝัง และผลการค้นหาจะพร้อมใช้งานผ่าน OutputHandler.ResultListener ที่ให้ไว้ใน ImageEmbedder.ImageEmbedderOptions ใช้วิธีนี้เมื่อมีการสร้าง ImageEmbedder ด้วย ERROR(/RunningMode.LIVE_STREAM) เท่านั้น

ต้องระบุการประทับเวลา (เป็นมิลลิวินาที) เพื่อระบุว่ามีการส่งรูปภาพอินพุตไปยังตัวตรวจจับวัตถุเมื่อใด การประทับเวลาอินพุตต้องเพิ่มขึ้นแบบโมนาเท่านั้น

ImageEmbedder รองรับพื้นที่สีประเภทต่อไปนี้

พารามิเตอร์
รูปภาพ ออบเจ็กต์ MediaPipe MPImage สำหรับการประมวลผล
imageProcessingOptions ImageProcessingOptions จะระบุวิธีประมวลผลรูปภาพอินพุตก่อนเรียกใช้การอนุมาน
timestampMs การประทับเวลาอินพุต (เป็นมิลลิวินาที)
การขว้าง
ในกรณีที่เกิดข้อผิดพลาดภายใน

สาธารณะ void embedAsync (รูปภาพ MPImage, Long timestampMs)

ส่งข้อมูลรูปภาพแบบสดเพื่อดึงข้อมูลการฝังด้วยตัวเลือกการประมวลผลรูปภาพเริ่มต้น กล่าวคือ ใช้รูปภาพทั้งรูปเป็นภูมิภาคที่สนใจและไม่มีการใช้การหมุนใดๆ และผลการค้นหาจะพร้อมใช้งานผ่าน OutputHandler.ResultListener ที่ระบุไว้ใน ImageEmbedder.ImageEmbedderOptions ใช้วิธีนี้เฉพาะเมื่อมีการสร้าง ImageEmbedder ด้วย ERROR(/RunningMode.LIVE_STREAM)

ต้องระบุการประทับเวลา (เป็นมิลลิวินาที) เพื่อระบุว่ามีการส่งรูปภาพอินพุตไปยังตัวตรวจจับวัตถุเมื่อใด การประทับเวลาอินพุตต้องเพิ่มขึ้นแบบโมนาเท่านั้น

ImageEmbedder รองรับพื้นที่สีประเภทต่อไปนี้

พารามิเตอร์
รูปภาพ ออบเจ็กต์ MediaPipe MPImage สำหรับการประมวลผล
timestampMs การประทับเวลาอินพุต (เป็นมิลลิวินาที)
การขว้าง
ในกรณีที่เกิดข้อผิดพลาดภายใน

สาธารณะ ImageEmbedderResult embedForVideo (รูปภาพ MPImage ImageProcessingOptions imageProcessingOptions, Long timestampMs)

ทำการดึงการฝังในเฟรมวิดีโอที่ระบุ ใช้วิธีนี้เฉพาะเมื่อมีการสร้าง ImageEmbedder ด้วย ERROR(/RunningMode.VIDEO) เท่านั้น

และระบุการประทับเวลาของเฟรมวิดีโอ (เป็นมิลลิวินาที) การประทับเวลาอินพุตต้องเพิ่มขึ้นทีละน้อย

ImageEmbedder รองรับพื้นที่สีประเภทต่อไปนี้

พารามิเตอร์
รูปภาพ ออบเจ็กต์ MediaPipe MPImage สำหรับการประมวลผล
imageProcessingOptions ImageProcessingOptions จะระบุวิธีประมวลผลรูปภาพอินพุตก่อนเรียกใช้การอนุมาน
timestampMs การประทับเวลาอินพุต (เป็นมิลลิวินาที)
การขว้าง
ในกรณีที่เกิดข้อผิดพลาดภายใน

สาธารณะ ImageEmbedderResult embedForVideo (MPImage ภาพ, การประทับเวลายาว Ms)

ทำการดึงข้อมูลการฝังในเฟรมวิดีโอที่ระบุด้วยตัวเลือกการประมวลผลรูปภาพเริ่มต้น กล่าวคือ ใช้รูปภาพทั้งรูปเป็นภูมิภาคที่สนใจและไม่ใช้การหมุนใดๆ ใช้วิธีนี้เฉพาะเมื่อมีการสร้าง ImageEmbedder ด้วย ERROR(/RunningMode.VIDEO) เท่านั้น

และระบุการประทับเวลาของเฟรมวิดีโอ (เป็นมิลลิวินาที) การประทับเวลาอินพุตต้องเพิ่มขึ้นทีละน้อย

ImageEmbedder รองรับพื้นที่สีประเภทต่อไปนี้

พารามิเตอร์
รูปภาพ ออบเจ็กต์ MediaPipe MPImage สำหรับการประมวลผล
timestampMs การประทับเวลาอินพุต (เป็นมิลลิวินาที)
การขว้าง
ในกรณีที่เกิดข้อผิดพลาดภายใน