เทนเซอร์โฟลว์:: ปฏิบัติการ:: ครอบตัดและปรับขนาด
#include <image_ops.h>แยกพืชผลจากเทนเซอร์รูปภาพอินพุตและปรับขนาด
สรุป
แยกการครอบตัดจากเทนเซอร์รูปภาพอินพุตและปรับขนาดโดยใช้การสุ่มตัวอย่างแบบไบลิเนียร์หรือการสุ่มตัวอย่างใกล้เคียงที่สุด (อาจมีการเปลี่ยนแปลงอัตราส่วนภาพ) เป็นขนาดเอาต์พุตทั่วไปที่ระบุโดย crop_size นี่เป็นเรื่องทั่วไปมากกว่า crop_to_bounding_box op ซึ่งจะแยกส่วนขนาดคงที่ออกจากรูปภาพอินพุต และไม่อนุญาตให้ปรับขนาดหรือเปลี่ยนอัตราส่วนภาพ
ส่งกลับเทนเซอร์ที่มี crops จาก image ที่ป้อนในตำแหน่งที่กำหนดไว้ที่ตำแหน่งกรอบขอบใน boxes กล่องที่ครอบตัดจะถูกปรับขนาดทั้งหมด (ด้วยการแก้ไขแบบไบลิเนียร์หรือเพื่อนบ้านที่ใกล้ที่สุด) เป็น size = [crop_height, crop_width] ผลลัพธ์ที่ได้คือเทนเซอร์ 4 มิติ [num_boxes, crop_height, crop_width, depth] การปรับขนาดจะจัดชิดมุม โดยเฉพาะอย่างยิ่ง หาก boxes = [[0, 0, 1, 1]] วิธีการจะให้ผลลัพธ์ที่เหมือนกันกับการใช้ tf.image.resize_bilinear() หรือ tf.image.resize_nearest_neighbor() (ขึ้นอยู่กับอาร์กิวเมนต์ของ method ) ด้วย align_corners=True
ข้อโต้แย้ง:
- ขอบเขต: วัตถุ ขอบเขต
- ภาพ: เทนเซอร์ 4 มิติของรูปร่าง
[batch, image_height, image_width, depth]ทั้งimage_heightและimage_widthจะต้องเป็นบวก - กล่อง: เทนเซอร์ 2 มิติของรูปร่าง
[num_boxes, 4]แถวที่iของเมตริกซ์ระบุพิกัดของกล่องในภาพbox_ind[i]และระบุไว้ในพิกัดปกติ[y1, x1, y2, x2]ค่าพิกัดที่ทำให้เป็นมาตรฐานของyถูกแมปกับพิกัดของภาพที่y * (image_height - 1)ดังนั้นเนื่องจากช่วง[0, 1]ของความสูงของรูปภาพที่ทำให้เป็นมาตรฐานจะถูกแมปกับ[0, image_height - 1]ในพิกัดความสูงของภาพ เราอนุญาตy1>y2ซึ่งในกรณีนี้การครอบตัดตัวอย่างจะเป็นเวอร์ชันพลิกขึ้นและลงของรูปภาพต้นฉบับ มิติความกว้างได้รับการปฏิบัติในทำนองเดียวกัน อนุญาตให้ใช้พิกัดที่ทำให้เป็นมาตรฐานนอกช่วง[0, 1]ได้ ซึ่งในกรณีนี้เราใช้extrapolation_valueเพื่อคาดการณ์ค่าภาพที่ป้อนเข้า - box_ind: เทนเซอร์ 1-D ของรูปร่าง
[num_boxes]ที่มีค่า int32 ใน[0, batch)ค่าของbox_ind[i]ระบุรูปภาพที่กล่องi-th อ้างถึง - crop_size: เทนเซอร์ 1-D ของ 2 องค์ประกอบ
size = [crop_height, crop_width]แพตช์ภาพที่ครอบตัด ทั้งหมด จะถูกปรับขนาดเป็นขนาดนี้ อัตราส่วนภาพของเนื้อหาภาพไม่คงอยู่ ทั้งcrop_heightและcrop_widthจะต้องเป็นบวก
แอ็ตทริบิวต์ทางเลือก (ดู Attrs ):
- วิธีการ: สตริงที่ระบุวิธีการสุ่มตัวอย่างสำหรับการปรับขนาด อาจเป็น
"bilinear"หรือ"nearest"และตั้งค่าเริ่มต้นเป็น"bilinear"ปัจจุบันรองรับวิธีการสุ่มตัวอย่างสองวิธี: Bilinear และ Nearest Neighbor - extrapolation_value: ค่าที่ใช้สำหรับการประมาณค่า เมื่อมี
ผลตอบแทน:
-
Output: เทนเซอร์รูปร่าง 4 มิติ[num_boxes, crop_height, crop_width, depth]
ตัวสร้างและผู้ทำลาย | |
|---|---|
CropAndResize (const :: tensorflow::Scope & scope, :: tensorflow::Input image, :: tensorflow::Input boxes, :: tensorflow::Input box_ind, :: tensorflow::Input crop_size) | |
CropAndResize (const :: tensorflow::Scope & scope, :: tensorflow::Input image, :: tensorflow::Input boxes, :: tensorflow::Input box_ind, :: tensorflow::Input crop_size, const CropAndResize::Attrs & attrs) |
คุณลักษณะสาธารณะ | |
|---|---|
crops | |
operation | |
งานสาธารณะ | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
ฟังก์ชันคงที่สาธารณะ | |
|---|---|
ExtrapolationValue (float x) | |
Method (StringPiece x) | |
โครงสร้าง | |
|---|---|
| เทนเซอร์โฟลว์ :: ops :: CropAndResize :: Attrs | ตัวตั้งค่าแอตทริบิวต์เพิ่มเติมสำหรับ CropAndResize |
คุณลักษณะสาธารณะ
พืชผล
::tensorflow::Output crops
การดำเนินการ
Operation operation
งานสาธารณะ
ครอบตัดและปรับขนาด
CropAndResize( const ::tensorflow::Scope & scope, ::tensorflow::Input image, ::tensorflow::Input boxes, ::tensorflow::Input box_ind, ::tensorflow::Input crop_size )
ครอบตัดและปรับขนาด
CropAndResize( const ::tensorflow::Scope & scope, ::tensorflow::Input image, ::tensorflow::Input boxes, ::tensorflow::Input box_ind, ::tensorflow::Input crop_size, const CropAndResize::Attrs & attrs )
โหนด
::tensorflow::Node * node() const
ตัวดำเนินการ::tensorflow::อินพุต
operator::tensorflow::Input() const
ตัวดำเนินการ::tensorflow::เอาต์พุต
operator::tensorflow::Output() const
ฟังก์ชันคงที่สาธารณะ
การคาดการณ์ค่า
Attrs ExtrapolationValue( float x )
วิธี
Attrs Method( StringPiece x )