使用 TensorFlow 进行计算机视觉

TensorFlow 提供了多种计算机视觉 (CV) 和图像分类工具。本文档介绍了其中一些工具,并概述了有助于您开始处理常见 CV 任务的资源。

视觉库和工具

TensorFlow 通过更高级的 Keras 库和底层的 tf.image 模块提供 CV 工具。对于大多数用例,Keras 库比内置的 TensorFlow 替代方案更为便捷。但如果 Keras 选项不适合您的用例,或者您需要对图像预处理进行更底层的控制,则可能需要使用底层的 TensorFlow 工具。

KerasCV

如果您刚开始进行 CV 项目,且不确定需要哪些库和工具,KerasCV 是一个很好的起点。KerasCV 是一个基于 Keras Core 构建的模块化 CV 组件库。KerasCV 包含模型、层、指标、回调以及其他工具,扩展了用于 CV 任务的高级 Keras API。KerasCV API 可助力数据增强、分类、目标检测、分割、图像生成及其他常见的 CV 工作流。您可以使用 KerasCV 快速组装生产级的、最先进的训练和推理流水线。

Keras 实用工具

tf.keras.utils 提供了几种高级图像预处理实用工具。例如,tf.keras.utils.image_dataset_from_directory 可以从磁盘上的图像目录生成 tf.data.Dataset

tf.image

如果 KerasCV 不适合您的用例,您可以使用 tf.imagetf.data 来编写自己的数据增强流水线或层。

tf.image 模块包含多种图像处理函数,例如 tf.image.flip_left_righttf.image.rgb_to_grayscaletf.image.adjust_brightnesstf.image.central_croptf.image.stateless_random*

tf.data API 使您能够从简单、可复用的组件构建复杂的输入流水线。

TensorFlow 数据集

TensorFlow Datasets 是一个可与 TensorFlow 配合使用的现成数据集集合。许多数据集(例如 MNISTFashion-MNISTTF Flowers)都可用于开发和测试计算机视觉算法。

从哪里开始

以下资源将帮助您上手 TensorFlow 和 Keras CV 工具。