TensorFlow menyediakan sejumlah computer vision (CV) dan alat klasifikasi gambar. Dokumen ini memperkenalkan beberapa alat tersebut dan memberikan ikhtisar sumber daya untuk membantu Anda memulai tugas umum CV.
Perpustakaan dan alat visi
TensorFlow menyediakan alat CV melalui pustaka Keras tingkat yang lebih tinggi dan modul tf.image
tingkat yang lebih rendah. Untuk sebagian besar kasus penggunaan, pustaka Keras akan lebih nyaman dibandingkan alternatif TensorFlow bawaan. Namun jika opsi Keras tidak sesuai dengan kasus penggunaan Anda, atau Anda menginginkan kontrol tingkat rendah atas prapemrosesan gambar, Anda mungkin memerlukan alat TensorFlow tingkat rendah.
KerasCV
Jika Anda baru memulai proyek CV, dan tidak yakin perpustakaan dan alat mana yang Anda perlukan, KerasCV adalah tempat yang baik untuk memulai. KerasCV adalah perpustakaan komponen CV modular yang dibangun di Keras Core. KerasCV mencakup model, lapisan, metrik, panggilan balik, dan alat lain yang memperluas API Keras tingkat tinggi untuk tugas CV. API KerasCV dapat membantu augmentasi data, klasifikasi, deteksi objek, segmentasi, pembuatan gambar, dan alur kerja CV umum lainnya. Anda dapat menggunakan KerasCV untuk dengan cepat merakit saluran pelatihan dan inferensi tingkat produksi yang canggih.
Utilitas keras
tf.keras.utils
menyediakan beberapa utilitas prapemrosesan gambar tingkat tinggi. Misalnya, tf.keras.utils.image_dataset_from_directory
menghasilkan tf.data.Dataset
dari direktori gambar pada disk.
tf.image
Jika KerasCV tidak sesuai dengan kasus penggunaan Anda, Anda dapat menggunakan tf.image
dan tf.data
untuk menulis pipeline atau lapisan augmentasi data Anda sendiri.
Modul tf.image
berisi berbagai fungsi untuk pemrosesan gambar, seperti tf.image.flip_left_right
, tf.image.rgb_to_grayscale
, tf.image.adjust_brightness
, tf.image.central_crop
, dan tf.image.stateless_random*
.
API tf.data
memungkinkan Anda membangun saluran masukan yang kompleks dari bagian sederhana yang dapat digunakan kembali.
Kumpulan Data TensorFlow
Kumpulan Data TensorFlow adalah kumpulan kumpulan data yang siap digunakan dengan TensorFlow. Banyak kumpulan data (misalnya, MNIST , Fashion-MNIST , dan TF Flowers ) dapat digunakan untuk mengembangkan dan menguji algoritme visi komputer.
Mulai dari mana
Sumber daya berikut akan membantu Anda memulai dan menjalankan alat TensorFlow dan Keras CV.
- KerasCV : Dokumentasi dan sumber daya untuk KerasCV.
- Panduan pengembang KerasCV : Panduan untuk melakukan tugas CV umum menggunakan KerasCV. Jika Anda baru mengenal KerasCV, Klasifikasi dengan KerasCV adalah tempat yang baik untuk memulai.
Tutorial TensorFlow : Dokumentasi inti TensorFlow (panduan ini) mencakup sejumlah tutorial CV dan pemrosesan gambar.
- Klasifikasi dasar: Mengklasifikasikan gambar pakaian : Melatih model jaringan saraf untuk mengklasifikasikan gambar pakaian, seperti sepatu kets dan kemeja.
Memuat dan memproses gambar terlebih dahulu : Memuat dan memproses terlebih dahulu kumpulan data gambar dengan tiga cara:
- Gunakan utilitas pra-pemrosesan Keras tingkat tinggi untuk membaca direktori gambar pada disk.
- Tulis saluran masukan Anda sendiri dari awal menggunakan
tf.data
. - Unduh kumpulan data dari katalog besar yang tersedia di TensorFlow Datasets .
Memuat data video : Memuat dan memproses data video AVI terlebih dahulu menggunakan kumpulan data tindakan manusia UCF101 .
Convolutional Neural Network (CNN) : Melatih Convolutional Neural Network (CNN) sederhana untuk mengklasifikasikan gambar CIFAR menggunakan Keras API .
Klasifikasi gambar : Klasifikasikan gambar bunga menggunakan model
tf.keras.Sequential
dan muat data menggunakantf.keras.utils.image_dataset_from_directory
.Pembelajaran transfer dan penyesuaian : Mengklasifikasikan gambar kucing dan anjing dengan menggunakan pembelajaran transfer dari jaringan yang telah dilatih sebelumnya.
Augmentasi data : Tingkatkan keragaman set pelatihan Anda dengan menerapkan transformasi acak (namun realistis), seperti rotasi gambar.
Segmentasi gambar : Lakukan segmentasi gambar menggunakan U-Net yang dimodifikasi.
Klasifikasi video dengan jaringan saraf konvolusional 3D : Melatih jaringan saraf konvolusional (CNN) 3D untuk klasifikasi video menggunakan kumpulan data pengenalan tindakan UCF101 .
Pembelajaran transfer untuk klasifikasi video dengan MoViNet : Gunakan model MoViNet terlatih dan kumpulan data UCF101 untuk mengklasifikasikan video untuk tugas pengenalan tindakan.