ทำการดึงการฝังรูปภาพ
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 | |
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 | การประทับเวลาอินพุต (เป็นมิลลิวินาที) |
การขว้าง
ในกรณีที่เกิดข้อผิดพลาดภายใน |