একটি প্রশ্ন আছে? টেনসরফ্লো ফোরাম ভিজিট ফোরামের সম্প্রদায়ের সাথে সংযুক্ত হন

অবজেক্ট সনাক্তকরণ

কোনও চিত্র বা একটি ভিডিও স্ট্রিম দেওয়া, কোনও অবজেক্ট সনাক্তকরণ মডেল সনাক্ত করতে পারে যে পরিচিত বস্তুর কোন সেট উপস্থিত থাকতে পারে এবং চিত্রের মধ্যে তাদের অবস্থান সম্পর্কে তথ্য সরবরাহ করতে পারে।

উদাহরণস্বরূপ, উদাহরণস্বরূপ অ্যাপ্লিকেশনটির এই স্ক্রিনশটটি দেখায় যে কীভাবে দুটি বস্তু স্বীকৃত হয়েছে এবং তাদের অবস্থানগুলি টিকা দেওয়া হয়েছে:

অ্যান্ড্রয়েড উদাহরণের স্ক্রিনশট

এবার শুরু করা যাক

কোনও মোবাইল অ্যাপ্লিকেশনটিতে কীভাবে অবজেক্ট সনাক্তকরণ ব্যবহার করা যায় তা শিখতে উদাহরণ অ্যাপ্লিকেশন এবং গাইডগুলি সন্ধান করুন

আপনি যদি অ্যান্ড্রয়েড বা আইওএস ছাড়া অন্য কোনও প্ল্যাটফর্ম ব্যবহার করছেন বা আপনি যদি টেনসরফ্লো লাইট এপিআইয়ের সাথে ইতিমধ্যে পরিচিত হন তবে আপনি আমাদের স্টার্টার অবজেক্ট সনাক্তকরণ মডেল এবং তার সাথে সংযুক্ত লেবেলগুলি ডাউনলোড করতে পারেন।

মেটাডেটা সহ স্টার্টার মডেলটি ডাউনলোড করুন

মেটাডেটা এবং সম্পর্কিত ক্ষেত্রগুলি সম্পর্কে আরও তথ্যের জন্য (যেমন: labels.txt ) দেখুন মডেলগুলি থেকে মেটাডেটা পড়ুন

আপনি যদি নিজের কাজের জন্য একটি কাস্টম সনাক্তকরণ মডেলকে প্রশিক্ষণ দিতে চান তবে দেখুন মডেল কাস্টমাইজেশন

নিম্নলিখিত ব্যবহারের ক্ষেত্রে, আপনার একটি পৃথক ধরণের মডেল ব্যবহার করা উচিত:

অ্যাপ্লিকেশন এবং গাইড উদাহরণ

আপনি যদি টেনসরফ্লো লাইটে নতুন হন এবং অ্যান্ড্রয়েড বা আইওএস নিয়ে কাজ করছেন তবে আমরা নীচের উদাহরণগুলির অ্যাপ্লিকেশনগুলি সন্ধান করার পরামর্শ দিচ্ছি যা আপনাকে শুরু করতে সহায়তা করতে পারে।

অ্যান্ড্রয়েড

আপনি কোডের কয়েকটি লাইনে অবজেক্ট সনাক্তকরণ মডেলগুলিকে একীভূত করতে টেনসরফ্লো লাইট টাস্ক লাইব্রেরি থেকে আউট-অফ-বক্স এপিআই লাভ করতে পারেন। টেনসরফ্লো লাইট ইন্টারপ্রেটার জাভা এপিআই ব্যবহার করে আপনি নিজের কাস্টম ইনফারেন্স পাইপলাইনও তৈরি করতে পারেন।

নীচের অ্যান্ড্রয়েড উদাহরণটি যথাক্রমে lib_task_api এবং lib_interpreter হিসাবে উভয় পদ্ধতির প্রয়োগ বাস্তবায়িত করে।

অ্যান্ড্রয়েড উদাহরণ দেখুন

আইওএস

আপনি টেনসরফ্লো লাইট ইন্টারপ্রেটার সুইফট এপিআই ব্যবহার করে মডেলকে সংহত করতে পারেন। নীচের আইওএস উদাহরণ দেখুন।

আইওএস উদাহরণ দেখুন

মডেল বর্ণনা

এই বিভাগটি টেনসরফ্লো অবজেক্ট ডিটেকশন এপিআই থেকে টেনসরফ্লো লাইটে রূপান্তরিত একক শট সনাক্তকারী মডেলগুলির স্বাক্ষরের বর্ণনা দেয়।

কোনও বস্তুর শনাক্তকরণ মডেলকে একাধিক শ্রেণীর অবজেক্টের উপস্থিতি এবং অবস্থান সনাক্ত করতে প্রশিক্ষণ দেওয়া হয়। উদাহরণস্বরূপ, কোনও মডেল এমন চিত্রগুলির সাথে প্রশিক্ষিত হতে পারে যার মধ্যে ফলের বিভিন্ন টুকরা থাকে, এমন একটি লেবেল যা তাদের প্রতিনিধিত্ব করে ফলের শ্রেণীর নির্দিষ্ট করে (যেমন একটি আপেল, একটি কলা, বা একটি স্ট্রবেরি), এবং প্রতিটি বস্তু কোথায় উপস্থিত তা নির্দিষ্ট করে ডেটা চিত্র।

পরবর্তীকালে কোনও চিত্র যখন মডেলটিতে সরবরাহ করা হয়, তখন এটি সনাক্ত করা অবজেক্টগুলির একটি তালিকা, প্রতিটি বস্তু সমেত একটি বাউন্ডিং বাক্সের অবস্থান এবং একটি স্কোর যা আটকানো সঠিক ছিল এমন আত্মবিশ্বাসকে নির্দেশ করে।

ইনপুট স্বাক্ষর

মডেলটি একটি চিত্রকে ইনপুট হিসাবে নেয়।

ধরে নেওয়া যাক প্রত্যাশিত চিত্রটি 300x300 পিক্সেল, প্রতি পিক্সেলটিতে তিনটি চ্যানেল (লাল, নীল এবং সবুজ) রয়েছে। এটি 270,000 বাইট মান (300x300x3) এর সমতল বাফার হিসাবে মডেলকে খাওয়ানো উচিত। যদি মডেলটি কোয়ান্টাইজড হয় তবে প্রতিটি মান 0 এবং 255 এর মধ্যে একটি মান উপস্থাপন করে একটি একক বাইট হওয়া উচিত।

অ্যান্ড্রয়েডে এই প্রাক প্রক্রিয়াজাতকরণটি কীভাবে করবেন তা বুঝতে আপনি আমাদেরউদাহরণ অ্যাপ্লিকেশন কোডটি একবার দেখে নিতে পারেন।

আউটপুট স্বাক্ষর

মডেলটি চারটি অ্যারে আউটপুট করে, সূচকগুলিতে 0-4-এ ম্যাপ করা হয়। অ্যারে 0, 1, এবং 2 প্রতিটি এনজেক্টের সাথে প্রতিটি বস্তুর সাথে সম্পর্কিত প্রতিটি অ্যারেতে একটি উপাদান সহ N সনাক্ত করা অবজেক্টগুলিকে বর্ণনা করে।

সূচক নাম বর্ণনা
0 অবস্থানগুলি [এন] [4] এর বহুমাত্রিক অ্যারে 0 এবং 1 এর মধ্যে ভাসমান পয়েন্টের মানগুলি, ফর্মের সীমানা বাক্সগুলিকে উপস্থাপন করে এমন অভ্যন্তরীণ অ্যারেগুলি [শীর্ষ, বাম, নীচে, ডান]
ক্লাস N পূর্ণসংখ্যার অ্যারে (ফ্লোটিং পয়েন্ট মান হিসাবে আউটপুট) প্রতিটি লেবেল ফাইল থেকে শ্রেণি লেবেলের সূচক নির্দেশ করে
স্কোর 0 এবং 1 এর মধ্যে এন ফ্লোটিং পয়েন্টের মানগুলির একটি শ্রেণি সনাক্ত হওয়ার সম্ভাবনাটি প্রতিনিধিত্ব করে
সনাক্তকরণের সংখ্যা N এর পূর্ণসংখ্যা মান

উদাহরণস্বরূপ, কল্পনা করুন কোনও মডেল আপেল, কলা এবং স্ট্রবেরি সনাক্ত করতে প্রশিক্ষণ পেয়েছে। যখন কোনও চিত্র সরবরাহ করা হয়, এটি সনাক্তকরণ ফলাফলের একটি সেট সংখ্যা আউটপুট দেয় - এই উদাহরণে, 5।

ক্লাস স্কোর অবস্থান
আপেল 0.92 [18, 21, 57, 63]
কলা 0.88 [100, 30, 180, 150]
স্ট্রবেরি 0.87 [,, 82, 89, 163]
কলা 0.23 [42, 66, 57, 83]
আপেল 0.11 [,, ৪২, ৩১, ৫৮]

আত্মবিশ্বাস স্কোর

এই ফলাফলগুলির ব্যাখ্যার জন্য, আমরা প্রতিটি সনাক্ত করা বস্তুর জন্য স্কোর এবং অবস্থানটি দেখতে পারি। স্কোরটি 0 এবং 1 এর মধ্যে এমন একটি সংখ্যা যা আত্মবিশ্বাসকে নির্দেশ করে যে অবজেক্টটি সত্যই সনাক্ত করা হয়েছিল। সংখ্যাটি যত কাছাকাছি হবে তত বেশি আত্মবিশ্বাসী মডেল।

আপনার প্রয়োগের উপর নির্ভর করে আপনি একটি কাট-অফ প্রান্তিকের নীচে সিদ্ধান্ত নিতে পারেন যার নীচে আপনি সনাক্তকরণের ফলাফলগুলি বাতিল করবেন। বর্তমান উদাহরণ হিসাবে, একটি বুদ্ধিমান কাট অফটি স্কোর হয় 0.5 (যার অর্থ একটি সনাক্তকরণটি বৈধ যে 50% সম্ভাবনা)। সেক্ষেত্রে অ্যারেতে শেষ দুটি বস্তু উপেক্ষা করা হবে কারণ এই আত্মবিশ্বাসের স্কোর 0.5 এর নীচে রয়েছে:

ক্লাস স্কোর অবস্থান
আপেল 0.92 [18, 21, 57, 63]
কলা 0.88 [100, 30, 180, 150]
স্ট্রবেরি 0.87 [,, 82, 89, 163]
কলা 0.23 [42, 66, 57, 83]
আপেল 0.11 [,, ৪২, ৩১, ৫৮]

আপনি যে কাট-অফটি ব্যবহার করছেন তা নির্ভর করে আপনি মিথ্যা ধনাত্মক (যে জিনিসগুলি ভুলভাবে চিহ্নিত করা হয়েছে, বা চিত্রের ক্ষেত্রগুলি যা ভুলরূপে বস্তু হিসাবে চিহ্নিত না হয়ে থাকে) বা মিথ্যা নেতিবাচক (সত্যিকারের বস্তু যা তাদের আত্মবিশ্বাস কম থাকায় মিস করলাম)।

উদাহরণস্বরূপ, নিম্নলিখিত চিত্রটিতে একটি নাশপাতি (যা কোনও বস্তু নয় যা মডেলটি সনাক্ত করার জন্য প্রশিক্ষিত হয়েছিল) "একজন ব্যক্তি" হিসাবে ভুল পরিচয় পেয়েছিল। এটি একটি মিথ্যা ইতিবাচক উদাহরণ যা উপযুক্ত কাট-অফ নির্বাচন করে উপেক্ষা করা যেতে পারে। এই ক্ষেত্রে, 0.6 (বা 60%) এর একটি কাট অফ আরাম করে মিথ্যা ধনাত্মককে বাদ দেবে।

অ্যান্ড্রয়েড উদাহরণের স্ক্রিনশট একটি মিথ্যা ইতিবাচক দেখাচ্ছে

অবস্থান

প্রতিটি সনাক্ত করা অবজেক্টের জন্য, মডেলটি চারটি সংখ্যার একটি অ্যারে প্রদান করবে যার অবস্থানটি ঘিরে একটি সীমানা আয়তক্ষেত্র উপস্থাপন করে। স্টার্টার মডেল সরবরাহের জন্য, নম্বরগুলি নিম্নলিখিতভাবে অর্ডার করা হয়:

[ শীর্ষ, বাম, নীচে, ঠিক ]

শীর্ষ মানটি চিত্রের শীর্ষ থেকে পিক্সেলগুলিতে আয়তক্ষেত্রের শীর্ষ প্রান্তের দূরত্ব উপস্থাপন করে। বাম মানটি ইনপুট চিত্রের বাম থেকে বাম প্রান্তের দূরত্ব উপস্থাপন করে। অন্যান্য মানগুলি নীচে এবং ডান প্রান্তগুলিকে একইভাবে উপস্থাপন করে।

পারফরম্যান্স মানদণ্ড

আমাদের স্টার্টার মডেলটির জন্য পারফরম্যান্স বেঞ্চমার্ক নম্বরগুলি এখানে বর্ণিত সরঞ্জামটির সাহায্যে তৈরি করা হয়েছে

ণশড মডেল আকার যন্ত্র জিপিইউ সিপিইউ
কোকো এসএসডি মোবাইলনেট ভি 1 27 এমবি পিক্সেল 3 (অ্যান্ড্রয়েড 10) 22 মিমি 46ms *
পিক্সেল 4 (অ্যান্ড্রয়েড 10) 20 মিমি 29 মিমি *
আইফোন এক্সএস (আইওএস 12.4.1) 7.6 মিমি 11 মিমি **

* 4 টি থ্রেড ব্যবহৃত হয়েছে।

** সেরা পারফরম্যান্স ফলাফলের জন্য আইফোনে 2 টি থ্রেড ব্যবহৃত হয়েছে।

মডেল কাস্টমাইজেশন

প্রাক প্রশিক্ষিত মডেল models

বিভিন্ন স্বল্পতা এবং নির্ভুলতার বৈশিষ্ট্যযুক্ত মোবাইল-অপ্টিমাইজড সনাক্তকরণ মডেলগুলি সনাক্তকরণ চিড়িয়াখানায় পাওয়া যাবে। তাদের প্রত্যেকটি নিম্নলিখিত বিভাগগুলিতে বর্ণিত ইনপুট এবং আউটপুট স্বাক্ষরগুলি অনুসরণ করে।

ডাউনলোড model.tflite বেশিরভাগটিতে একটি model.tflite ফাইল থাকে। যদি এটি না থাকে তবে এই নির্দেশাবলী ব্যবহার করে একটি টেনসরফ্লো লাইট ফ্ল্যাটবফার তৈরি করা যেতে পারে। টিএফ 2 অবজেক্ট ডিটেকশন চিড়িয়াখানা থেকে এসএসডি মডেলগুলিও এখানে নির্দেশাবলী ব্যবহার করে টেনসরফ্লো লাইটে রূপান্তরিত হতে পারে। এটি লক্ষ্য করা গুরুত্বপূর্ণ যে সনাক্তকরণ মডেলগুলি টেনসরফ্লো লাইট রূপান্তরকারীটি ব্যবহার করে সরাসরি রূপান্তর করা যায় না , কারণ তাদের মোবাইল-বান্ধব উত্সের মডেল তৈরির একটি মধ্যবর্তী পদক্ষেপের প্রয়োজন হয়। উপরে লিখিত স্ক্রিপ্টগুলি এই পদক্ষেপটি সম্পাদন করে।

উভয় TF1 & TF2 রপ্তানি স্ক্রিপ্ট প্যারামিটার আউটপুট বস্তু বা ধীর, আরো-সঠিক পোস্ট প্রসেসিং একটি বড় সংখ্যা সক্ষম পারেন। সমর্থিত আর্গুমেন্টগুলির একটি সম্পূর্ণ তালিকা দেখতে দয়া করে স্ক্রিপ্টগুলির সাথে --help ব্যবহার করুন।

বর্তমানে, ডিভাইস অনুমানটি কেবল এসএসডি মডেলগুলির সাথেই অনুকূলিত। অন্যান্য আর্কিটেকচারের মতো সেন্টারনেট এবং এফিসিডিটেটের জন্য আরও ভাল সমর্থন অনুসন্ধান করা হচ্ছে।

কীভাবে কাস্টমাইজ করতে একটি মডেল চয়ন করবেন?

প্রতিটি মডেল তার নিজস্ব যথার্থতা (এমএপি মান দ্বারা পরিমাণযুক্ত) এবং বিলম্বিত বৈশিষ্ট্য নিয়ে আসে। আপনার এমন মডেল চয়ন করা উচিত যা আপনার ব্যবহারের ক্ষেত্রে এবং লক্ষ্যযুক্ত হার্ডওয়ারের জন্য সবচেয়ে ভাল কাজ করে। উদাহরণস্বরূপ, এজ টিপিইউ মডেলগুলি পিক্সেল 4 এ গুগলের এজ টিপিইউতে অনুমানের জন্য আদর্শ।

মডেলগুলি মূল্যায়ন করতে এবং উপলব্ধ সবচেয়ে কার্যকর বিকল্পটি চয়ন করতে আপনি আমাদের বেঞ্চমার্ক সরঞ্জামটি ব্যবহার করতে পারেন।

কাস্টম ডেটাতে ফাইন-টিউনিং মডেল

আমরা সরবরাহিত প্রাক-প্রশিক্ষিত মডেলগুলি 90 টি শ্রেণীর অবজেক্ট সনাক্ত করতে প্রশিক্ষিত হয়। ক্লাসগুলির সম্পূর্ণ তালিকার জন্য, মডেল মেটাডেটাতে লেবেলগুলির ফাইলটি দেখুন।

মূল সেটটিতে নয় এমন ক্লাসগুলি সনাক্ত করতে কোনও মডেলকে পুনরায় প্রশিক্ষণের জন্য আপনি ট্রান্সফার লার্নিং নামে পরিচিত একটি প্রযুক্তি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, মূল প্রশিক্ষণের ডেটাতে কেবলমাত্র একটি উদ্ভিজ্জ থাকা সত্ত্বেও আপনি একাধিক প্রকারের সবজি সনাক্ত করতে মডেলটিকে পুনরায় প্রশিক্ষণ দিতে পারেন। এটি করার জন্য, আপনি প্রশিক্ষণ নিতে চান এমন প্রতিটি নতুন লেবেলের জন্য আপনার প্রশিক্ষণের চিত্রগুলির একটি সেট প্রয়োজন হবে। প্রস্তাবিত উপায় হ'ল টেনসরফ্লো লাইট মডেল মেকার লাইব্রেরি ব্যবহার করুন যা কয়েকটি লাইন কোডের সাথে কাস্টম ডেটাসেট ব্যবহার করে একটি টেনসরফ্লো লাইট মডেল প্রশিক্ষণের প্রক্রিয়াটিকে সহজতর করে। এটি প্রয়োজনীয় প্রশিক্ষণের ডেটা এবং সময়ের পরিমাণ হ্রাস করতে ট্রান্সফার লার্নিং ব্যবহার করে। প্রাক-প্রশিক্ষিত একটি মডেলকে কয়েকটি উদাহরণ সহ সূক্ষ্ম- সুরের উদাহরণ হিসাবে আপনি কয়েকটি শট সনাক্তকরণ কোলাব থেকেও শিখতে পারেন।

: বৃহত্তর ডেটাসেট সঙ্গে ফাইন টিউনিং জন্য, TensorFlow অবজেক্ট সনাক্তকরণ এপিআই সঙ্গে আপনার নিজের মডেল প্রশিক্ষণ জন্য এই নির্দেশিকা কটাক্ষপাত করা TF1 , TF2 । : একবার প্রশিক্ষিত, তারা এখানে নির্দেশাবলী সহ একটি TFLite বান্ধব ফর্ম্যাটে পরিবর্তিত করা যায় TF1 , TF2