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)
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 cộng
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> | |
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
Phương pháp công cộng
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ạnhRatioRange | 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 thước hình ả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 ẩn bao phủ toàn bộ đầu vào. Nếu sai, hãy đưa ra một lỗi. |
---|