TensorFlow cung cấp một số công cụ phân loại hình ảnh và thị giác máy tính (CV). Tài liệu này giới thiệu một số công cụ này và cung cấp tổng quan về các tài nguyên để giúp bạn bắt đầu với các tác vụ CV thông thường.
Thư viện và công cụ tầm nhìn
TensorFlow cung cấp các công cụ CV thông qua thư viện Keras cấp cao hơn và mô-đun tf.image
cấp thấp hơn. Đối với hầu hết các trường hợp sử dụng, thư viện Keras sẽ thuận tiện hơn so với các lựa chọn thay thế TensorFlow tích hợp sẵn. Nhưng nếu các tùy chọn Keras không phù hợp với trường hợp sử dụng của bạn hoặc bạn muốn kiểm soát cấp độ thấp hơn đối với quá trình xử lý trước hình ảnh, bạn có thể cần các công cụ TensorFlow cấp thấp hơn.
KerasCV
Nếu bạn mới bắt đầu với một dự án CV và bạn không chắc mình sẽ cần thư viện và công cụ nào thì KerasCV là một nơi tốt để bắt đầu. KerasCV là thư viện gồm các thành phần CV mô-đun được xây dựng trên Keras Core. KerasCV bao gồm các mô hình, lớp, số liệu, lệnh gọi lại và các công cụ khác giúp mở rộng API Keras cấp cao cho các tác vụ CV. API KerasCV có thể giúp tăng cường dữ liệu, phân loại, phát hiện đối tượng, phân đoạn, tạo hình ảnh và các quy trình công việc CV phổ biến khác. Bạn có thể sử dụng KerasCV để nhanh chóng lắp ráp các quy trình suy luận và đào tạo hiện đại, cấp độ sản xuất.
Tiện ích Keras
tf.keras.utils
cung cấp một số tiện ích tiền xử lý ảnh cấp cao. Ví dụ: tf.keras.utils.image_dataset_from_directory
tạo tf.data.Dataset
từ một thư mục hình ảnh trên đĩa.
tf.image
Nếu KerasCV không phù hợp với trường hợp sử dụng của bạn, bạn có thể sử dụng tf.image
và tf.data
để viết các đường dẫn hoặc lớp tăng cường dữ liệu của riêng mình.
Mô-đun tf.image
chứa nhiều chức năng khác nhau để xử lý hình ảnh, chẳng hạn như tf.image.flip_left_right
, tf.image.rgb_to_grayscale
, tf.image.adjust_brightness
, tf.image.central_crop
và tf.image.stateless_random*
.
API tf.data
cho phép bạn xây dựng các quy trình đầu vào phức tạp từ các phần đơn giản, có thể tái sử dụng.
Bộ dữ liệu TensorFlow
Bộ dữ liệu TensorFlow là tập hợp các bộ dữ liệu sẵn sàng để sử dụng với TensorFlow. Nhiều bộ dữ liệu (ví dụ: MNIST , Fashion-MNIST và TF Flowers ) có thể được sử dụng để phát triển và thử nghiệm các thuật toán thị giác máy tính.
Bắt đầu từ đâu
Các tài nguyên sau đây sẽ giúp bạn thiết lập và sử dụng các công cụ TensorFlow và Keras CV.
- KerasCV : Tài liệu và tài nguyên cho KerasCV.
- Hướng dẫn dành cho nhà phát triển KerasCV : Hướng dẫn thực hiện các tác vụ CV thông thường bằng KerasCV. Nếu bạn mới làm quen với KerasCV, Phân loại bằng KerasCV là một nơi tốt để bắt đầu.
Hướng dẫn về TensorFlow : Tài liệu cốt lõi của TensorFlow (hướng dẫn này) bao gồm một số hướng dẫn xử lý hình ảnh và CV.
- Phân loại cơ bản: Phân loại hình ảnh quần áo : Huấn luyện mô hình mạng thần kinh để phân loại hình ảnh quần áo, như giày thể thao và áo sơ mi.
Tải và xử lý trước hình ảnh : Tải và xử lý trước tập dữ liệu hình ảnh theo ba cách:
- Sử dụng các tiện ích tiền xử lý Keras cấp cao để đọc thư mục hình ảnh trên đĩa.
- Viết đường dẫn đầu vào của riêng bạn từ đầu bằng cách sử dụng
tf.data
. - Tải xuống tập dữ liệu từ danh mục lớn có sẵn trong Bộ dữ liệu TensorFlow .
Tải dữ liệu video : Tải và xử lý trước dữ liệu video AVI bằng cách sử dụng bộ dữ liệu hành động của con người UCF101 .
Mạng thần kinh chuyển đổi (CNN) : Huấn luyện Mạng thần kinh chuyển đổi đơn giản (CNN) để phân loại hình ảnh CIFAR bằng API Keras .
Phân loại hình ảnh : Phân loại hình ảnh hoa bằng mô hình
tf.keras.Sequential
và tải dữ liệu bằngtf.keras.utils.image_dataset_from_directory
.Học chuyển và tinh chỉnh : Phân loại hình ảnh của mèo và chó bằng cách sử dụng học chuyển từ mạng được đào tạo trước.
Tăng cường dữ liệu : Tăng tính đa dạng của tập huấn luyện của bạn bằng cách áp dụng các phép biến đổi ngẫu nhiên (nhưng thực tế), chẳng hạn như xoay hình ảnh.
Phân đoạn hình ảnh : Thực hiện phân đoạn hình ảnh, sử dụng U-Net đã được sửa đổi.
Phân loại video bằng mạng thần kinh tích chập 3D : Huấn luyện mạng thần kinh tích chập 3D (CNN) để phân loại video bằng cách sử dụng bộ dữ liệu nhận dạng hành động UCF101 .
Chuyển giao việc học để phân loại video bằng MoViNet : Sử dụng mô hình MoViNet được đào tạo trước và bộ dữ liệu UCF101 để phân loại video cho tác vụ nhận dạng hành động.