tensorflow:: ops:: SampleDistortedBoundingBox

#include <image_ops.h>

किसी छवि के लिए एक यादृच्छिक रूप से विकृत बाउंडिंग बॉक्स उत्पन्न करें।

सारांश

इमेज रिकग्निशन या ऑब्जेक्ट लोकलाइज़ेशन कार्यों में ग्राउंड-ट्रुथ लेबल के अतिरिक्त अक्सर बाउंडिंग बॉक्स एनोटेशन भी प्रदान किए जाते हैं। ऐसे सिस्टम को प्रशिक्षित करने की एक सामान्य तकनीक इमेज को उसकी सामग्री को संरक्षित रखते हुए यादृच्छिक रूप से विकृत करना है, यानी डेटा ऑग्मेंटेशन । यह ऑपरेशन image_size , bounding_boxes और कई बाधाओं के आधार पर किसी ऑब्जेक्ट का यादृच्छिक रूप से विकृत लोकलाइज़ेशन, यानी बाउंडिंग बॉक्स आउटपुट करता है।

इस ऑपरेशन का आउटपुट एक सिंगल बाउंडिंग बॉक्स है जिसका उपयोग मूल छवि को क्रॉप करने के लिए किया जा सकता है। आउटपुट तीन टेंसर के रूप में लौटाया जाता है: begin , size और bboxes । पहले दो टेंसर को सीधे 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_bounding_boxes = true सेट करने पर यह मान लिया जाएगा कि पूरी छवि को कवर करने वाला एक ही अंतर्निहित बाउंडिंग बॉक्स मौजूद है। यदि use_image_if_no_bounding_boxes false है और कोई बाउंडिंग बॉक्स प्रदान नहीं किया गया है, तो एक त्रुटि उत्पन्न होगी।

तर्क:

  • स्कोप: एक स्कोप ऑब्जेक्ट
  • छवि का आकार: 1-डी, जिसमें [height, width, channels] शामिल हैं।
  • bounding_boxes: 3-डी आकार [batch, N, 4] के साथ छवि से जुड़े एन बाउंडिंग बॉक्स का वर्णन करता है।

वैकल्पिक विशेषताएँ (देखें Attrs ):

  • seed: यदि seed या seed2 में से कोई भी मान शून्य नहीं है, तो यादृच्छिक संख्या जनरेटर को दिए गए seed से सीड किया जाता है। अन्यथा, इसे एक यादृच्छिक seed से सीड किया जाता है।
  • seed2: सीड टकराव से बचने के लिए दूसरा सीड।
  • min_object_covered: छवि के क्रॉप किए गए क्षेत्र में दिए गए बाउंडिंग बॉक्स का कम से कम इतना अंश होना चाहिए। इस पैरामीटर का मान ऋणात्मक नहीं होना चाहिए। 0 होने की स्थिति में, क्रॉप किए गए क्षेत्र को दिए गए किसी भी बाउंडिंग बॉक्स के साथ ओवरलैप करने की आवश्यकता नहीं है।
  • aspect_ratio_range: छवि के क्रॉप किए गए क्षेत्र का आस्पेक्ट रेश्यो = चौड़ाई / ऊंचाई इस सीमा के भीतर होना चाहिए।
  • area_range: छवि के क्रॉप किए गए क्षेत्र में इस सीमा के भीतर दी गई छवि का एक अंश होना चाहिए।
  • max_attempts: निर्दिष्ट शर्तों के अनुसार छवि के क्रॉप किए गए क्षेत्र को उत्पन्न करने के प्रयासों की संख्या। max_attempts विफल होने पर, पूरी छवि लौटा दें।
  • use_image_if_no_bounding_boxes: यदि कोई बाउंडिंग बॉक्स प्रदान नहीं किया गया है तो व्यवहार को नियंत्रित करता है। यदि सत्य है, तो संपूर्ण इनपुट को कवर करने वाले एक अंतर्निहित बाउंडिंग बॉक्स को मान लें। यदि असत्य है, तो एक त्रुटि उत्पन्न करें।

प्रतिफल:

  • Output प्रारंभ: 1-डी, जिसमें [offset_height, offset_width, 0] शामिल है। इसे tf.slice को इनपुट के रूप में प्रदान करें।
  • Output आकार: 1-डी, जिसमें [target_height, target_width, -1] शामिल है। इसे tf.slice को इनपुट के रूप में प्रदान करें।
  • Output बाउंडिंग बॉक्स: [1, 1, 4] आकार का 3-डी जिसमें विकृत बाउंडिंग बॉक्स शामिल है। इसे tf.image.draw_bounding_boxes में इनपुट के रूप में प्रदान करें।

कंस्ट्रक्टर और डिस्ट्रक्टर

SampleDistortedBoundingBox (const :: tensorflow::Scope & scope, :: tensorflow::Input image_size, :: tensorflow::Input bounding_boxes)
SampleDistortedBoundingBox (const :: tensorflow::Scope & scope, :: tensorflow::Input image_size, :: tensorflow::Input bounding_boxes, const SampleDistortedBoundingBox::Attrs & attrs)

सार्वजनिक विशेषताएँ

bboxes
begin
operation
size

सार्वजनिक स्थैतिक फ़ंक्शन

AreaRange (const gtl::ArraySlice< float > & x)
AspectRatioRange (const gtl::ArraySlice< float > & x)
MaxAttempts (int64 x)
MinObjectCovered (float x)
Seed (int64 x)
Seed2 (int64 x)
UseImageIfNoBoundingBoxes (bool x)

संरचनाएँ

टेन्सरफ्लो::ऑप्स::सैंपलडिस्टॉर्टेडबाउंडिंगबॉक्स::एट्रिब्यूट्स

SampleDistortedBoundingBox के लिए वैकल्पिक विशेषता निर्धारक।

सार्वजनिक विशेषताएँ

बीबॉक्स

::tensorflow::Output bboxes

शुरू

::tensorflow::Output begin

संचालन

Operation operation

आकार

::tensorflow::Output size

सार्वजनिक समारोह

सैंपलडिस्टॉर्टेडबाउंडिंगबॉक्स

 SampleDistortedBoundingBox(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input image_size,
  ::tensorflow::Input bounding_boxes
)

सैंपलडिस्टॉर्टेडबाउंडिंगबॉक्स

 SampleDistortedBoundingBox(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input image_size,
  ::tensorflow::Input bounding_boxes,
  const SampleDistortedBoundingBox::Attrs & attrs
)

सार्वजनिक स्थैतिक फ़ंक्शन

क्षेत्र सीमा

Attrs AreaRange(
  const gtl::ArraySlice< float > & x
)

पहलू अनुपात सीमा

Attrs AspectRatioRange(
  const gtl::ArraySlice< float > & x
)

अधिकतम प्रयास

Attrs MaxAttempts(
  int64 x
)

न्यूनतम ऑब्जेक्ट कवर किया गया

Attrs MinObjectCovered(
  float x
)

बीज

Attrs Seed(
  int64 x
)

बीज2

Attrs Seed2(
  int64 x
)

UseImageIfNoBoundingBoxes

Attrs UseImageIfNoBoundingBoxes(
  bool x
)