ObjectDetector

คลาสสุดท้ายสาธารณะ ObjectDetector

ดำเนินการตรวจจับวัตถุในรูปภาพ

API ต้องการโมเดล TFLite ที่มีข้อมูลเมตาของโมเดล TFLite

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

  • Tensor อิมเมจ (kTfLiteUInt8/kTfLiteFloat32)
    • อินพุตรูปภาพของขนาด [batch x height x width x channels]
    • ไม่รองรับการอนุมานกลุ่ม (ต้องมี batch เป็น 1)
    • รองรับเฉพาะอินพุต RGB เท่านั้น (ต้องมี channels เป็น 3)
    • หากประเภทเป็น kTfLiteFloat32 ต้องมี การทำให้เป็นมาตรฐาน ต้องแนบ กับข้อมูลเมตาเพื่อทำให้อินพุตเป็นมาตรฐาน
  • Tensor เอาต์พุตต้องเป็นเอาต์พุต 4 รายการของ DetectionPostProcess อินพุต เช่น
    • Tensor สถานที่ตั้ง (kTfLiteFloat32):
      • Tensor ของขนาด [1 x num_results x 4] ซึ่งเป็นอาร์เรย์ภายในแสดงกรอบล้อมรอบในรูปแบบ [บน, ซ้าย, ขวา, ล่าง]
      • ต้องแนบ BoundingBoxProperties กับข้อมูลเมตา รวมถึงต้องระบุ type=BOUNDARIES และ coordinate_type=RATIO
    • Tensor คลาส (kTfLiteFloat32):
      • tensor ของขนาด [1 x num_results] โดยแต่ละค่าจะแสดงดัชนีจำนวนเต็มของคลาส
      • หากมีการแนบการแมปป้ายกำกับกับข้อมูลเมตาเป็นไฟล์ที่เกี่ยวข้อง TENSOR_VALUE_LABELS ระบบจะใช้การแมปป้ายกำกับเหล่านั้นเพื่อแปลงค่า tensor เป็นป้ายกำกับ
    • Tensor คะแนน (kTfLiteFloat32):
      • tensor ของขนาด [1 x num_results] โดยแต่ละค่าจะแสดงคะแนนของออบเจ็กต์ที่ตรวจพบ
    • จำนวน Tensor การตรวจจับ (kTfLiteFloat32):
      • จำนวนเต็ม num_results เป็น tensor ขนาด [1]

ดูตัวอย่างโมเดลดังกล่าวได้ใน TensorFlow Hub

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

คลาส ObjectDetector.ObjectDetectorOptions ตัวเลือกในการตั้งค่าObjectDetector 

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

ภาพนิ่ง ObjectDetector
createFromBuffer(บริบทบริบท, ByteBuffer modelBuffer)
สร้างอินสแตนซ์ ObjectDetector จากบัฟเฟอร์โมเดลและ ObjectDetector.ObjectDetectorOptions เริ่มต้น
ภาพนิ่ง ObjectDetector
createFromFile(บริบทบริบท, String modelPath)
สร้างอินสแตนซ์ ObjectDetector จากไฟล์โมเดลและ ObjectDetector.ObjectDetectorOptions เริ่มต้น
ภาพนิ่ง ObjectDetector
createFromFile(บริบทบริบท, ไฟล์ modelFile)
สร้างอินสแตนซ์ ObjectDetector จากไฟล์โมเดลและ ObjectDetector.ObjectDetectorOptions เริ่มต้น
ภาพนิ่ง ObjectDetector
createFromOptions(บริบทบริบท, ObjectDetector.ObjectDetectorOptions DetectorOptions)
สร้างอินสแตนซ์ ObjectDetector จาก ObjectDetector.ObjectDetectorOptions
ObjectDetectorResult
detect(รูปภาพ MPImage)
ตรวจหาออบเจ็กต์ในรูปภาพเดียวที่ให้มาด้วยตัวเลือกการประมวลผลรูปภาพเริ่มต้น เช่น
ObjectDetectorResult
detect(รูปภาพ MPImage, ImageProcessingOptions imageProcessingOptions)
ตรวจหาออบเจ็กต์ในรูปภาพเดียวที่ให้ไว้
void
detectAsync(รูปภาพ MPImage, ImageProcessingOptions imageProcessingOptions, การประทับเวลายาว)
ส่งข้อมูลรูปภาพสดเพื่อตรวจจับออบเจ็กต์ และผลลัพธ์จะแสดงผ่าน OutputHandler.ResultListener ที่ระบุไว้ใน ObjectDetector.ObjectDetectorOptions
void
detectAsync(รูปภาพ MPImage, การประทับเวลายาว Ms)
ส่งข้อมูลภาพสดเพื่อตรวจจับวัตถุด้วยตัวเลือกการประมวลผลรูปภาพเริ่มต้น เช่น
ObjectDetectorResult
detectForVideo(รูปภาพ MPImage, ImageProcessingOptions imageProcessingOptions, การประทับเวลายาว)
ทำการตรวจจับวัตถุในเฟรมวิดีโอที่ระบุ
ObjectDetectorResult
detectForVideo(รูปภาพ MPImage, timestampMs นาน)
ตรวจหาออบเจ็กต์ในเฟรมวิดีโอที่ระบุด้วยตัวเลือกการประมวลผลรูปภาพเริ่มต้น เช่น

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

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

สาธารณะ คงที่ ObjectDetector createFromBuffer (บริบทบริบท, ByteBuffer ModelBuffer)

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

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

สาธารณะ คงที่ ObjectDetector createFromFile (บริบทบริบท, String modelPath)

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

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

สาธารณะ คงที่ ObjectDetector createFromFile (บริบทบริบท, ไฟล์ modelFile)

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

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

สาธารณะ คงที่ ObjectDetector createFromOptions (บริบทบริบท, ObjectDetector.ObjectDetectorOptions DetectorOptions)

สร้างอินสแตนซ์ ObjectDetector จาก ObjectDetector.ObjectDetectorOptions

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

สาธารณะ ObjectDetectorResult detect (รูปภาพ MPImage)

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

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

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

สาธารณะ ObjectDetectorResult detect (รูปภาพ MPImage, ImageProcessingOptions imageProcessingOptions)

ตรวจหาออบเจ็กต์ในรูปภาพเดียวที่ให้ไว้ ใช้วิธีนี้เฉพาะเมื่อมีการสร้าง ObjectDetector ด้วย ERROR(/RunningMode.IMAGE) เท่านั้น

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

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

สาธารณะ void detectAsync (รูปภาพ MPImage, ImageProcessingOptions ตัวเลือกรูปภาพการประมวลผลข้อมูล, การประทับเวลายาว Ms)

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

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

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

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

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

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

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

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

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

สาธารณะ ObjectDetectorResult detectForVideo (รูปภาพ MPImage ImageProcessingOptions imageProcessingOptions, long timestampMs)

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

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

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

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

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

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

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

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

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