इमेज पर ऑब्जेक्ट की पहचान करता है.
एपीआई को TFLite मॉडल मेटाडेटा वाले TFLite मॉडल की ज़रूरत होती है.
यह एपीआई, एक इमेज इनपुट टेंसर और चार आउटपुट टेंसर वाले मॉडल के साथ काम करता है. ज़्यादा सटीक जानकारी के लिए, यहां दी गई ज़रूरी शर्तें देखें.
- इमेज टेंसर (
kTfLiteUInt8
/kTfLiteFloat32
) इनपुट करें[batch x height x width x channels]
साइज़ का इमेज इनपुट.- बैच अनुमान काम नहीं करता (
batch
का 1 होना ज़रूरी है). - सिर्फ़ आरजीबी इनपुट काम करते हैं (
channels
को 3 होना ज़रूरी है). - अगर टाइप
kTfLiteFloat32
है, तो इनपुट को नॉर्मलाइज़ेशन के लिए मेटाडेटा में सामान्याइज़ेशन विकल्प को अटैच करना ज़रूरी है.
- आउटपुट टेंसर,
DetectionPostProcess
ऑप के चार आउटपुट होने चाहिए, जैसे कि:- लोकेशन टेंसर (
kTfLiteFloat32
):[1 x num_results x 4]
साइज़ का टेन्सर, इंटरनल अरे, जो [टॉप, लेफ़्ट, राइट, बॉटम] फ़ॉर्म में बाउंडिंग बॉक्स को दिखाता है.BoundingBoxProperties
को मेटाडेटा के साथ अटैच करना ज़रूरी है और इसमेंtype=BOUNDARIES
औरcoordinate_type=RATIO
की जानकारी होनी चाहिए.
- क्लास का टेंसर (
kTfLiteFloat32
):[1 x num_results]
का टेंसर, हर वैल्यू, क्लास के इंटीजर इंडेक्स को दिखाती है.- अगर लेबल मैप को मेटाडेटा से
TENSOR_VALUE_LABELS
से जुड़ी फ़ाइलों के तौर पर अटैच किया जाता है, तो टेन्सर वैल्यू को लेबल में बदलने के लिए उनका इस्तेमाल किया जाता है.
- स्कोर टेंसर (
kTfLiteFloat32
):[1 x num_results]
साइज़ का टेन्सर, हर वैल्यू, पता लगाए गए ऑब्जेक्ट का स्कोर दिखाती है.
- डिटेक्शन टेंसर की संख्या (
kTfLiteFloat32
):[1]
साइज़ के Tenor के रूप में पूर्णांक num_results.
- लोकेशन टेंसर (
ऐसे मॉडल का उदाहरण TensorFlow Hub पर देखा जा सकता है.
नेस्ट की गई क्लास
क्लास | ObjectDetector.ObjectDetectorOptions | ObjectDetector सेट अप करने के विकल्प. |
सार्वजनिक तरीके
स्टैटिक ObjectDetector |
createFromBuffer(कॉन्टेक्स्ट कॉन्टेक्स्ट, ByteBuffer ModelBuffer)
मॉडल बफ़र और डिफ़ॉल्ट
ObjectDetector.ObjectDetectorOptions से एक ObjectDetector इंस्टेंस बनाता है. |
स्टैटिक ObjectDetector |
createFromFile(कॉन्टेक्स्ट कॉन्टेक्स्ट, स्ट्रिंग ModelPath)
किसी मॉडल फ़ाइल और डिफ़ॉल्ट
ObjectDetector.ObjectDetectorOptions से एक ObjectDetector इंस्टेंस बनाता है. |
स्टैटिक ObjectDetector |
createFromFile(कॉन्टेक्स्ट कॉन्टेक्स्ट, फ़ाइल ModelFile)
किसी मॉडल फ़ाइल और डिफ़ॉल्ट
ObjectDetector.ObjectDetectorOptions से एक ObjectDetector इंस्टेंस बनाता है. |
स्टैटिक ObjectDetector |
createFromOptions(कॉन्टेक्स्ट कॉन्टेक्स्ट, ObjectDetector.ObjectDetectorOptions दायरे में आने वाले प्रॉपर्टी)
ObjectDetector.ObjectDetectorOptions से ObjectDetector इंस्टेंस बनाता है. |
ObjectDetectorResult | |
ObjectDetectorResult |
detect(MPImage इमेज, ImageProcessingOptions imageprocessingOptions)
दी गई एक इमेज पर ही ऑब्जेक्ट की पहचान करता है.
|
void |
detectAsync(MPImage इमेज, ImageProcessingOptions imageprocessingOptions, लंबे टाइमस्टैंप)
यह सुविधा, ऑब्जेक्ट की पहचान करने के लिए इमेज से लाइव डेटा भेजती है और
ObjectDetector.ObjectDetectorOptions में दिए गए
OutputHandler.ResultListener की मदद से नतीजे उपलब्ध होंगे. |
void |
detectAsync(MPImage इमेज, लंबा टाइमस्टैंप)
यह सुविधा, डिफ़ॉल्ट इमेज प्रोसेसिंग के विकल्पों की मदद से ऑब्जेक्ट का पता लगाने के लिए, लाइव इमेज डेटा भेजती है, जैसे कि
|
ObjectDetectorResult |
detectForVideo(MPImage इमेज, ImageProcessingOptions imageProcessOptions, लंबे टाइमस्टैंप)
यह सुविधा, दिए गए वीडियो फ़्रेम पर ऑब्जेक्ट की पहचान करती है.
|
ObjectDetectorResult |
detectForVideo(MPImage इमेज, लंबा टाइमस्टैंप)
इमेज प्रोसेसिंग के डिफ़ॉल्ट विकल्पों के साथ दिए गए वीडियो फ़्रेम पर, ऑब्जेक्ट की पहचान करता है
|
इनहेरिट किए गए तरीके
सार्वजनिक तरीके
सार्वजनिक स्टैटिक ObjectDetector createFromBuffer (कॉन्टेक्स्ट कॉन्टेक्स्ट, ByteBuffer ModelBuffer)
मॉडल बफ़र और डिफ़ॉल्ट ObjectDetector.ObjectDetectorOptions
से एक ObjectDetector
इंस्टेंस बनाता है.
पैरामीटर
संदर्भ | Android ERROR(/Context) . |
---|---|
modelBuffer | पहचान मॉडल का डायरेक्ट ByteBuffer या ERROR(/MappedByteBuffer) . |
थ्रो
अगर ObjectDetector बनाते समय कोई गड़बड़ी होती है.
|
सार्वजनिक स्टैटिक ObjectDetector createFromFile (कॉन्टेक्स्ट कॉन्टेक्स्ट, स्ट्रिंग ModelPath)
किसी मॉडल फ़ाइल और डिफ़ॉल्ट ObjectDetector.ObjectDetectorOptions
से एक ObjectDetector
इंस्टेंस बनाता है.
पैरामीटर
संदर्भ | Android ERROR(/Context) . |
---|---|
modelPath | का पाथ सेट अप करने की सुविधा मिलती है. |
थ्रो
अगर ObjectDetector बनाते समय कोई गड़बड़ी होती है.
|
सार्वजनिक स्टैटिक ObjectDetector createFromFile (कॉन्टेक्स्ट कॉन्टेक्स्ट, फ़ाइल ModelFile)
किसी मॉडल फ़ाइल और डिफ़ॉल्ट ObjectDetector.ObjectDetectorOptions
से एक ObjectDetector
इंस्टेंस बनाता है.
पैरामीटर
संदर्भ | Android ERROR(/Context) . |
---|---|
modelFile | डिटेक्शन मॉडल File इंस्टेंस. |
थ्रो
IOException | अगर tflite मॉडल फ़ाइल को खोलते समय कोई I/O गड़बड़ी होती है. |
---|---|
अगर ObjectDetector बनाते समय कोई गड़बड़ी होती है.
|
सार्वजनिक स्टैटिक ObjectDetector createFromOptions (कॉन्टेक्स्ट कॉन्टेक्स्ट, ObjectDetector.ObjectDetectorOptions identifierOptions)
ObjectDetector.ObjectDetectorOptions
से ObjectDetector
इंस्टेंस बनाता है.
पैरामीटर
संदर्भ | Android ERROR(/Context) . |
---|---|
detectorOptions | ObjectDetector.ObjectDetectorOptions इंस्टेंस. |
थ्रो
अगर ObjectDetector बनाते समय कोई गड़बड़ी होती है.
|
सार्वजनिक ObjectDetectorResult detect (MPImage इमेज)
इमेज को प्रोसेस करने के डिफ़ॉल्ट विकल्पों के साथ, दी गई एक ही इमेज पर ऑब्जेक्ट की पहचान करता है,
जैसे कि बिना कोई रोटेशन लागू किए. इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब ObjectDetector
को ERROR(/RunningMode.IMAGE)
की मदद से बनाया गया हो.
ObjectDetector
पर इस तरह के कलर स्पेस इस्तेमाल किए जा सकते हैं:
पैरामीटर
इमेज | प्रोसेसिंग के लिए MediaPipe MPImage ऑब्जेक्ट. |
---|
थ्रो
अगर कोई अंदरूनी गड़बड़ी होती है. |
सार्वजनिक ObjectDetectorResult detect (MPImage इमेज, ImageProcessingOptions imageprocessingOptions)
दी गई एक इमेज पर ही ऑब्जेक्ट की पहचान करता है. इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब ERROR(/RunningMode.IMAGE)
की मदद से ObjectDetector
बनाया गया हो.
ObjectDetector
पर इस तरह के कलर स्पेस इस्तेमाल किए जा सकते हैं:
पैरामीटर
इमेज | प्रोसेसिंग के लिए MediaPipe MPImage ऑब्जेक्ट. |
---|---|
imageProcessingOptions | ImageProcessingOptions में यह बताया गया है कि अनुमान चलाने से पहले, इनपुट इमेज को कैसे प्रोसेस किया जाए. ध्यान दें कि इस टास्क के लिए, पसंद का देश या इलाका काम नहीं करता: ImageProcessingOptions.regionOfInterest() को शामिल करने पर,
इस तरीके से legalArgument4 की कॉपी नहीं बनाई जा सकती. |
थ्रो
IllegalArgumentException | अगर ImageProcessingOptions पसंद के क्षेत्र के बारे में बताता है. |
---|---|
अगर कोई अंदरूनी गड़बड़ी होती है. |
Public void detectAsync (MPImage इमेज, ImageProcessingOptions imageprocessingOptions imageProcessOptions, लंबे timestampM)
यह सुविधा, ऑब्जेक्ट की पहचान करने के लिए इमेज से लाइव डेटा भेजती है और ObjectDetector.ObjectDetectorOptions
में दिए गए
OutputHandler.ResultListener
की मदद से नतीजे उपलब्ध होंगे. इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब ERROR(/RunningMode.LIVE_STREAM)
की मदद से ObjectDetector
बनाया गया हो.
ऑब्जेक्ट डिटेक्टर को इनपुट इमेज कब भेजी गई है, यह बताने के लिए टाइमस्टैंप (मिलीसेकंड में) देना ज़रूरी है. इनपुट के टाइमस्टैंप एक-दूसरे के हिसाब से बढ़ते होने चाहिए.
ObjectDetector
पर इस तरह के कलर स्पेस इस्तेमाल किए जा सकते हैं:
पैरामीटर
इमेज | प्रोसेसिंग के लिए MediaPipe MPImage ऑब्जेक्ट. |
---|---|
imageProcessingOptions | ImageProcessingOptions में यह बताया गया है कि अनुमान चलाने से पहले, इनपुट इमेज को कैसे प्रोसेस किया जाए. ध्यान दें कि इस टास्क के लिए, पसंद का देश या इलाका काम नहीं करता: ImageProcessingOptions.regionOfInterest() को शामिल करने पर,
इस तरीके से legalArgument4 की कॉपी नहीं बनाई जा सकती. |
timestampMs | इनपुट टाइमस्टैंप (मिलीसेकंड में). |
थ्रो
IllegalArgumentException | अगर ImageProcessingOptions पसंद के क्षेत्र के बारे में बताता है. |
---|---|
अगर कोई अंदरूनी गड़बड़ी होती है. |
Public void detectAsync (MPImage इमेज, लंबे टाइमस्टैंपM)
यह सुविधा, इमेज को डिफ़ॉल्ट रूप से प्रोसेस करने के विकल्पों की मदद से, ऑब्जेक्ट का पता लगाने के लिए लाइव इमेज डेटा भेजती है. इसका मतलब है कि बिना कोई रोटेशन लागू किए, और नतीजे ObjectDetector.ObjectDetectorOptions
में दिए गए OutputHandler.ResultListener
के ज़रिए उपलब्ध होंगे. इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब ERROR(/RunningMode.LIVE_STREAM)
की मदद से ObjectDetector
बनाया गया हो.
ऑब्जेक्ट डिटेक्टर को इनपुट इमेज कब भेजी गई है, यह बताने के लिए टाइमस्टैंप (मिलीसेकंड में) देना ज़रूरी है. इनपुट के टाइमस्टैंप एक-दूसरे के हिसाब से बढ़ते होने चाहिए.
ObjectDetector
पर इस तरह के कलर स्पेस इस्तेमाल किए जा सकते हैं:
पैरामीटर
इमेज | प्रोसेसिंग के लिए MediaPipe MPImage ऑब्जेक्ट. |
---|---|
timestampMs | इनपुट टाइमस्टैंप (मिलीसेकंड में). |
थ्रो
अगर कोई अंदरूनी गड़बड़ी होती है. |
सार्वजनिक ObjectDetectorResult detectForVideo (MPImage इमेज, ImageProcessingOptions imageprocessingOptions imageprocessingOptions, ज़्यादा timestampMs
यह सुविधा, दिए गए वीडियो फ़्रेम पर ऑब्जेक्ट की पहचान करती है. इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब ERROR(/RunningMode.VIDEO)
की मदद से ObjectDetector
बनाया गया हो.
वीडियो फ़्रेम के टाइमस्टैंप की जानकारी, मिलीसेकंड में देना ज़रूरी है. इनपुट के टाइमस्टैंप एक-दूसरे के हिसाब से बढ़ते रहने चाहिए.
ObjectDetector
पर इस तरह के कलर स्पेस इस्तेमाल किए जा सकते हैं:
पैरामीटर
इमेज | प्रोसेसिंग के लिए MediaPipe MPImage ऑब्जेक्ट. |
---|---|
imageProcessingOptions | ImageProcessingOptions में यह बताया गया है कि अनुमान चलाने से पहले, इनपुट इमेज को कैसे प्रोसेस किया जाए. ध्यान दें कि इस टास्क के लिए, पसंद का देश या इलाका काम नहीं करता: ImageProcessingOptions.regionOfInterest() को शामिल करने पर,
इस तरीके से legalArgument4 की कॉपी नहीं बनाई जा सकती. |
timestampMs | इनपुट टाइमस्टैंप (मिलीसेकंड में). |
थ्रो
IllegalArgumentException | अगर ImageProcessingOptions पसंद के क्षेत्र के बारे में बताता है. |
---|---|
अगर कोई अंदरूनी गड़बड़ी होती है. |
सार्वजनिक ObjectDetectorResult detectForVideo (MPImage इमेज, लंबा टाइमस्टैंप)
इमेज को प्रोसेस करने के डिफ़ॉल्ट विकल्पों की मदद से, दिए गए वीडियो फ़्रेम पर ऑब्जेक्ट की पहचान करता है.
इसका मतलब है कि डिवाइस को घुमाते हुए नहीं रखा जाता. इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब ObjectDetector
को ERROR(/RunningMode.VIDEO)
की मदद से बनाया गया हो.
वीडियो फ़्रेम के टाइमस्टैंप की जानकारी, मिलीसेकंड में देना ज़रूरी है. इनपुट के टाइमस्टैंप एक-दूसरे के हिसाब से बढ़ते रहने चाहिए.
ObjectDetector
पर इस तरह के कलर स्पेस इस्तेमाल किए जा सकते हैं:
पैरामीटर
इमेज | प्रोसेसिंग के लिए MediaPipe MPImage ऑब्जेक्ट. |
---|---|
timestampMs | इनपुट टाइमस्टैंप (मिलीसेकंड में). |
थ्रो
अगर कोई अंदरूनी गड़बड़ी होती है. |