זיהוי אובייקטים בתמונות.
ה-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 בגודל
- מחלקות tensor (
kTfLiteFloat32
):- tensor בגודל
[1 x num_results]
, כאשר כל ערך מייצג את אינדקס המספרים השלמים של מחלקה. - אם מפות של תוויות מצורפות למטא-נתונים כקבצים המשויכים ל-
TENSOR_VALUE_LABELS
, הן משמשות להמרה של ערכי ה-tensor לתוויות.
- tensor בגודל
- הציונים במחרוזת (
kTfLiteFloat32
):- tensor בגודל
[1 x num_results]
, כל ערך שמייצג את הציון של האובייקט שזוהה.
- tensor בגודל
- מספר tensor הזיהוי (
kTfLiteFloat32
):- מספר שלם num_results כסימן tensor בגודל
[1]
.
- מספר שלם num_results כסימן tensor בגודל
- Tensor מיקום (
אפשר לראות דוגמה למודל כזה ב-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 מזהה אפשרויות)
יצירת מכונה של
ObjectDetector מ-ObjectDetector.ObjectDetectorOptions . |
ObjectDetectorResult | |
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)
יצירת מכונה של ObjectDetector
מ-ObjectDetector.ObjectDetectorOptions
.
פרמטרים
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 | את חותמת הזמן של הקלט (באלפיות שנייה). |
קליעות
אם אירעה שגיאה פנימית. |