SampleDistortedBoundingBox

lớp cuối cùng công khai SampleDistortedBoundingBox

Tạo một khung giới hạn bị biến dạng ngẫu nhiên cho một hình ảnh.

Các chú thích hộp giới hạn thường được cung cấp cùng với các nhãn thực tế trong các nhiệm vụ nhận dạng hình ảnh hoặc bản địa hóa đối tượng. Một kỹ thuật phổ biến để huấn luyện một hệ thống như vậy là làm biến dạng hình ảnh một cách ngẫu nhiên trong khi vẫn giữ nguyên nội dung của nó, tức là tăng cường dữ liệu . Op này tạo ra một bản địa hóa bị biến dạng ngẫu nhiên của một đối tượng, tức là hộp giới hạn, được cung cấp một `image_size`, `bounding_boxes` và một loạt các ràng buộc.

Đầu ra của Op này là một hộp giới hạn duy nhất có thể được sử dụng để cắt ảnh gốc. Đầu ra được trả về dưới dạng 3 tensor: `begin`, `size` và `bboxes`. 2 tensor đầu tiên có thể được đưa trực tiếp vào tf.slice để cắt hình ảnh. Cái sau có thể được cung cấp cho tf.image.draw_bounding_boxes để trực quan hóa hộp giới hạn trông như thế nào.

Các hộp giới hạn được cung cấp và trả về dưới dạng `[y_min, x_min, y_max, x_max]`. Tọa độ của hộp giới hạn là các số float trong `[0,0, 1,0]` so với chiều rộng và chiều cao của hình ảnh bên dưới.

Ví dụ:

# 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)
 
Lưu ý rằng nếu không có thông tin về hộp giới hạn, việc đặt `use_image_if_no_bounding_boxes = true` sẽ cho rằng có một hộp giới hạn ẩn duy nhất bao phủ toàn bộ hình ảnh. Nếu `use_image_if_no_bounding_boxes` là sai và không có hộp giới hạn nào được cung cấp thì sẽ xảy ra lỗi.

Các lớp lồng nhau

lớp học SampleDistortedBoundingBox.Options Thuộc tính tùy chọn cho SampleDistortedBoundingBox

Hằng số

Sợi dây OP_NAME Tên của op này, được biết đến bởi công cụ lõi TensorFlow

Phương pháp công khai

SampleDistortedBoundingBox.Options tĩnh
vùngRange (Danh sách<Float> vùngRange)
SampleDistortedBoundingBox.Options tĩnh
khía cạnhRatioRange (Danh sách<Float> khía cạnhRatioRange)
Đầu ra < TFloat32 >
hộp thư ()
3-D có hình dạng `[1, 1, 4]` chứa hộp giới hạn bị biến dạng.
Đầu ra <T>
bắt đầu ()
1-D, chứa `[offset_height, offset_width, 0]`.
tĩnh <T mở rộng TNumber > SampleDistortedBoundingBox <T>
tạo ( Phạm vi phạm vi, Toán hạng <T> imageSize, Toán hạng < TFloat32 > giới hạn, Toán hạng < TFloat32 > tùy chọn minObjectCovered, Tùy chọn ... )
Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác SampleDistortedBoundingBox mới.
SampleDistortedBoundingBox.Options tĩnh
maxAttempts (Số lần thử tối đa dài)
SampleDistortedBoundingBox.Options tĩnh
hạt giống (Hạt dài)
SampleDistortedBoundingBox.Options tĩnh
hạt giống2 (Hạt dài2)
Đầu ra <T>
kích cỡ ()
1-D, chứa `[target_height, target_width, -1]`.
SampleDistortedBoundingBox.Options tĩnh
useImageIfNoBoundingBoxes (Sử dụng BooleanImageIfNoBoundingBoxes)

Phương pháp kế thừa

Hằng số

Chuỗi cuối cùng tĩnh công khai OP_NAME

Tên của op này, được biết đến bởi công cụ lõi TensorFlow

Giá trị không đổi: "SampleDistortedBoundingBoxV2"

Phương pháp công khai

tĩnh công khai SampleDistortedBoundingBox.Options vùngRange (Danh sách<Float> vùngRange)

Thông số
phạm vi khu vực Vùng cắt của hình ảnh phải chứa một phần hình ảnh được cung cấp trong phạm vi này.

tĩnh công khai SampleDistortedBoundingBox.Options khía cạnhRatioRange (Danh sách <Float> khía cạnhRatioRange)

Thông số
khía cạnhTỷ lệRange Vùng bị cắt của hình ảnh phải có tỷ lệ khung hình = chiều rộng/chiều cao trong phạm vi này.

Đầu ra công khai < TFloat32 > bboxes ()

3-D có hình dạng `[1, 1, 4]` chứa hộp giới hạn bị biến dạng. Cung cấp làm đầu vào cho tf.image.draw_bounding_boxes .

Đầu ra công khai <T> bắt đầu ()

1-D, chứa `[offset_height, offset_width, 0]`. Cung cấp làm đầu vào cho tf.slice .

public static SampleDistortedBoundingBox <T> tạo ( Phạm vi phạm vi, Toán hạng <T> imageSize, Toán hạng < TFloat32 > giới hạn, Toán hạng < TFloat32 > tùy chọn minObjectCovered, Tùy chọn ... )

Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác SampleDistortedBoundingBox mới.

Thông số
phạm vi phạm vi hiện tại
Kích cỡ hình 1-D, chứa `[chiều cao, chiều rộng, kênh]`.
giới hạnhộp 3-D có hình dạng `[batch, N, 4]` mô tả N hộp giới hạn được liên kết với hình ảnh.
minObjectĐược che phủ Vùng bị cắt của hình ảnh phải chứa ít nhất phần này của bất kỳ hộp giới hạn nào được cung cấp. Giá trị của tham số này phải không âm. Trong trường hợp 0, vùng bị cắt không cần chồng lên bất kỳ hộp giới hạn nào được cung cấp.
tùy chọn mang các giá trị thuộc tính tùy chọn
Trả lại
  • một phiên bản mới của SampleDistortedBoundingBox

tĩnh công khai SampleDistortedBoundingBox.Options maxAttempts (MaxAttempts dài)

Thông số
maxAttempt Số lần thử tạo vùng bị cắt của hình ảnh với các ràng buộc đã chỉ định. Sau `max_attempts` không thành công, hãy trả lại toàn bộ hình ảnh.

public static SampleDistortedBoundingBox.Options hạt giống (Hạt giống dài)

Thông số
hạt giống Nếu `seed` hoặc `seed2` được đặt thành khác 0, thì trình tạo số ngẫu nhiên sẽ được tạo bởi `seed` đã cho. Nếu không, nó sẽ được gieo bởi một hạt giống ngẫu nhiên.

public static SampleDistortedBoundingBox.Options Seed2 (Hạt giống dài2)

Thông số
hạt giống2 Hạt giống thứ hai để tránh va chạm hạt giống.

Kích thước đầu ra công khai <T> ()

1-D, chứa `[target_height, target_width, -1]`. Cung cấp làm đầu vào cho tf.slice .

công khai SampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (Boolean useImageIfNoBoundingBoxes)

Thông số
useImageIfNoBoundingBoxes Kiểm soát hành vi nếu không có hộp giới hạn nào được cung cấp. Nếu đúng, giả sử một hộp giới hạn ngầm bao phủ toàn bộ đầu vào. Nếu sai, hãy đưa ra một lỗi.