ImageEmbedder

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

इमेज पर एम्बेड करने की प्रोसेस पूरी करता है.

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

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

  • इमेज टेंसर (kTfLiteUInt8/kTfLiteFloat32) इनपुट करें
    • [batch x height x width x channels] साइज़ का इमेज इनपुट.
    • बैच अनुमान काम नहीं करता (batch का 1 होना ज़रूरी है).
    • सिर्फ़ आरजीबी इनपुट काम करते हैं (channels को 3 होना ज़रूरी है).
    • अगर टाइप kTfLiteFloat32 है, तो इनपुट को नॉर्मलाइज़ेशन के लिए मेटाडेटा में सामान्याइज़ेशन विकल्प को अटैच करना ज़रूरी है.
  • [1 x N] आकार वाला कम से कम एक आउटपुट टेंसर (kTfLiteUInt8/kTfLiteFloat32) है, जहां N, बनाए गए एम्बेड में मौजूद डाइमेंशन की संख्या है.

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

क्लास ImageEmbedder.ImageEmbedderOptions ImageEmbedder और सेट अप करने के विकल्प. 

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

स्टैटिक डबल
cosineSimilarity(एम्बेड करना u, एम्बेडिंग v)
दो Embedding ऑब्जेक्ट के बीच कोसाइन समानता का पता लगाने के लिए यूटिलिटी फ़ंक्शन.
स्टैटिक ImageEmbedder
createFromBuffer(कॉन्टेक्स्ट कॉन्टेक्स्ट, ByteBuffer ModelBuffer)
मॉडल बफ़र और डिफ़ॉल्ट ImageEmbedder.ImageEmbedderOptions से ImageEmbedder इंस्टेंस बनाता है.
स्टैटिक ImageEmbedder
createFromFile(कॉन्टेक्स्ट कॉन्टेक्स्ट, स्ट्रिंग ModelPath)
मॉडल फ़ाइल और डिफ़ॉल्ट ImageEmbedder.ImageEmbedderOptions से ImageEmbedder इंस्टेंस बनाता है.
स्टैटिक ImageEmbedder
createFromFile(कॉन्टेक्स्ट कॉन्टेक्स्ट, फ़ाइल ModelFile)
मॉडल फ़ाइल और डिफ़ॉल्ट ImageEmbedder.ImageEmbedderOptions से ImageEmbedder इंस्टेंस बनाता है.
स्टैटिक ImageEmbedder
createFromOptions(कॉन्टेक्स्ट कॉन्टेक्स्ट, ImageEmbedder.ImageEmbedderOptions के विकल्प)
ImageEmbedder.ImageEmbedderOptions इंस्टेंस से ImageEmbedder इंस्टेंस बनाता है.
ImageEmbedderResult
embed(MPImage इमेज, ImageProcessingOptions imageprocessingOptions)
दी गई एक इमेज पर एम्बेड एक्सट्रैक्शन करता है.
ImageEmbedderResult
एम्बेड करें(MPImage इमेज)
डिफ़ॉल्ट इमेज प्रोसेसिंग के विकल्पों की मदद से, दी गई एक इमेज पर एक्सट्रैक्ट करने की प्रोसेस पूरी करता है, जैसे कि
void
embedAsync(MPImage इमेज, ImageProcessingOptions imageprocessingOptions, बड़े टाइमस्टैंप)
यह एम्बेडिंग एक्सट्रैक्ट करने के लिए लाइव इमेज डेटा भेजता है और नतीजे, ImageEmbedder.ImageEmbedderOptions में दिए गए OutputHandler.ResultListener के ज़रिए उपलब्ध होंगे.
void
embedAsync(MPImage इमेज, लंबा टाइमस्टैंप)
यह लाइव इमेज डेटा भेजता है, ताकि इमेज को एम्बेड करने की प्रोसेस शुरू करने के लिए, डिफ़ॉल्ट इमेज प्रोसेसिंग के विकल्पों का इस्तेमाल किया जा सके, यानी
ImageEmbedderResult
embedForVideo(MPImage इमेज, ImageProcessingOptions imageProcessOptions, लंबे टाइमस्टैंप)
दिए गए वीडियो फ़्रेम पर एम्बेडिंग एक्सट्रैक्ट करता है.
ImageEmbedderResult
embedForVideo(MPImage इमेज, लंबे टाइमस्टैंप)
दिए गए वीडियो फ़्रेम पर एम्बेड करने की प्रोसेस पूरी करता है. इसमें इमेज को प्रोसेस करने के डिफ़ॉल्ट विकल्प शामिल होते हैं, जैसे कि

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

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

सार्वजनिक स्थिर डबल cosineSimilarity (एम्बेड करना u, एम्बेड करना v)

दो Embedding ऑब्जेक्ट के बीच कोसाइन समानता का पता लगाने के लिए यूटिलिटी फ़ंक्शन.

पैरामीटर
u
v
थ्रो
IllegalArgumentException अगर एम्बेड किए गए अलग-अलग टाइप (फ़्लोट बनाम संख्या के हिसाब से) हैं, उनका साइज़ अलग है या उनका L2-नॉर्म 0 है.

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

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

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

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

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

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

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

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

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

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

ImageEmbedder.ImageEmbedderOptions इंस्टेंस से ImageEmbedder इंस्टेंस बनाता है.

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

सार्वजनिक ImageEmbedderResult एम्बेड करें (MPImage इमेज, ImageProcessingOptions imageprocessingOptions)

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

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

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

सार्वजनिक ImageEmbedderResult एम्बेड करें (MPImage इमेज)

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

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

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

Public void embedAsync (MPImage इमेज, ImageProcessingOptions imageprocessingOptions imageprocessingOptions, लंबे timestampM)

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

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

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

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

Public void embedAsync (MPImage इमेज, लंबे टाइमस्टैंपM)

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

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

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

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

ImageEmbedderResult embedForVideoMPImageImageProcessingOptions

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

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

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

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

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

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

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

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

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