dòng chảy :: hoạt động :: SampleDistortedBoundsBoxV2

#include <image_ops.h>

Tạo một hộp giới hạn bị bóp méo ngẫu nhiên cho một hình ảnh.

Tóm lược

Chú thích hộp giới hạn thường được cung cấp cùng với nhãn xác thực trong các tác 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 để đào tạo một hệ thống như vậy là làm sai lệch ngẫu nhiên một hình ảnh trong khi vẫn bảo toàn nội dung của nó, tức là tăng dữ liệu . Op này xuất ra một bản địa hóa bị bóp méo ngẫu nhiên của một đối tượng, tức là hộp giới hạn, cho trước một image_size , các 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 , sizebboxes . 2 tensors đầu tiên có thể được đưa trực tiếp vào tf.slice để cắt hình ảnh. Phần sau có thể được cung cấp cho tf.image.draw_bounding_boxes để hình dung 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ề là [y_min, x_min, y_max, x_max] . Tọa độ hộp giới hạn được thả nổi 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ẽ giả sử có một hộp giới hạn ngầm bao phủ toàn bộ hình ảnh. Nếu use_image_if_no_bounding_boxes là false và không có hộp giới hạn nào được cung cấp, thì sẽ xảy ra lỗi.

Tranh luận:

  • phạm vi: Một đối tượng Phạm vi
  • image_size: 1-D, chứa [height, width, channels] .
  • các hộp giới hạn: 3-D với shape [batch, N, 4] mô tả N hộp giới hạn được liên kết với hình ảnh.
  • min_object_covered: Vùng được 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 không được âm. Trong trường hợp bằng 0, vùng được 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.

Các thuộc tính tùy chọn (xem Phần Attrs ):

  • hạt giống: Nếu một trong hai seed hoặc seed2 được thiết lập để không, các bộ tạo số ngẫu nhiên được cấy bằng cho seed . Nếu không, nó được gieo bởi một hạt ngẫu nhiên.
  • seed2: Hạt thứ hai để tránh hạt bị va chạm.
  • khía cạnh_ratio_range: Vùng được 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.
  • area_range: Vùng được cắt của hình ảnh phải chứa một phần nhỏ của hình ảnh được cung cấp trong phạm vi này.
  • max_attempts: Số lần cố gắng tạo vùng cắt của hình ảnh của các ràng buộc được chỉ định. Sau khi lỗi max_attempts , hãy trả lại toàn bộ hình ảnh.
  • use_image_if_no_bounds_boxes: 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, hãy giả sử một hộp giới hạn ngầm bao phủ toàn bộ dữ liệu đầu vào. Nếu sai, hãy nêu ra lỗi.

Lợi nhuận:

  • Output bắt đầu: 1-D, chứa [offset_height, offset_width, 0] . Cung cấp dưới dạng đầu vào cho tf.slice .
  • Kích thước Output : 1-D, chứa [target_height, target_width, -1] . Cung cấp dưới dạng đầu vào cho tf.slice .
  • Output hộp Output : 3-D với hình dạng [1, 1, 4] chứa hộp giới hạn bị méo. Cung cấp dưới dạng đầu vào cho tf.image.draw_bounding_boxes .

Người xây dựng và Người phá hủy

SampleDistortedBoundingBoxV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input image_size, :: tensorflow::Input bounding_boxes, :: tensorflow::Input min_object_covered)
SampleDistortedBoundingBoxV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input image_size, :: tensorflow::Input bounding_boxes, :: tensorflow::Input min_object_covered, const SampleDistortedBoundingBoxV2::Attrs & attrs)

Thuộc tính công khai

bboxes
begin
operation
size

Các chức năng tĩnh công khai

AreaRange (const gtl::ArraySlice< float > & x)
AspectRatioRange (const gtl::ArraySlice< float > & x)
MaxAttempts (int64 x)
Seed (int64 x)
Seed2 (int64 x)
UseImageIfNoBoundingBoxes (bool x)

Cấu trúc

tensorflow :: ops :: SampleDistortedBoundsBoxV2 :: Attrs

Bộ thiết lập thuộc tính tùy chọn cho SampleDistortedBoundsBoxV2 .

Thuộc tính công khai

bboxes

::tensorflow::Output bboxes

bắt đầu

::tensorflow::Output begin

hoạt động

Operation operation

kích thước

::tensorflow::Output size

Chức năng công cộng

SampleDistortedBoundsBoxV2

 SampleDistortedBoundingBoxV2(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input image_size,
  ::tensorflow::Input bounding_boxes,
  ::tensorflow::Input min_object_covered
)

SampleDistortedBoundsBoxV2

 SampleDistortedBoundingBoxV2(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input image_size,
  ::tensorflow::Input bounding_boxes,
  ::tensorflow::Input min_object_covered,
  const SampleDistortedBoundingBoxV2::Attrs & attrs
)

Các chức năng tĩnh công khai

AreaRange

Attrs AreaRange(
  const gtl::ArraySlice< float > & x
)

AspectRatioRange

Attrs AspectRatioRange(
  const gtl::ArraySlice< float > & x
)

MaxAttempts

Attrs MaxAttempts(
  int64 x
)

Hạt giống

Attrs Seed(
  int64 x
)

Seed2

Attrs Seed2(
  int64 x
)

UseImageIfNoBoundsBoxes

Attrs UseImageIfNoBoundingBoxes(
  bool x
)