TensorFlow تعدادی ابزار بینایی کامپیوتری (CV) و طبقه بندی تصویر را فراهم می کند. این سند برخی از این ابزارها را معرفی میکند و مروری بر منابع ارائه میکند تا به شما کمک کند تا کارهای رایج CV را شروع کنید.
کتابخانه ها و ابزارهای چشم انداز
TensorFlow ابزارهای CV را از طریق کتابخانه های سطح بالاتر Keras و ماژول سطح پایین tf.image
فراهم می کند. برای بیشتر موارد استفاده، کتابخانههای Keras راحتتر از جایگزینهای داخلی TensorFlow هستند. اما اگر گزینههای Keras مناسب مورد استفاده شما نیستند، یا میخواهید کنترل سطح پایینتری بر پیشپردازش تصویر داشته باشید، ممکن است به ابزارهای سطح پایینتر TensorFlow نیاز داشته باشید.
KerasCV
اگر به تازگی با یک پروژه CV شروع کرده اید و مطمئن نیستید که به کدام کتابخانه و ابزار نیاز دارید، KerasCV مکان خوبی برای شروع است. KerasCV یک کتابخانه از اجزای CV مدولار است که بر روی Keras Core ساخته شده است. KerasCV شامل مدلها، لایهها، معیارها، تماسهای برگشتی و سایر ابزارهایی است که API سطح بالای Keras را برای وظایف CV گسترش میدهند. APIهای KerasCV میتوانند به تقویت دادهها، طبقهبندی، تشخیص اشیا، تقسیمبندی، تولید تصویر و سایر گردشهای کاری رایج CV کمک کنند. میتوانید از KerasCV برای مونتاژ سریع خطوط لوله آموزشی در سطح تولید، پیشرفتهترین و پیشرفتهترین خطوط لوله استفاده کنید.
خدمات شهری Keras
tf.keras.utils
چندین ابزار پیش پردازش تصویر سطح بالا را ارائه می دهد. به عنوان مثال، tf.keras.utils.image_dataset_from_directory
یک tf.data.Dataset
را از فهرستی از تصاویر روی دیسک تولید می کند.
tf.image
اگر KerasCV مناسب مورد استفاده شما نیست، می توانید از tf.image
و tf.data
برای نوشتن خطوط لوله یا لایه های تقویت داده خود استفاده کنید.
ماژول tf.image
شامل توابع مختلفی برای پردازش تصویر است، مانند tf.image.flip_left_right
، tf.image.rgb_to_grayscale
، tf.image.adjust_brightness
، tf.image.central_crop
، و tf.image.stateless_random*
.
tf.data
API شما را قادر می سازد خطوط لوله ورودی پیچیده ای را از قطعات ساده و قابل استفاده مجدد بسازید.
مجموعه داده های TensorFlow
مجموعه داده های TensorFlow مجموعه ای از مجموعه های داده آماده برای استفاده با TensorFlow است. بسیاری از مجموعه داده ها (به عنوان مثال، MNIST ، Fashion-MNIST ، و TF Flowers ) می توانند برای توسعه و آزمایش الگوریتم های بینایی رایانه استفاده شوند.
از کجا شروع کنیم
منابع زیر به شما کمک می کند تا با ابزارهای TensorFlow و Keras CV راه اندازی کنید.
- KerasCV : اسناد و منابع برای KerasCV.
- راهنماهای توسعهدهنده KerasCV : راهنمای انجام وظایف رایج CV با استفاده از KerasCV. اگر با KerasCV تازه کار هستید، Classification with KerasCV مکان خوبی برای شروع است.
آموزش TensorFlow : مستندات اصلی TensorFlow (این راهنما) شامل تعدادی CV و آموزش پردازش تصویر است.
- طبقه بندی اولیه: طبقه بندی تصاویر لباس : یک مدل شبکه عصبی را برای طبقه بندی تصاویر لباس ها، مانند کفش های کتانی و پیراهن آموزش دهید.
بارگیری و پیش پردازش تصاویر : یک مجموعه داده تصویر را به سه روش بارگیری و پیش پردازش کنید:
- از ابزارهای پیش پردازش Keras سطح بالا برای خواندن فهرستی از تصاویر روی دیسک استفاده کنید.
- خط لوله ورودی خود را از ابتدا با استفاده از
tf.data
بنویسید. - یک مجموعه داده را از کاتالوگ بزرگ موجود در TensorFlow Datasets دانلود کنید.
بارگذاری دادههای ویدئویی : دادههای ویدئویی AVI را با استفاده از مجموعه دادههای اقدام انسانی UCF101 بارگیری و پیش پردازش کنید.
شبکه عصبی کانولوشن (CNN) : یک شبکه عصبی کانولوشنال ساده (CNN) را برای طبقه بندی تصاویر CIFAR با استفاده از Keras API آموزش دهید.
طبقه بندی تصویر : دسته بندی تصاویر گل ها با استفاده از
tf.keras.Sequential
مدل ترتیبی و بارگذاری داده ها با استفاده ازtf.keras.utils.image_dataset_from_directory
.آموزش انتقال و تنظیم دقیق : با استفاده از آموزش انتقال از یک شبکه از پیش آموزش دیده، تصاویر گربه ها و سگ ها را طبقه بندی کنید.
افزایش داده ها : با اعمال تغییرات تصادفی (اما واقعی) مانند چرخش تصویر، تنوع مجموعه آموزشی خود را افزایش دهید.
تقسیمبندی تصویر : تقسیمبندی تصویر را با استفاده از U-Net اصلاحشده انجام دهید.
طبقه بندی ویدیو با شبکه عصبی کانولوشن سه بعدی : یک شبکه عصبی کانولوشنال سه بعدی (CNN) را برای طبقه بندی ویدیو با استفاده از مجموعه داده شناسایی کنش UCF101 آموزش دهید.
انتقال یادگیری برای طبقهبندی ویدیو با MoViNet : از یک مدل از پیش آموزشدیدهشده MoViNet و مجموعه داده UCF101 برای طبقهبندی ویدیوها برای یک کار تشخیص اقدام استفاده کنید.