คำเตือน: API นี้เลิกใช้งานแล้วและจะถูกลบออกใน TensorFlow เวอร์ชันในอนาคตหลังจาก การแทนที่ เสถียรแล้ว

StatelessSampleDistortedBoundingBox

คลาสสุดท้ายสาธารณะ StatelessSampleDistortedBoundingBox

สร้างกล่องขอบเขตที่บิดเบี้ยวแบบสุ่มสำหรับรูปภาพที่กำหนด

การเพิ่มคำอธิบายประกอบของกล่องที่มีขอบเขตมักจะให้มานอกเหนือจากป้ายกำกับจริงในการจดจำรูปภาพหรืองานการแปลวัตถุ เทคนิคทั่วไปสำหรับการฝึกอบรมระบบดังกล่าว คือการสุ่มบิดเบือนรูปภาพในขณะที่ยังคงรักษาเนื้อหาไว้ เช่น การเสริมข้อมูล Op นี้ได้รับ `seed' เดียวกันโดยกำหนดเอาท์พุตการแปลวัตถุที่ถูกบิดเบือนแบบสุ่ม เช่น bounding box กำหนด `image_size`, `bounding_boxes` และชุดของข้อจำกัด

ผลลัพธ์ของ Op นี้เป็นกล่องที่มีขอบเขตเดียวที่อาจใช้ในการครอบตัดรูปภาพต้นฉบับ ผลลัพธ์จะถูกส่งกลับเป็น 3 เทนเซอร์: 'เริ่มต้น', 'ขนาด' และ 'bboxes' สามารถป้อนเทนเซอร์ 2 ตัวแรกลงใน tf.slice เพื่อครอบตัดรูปภาพได้โดยตรง หลังอาจถูกส่งไปยัง tf.image.draw_bounding_boxes เพื่อให้เห็นภาพว่ากล่องขอบเขตมีลักษณะอย่างไร

มีการส่งกรอบล้อมรอบและส่งกลับเป็น `[y_min, x_min, y_max, x_max]` พิกัดของกรอบล้อมรอบจะลอยอยู่ใน `[0.0, 1.0]` ซึ่งสัมพันธ์กับความกว้างและความสูงของรูปภาพต้นแบบ

ผลลัพธ์ของ Op นี้รับประกันว่าจะเหมือนกันเมื่อให้ `seed' เดียวกัน และไม่ขึ้นกับจำนวนครั้งที่เรียกใช้ฟังก์ชัน และไม่ขึ้นกับการตั้งค่า global seed (เช่น tf.random.set_seed )

ตัวอย่างการใช้งาน:

>>> image = np.array([[[1], [2], [3]], [[4], [5], [6]], [[7], [8], [9] ]]) >>> bbox = tf.constant( ... [0.0, 0.0, 1.0, 1.0], dtype=tf.float32, รูปร่าง=[1, 1, 4]) >>> เมล็ด = (1, 2 ) >>> # สร้างกล่องขอบเขตที่บิดเบี้ยวหนึ่งกล่อง >>> bbox_begin, bbox_size, bbox_draw = ( ... tf.image.stateless_sample_distorted_bounding_box( ... tf.shape(image), bounding_boxes=bbox, seed=seed)) >>> # ใช้ bounding box เพื่อบิดเบือนภาพ . >>> tf.slice (รูปภาพ, bbox_begin, bbox_size) >>> # วาดกรอบในสรุปภาพ >>> สี = np.array([[1.0, 0.0, 0.0], [0.0, 0.0, 1.0]]) >>> tf.image.draw_bounding_boxes( ... tf.expand_dims(tf.cast(image, tf .float32),0), bbox_draw, สี)

โปรดทราบว่าหากไม่มีข้อมูลกล่องขอบเขต การตั้งค่า `use_image_if_no_bounding_boxes = true` จะถือว่ามีกรอบล้อมรอบโดยนัยเพียงกล่องเดียวที่ครอบคลุมทั้งภาพ หาก `use_image_if_no_bounding_boxes` เป็นเท็จและไม่ได้ระบุกล่องขอบเขตไว้ จะเกิดข้อผิดพลาดขึ้น

คลาสที่ซ้อนกัน

ระดับ StatelessSampleDistortedBoundingBox.Options แอ็ตทริบิวต์ทางเลือกสำหรับ StatelessSampleDistortedBoundingBox

วิธีการสาธารณะ

คง StatelessSampleDistortedBoundingBox.Options
areaRange (รายการ<Float> areaRange)
คง StatelessSampleDistortedBoundingBox.Options
widthRatioRange (รายการ <Float> widthRatioRange)
เอาท์พุต <โฟลต>
กล่องข้อความ ()
3-D ที่มีรูปร่าง `[1, 1, 4]` ที่มีกล่องขอบเขตที่บิดเบี้ยว
เอาท์พุต <T>
เริ่ม ()
1-D ประกอบด้วย `[offset_height, offset_width, 0]`
คงที่ <T ขยายจำนวน U ขยายจำนวน> StatelessSampleDistortedBoundingBox <T>
สร้าง ( ขอบเขต ขอบเขต, ตัวถูกดำเนินการ <T> imageSize , ตัวถูกดำเนิน การ <Float> boundingBoxes, ตัวถูกดำเนินการ <Float> minObjectCovered , ตัวถูกดำเนิน การ <U> เมล็ด, ตัวเลือก... )
วิธีการ Factory เพื่อสร้างคลาสที่ปิดการดำเนินการ StatelessSampleDistortedBoundingBox ใหม่
คง StatelessSampleDistortedBoundingBox.Options
maxAttempts (ลอง maxAttempts นาน)
เอาท์พุต <T>
ขนาด ()
1-D ประกอบด้วย `[target_height, target_width, -1]`
คง StatelessSampleDistortedBoundingBox.Options
useImageIfNoBoundingBoxes (บูลีน useImageIfNoBoundingBoxes)

วิธีการสืบทอด

วิธีการสาธารณะ

แตติกสาธารณะ StatelessSampleDistortedBoundingBox.Options areaRange (List<Float> areaRange)

พารามิเตอร์
พื้นที่ช่วง พื้นที่ครอบตัดของรูปภาพต้องมีเศษส่วนของรูปภาพที่ให้มาภายในช่วงนี้

แตติกสาธารณะ StatelessSampleDistortedBoundingBox.Options widthRatioRange (List<Float> widthRatioRange)

พารามิเตอร์
มุมมองอัตราส่วนช่วง พื้นที่ครอบตัดของรูปภาพต้องมีอัตราส่วนกว้างยาว = กว้าง / สูงภายในช่วงนี้

เอาต์พุต สาธารณะ <Float> bboxes ()

3-D ที่มีรูปร่าง `[1, 1, 4]` ที่มีกล่องขอบเขตที่บิดเบี้ยว ระบุเป็นอินพุตไปยัง tf.image.draw_bounding_boxes

เอาต์พุต สาธารณะ <T> เริ่มต้น ()

1-D ประกอบด้วย `[offset_height, offset_width, 0]` ระบุเป็นข้อมูลเข้า tf.slice

แตติกสาธารณะ StatelessSampleDistortedBoundingBox <T> สร้าง ( ขอบเขต ขอบเขต, ตัวถูกดำเนินการ <T> ขนาดรูปภาพ, ตัวถูกดำเนิน การ <Float> boundingBoxes, ตัวถูกดำเนิน การ <Float> minObjectCovered , เมล็ดพืชตัวถูกดำเนิน การ <U> ตัวเลือก... )

วิธีการ Factory เพื่อสร้างคลาสที่ปิดการดำเนินการ StatelessSampleDistortedBoundingBox ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
ขนาดรูปภาพ 1-D ประกอบด้วย `[ความสูง ความกว้าง ช่อง]`
boundingBoxes 3-D ที่มีรูปร่าง `[batch, N, 4]` ที่อธิบายกล่องล้อมรอบ N ที่เกี่ยวข้องกับรูปภาพ
minObjectCovered พื้นที่ครอบตัดของรูปภาพต้องมีอย่างน้อยเศษส่วนของกรอบล้อมรอบที่ให้มา ค่าของพารามิเตอร์นี้ไม่ควรเป็นค่าลบ ในกรณีของ 0 พื้นที่ที่ครอบตัดไม่จำเป็นต้องซ้อนทับกล่องล้อมรอบที่ให้มา
เมล็ดพันธุ์ 1-D ที่มีรูปร่าง `[2]` เมล็ดพันธุ์สู่เครื่องกำเนิดตัวเลขสุ่ม ต้องมี dtype "int32" หรือ "int64" (เมื่อใช้ XLA จะอนุญาตเฉพาะ "int32" เท่านั้น)
ตัวเลือก ดำเนินการค่าแอตทริบิวต์ทางเลือก
คืนสินค้า
  • ตัวอย่างใหม่ของ StatelessSampleDistortedBoundingBox

แตติกสาธารณะ StatelessSampleDistortedBoundingBox.Options maxAttempts (Long maxAttempts)

พารามิเตอร์
maxAttempts จำนวนครั้งที่พยายามสร้างพื้นที่ครอบตัดของรูปภาพตามข้อจำกัดที่ระบุ หลังจาก `max_attempts` ล้มเหลว ให้ส่งคืนรูปภาพทั้งหมด

ขนาด เอาท์พุท สาธารณะ <T> ()

1-D ประกอบด้วย `[target_height, target_width, -1]` ระบุเป็นข้อมูลเข้า tf.slice

แตติก StatelessSampleDistortedBoundingBox.Options สาธารณะแบบคงที่ useImageIfNoBoundingBoxes (ใช้บูลีน ImageIfNoBoundingBoxes)

พารามิเตอร์
useImageIfNoBoundingBoxes ควบคุมพฤติกรรมหากไม่มีกรอบล้อมรอบ ถ้าเป็นจริง ให้สมมติกล่องขอบเขตโดยนัยที่ครอบคลุมอินพุตทั้งหมด หากเป็นเท็จ ทำให้เกิดข้อผิดพลาด