ObjectDetector

מחלקה סופית ציבורית ציבורית ObjectDetector

זיהוי אובייקטים בתמונות.

ה-API מצפה למודל TFLite עם מטא-נתונים של מודל TFLite.

ה-API תומך במודלים עם t tensor אחד של קלט תמונה וארבעה גורמי פלט. כדי להיות יותר ספציפיים, אלה הדרישות.

  • קלט תמונה tensor (kTfLiteUInt8/kTfLiteFloat32)
    • קלט תמונה בגודל [batch x height x width x channels].
    • אין תמיכה בהסקה באצווה (batch חייב להיות 1).
    • נתמכים רק כניסות RGB (הערך channels צריך להיות 3).
    • אם הסוג הוא kTfLiteFloat32, יש לצרף את NormalizationOptions למטא-נתונים כדי לבצע נירמול הקלט.
  • רכיבי 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 לתוויות.
    • הציונים במחרוזת (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(Context context, String modelPath)
יצירת מכונת ObjectDetector מקובץ מודל וברירת המחדל ObjectDetector.ObjectDetectorOptions.
סטטי ObjectDetector
createFromFile(הקשר Context, File modelFile)
יצירת מכונת ObjectDetector מקובץ מודל וברירת המחדל ObjectDetector.ObjectDetectorOptions.
סטטי ObjectDetector
createFromOptions(הקשר הקשר, ObjectDetector.ObjectDetectorOptions מזהה אפשרויות)
ObjectDetectorResult
detect(תמונת MPImage)
מבצע זיהוי אובייקטים בתמונה הבודדת שסופקה עם אפשרויות עיבוד תמונה המוגדרות כברירת מחדל, כלומר
ObjectDetectorResult
detect(תמונה מסוג MPImage, ImageProcessingOptions image ProcessingOptions)
מבצע זיהוי אובייקטים בתמונה הבודדת שסופקה.
void
detectAsync(תמונה מסוג MPImage, ImageProcessingOptions image ProcessingOptions, long timestampMs)
נשלחים נתוני תמונה בזמן אמת כדי לבצע זיהוי אובייקטים, והתוצאות יהיו זמינות דרך OutputHandler.ResultListener שצוין בObjectDetector.ObjectDetectorOptions.
void
detectAsync(תמונת MPImage, long timestampMs)
שליחת נתוני תמונה בזמן אמת כדי לבצע זיהוי אובייקטים באמצעות אפשרויות עיבוד תמונה שמוגדרות כברירת מחדל, כלומר,
ObjectDetectorResult
detectForVideo(תמונה מסוג MPImage, ImageProcessingOptions image ProcessingOptions, long timestampMs)
זיהוי אובייקטים במסגרת הווידאו שסופקה.
ObjectDetectorResult
detectForVideo(תמונת MPImage, long timestampMs)
מבצע זיהוי אובייקטים במסגרת הווידאו שסופקה עם אפשרויות עיבוד התמונה שמוגדרות כברירת מחדל, כלומר

שיטות שעברו בירושה

שיטות ציבוריות

Public סטטי ObjectDetector createFromBuffer (Contextcontext, ByteBuffer modelBuffer)

יצירת מכונה של ObjectDetector ממאגר נתונים זמני של מודל וברירת המחדל ObjectDetector.ObjectDetectorOptions.

פרמטרים
context ERROR(/Context) של Android.
modelBuffer ByteBuffer או ERROR(/MappedByteBuffer) ישירות של מודל הזיהוי.
קליעות
אם יש שגיאה במהלך היצירה של ObjectDetector.

Public סטטי ObjectDetector createFromFile (הקשר הקשר, String modelPath)

יצירת מכונת ObjectDetector מקובץ מודל וברירת המחדל ObjectDetector.ObjectDetectorOptions.

פרמטרים
context ERROR(/Context) של Android.
modelPath נתיב למודל הזיהוי עם מטא נתונים בנכסים.
קליעות
אם יש שגיאה במהלך היצירה של ObjectDetector.

ציבורי סטטי ObjectDetector createFromFile (הקשר הקשר, קובץ modelFile)

יצירת מכונת ObjectDetector מקובץ מודל וברירת המחדל ObjectDetector.ObjectDetectorOptions.

פרמטרים
context ERROR(/Context) של Android.
modelFile במכונה של מודל הזיהוי File.
קליעות
IOException אם מתרחשת שגיאת קלט/פלט בזמן פתיחה של קובץ מודל ה-tflite.
אם יש שגיאה במהלך היצירה של ObjectDetector.

ציבורי סטטי ObjectDetector createFromOptions (הקשר הקשר, ObjectDetector.ObjectDetectorOptions DetectorOptions)

פרמטרים
context ERROR(/Context) של Android.
detectorOptions מופע של ObjectDetector.ObjectDetectorOptions.
קליעות
אם יש שגיאה במהלך היצירה של ObjectDetector.

Public ObjectDetectorResult detect (תמונה MPImage)

מבצע זיהוי אובייקטים בתמונה הבודדת שסופקה, עם אפשרויות עיבוד תמונה המוגדרות כברירת מחדל, כלומר ללא סיבוב. יש להשתמש בשיטה הזו רק אם השדה ObjectDetector נוצר באמצעות ERROR(/RunningMode.IMAGE).

ב-ObjectDetector יש תמיכה מהסוגים הבאים של מרחבי צבעים:

פרמטרים
תמונה אובייקט MPImage MediaPipe לעיבוד.
קליעות
אם אירעה שגיאה פנימית.

Public ObjectDetectorResult detect (MPImage image, ImageProcessingOptions image ProcessingOptions)

מבצע זיהוי אובייקטים בתמונה הבודדת שסופקה. יש להשתמש בשיטה הזו רק אם ה-ObjectDetector נוצר באמצעות ERROR(/RunningMode.IMAGE).

ב-ObjectDetector יש תמיכה מהסוגים הבאים של מרחבי צבעים:

פרמטרים
תמונה אובייקט MPImage MediaPipe לעיבוד.
imageProcessingOptions ImageProcessingOptions שמציין איך לעבד את תמונת הקלט לפני הרצת ההסקה. שימו לב שאזור עניין (region) לא נתמך במשימה הזו: ציון הערך ImageProcessingOptions.regionOfInterest() יגרום ל-method הזה לגרום לחריגת invalidArgument.
קליעות
IllegalArgumentException אם השדה ImageProcessingOptions מציין אזור עניין.
אם אירעה שגיאה פנימית.

public void detectAsync (MPImage image, ImageProcessingOptions image ProcessingOptions, long timestampMs)

נשלחים נתוני תמונה בזמן אמת כדי לבצע זיהוי אובייקטים, והתוצאות יהיו זמינות דרך OutputHandler.ResultListener שצוין בObjectDetector.ObjectDetectorOptions. יש להשתמש בשיטה הזו רק כשה-ObjectDetector נוצר עם ERROR(/RunningMode.LIVE_STREAM).

צריך לספק חותמת זמן (באלפיות שנייה) כדי לציין מתי תמונת הקלט נשלחת למזהה האובייקטים. חותמות הזמן של הקלט צריכות להיות במגמת עלייה מונוטונית.

ב-ObjectDetector יש תמיכה מהסוגים הבאים של מרחבי צבעים:

פרמטרים
תמונה אובייקט MPImage MediaPipe לעיבוד.
imageProcessingOptions ImageProcessingOptions שמציין איך לעבד את תמונת הקלט לפני הרצת ההסקה. שימו לב שאזור עניין (region) לא נתמך במשימה הזו: ציון הערך ImageProcessingOptions.regionOfInterest() יגרום ל-method הזה לגרום לחריגת invalidArgument.
timestampMs את חותמת הזמן של הקלט (באלפיות שנייה).
קליעות
IllegalArgumentException אם השדה ImageProcessingOptions מציין אזור עניין.
אם אירעה שגיאה פנימית.

public void detectAsync (תמונת MPImage, long timestampMs)

שליחת נתוני תמונה בזמן אמת לביצוע זיהוי אובייקטים עם אפשרויות עיבוד תמונה שמוגדרות כברירת מחדל. כלומר, ללא סיבוב, והתוצאות יהיו זמינות דרך OutputHandler.ResultListener שצוינו ב-ObjectDetector.ObjectDetectorOptions. יש להשתמש בשיטה הזו רק אם ה-ObjectDetector נוצר באמצעות ERROR(/RunningMode.LIVE_STREAM).

צריך לספק חותמת זמן (באלפיות שנייה) כדי לציין מתי תמונת הקלט נשלחת למזהה האובייקטים. חותמות הזמן של הקלט צריכות להיות במגמת עלייה מונוטונית.

ב-ObjectDetector יש תמיכה מהסוגים הבאים של מרחבי צבעים:

פרמטרים
תמונה אובייקט MPImage MediaPipe לעיבוד.
timestampMs את חותמת הזמן של הקלט (באלפיות שנייה).
קליעות
אם אירעה שגיאה פנימית.

Public ObjectDetectorResult detectForVideo (MPImage image, ImageProcessingOptions imageprocessingOptions, long timestampMs)

זיהוי אובייקטים במסגרת הווידאו שסופקה. יש להשתמש בשיטה הזו רק אם ה-ObjectDetector נוצר באמצעות ERROR(/RunningMode.VIDEO).

ההרשאה נדרשת לספק את חותמת הזמן של הפריים בסרטון (באלפיות השנייה). חותמות הזמן של הקלט צריכות לעלות באופן מונוטוני.

ב-ObjectDetector יש תמיכה מהסוגים הבאים של מרחבי צבעים:

פרמטרים
תמונה אובייקט MPImage MediaPipe לעיבוד.
imageProcessingOptions ImageProcessingOptions שמציין איך לעבד את תמונת הקלט לפני הרצת ההסקה. שימו לב שאזור עניין (region) לא נתמך במשימה הזו: ציון הערך ImageProcessingOptions.regionOfInterest() יגרום ל-method הזה לגרום לחריגת invalidArgument.
timestampMs את חותמת הזמן של הקלט (באלפיות שנייה).
קליעות
IllegalArgumentException אם השדה ImageProcessingOptions מציין אזור עניין.
אם אירעה שגיאה פנימית.

Public ObjectDetectorResult detectForVideo (MPImage image, long timestampMs)

זיהוי אובייקטים במסגרת הווידאו שסופקה, עם אפשרויות עיבוד התמונה שמוגדרות כברירת מחדל, כלומר ללא סיבוב של התמונה. יש להשתמש בשיטה הזו רק אם השדה ObjectDetector נוצר באמצעות ERROR(/RunningMode.VIDEO).

ההרשאה נדרשת לספק את חותמת הזמן של הפריים בסרטון (באלפיות השנייה). חותמות הזמן של הקלט צריכות לעלות באופן מונוטוני.

ב-ObjectDetector יש תמיכה מהסוגים הבאים של מרחבי צבעים:

פרמטרים
תמונה אובייקט MPImage MediaPipe לעיבוד.
timestampMs את חותמת הזמן של הקלט (באלפיות שנייה).
קליעות
אם אירעה שגיאה פנימית.