ImageClassifier

पब्लिक फ़ाइनल क्लास ImageClassifier

इमेज की कैटगरी तय करता है.

एपीआई को ऐसे TFLite मॉडल की ज़रूरत होती है जिसमें वैकल्पिक हो.हालांकि, हम इसे TFLite मॉडल मेटाडेटा के साथ इस्तेमाल करने का सुझाव देते हैं.

यह एपीआई, एक इमेज इनपुट टेंसर और एक या उससे ज़्यादा आउटपुट टेंसर वाले मॉडल के साथ काम करता है. ज़्यादा सटीक जानकारी के लिए, यहां दी गई ज़रूरी शर्तें देखें.

  • इमेज टेंसर (kTfLiteUInt8/kTfLiteFloat32) इनपुट करें
    • [batch x height x width x channels] साइज़ का इमेज इनपुट.
    • बैच अनुमान काम नहीं करता (batch का 1 होना ज़रूरी है).
    • सिर्फ़ आरजीबी इनपुट काम करते हैं (channels को 3 होना ज़रूरी है).
    • अगर टाइप kTfLiteFloat32 है, तो इनपुट को नॉर्मलाइज़ेशन के लिए मेटाडेटा में सामान्याइज़ेशन विकल्प को अटैच करना ज़रूरी है.
  • कम से कम एक आउटपुट टेंसर (kTfLiteUInt8/kTfLiteFloat32) जिसमें:
    • N क्लास और दो या चार डाइमेंशन, जैसे कि [1 x N] या [1 x 1 x 1 x N]
    • मैप को वैकल्पिक (लेकिन सुझाए गए) लेबल करें. ये मैप, TENSOR_AXIS_LABEL टाइप की AssociatedFile-s के तौर पर लेबल किए जाते हैं, जिनमें हर लाइन में एक लेबल होता है. नतीजों के class_name फ़ील्ड को भरने के लिए, इस तरह की पहली AssociatedFile (अगर कोई है) का इस्तेमाल किया जाता है. display_name फ़ील्ड को AssociatedFile (अगर कोई हो) से भरा जाता है जिसकी स्थान-भाषा, ऐसेट बनाने के समय इस्तेमाल किए गए ImageClassifierOptions के display_names_locale फ़ील्ड से मेल खाती हो ("en" डिफ़ॉल्ट रूप से अंग्रेज़ी में होता है). अगर इनमें से कोई भी विकल्प उपलब्ध नहीं है, तो नतीजों का सिर्फ़ index फ़ील्ड भरा जाएगा.
    • स्कोर कैलिब्रेशन के वैकल्पिक तरीके और TENSOR_AXIS_SCORE_CALIBRATION टाइप वाली AssociatedFile का इस्तेमाल करके, स्कोर कैलिब्रेशन को अटैच किया जा सकता है. ज़्यादा जानकारी के लिए, Metadata_schema.fbs देखें.

ऐसे मॉडल का एक उदाहरण TensorFlow Hub मिल सकता है.

नेस्ट की गई क्लास

क्लास ImageClassifier.ImageClassifierOptions ImageClassifier और सेट अप करने के विकल्प. 

सार्वजनिक तरीके

ImageClassifierResult
classify(MPImage इमेज)
इमेज को प्रोसेस करने के डिफ़ॉल्ट विकल्पों के साथ दी गई एक इमेज की कैटगरी तय करता है, जैसे कि
ImageClassifierResult
classify(MPImage इमेज, ImageProcessingOptions imageprocessingOptions)
दी गई एक इमेज की कैटगरी तय करता है.
void
classifyAsync(MPImage इमेज, ImageProcessingOptions imageprocessingOptions, लंबे टाइमस्टैंप)
यह सुविधा, कैटगरी तय करने के लिए इमेज का लाइव डेटा भेजती है. साथ ही, ImageClassifier.ImageClassifierOptions में दिए गए OutputHandler.ResultListener की मदद से नतीजे उपलब्ध होंगे.
void
classifyAsync(MPImage इमेज, लंबा टाइमस्टैंप)
यह नीति, डिफ़ॉल्ट इमेज प्रोसेसिंग के विकल्पों के साथ क्लासिफ़िकेशन करने के लिए लाइव इमेज डेटा भेजती है, जैसे कि
ImageClassifierResult
classifyForVideo(MPImage इमेज, लंबा टाइमस्टैंप)
डिफ़ॉल्ट इमेज प्रोसेसिंग के विकल्पों की मदद से, दिए गए वीडियो फ़्रेम की कैटगरी तय करता है, जैसे कि
ImageClassifierResult
classifyForVideo(MPImage इमेज, ImageProcessingOptions imageProcessOptions, लंबे टाइमस्टैंप)
दिए गए वीडियो फ़्रेम की कैटगरी तय करता है.
स्टैटिक ImageClassifier
createFromBuffer(कॉन्टेक्स्ट कॉन्टेक्स्ट, ByteBuffer ModelBuffer)
मॉडल बफ़र और डिफ़ॉल्ट ImageClassifier.ImageClassifierOptions से ImageClassifier इंस्टेंस बनाता है.
स्टैटिक ImageClassifier
createFromFile(कॉन्टेक्स्ट कॉन्टेक्स्ट, स्ट्रिंग ModelPath)
मॉडल फ़ाइल और डिफ़ॉल्ट ImageClassifier.ImageClassifierOptions से ImageClassifier इंस्टेंस बनाता है.
स्टैटिक ImageClassifier
createFromFile(कॉन्टेक्स्ट कॉन्टेक्स्ट, फ़ाइल ModelFile)
मॉडल फ़ाइल और डिफ़ॉल्ट ImageClassifier.ImageClassifierOptions से ImageClassifier इंस्टेंस बनाता है.
स्टैटिक ImageClassifier
createFromOptions(कॉन्टेक्स्ट कॉन्टेक्स्ट, ImageClassifier.ImageClassifierOptions विकल्प)
ImageClassifier.ImageClassifierOptions इंस्टेंस से ImageClassifier इंस्टेंस बनाता है.

इनहेरिट किए गए तरीके

सार्वजनिक तरीके

सार्वजनिक ImageClassifierResult क्लासिफ़ाइड (MPImage इमेज)

इमेज को प्रोसेस करने के डिफ़ॉल्ट विकल्पों के साथ, दी गई एक इमेज की कैटगरी तय करता है. जैसे, पूरी इमेज को पसंद के क्षेत्र के तौर पर इस्तेमाल किया जाता है और बिना कोई रोटेशन लागू किए इमेज का इस्तेमाल किया जाता है. इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब ERROR(/RunningMode.IMAGE) की मदद से ImageClassifier बनाया गया हो.

ImageClassifier पर इस तरह के कलर स्पेस इस्तेमाल किए जा सकते हैं:

पैरामीटर
इमेज प्रोसेसिंग के लिए MediaPipe MPImage ऑब्जेक्ट.
थ्रो
अगर कोई अंदरूनी गड़बड़ी होती है.

सार्वजनिक ImageClassifierResult क्लासिफ़ाइड (MPImage इमेज, ImageProcessingOptions imageprocessingOptions)

दी गई एक इमेज की कैटगरी तय करता है. इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब ERROR(/RunningMode.IMAGE) की मदद से ImageClassifier बनाया गया हो.

ImageClassifier पर इस तरह के कलर स्पेस इस्तेमाल किए जा सकते हैं:

पैरामीटर
इमेज प्रोसेसिंग के लिए MediaPipe MPImage ऑब्जेक्ट.
imageProcessingOptions ImageProcessingOptions में यह बताया गया है कि अनुमान चलाने से पहले, इनपुट इमेज को कैसे प्रोसेस किया जाए.
थ्रो
अगर कोई अंदरूनी गड़बड़ी होती है.

Public अमान्य classifyAsync (MPImage इमेज, ImageProcessingOptions ImageprocessingOptions imageprocessingOptions, लंबे timestampM)

यह सुविधा, कैटगरी तय करने के लिए इमेज का लाइव डेटा भेजती है. साथ ही, ImageClassifier.ImageClassifierOptions में दिए गए OutputHandler.ResultListener की मदद से नतीजे उपलब्ध होंगे. इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब ERROR(/RunningMode.LIVE_STREAM) की मदद से ImageClassifier बनाया गया हो.

ऑब्जेक्ट डिटेक्टर को इनपुट इमेज कब भेजी गई है, यह बताने के लिए टाइमस्टैंप (मिलीसेकंड में) देना ज़रूरी है. इनपुट के टाइमस्टैंप एक-दूसरे के हिसाब से बढ़ते होने चाहिए.

ImageClassifier पर इस तरह के कलर स्पेस इस्तेमाल किए जा सकते हैं:

पैरामीटर
इमेज प्रोसेसिंग के लिए MediaPipe MPImage ऑब्जेक्ट.
imageProcessingOptions ImageProcessingOptions में यह बताया गया है कि अनुमान चलाने से पहले, इनपुट इमेज को कैसे प्रोसेस किया जाए.
timestampMs इनपुट टाइमस्टैंप (मिलीसेकंड में).
थ्रो
अगर कोई अंदरूनी गड़बड़ी होती है.

सार्वजनिक शून्य classifyAsync (MPImage इमेज, लंबा टाइमस्टैंपMs)

यह लाइव इमेज डेटा को इमेज प्रोसेसिंग के डिफ़ॉल्ट विकल्पों के हिसाब से कैटगरी में बांटने के लिए भेजता है.इसका मतलब है कि पूरी इमेज को पसंद के क्षेत्र के तौर पर इस्तेमाल किया जाता है और कोई रोटेशन लागू नहीं किया जाता. नतीजे ImageClassifier.ImageClassifierOptions में दिए गए OutputHandler.ResultListener के ज़रिए उपलब्ध होंगे. इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब ImageClassifier को ERROR(/RunningMode.LIVE_STREAM) की मदद से बनाया गया हो.

ऑब्जेक्ट डिटेक्टर को इनपुट इमेज कब भेजी गई है, यह बताने के लिए टाइमस्टैंप (मिलीसेकंड में) देना ज़रूरी है. इनपुट के टाइमस्टैंप एक-दूसरे के हिसाब से बढ़ते होने चाहिए.

ImageClassifier पर इस तरह के कलर स्पेस इस्तेमाल किए जा सकते हैं:

पैरामीटर
इमेज प्रोसेसिंग के लिए MediaPipe MPImage ऑब्जेक्ट.
timestampMs इनपुट टाइमस्टैंप (मिलीसेकंड में).
थ्रो
अगर कोई अंदरूनी गड़बड़ी होती है.

सार्वजनिक ImageClassifierResult classifyForVideo (MPImage इमेज, लंबा टाइमस्टैंपMs)

इमेज को प्रोसेस करने के डिफ़ॉल्ट विकल्पों का इस्तेमाल करके, दिए गए वीडियो फ़्रेम की कैटगरी तय की जाती है. जैसे, पूरी इमेज को पसंद के क्षेत्र के तौर पर इस्तेमाल किया जाता है और बिना कोई रोटेशन लागू किया जाता है. इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब ERROR(/RunningMode.VIDEO) की मदद से ImageClassifier बनाया गया हो.

वीडियो फ़्रेम के टाइमस्टैंप की जानकारी, मिलीसेकंड में देना ज़रूरी है. इनपुट के टाइमस्टैंप एक-दूसरे के हिसाब से बढ़ते रहने चाहिए.

ImageClassifier पर इस तरह के कलर स्पेस इस्तेमाल किए जा सकते हैं:

पैरामीटर
इमेज प्रोसेसिंग के लिए MediaPipe MPImage ऑब्जेक्ट.
timestampMs इनपुट टाइमस्टैंप (मिलीसेकंड में).
थ्रो
अगर कोई अंदरूनी गड़बड़ी होती है.

ImageClassifierResult classifyForVideoMPImageImageProcessingOptions

दिए गए वीडियो फ़्रेम की कैटगरी तय करता है. इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब ERROR(/RunningMode.VIDEO) की मदद से ImageClassifier बनाया गया हो.

वीडियो फ़्रेम के टाइमस्टैंप की जानकारी, मिलीसेकंड में देना ज़रूरी है. इनपुट के टाइमस्टैंप एक-दूसरे के हिसाब से बढ़ते रहने चाहिए.

ImageClassifier पर इस तरह के कलर स्पेस इस्तेमाल किए जा सकते हैं:

पैरामीटर
इमेज प्रोसेसिंग के लिए MediaPipe MPImage ऑब्जेक्ट.
imageProcessingOptions ImageProcessingOptions में यह बताया गया है कि अनुमान चलाने से पहले, इनपुट इमेज को कैसे प्रोसेस किया जाए.
timestampMs इनपुट टाइमस्टैंप (मिलीसेकंड में).
थ्रो
अगर कोई अंदरूनी गड़बड़ी होती है.

सार्वजनिक स्टैटिक ImageClassifier createFromBuffer (कॉन्टेक्स्ट कॉन्टेक्स्ट, ByteBuffer ModelBuffer)

मॉडल बफ़र और डिफ़ॉल्ट ImageClassifier.ImageClassifierOptions से ImageClassifier इंस्टेंस बनाता है.

पैरामीटर
संदर्भ Android ERROR(/Context).
modelBuffer डेटा की कैटगरी तय करने वाले मॉडल का ByteBuffer या ERROR(/MappedByteBuffer).
थ्रो
अगर ImageClassifier बनाते समय कोई गड़बड़ी होती है.

सार्वजनिक स्टैटिक ImageClassifier createFromFile (कॉन्टेक्स्ट कॉन्टेक्स्ट, स्ट्रिंग ModelPath)

मॉडल फ़ाइल और डिफ़ॉल्ट ImageClassifier.ImageClassifierOptions से ImageClassifier इंस्टेंस बनाता है.

पैरामीटर
संदर्भ Android ERROR(/Context).
modelPath पाथ में दी गई शर्तें पूरी करेगा.
थ्रो
अगर ImageClassifier बनाते समय कोई गड़बड़ी होती है.

सार्वजनिक स्टैटिक ImageClassifier createFromFile (कॉन्टेक्स्ट कॉन्टेक्स्ट, फ़ाइल मॉडलफ़ाइल)

मॉडल फ़ाइल और डिफ़ॉल्ट ImageClassifier.ImageClassifierOptions से ImageClassifier इंस्टेंस बनाता है.

पैरामीटर
संदर्भ Android ERROR(/Context).
modelFile क्लासिफ़िकेशन मॉडल File इंस्टेंस.
थ्रो
IOException अगर tflite मॉडल फ़ाइल को खोलते समय कोई I/O गड़बड़ी होती है.
अगर ImageClassifier बनाते समय कोई गड़बड़ी होती है.

सार्वजनिक स्टैटिक ImageClassifier createFromOptions (कॉन्टेक्स्ट कॉन्टेक्स्ट, ImageClassifier.ImageClassifierOptions विकल्प)

ImageClassifier.ImageClassifierOptions इंस्टेंस से ImageClassifier इंस्टेंस बनाता है.

पैरामीटर
संदर्भ Android ERROR(/Context).
विकल्प ImageClassifier.ImageClassifierOptions इंस्टेंस.
थ्रो
अगर ImageClassifier बनाते समय कोई गड़बड़ी होती है.