สร้างกรอบขอบที่บิดเบี้ยวแบบสุ่มกล่องเดียวสำหรับรูปภาพ
คำอธิบายประกอบแบบ Bounding Box มักจะจัดเตรียมไว้นอกเหนือจากป้ายกำกับความเป็นจริงในการจดจำรูปภาพหรืองานการแปลวัตถุ เทคนิคทั่วไปในการฝึกระบบดังกล่าวคือการสุ่มบิดเบือนรูปภาพโดยยังคงรักษาเนื้อหาไว้ เช่น การเพิ่มข้อมูล Op นี้จะส่งออกการแปลวัตถุที่บิดเบี้ยวแบบสุ่ม เช่น กรอบขอบเขต โดยมี `image_size`, `bounding_boxes` และชุดข้อจำกัด
ผลลัพธ์ของ Op นี้คือกล่องขอบเขตเดียวที่อาจใช้ในการครอบตัดรูปภาพต้นฉบับ เอาต์พุตจะถูกส่งกลับเป็นเทนเซอร์ 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)
คลาสที่ซ้อนกัน
ระดับ | SampleDistortedBoundingBox.Options | แอ็ตทริบิวต์ทางเลือกสำหรับ SampleDistortedBoundingBox |
ค่าคงที่
สตริง | OP_NAME | ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow |
วิธีการสาธารณะ
SampleDistortedBoundingBox.Options แบบคงที่ | areaRange (รายการ <Float> areaRange) |
SampleDistortedBoundingBox.Options แบบคงที่ | อัตราส่วนกว้างยาว (รายการ<ลอย> อัตราส่วนกว้างยาว) |
เอาท์พุต < TFloat32 > | บีบ็อกซ์ () 3-D ที่มีรูปร่าง `[1, 1, 4]` มีกรอบขอบที่บิดเบี้ยว |
เอาท์พุต <T> | เริ่ม () 1-D ประกอบด้วย `[offset_height, offset_width, 0]` |
คง <T ขยาย TNumber > SampleDistortedBoundingBox <T> | สร้าง (ขอบเขตขอบเขต ตัว ดำเนินการ <T> imageSize ตัวดำเนินการ < TFloat32 > boundingBoxes ตัวดำเนินการ < TFloat32 > minObjectCovered ตัวเลือก... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ SampleDistortedBoundingBox ใหม่ |
SampleDistortedBoundingBox.Options แบบคงที่ | maxAttempts (ยาว maxAttempts) |
SampleDistortedBoundingBox.Options แบบคงที่ | เมล็ด (เมล็ดยาว) |
SampleDistortedBoundingBox.Options แบบคงที่ | เมล็ด2 (เมล็ดยาว2) |
เอาท์พุต <T> | ขนาด () 1-D ประกอบด้วย `[target_height, target_width, -1]` |
SampleDistortedBoundingBox.Options แบบคงที่ | useImageIfNoBoundingBoxes (บูลีน useImageIfNoBoundingBoxes) |
วิธีการสืบทอด
ค่าคงที่
สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME
ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow
วิธีการสาธารณะ
สาธารณะ SampleDistortedBoundingBox.Options areaRange (รายการ <Float> areaRange)
พารามิเตอร์
พื้นที่ช่วง | พื้นที่ครอบตัดของรูปภาพจะต้องมีเศษของรูปภาพที่ให้มาภายในช่วงนี้ |
---|
สาธารณะ SampleDistortedBoundingBox.Options อัตราส่วนกว้างยาว (รายการ <ลอย> อัตราส่วนกว้างยาว)
พารามิเตอร์
อัตราส่วนกว้างยาว | พื้นที่ครอบตัดของรูปภาพต้องมีอัตราส่วน = ความกว้าง / ความสูงภายในช่วงนี้ |
---|
เอาท์พุท สาธารณะ < TFloat32 > bboxes ()
3-D ที่มีรูปร่าง `[1, 1, 4]` มีกรอบขอบที่บิดเบี้ยว ระบุเป็นอินพุตให้กับ tf.image.draw_bounding_boxes
เอาท์พุท สาธารณะ <T> เริ่มต้น ()
1-D ประกอบด้วย `[offset_height, offset_width, 0]` ให้เป็นอินพุตไปยัง tf.slice
สร้าง SampleDistortedBoundingBox <T> แบบคงที่สาธารณะ (ขอบเขตขอบเขต ตัว ดำเนินการ <T> imageSize ตัวดำเนินการ < TFloat32 > boundingBoxes ตัวดำเนินการ < TFloat32 > minObjectCovered ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ SampleDistortedBoundingBox ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
ขนาดรูปภาพ | 1-D ประกอบด้วย `[ความสูง ความกว้าง ช่อง]` |
ขอบเขตกล่อง | 3-D ที่มีรูปร่าง `[ชุด, N, 4]` อธิบายกล่องขอบ N ที่เกี่ยวข้องกับรูปภาพ |
minObjectCovered | พื้นที่ครอบตัดของรูปภาพต้องมีเศษของกรอบขอบที่ให้มาอย่างน้อยนี้ ค่าของพารามิเตอร์นี้ไม่ควรเป็นค่าลบ ในกรณีของ 0 พื้นที่ที่ครอบตัดไม่จำเป็นต้องซ้อนทับกับกรอบขอบใดๆ ที่ให้มา |
ตัวเลือก | มีค่าแอตทริบิวต์ทางเลือก |
การส่งคืน
- อินสแตนซ์ใหม่ของ SampleDistortedBoundingBox
สาธารณะ SampleDistortedBoundingBox.Options maxAttempts (Long maxAttempts)
พารามิเตอร์
ความพยายามสูงสุด | จำนวนครั้งที่พยายามสร้างขอบเขตที่ครอบตัดของรูปภาพที่มีข้อจำกัดที่ระบุ หลังจากล้มเหลว `max_attempts` ให้ส่งคืนรูปภาพทั้งหมด |
---|
เมล็ด SampleDistortedBoundingBox.Options สาธารณะแบบคงที่ (เมล็ดยาว)
พารามิเตอร์
เมล็ดพันธุ์ | หากตั้งค่า `seed` หรือ `seed2` ไม่เป็นศูนย์ ตัวสร้างตัวเลขสุ่มจะถูกเพาะโดย `seed` ที่ให้มา มิฉะนั้นจะถูกเพาะโดยเมล็ดแบบสุ่ม |
---|
สาธารณะ SampleDistortedBoundingBox.Options seed2 (Long seed2)
พารามิเตอร์
เมล็ดพันธุ์2 | เมล็ดที่สองเพื่อหลีกเลี่ยงการชนกันของเมล็ด |
---|
ขนาด เอาต์พุต สาธารณะ <T> ()
1-D ประกอบด้วย `[target_height, target_width, -1]` ให้เป็นอินพุตไปยัง tf.slice
สาธารณะ SampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (บูลีน useImageIfNoBoundingBoxes)
พารามิเตอร์
useImageIfNoBoundingBoxes | ควบคุมลักษณะการทำงานหากไม่มีกล่องขอบเขตมาให้ หากเป็นจริง ให้ถือว่ากรอบขอบเขตโดยนัยครอบคลุมอินพุตทั้งหมด หากเป็นเท็จ ให้แจ้งข้อผิดพลาด |
---|