টেনসরফ্লো অনেকগুলি কম্পিউটার ভিশন (সিভি) এবং ইমেজ ক্লাসিফিকেশন টুল সরবরাহ করে। এই দস্তাবেজটি এই সরঞ্জামগুলির কিছু পরিচয় দেয় এবং সাধারণ সিভি কাজগুলি শুরু করতে আপনাকে সহায়তা করার জন্য সংস্থানগুলির একটি ওভারভিউ প্রদান করে।
ভিশন লাইব্রেরি এবং টুলস
TensorFlow উচ্চ-স্তরের কেরাস লাইব্রেরি এবং নিম্ন-স্তরের tf.image
মডিউলের মাধ্যমে CV টুল সরবরাহ করে। বেশিরভাগ ব্যবহারের ক্ষেত্রে, কেরাস লাইব্রেরিগুলি অন্তর্নির্মিত টেনসরফ্লো বিকল্পগুলির চেয়ে আরও সুবিধাজনক হবে। কিন্তু কেরাস বিকল্পগুলি আপনার ব্যবহারের ক্ষেত্রে উপযুক্ত না হলে, অথবা আপনি ইমেজ প্রিপ্রসেসিংয়ের উপর নিম্ন-স্তরের নিয়ন্ত্রণ চান, আপনার নিম্ন-স্তরের টেনসরফ্লো টুলগুলির প্রয়োজন হতে পারে।
কেরাসসিভি
আপনি যদি সবেমাত্র একটি CV প্রকল্পের সাথে শুরু করছেন এবং আপনি নিশ্চিত না হন যে আপনার কোন লাইব্রেরি এবং সরঞ্জামগুলির প্রয়োজন হবে, KerasCV শুরু করার জন্য একটি ভাল জায়গা। KerasCV কেরাস কোরে নির্মিত মডুলার সিভি উপাদানগুলির একটি লাইব্রেরি। KerasCV-এর মধ্যে রয়েছে মডেল, স্তর, মেট্রিক্স, কলব্যাক এবং অন্যান্য টুল যা CV কাজের জন্য উচ্চ-স্তরের Keras API প্রসারিত করে। KerasCV APIগুলি ডেটা বৃদ্ধি, শ্রেণীবিভাগ, অবজেক্ট সনাক্তকরণ, বিভাজন, চিত্র তৈরি এবং অন্যান্য সাধারণ সিভি ওয়ার্কফ্লোতে সহায়তা করতে পারে। আপনি দ্রুত উত্পাদন-গ্রেড, অত্যাধুনিক প্রশিক্ষণ এবং অনুমান পাইপলাইন একত্রিত করতে KerasCV ব্যবহার করতে পারেন।
কেরাস ইউটিলিটিস
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-এর সাথে ব্যবহারের জন্য প্রস্তুত ডেটাসেটের একটি সংগ্রহ। অনেক ডেটাসেট (উদাহরণস্বরূপ, MNIST , Fashion-MNIST , এবং TF Flowers ) কম্পিউটার ভিশন অ্যালগরিদম বিকাশ এবং পরীক্ষা করতে ব্যবহার করা যেতে পারে।
কোথা থেকে শুরু
নিম্নলিখিত সংস্থানগুলি আপনাকে টেনসরফ্লো এবং কেরাস সিভি টুলগুলির সাহায্যে উঠতে এবং দৌড়াতে সাহায্য করবে৷
- কেরাসসিভি : কেরাসসিভির জন্য ডকুমেন্টেশন এবং সংস্থান।
- কেরাসসিভি ডেভেলপার গাইড : কেরাসসিভি ব্যবহার করে সাধারণ সিভি কাজ সম্পাদনের জন্য গাইড। আপনি যদি KerasCV-এ নতুন হন, KerasCV-এর সাথে শ্রেণীবিভাগ শুরু করার জন্য একটি ভাল জায়গা।
টেনসরফ্লো টিউটোরিয়াল : মূল টেনসরফ্লো ডকুমেন্টেশনে (এই গাইড) অনেকগুলি সিভি এবং ইমেজ প্রসেসিং টিউটোরিয়াল রয়েছে।
- মৌলিক শ্রেণীবিভাগ: পোশাকের ছবি শ্রেণীবদ্ধ করুন : স্নিকার এবং শার্টের মতো পোশাকের ছবি শ্রেণীবদ্ধ করতে একটি নিউরাল নেটওয়ার্ক মডেলকে প্রশিক্ষণ দিন।
ছবি লোড এবং প্রিপ্রসেস করুন : তিনটি উপায়ে একটি ইমেজ ডেটাসেট লোড এবং প্রিপ্রসেস করুন:
- ডিস্কে চিত্রগুলির একটি ডিরেক্টরি পড়তে উচ্চ-স্তরের কেরাস প্রিপ্রসেসিং ইউটিলিটিগুলি ব্যবহার করুন।
-
tf.data
ব্যবহার করে স্ক্র্যাচ থেকে আপনার নিজের ইনপুট পাইপলাইন লিখুন। - টেনসরফ্লো ডেটাসেটে উপলব্ধ বড় ক্যাটালগ থেকে একটি ডেটাসেট ডাউনলোড করুন।
ভিডিও ডেটা লোড করুন : UCF101 হিউম্যান অ্যাকশন ডেটাসেট ব্যবহার করে AVI ভিডিও ডেটা লোড এবং প্রিপ্রসেস করুন।
কনভোলিউশনাল নিউরাল নেটওয়ার্ক (সিএনএন) : কেরাস এপিআই ব্যবহার করে সিআইএফএআর ইমেজগুলিকে শ্রেণীবদ্ধ করতে একটি সাধারণ কনভোল্যুশনাল নিউরাল নেটওয়ার্ক (সিএনএন) প্রশিক্ষণ দিন।
ছবির শ্রেণীবিভাগ :
tf.keras.Sequential
মডেল ব্যবহার করে ফুলের ছবি শ্রেণীবদ্ধ করুন এবংtf.keras.utils.image_dataset_from_directory
ব্যবহার করে ডেটা লোড করুন।ট্রান্সফার লার্নিং এবং ফাইন-টিউনিং : একটি প্রাক-প্রশিক্ষিত নেটওয়ার্ক থেকে ট্রান্সফার লার্নিং ব্যবহার করে বিড়াল এবং কুকুরের ছবি শ্রেণীবদ্ধ করুন।
ডেটা অগমেন্টেশন : এলোমেলো (কিন্তু বাস্তবসম্মত) রূপান্তর, যেমন ইমেজ রোটেশন প্রয়োগ করে আপনার প্রশিক্ষণ সেটের বৈচিত্র্য বাড়ান।
ইমেজ সেগমেন্টেশন : একটি পরিবর্তিত U-নেট ব্যবহার করে ইমেজ সেগমেন্টেশন সম্পাদন করুন।
একটি 3D কনভোলিউশনাল নিউরাল নেটওয়ার্ক সহ ভিডিও শ্রেণীবিভাগ : UCF101 অ্যাকশন রিকগনিশন ডেটাসেট ব্যবহার করে ভিডিও শ্রেণীবিভাগের জন্য একটি 3D কনভোলিউশনাল নিউরাল নেটওয়ার্ক (CNN) প্রশিক্ষণ দিন।
MoViNet এর সাথে ভিডিও শ্রেণীবিভাগের জন্য শিক্ষা স্থানান্তর করুন : একটি অ্যাকশন শনাক্তকরণ কাজের জন্য ভিডিও শ্রেণীবদ্ধ করতে একটি প্রাক-প্রশিক্ষিত MoViNet মডেল এবং UCF101 ডেটাসেট ব্যবহার করুন।