ObjectDetector

lớp cuối cùng công khai ObjectDetector

Thực hiện phát hiện vật thể trên hình ảnh.

API yêu cầu phiên bản TFLite có Siêu dữ liệu mô hình TFLite.

API này hỗ trợ các mô hình có một tensor đầu vào hình ảnh và bốn tensor đầu ra. Cụ thể hơn, sau đây là các yêu cầu.

  • Tensor hình ảnh đầu vào (kTfLiteUInt8/kTfLiteFloat32)
    • Ảnh đầu vào có kích thước [batch x height x width x channels].
    • dự đoán theo lô không được hỗ trợ (batch bắt buộc phải là 1).
    • chỉ hỗ trợ đầu vào RGB (channels bắt buộc phải là 3).
    • nếu loại là kTfLiteFloat32, bạn cần phải đính kèm normalizationOptions vào siêu dữ liệu để chuẩn hoá dữ liệu đầu vào.
  • Tensor đầu ra phải là 4 đầu ra của một op DetectionPostProcess, tức là:
    • Tensor vị trí (kTfLiteFloat32):
      • tensor có kích thước [1 x num_results x 4], mảng bên trong đại diện cho các hộp giới hạn ở dạng [trên cùng, bên trái, bên phải, dưới cùng].
      • Bạn phải đính kèm BoundingBoxProperties vào siêu dữ liệu, đồng thời phải chỉ định type=BOUNDARIEScoordinate_type=RATIO.
    • tensor lớp (kTfLiteFloat32):
      • tensor có kích thước [1 x num_results], mỗi giá trị đại diện cho chỉ mục số nguyên của một lớp.
      • nếu bản đồ nhãn được đính kèm vào siêu dữ liệu dưới dạng tệp liên kết với TENSOR_VALUE_LABELS, thì chúng sẽ được dùng để chuyển đổi các giá trị tensor thành nhãn.
    • tensor điểm số (kTfLiteFloat32):
      • tensor của kích thước [1 x num_results], mỗi giá trị đại diện cho điểm số của đối tượng đã phát hiện.
    • Số tensor phát hiện (kTfLiteFloat32):
      • số nguyên num_results dưới dạng một tensor có kích thước [1].

Bạn có thể tìm thấy ví dụ về mô hình như vậy trên TensorFlow Hub.

Lớp lồng ghép

lớp ObjectDetector.ObjectDetectorOptions Các tuỳ chọn để thiết lập ObjectDetector

Phương thức công khai

ObjectDetector tĩnh
createFromBuffer(Ngữ cảnh theo bối cảnh, ByteBuffer modelBuffer)
Tạo một thực thể ObjectDetector từ vùng đệm mô hình và ObjectDetector.ObjectDetectorOptions mặc định.
ObjectDetector tĩnh
createFromFile(Ngữ cảnh, String modelPath)
Tạo một thực thể ObjectDetector từ tệp mô hình và ObjectDetector.ObjectDetectorOptions mặc định.
ObjectDetector tĩnh
createFromFile(Ngữ cảnh ngữ cảnh, Tệp modelFile)
Tạo một thực thể ObjectDetector từ tệp mô hình và ObjectDetector.ObjectDetectorOptions mặc định.
ObjectDetector tĩnh
createFromOptions(Ngữ cảnh theo ngữ cảnh, ObjectDetector.ObjectDetectorOptions detectOptions)
ObjectDetectorResult
detect(hình ảnh MPImage)
Phát hiện đối tượng trên một hình ảnh được cung cấp với các tuỳ chọn xử lý hình ảnh mặc định, tức là
ObjectDetectorResult
detect(hình ảnh MPImage, ImageProcessingOptions imageprocessingOptions)
Phát hiện đối tượng trên một hình ảnh được cung cấp.
void
detectAsync(hình ảnh MPImage, ImageProcessingOptions imageprocessingOptions, long timestampMs)
Gửi dữ liệu hình ảnh trực tiếp để phát hiện đối tượng và kết quả sẽ có qua OutputHandler.ResultListener được cung cấp trong ObjectDetector.ObjectDetectorOptions.
void
detectAsync(hình ảnh MPImage, dấu thời gian dàiMs)
Gửi dữ liệu hình ảnh trực tiếp để phát hiện đối tượng với các tuỳ chọn xử lý hình ảnh mặc định, tức là
ObjectDetectorResult
detectForVideo(hình ảnh MPImage, ImageProcessingOptions imageprocessingOptions, long timestampMs)
Phát hiện đối tượng trên khung hình video được cung cấp.
ObjectDetectorResult
detectForVideo(hình ảnh MPImage, dấu thời gian dàiMs)
Phát hiện đối tượng trên khung video được cung cấp với các tuỳ chọn xử lý hình ảnh mặc định, tức là

Các phương thức kế thừa

Phương thức công khai

công khai tĩnh ObjectDetector createFromBuffer (Ngữ cảnh ngữ cảnh, ByteBuffer modelBuffer)

Tạo một thực thể ObjectDetector từ vùng đệm mô hình và ObjectDetector.ObjectDetectorOptions mặc định.

Tham số
bối cảnh một ERROR(/Context) trên Android.
modelBuffer ByteBuffer trực tiếp hoặc ERROR(/MappedByteBuffer) của mô hình phát hiện.
Gửi
nếu có lỗi trong quá trình tạo ObjectDetector.

công khai tĩnh ObjectDetector createFromFile (Ngữ cảnh theo ngữ cảnh, String modelPath)

Tạo một thực thể ObjectDetector từ tệp mô hình và ObjectDetector.ObjectDetectorOptions mặc định.

Tham số
bối cảnh một ERROR(/Context) trên Android.
modelPath đến mô hình phát hiện có siêu dữ liệu trong tài sản.
Gửi
nếu có lỗi trong quá trình tạo ObjectDetector.

công khai tĩnh ObjectDetector createFromFile (Ngữ cảnh ngữ cảnh, File mô hìnhFile)

Tạo một thực thể ObjectDetector từ tệp mô hình và ObjectDetector.ObjectDetectorOptions mặc định.

Tham số
bối cảnh một ERROR(/Context) trên Android.
modelFile thực thể File của mô hình phát hiện.
Gửi
IOException nếu xảy ra lỗi I/O khi mở tệp mô hình tflite.
nếu có lỗi trong quá trình tạo ObjectDetector.

công khai tĩnh ObjectDetector createFromOptions (Ngữ cảnh, ObjectDetector.ObjectDetectorOptionsdetectOptions)

Tham số
bối cảnh một ERROR(/Context) trên Android.
detectorOptions một thực thể ObjectDetector.ObjectDetectorOptions.
Gửi
nếu có lỗi trong quá trình tạo ObjectDetector.

công khai ObjectDetectorResult detect (MPImage)

Phát hiện đối tượng trên một hình ảnh được cung cấp với các tuỳ chọn xử lý hình ảnh mặc định, tức là không áp dụng bất kỳ chế độ xoay nào. Chỉ sử dụng phương thức này khi ObjectDetector được tạo bằng ERROR(/RunningMode.IMAGE).

ObjectDetector hỗ trợ các loại hệ màu sau:

Tham số
hình ảnh một đối tượng MPImage MediaPipe để xử lý.
Gửi
nếu có lỗi nội bộ.

công khai ObjectDetectorResult detect (MPImage hình ảnh, ImageProcessingOptions imageprocessingOptions)

Phát hiện đối tượng trên một hình ảnh được cung cấp. Chỉ sử dụng phương thức này khi ObjectDetector được tạo bằng ERROR(/RunningMode.IMAGE).

ObjectDetector hỗ trợ các loại hệ màu sau:

Tham số
hình ảnh một đối tượng MPImage MediaPipe để xử lý.
imageProcessingOptions ImageProcessingOptions xác định cách xử lý hình ảnh đầu vào trước khi chạy suy luận. Lưu ý rằng tác vụ này không hỗ trợ khu vực quan tâm: việc chỉ định ImageProcessingOptions.regionOfInterest() sẽ dẫn đến việc phương thức này gửi một IllegalArgumentException.
Gửi
IllegalArgumentException nếu ImageProcessingOptions chỉ định một khu vực quan tâm.
nếu có lỗi nội bộ.

công khai vô hiệu detectAsync (MPImage hình ảnh, ImageProcessingOptions imageprocessingOptions, long timestampMs)

Gửi dữ liệu hình ảnh trực tiếp để phát hiện đối tượng và kết quả sẽ có qua OutputHandler.ResultListener được cung cấp trong ObjectDetector.ObjectDetectorOptions. Chỉ sử dụng phương thức này khi ObjectDetector được tạo bằng ERROR(/RunningMode.LIVE_STREAM).

Bạn phải cung cấp dấu thời gian (tính bằng mili giây) để cho biết thời điểm hình ảnh đầu vào được gửi đến trình phát hiện đối tượng. Dấu thời gian đầu vào phải tăng đơn điệu.

ObjectDetector hỗ trợ các loại hệ màu sau:

Tham số
hình ảnh một đối tượng MPImage MediaPipe để xử lý.
imageProcessingOptions ImageProcessingOptions xác định cách xử lý hình ảnh đầu vào trước khi chạy suy luận. Lưu ý rằng tác vụ này không hỗ trợ khu vực quan tâm: việc chỉ định ImageProcessingOptions.regionOfInterest() sẽ dẫn đến việc phương thức này gửi một IllegalArgumentException.
timestampMs dấu thời gian nhập (tính bằng mili giây).
Gửi
IllegalArgumentException nếu ImageProcessingOptions chỉ định một khu vực quan tâm.
nếu có lỗi nội bộ.

công khai trống detectAsync (Hình ảnh MPImage, long timestampMs)

Gửi dữ liệu hình ảnh trực tiếp để phát hiện đối tượng với các tuỳ chọn xử lý hình ảnh mặc định, tức là không áp dụng bất kỳ chế độ xoay nào và kết quả sẽ có qua OutputHandler.ResultListener được cung cấp trong ObjectDetector.ObjectDetectorOptions. Chỉ sử dụng phương thức này khi ObjectDetector được tạo bằng ERROR(/RunningMode.LIVE_STREAM).

Bạn phải cung cấp dấu thời gian (tính bằng mili giây) để cho biết thời điểm hình ảnh đầu vào được gửi đến trình phát hiện đối tượng. Dấu thời gian đầu vào phải tăng đơn điệu.

ObjectDetector hỗ trợ các loại hệ màu sau:

Tham số
hình ảnh một đối tượng MPImage MediaPipe để xử lý.
timestampMs dấu thời gian nhập (tính bằng mili giây).
Gửi
nếu có lỗi nội bộ.

công khai ObjectDetectorResult detectForVideo (MPImage hình ảnh, ImageProcessingOptions imageprocessingOptions, long timestampMs)

Phát hiện đối tượng trên khung hình video được cung cấp. Chỉ sử dụng phương thức này khi ObjectDetector được tạo bằng ERROR(/RunningMode.VIDEO).

Bạn phải cung cấp dấu thời gian của khung hình video (tính bằng mili giây). Dấu thời gian đầu vào phải tăng đơn điệu.

ObjectDetector hỗ trợ các loại hệ màu sau:

Tham số
hình ảnh một đối tượng MPImage MediaPipe để xử lý.
imageProcessingOptions ImageProcessingOptions xác định cách xử lý hình ảnh đầu vào trước khi chạy suy luận. Lưu ý rằng tác vụ này không hỗ trợ khu vực quan tâm: việc chỉ định ImageProcessingOptions.regionOfInterest() sẽ dẫn đến việc phương thức này gửi một IllegalArgumentException.
timestampMs dấu thời gian nhập (tính bằng mili giây).
Gửi
IllegalArgumentException nếu ImageProcessingOptions chỉ định một khu vực quan tâm.
nếu có lỗi nội bộ.

công khai ObjectDetectorResult detectForVideo (MPImage, dấu thời gian dàiMs)

Phát hiện đối tượng trên khung video được cung cấp với các tuỳ chọn xử lý hình ảnh mặc định, tức là không áp dụng bất kỳ chế độ xoay nào. Chỉ sử dụng phương thức này khi ObjectDetector được tạo bằng ERROR(/RunningMode.VIDEO).

Bạn phải cung cấp dấu thời gian của khung hình video (tính bằng mili giây). Dấu thời gian đầu vào phải tăng đơn điệu.

ObjectDetector hỗ trợ các loại hệ màu sau:

Tham số
hình ảnh một đối tượng MPImage MediaPipe để xử lý.
timestampMs dấu thời gian nhập (tính bằng mili giây).
Gửi
nếu có lỗi nội bộ.