টেনসরফ্লো :: অপস:: নমুনা বিকৃত বাউন্ডিংবক্স
#include <image_ops.h>
একটি চিত্রের জন্য একটি একক এলোমেলোভাবে বিকৃত বাউন্ডিং বাক্স তৈরি করুন৷
সারাংশ
বাউন্ডিং বক্স টীকাগুলি প্রায়শই ইমেজ স্বীকৃতি বা বস্তু স্থানীয়করণের কাজগুলিতে গ্রাউন্ড-ট্রুথ লেবেল ছাড়াও সরবরাহ করা হয়। এই ধরনের একটি সিস্টেমকে প্রশিক্ষণের জন্য একটি সাধারণ কৌশল হল একটি চিত্রকে এর বিষয়বস্তু সংরক্ষণ করার সময় এলোমেলোভাবে বিকৃত করা, যেমন ডেটা বৃদ্ধি । এই অপটি একটি বস্তুর একটি এলোমেলোভাবে বিকৃত স্থানীয়করণ আউটপুট করে, যেমন বাউন্ডিং বক্স, একটি image_size
, bounding_boxes
এবং সীমাবদ্ধতার একটি সিরিজ দেওয়া হয়।
এই অপের আউটপুট হল একটি একক বাউন্ডিং বাক্স যা মূল ছবি ক্রপ করতে ব্যবহার করা যেতে পারে। আউটপুটটি 3 টি টেনসর হিসাবে ফেরত দেওয়া হয়: begin
, size
এবং 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_bounding_boxes = true
সেট করলে ধরে নেওয়া হবে যে পুরো ইমেজটি কভার করে একটি একক অন্তর্নিহিত বাউন্ডিং বক্স রয়েছে। যদি use_image_if_no_bounding_boxes
মিথ্যা হয় এবং কোনো বাউন্ডিং বাক্স সরবরাহ করা না হয়, একটি ত্রুটি উত্থাপিত হয়।
যুক্তি:
- স্কোপ: একটি স্কোপ অবজেক্ট
- image_size: 1-D,
[height, width, channels]
ধারণকারী। - bounding_boxes: 3-D আকৃতি সহ
[batch, N, 4]
চিত্রের সাথে যুক্ত N বাউন্ডিং বক্সগুলি বর্ণনা করে।
ঐচ্ছিক বৈশিষ্ট্য (দেখুন Attrs
):
- বীজ: যদি
seed
বাseed2
অ-শূন্য সেট করা হয়, তাহলে প্রদত্তseed
দ্বারা এলোমেলো সংখ্যা জেনারেটর বীজ হয়। অন্যথায়, এটি একটি এলোমেলো বীজ দ্বারা বীজ হয়। - বীজ 2: বীজ সংঘর্ষ এড়াতে একটি দ্বিতীয় বীজ।
- min_object_covered: চিত্রের ক্রপ করা অংশে অবশ্যই সরবরাহ করা যেকোনো বাউন্ডিং বক্সের অন্তত এই ভগ্নাংশ থাকতে হবে। এই প্যারামিটারের মান অ-নেতিবাচক হওয়া উচিত। 0-এর ক্ষেত্রে, ক্রপ করা এলাকাকে সরবরাহ করা বাউন্ডিং বাক্সগুলির কোনোটি ওভারল্যাপ করার প্রয়োজন নেই।
- aspect_ratio_range: চিত্রের ক্রপ করা এলাকায় অবশ্যই একটি আকৃতির অনুপাত = প্রস্থ/উচ্চতা থাকতে হবে।
- এলাকা_পরিসীমা: চিত্রের ক্রপ করা এলাকায় অবশ্যই এই সীমার মধ্যে সরবরাহ করা চিত্রের একটি ভগ্নাংশ থাকতে হবে।
- max_attempts: নির্দিষ্ট সীমাবদ্ধতার চিত্রের একটি ক্রপ করা অঞ্চল তৈরি করার প্রচেষ্টার সংখ্যা।
max_attempts
ব্যর্থ হওয়ার পরে, সম্পূর্ণ চিত্রটি ফিরিয়ে দিন। - use_image_if_no_bounding_boxes: কোনো বাউন্ডিং বক্স সরবরাহ না করলে আচরণ নিয়ন্ত্রণ করে। যদি সত্য হয়, অনুমান করুন একটি অন্তর্নিহিত বাউন্ডিং বক্স পুরো ইনপুটকে কভার করে। মিথ্যা হলে, একটি ত্রুটি বাড়ান।
রিটার্ন:
-
Output
শুরু: 1-D,[offset_height, offset_width, 0]
ধারণকারী।tf.slice
এ ইনপুট হিসাবে প্রদান করুন। -
Output
আকার: 1-D,[target_height, target_width, -1]
ধারণকারী।tf.slice
এ ইনপুট হিসাবে প্রদান করুন। -
Output
bboxes: 3-D আকৃতি[1, 1, 4]
বিকৃত বাউন্ডিং বক্স ধারণকারী।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) |
কাঠামো | |
---|---|
tensorflow:: ops:: SampleDistortedBoundingBox:: Attrs | SampleDistortedBoundingBox- এর জন্য ঐচ্ছিক অ্যাট্রিবিউট সেটার। |
পাবলিক বৈশিষ্ট্য
bboxes
::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 )
Aspect RatioRange
Attrs AspectRatioRange( const gtl::ArraySlice< float > & x )
সর্বোচ্চ প্রচেষ্টা
Attrs MaxAttempts( int64 x )
MinObject Covered
Attrs MinObjectCovered( float x )
বীজ
Attrs Seed( int64 x )
বীজ ২
Attrs Seed2( int64 x )
ImageIfNoBoundingBoxes ব্যবহার করুন
Attrs UseImageIfNoBoundingBoxes( bool x )