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