एक छवि के लिए एकल बेतरतीब ढंग से विकृत बाउंडिंग बॉक्स उत्पन्न करें।
छवि पहचान या ऑब्जेक्ट स्थानीयकरण कार्यों में जमीनी सच्चाई लेबल के अलावा बाउंडिंग बॉक्स एनोटेशन अक्सर प्रदान किए जाते हैं। ऐसी प्रणाली को प्रशिक्षित करने की एक सामान्य तकनीक किसी छवि को उसकी सामग्री को संरक्षित करते हुए बेतरतीब ढंग से विकृत करना है, अर्थात डेटा संवर्द्धन । यह ओप किसी ऑब्जेक्ट के बेतरतीब ढंग से विकृत स्थानीयकरण को आउटपुट करता है, यानी बाउंडिंग बॉक्स, जिसे 'image_size', 'बाउंडिंग_बॉक्स' और बाधाओं की एक श्रृंखला दी गई है।
इस ऑप का आउटपुट एक एकल बाउंडिंग बॉक्स है जिसका उपयोग मूल छवि को क्रॉप करने के लिए किया जा सकता है। आउटपुट 3 टेंसर के रूप में लौटाया जाता है: `शुरू`, `आकार` और `bboxes`। छवि को क्रॉप करने के लिए पहले 2 टेंसर को सीधे tf.slice
में फीड किया जा सकता है। बाउंडिंग बॉक्स कैसा दिखता है यह देखने के लिए बाद वाले को tf.image.draw_bounding_boxes
पर आपूर्ति की जा सकती है।
बाउंडिंग बॉक्स की आपूर्ति की जाती है और `[y_min, x_min, y_max, x_max]` के रूप में लौटाया जाता है। बाउंडिंग बॉक्स निर्देशांक अंतर्निहित छवि की चौड़ाई और ऊंचाई के सापेक्ष `[0.0, 1.0]` में तैरते हैं।
उदाहरण के लिए,
# Generate a single distorted bounding box.
begin, size, bbox_for_draw = tf.image.sample_distorted_bounding_box(
tf.shape(image),
bounding_boxes=bounding_boxes)
# Draw the bounding box in an image summary.
image_with_box = tf.image.draw_bounding_boxes(tf.expand_dims(image, 0),
bbox_for_draw)
tf.summary.image('images_with_box', image_with_box)
# Employ the bounding box to distort the image.
distorted_image = tf.slice(image, begin, size)
ध्यान दें कि यदि कोई बाउंडिंग बॉक्स जानकारी उपलब्ध नहीं है, तो `use_image_if_no_bonding_boxes = true` सेट करने से यह मान लिया जाएगा कि पूरी छवि को कवर करने वाला एक अंतर्निहित बाउंडिंग बॉक्स है। यदि `use_image_if_no_bonding_boxes` गलत है और कोई बाउंडिंग बॉक्स नहीं दिया गया है, तो एक त्रुटि उत्पन्न होती है। नेस्टेड क्लासेस
कक्षा | नमूनाविकृतबाउंडिंगबॉक्स.विकल्प | SampleDistortedBoundingBox के लिए वैकल्पिक विशेषताएँ |
स्थिरांक
डोरी | OP_NAME | इस ऑप का नाम, जैसा कि TensorFlow कोर इंजन द्वारा जाना जाता है |
सार्वजनिक तरीके
स्थिर नमूनाविकृतबाउंडिंगबॉक्स.विकल्प | एरियारेंज (सूची<फ्लोट> एरियारेंज) |
स्थिर नमूनाविकृतबाउंडिंगबॉक्स.विकल्प | पहलू अनुपात रेंज (सूची<फ्लोट> पहलू अनुपात रेंज) |
आउटपुट < TFloat32 > | बॉक्स () `[1, 1, 4]` आकार के साथ 3-डी जिसमें विकृत बाउंडिंग बॉक्स है। |
आउटपुट <T> | शुरू () 1-डी, जिसमें `[ऑफसेट_हाइट, ऑफसेट_विड्थ, 0]` शामिल है। |
स्थिर <T TNumber बढ़ाता है > नमूना विकृत बाउंडिंग बॉक्स <T> | बनाएं ( स्कोप स्कोप, ऑपरेंड <T> इमेज साइज, ऑपरेंड <TFloat32> बाउंडिंगबॉक्स, ऑपरेंड <TFloat32> minObjectCovered, विकल्प... विकल्प) एक नया सैंपलडिस्टॉर्टेडबाउंडिंगबॉक्स ऑपरेशन को लपेटकर एक क्लास बनाने की फ़ैक्टरी विधि। |
स्थिर नमूनाविकृतबाउंडिंगबॉक्स.विकल्प | अधिकतम प्रयास (लंबे अधिकतम प्रयास) |
स्थिर नमूनाविकृतबाउंडिंगबॉक्स.विकल्प | बीज (लंबा बीज) |
स्थिर नमूनाविकृतबाउंडिंगबॉक्स.विकल्प | बीज2 (लंबा बीज2) |
आउटपुट <T> | आकार () 1-डी, जिसमें `[target_height, target_width, -1]` शामिल है। |
स्थिर नमूनाविकृतबाउंडिंगबॉक्स.विकल्प | उपयोगइमेजइफनोबाउंडिंगबॉक्स (बूलियन उपयोगइमेजइफनोबाउंडिंगबॉक्स) |
विरासत में मिली विधियाँ
स्थिरांक
सार्वजनिक स्थैतिक अंतिम स्ट्रिंग OP_NAME
इस ऑप का नाम, जैसा कि TensorFlow कोर इंजन से जाना जाता है
सार्वजनिक तरीके
सार्वजनिक स्थैतिक नमूनाविकृतबाउंडिंगबॉक्स.विकल्प क्षेत्रश्रेणी (सूची<फ्लोट> क्षेत्रश्रेणी)
पैरामीटर
क्षेत्रसीमा | छवि के काटे गए क्षेत्र में इस सीमा के भीतर आपूर्ति की गई छवि का एक अंश होना चाहिए। |
---|
सार्वजनिक स्थैतिक नमूनाविकृतबाउंडिंगबॉक्स.विकल्प पहलू अनुपात रेंज (सूची<फ्लोट> पहलू अनुपात रेंज)
पैरामीटर
पहलू अनुपात सीमा | छवि के काटे गए क्षेत्र का पहलू अनुपात = चौड़ाई/ऊंचाई इस सीमा के भीतर होनी चाहिए। |
---|
सार्वजनिक आउटपुट < TFloat32 > bboxes ()
`[1, 1, 4]` आकार के साथ 3-डी जिसमें विकृत बाउंडिंग बॉक्स है। tf.image.draw_bounding_boxes
को इनपुट के रूप में प्रदान करें।
सार्वजनिक आउटपुट <T> प्रारंभ ()
1-डी, जिसमें `[ऑफसेट_हाइट, ऑफसेट_विड्थ, 0]` शामिल है। tf.slice
को इनपुट के रूप में प्रदान करें।
सार्वजनिक स्थैतिक नमूना विकृतबाउंडिंगबॉक्स <टी> बनाएं ( स्कोप स्कोप, ऑपरेंड <टी> छवि आकार, ऑपरेंड < टीएफलोएट32 > बाउंडिंगबॉक्स, ऑपरेंड < टीएफलोएट32 > मिनऑब्जेक्टकवर, विकल्प... विकल्प)
एक नया सैंपलडिस्टॉर्टेडबाउंडिंगबॉक्स ऑपरेशन को लपेटकर एक क्लास बनाने की फ़ैक्टरी विधि।
पैरामीटर
दायरा | वर्तमान दायरा |
---|---|
छविआकार | 1-डी, जिसमें `[ऊंचाई, चौड़ाई, चैनल]` शामिल है। |
बाउंडिंगबॉक्स | `[बैच, एन, 4]` आकार के साथ 3-डी जो छवि से जुड़े एन बाउंडिंग बॉक्स का वर्णन करता है। |
minObjectCovered | छवि के काटे गए क्षेत्र में आपूर्ति किए गए किसी भी बाउंडिंग बॉक्स का कम से कम यह अंश अवश्य होना चाहिए। इस पैरामीटर का मान गैर-नकारात्मक होना चाहिए. 0 के मामले में, काटे गए क्षेत्र को आपूर्ति किए गए किसी भी बाउंडिंग बॉक्स को ओवरलैप करने की आवश्यकता नहीं है। |
विकल्प | वैकल्पिक गुण मान रखता है |
रिटर्न
- सैम्पलडिस्टोरटेडबाउंडिंगबॉक्स का एक नया उदाहरण
सार्वजनिक स्थैतिक नमूनाविकृतबाउंडिंगबॉक्स.विकल्प अधिकतम प्रयास (लंबे अधिकतम प्रयास)
पैरामीटर
अधिकतम प्रयास | निर्दिष्ट बाधाओं की छवि का एक फसली क्षेत्र उत्पन्न करने के प्रयासों की संख्या। `max_attempts` विफलताओं के बाद, पूरी छवि वापस लौटाएँ। |
---|
सार्वजनिक स्थैतिक नमूनाविकृतबाउंडिंगबॉक्स.विकल्प बीज (लंबा बीज)
पैरामीटर
बीज | यदि या तो `बीज` या `बीज2` को गैर-शून्य पर सेट किया गया है, तो यादृच्छिक संख्या जनरेटर को दिए गए `बीज` द्वारा सीड किया जाता है। अन्यथा, यह एक यादृच्छिक बीज द्वारा बोया जाता है। |
---|
सार्वजनिक स्थैतिक नमूनाविकृतबाउंडिंगबॉक्स.विकल्प बीज2 (लंबा बीज2)
पैरामीटर
बीज2 | बीज टकराव से बचने के लिए दूसरा बीज। |
---|
सार्वजनिक आउटपुट <T> आकार ()
1-डी, जिसमें `[target_height, target_width, -1]` शामिल है। tf.slice
को इनपुट के रूप में प्रदान करें।
सार्वजनिक स्थैतिक नमूनाविकृतबाउंडिंगबॉक्स.विकल्प उपयोगइमेजइफनोबाउंडिंगबॉक्स (बूलियन उपयोगइमेजइफनोबाउंडिंगबॉक्स)
पैरामीटर
ImageIfNoBoundingBoxes का उपयोग करें | यदि कोई बाउंडिंग बॉक्स नहीं दिया गया है तो व्यवहार को नियंत्रित करता है। यदि सत्य है, तो संपूर्ण इनपुट को कवर करने वाला एक अंतर्निहित बाउंडिंग बॉक्स मान लें। यदि गलत है, तो एक त्रुटि दर्ज करें। |
---|