গভীর শিক্ষার সাহায্যে সহজেই নিরীক্ষণ স্বয়ংক্রিয় করুন

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

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

জীবন যদি খুব সহজ হত না তবে এমন কিছু যদি আমাদের জন্য "দেখার এবং অপেক্ষা" করতে পারে? তুমি ভাগ্যবান. বিগত কয়েক বছরে প্রযুক্তিতে অগ্রগতির সাথে আমরা উপরের কাজগুলি স্বয়ংক্রিয় করতে কিছু স্ক্রিপ্ট লিখতে সক্ষম হয়েছি - এবং খুব সহজেই। আমরা আরও গভীর ডুব দেওয়ার আগে, আসুন নিজেকে জিজ্ঞাসা করুন:

যন্ত্রগুলি কি মানুষের মতো ভাল?

গভীর শিক্ষার সাথে পরিচিত যে কেউ জানতে পারবেন যে চিত্র শ্রেণিবদ্ধরা মানব-স্তরের নির্ভুলতার চেয়ে বেশি পারফরম্যান্স করেছে।

মানুষের জন্য সময়ের সাথে ইমেজনেট ডেটাসেটে ত্রুটির হার, traditionalতিহ্যবাহী কম্পিউটার ভিশন (সিভি) এবং গভীর শিক্ষণ। (চিত্র উত্স: লিঙ্ক)

হ্যাঁ, একটি মেশিন মানুষের তুলনায় একই মানের (বা আরও ভাল) অবজেক্টগুলি অনুসন্ধান করতে পারে। সুতরাং নজরদারি করার জন্য প্রযুক্তির ব্যবহার অনেক বেশি দক্ষ।

  • পর্যবেক্ষণ একটি পুনরাবৃত্তি এবং দৈনন্দিন কাজ। এটি আমাদের মানুষের জন্য কর্মক্ষমতা হ্রাস করতে পারে। প্রযুক্তির নজরদারি দিয়ে, যখন জিনিসগুলি ভুল হয়ে যায় তখন আমরা পদক্ষেপ নেওয়ার দিকে মনোনিবেশ করতে পারি।
  • বিশাল জমিটির জরিপ করতে আপনার প্রচুর কর্মচারী প্রয়োজন। স্টেশনারি ক্যামেরাগুলিরও দেখার সীমিত ক্ষেত্র রয়েছে। মোবাইল নজরদারি বট (যেমন মাইক্রো-ড্রোন) এই সমস্যাগুলি হ্রাস করতে পারে।

তদতিরিক্ত, একই প্রযুক্তি বিভিন্ন সুরক্ষা অ্যাপ্লিকেশন যেমন: বি শিশুর মনিটর বা স্বয়ংক্রিয় পণ্য সরবরাহ।

যথেষ্ট ফর্সা। কিন্তু আমরা কীভাবে এটি স্বয়ংক্রিয় করব?

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

আপনি যেমন অনুমান করতে পারেন, এটি স্থানীয়করণের সাথে অবজেক্টের স্বীকৃতিটির সারমর্ম। এটি শ্রেণিবদ্ধকরণ থেকে কিছুটা আলাদা যে আমাদের অবজেক্টের সঠিক অবস্থানটি জানতে হবে। উপরন্তু, আমরা একটি একক ইমেজ একাধিক অবজেক্ট থাকতে পারে।

সঠিক অবস্থানটি সন্ধান করতে, শ্রেণীর অস্তিত্ব নির্ধারণ করার জন্য আমাদের অ্যালগরিদমের চিত্রটির প্রতিটি অংশ পরীক্ষা করা উচিত। এটির চেয়ে বেশি শক্ত। ২০১৪ সাল থেকে, গভীর শিক্ষায় অবিচ্ছিন্ন পুনরাবৃত্তি গবেষণা অত্যাধুনিক নিউরাল নেটওয়ার্কগুলি চালু করেছে যা রিয়েল টাইমে অবজেক্টগুলিকে চিনতে পারে।

মাত্র 2 বছরে পারফরম্যান্স কিভাবে উন্নতি হয়েছে দেখুন!

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

গতি এবং নির্ভুলতার মধ্যে আপস করুন। একটি উচ্চতর এমএপি এবং একটি কম জিপিইউ সময় অনুকূল।

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

কোনও অবজেক্ট সনাক্তকরণ অ্যালগরিদম নির্বাচন করার সময় গতি এবং যথার্থতা এবং আকারের মধ্যে সর্বদা একটি বাণিজ্য থাকে off

এই ব্লগ পোস্টে, আপনি কীভাবে একটি সহজ তবে কার্যকর কার্যকর নজরদারি সিস্টেম তৈরি করতে অবজেক্ট সনাক্তকরণ ব্যবহার করবেন তা শিখবেন। প্রথমে মনিটরিং টাস্কটির প্রকৃতির কারণে আমরা যে সীমাবদ্ধতার দ্বারা আবদ্ধ তা নিয়ে আলোচনা করি।

পর্যবেক্ষণে গভীর শিক্ষার সীমাবদ্ধতা

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

1. ভিডিও ফিড

স্পষ্টতই, বৃহত্তর অঞ্চলে নজর রাখার জন্য একাধিক ক্যামেরার প্রয়োজন হতে পারে। এছাড়াও, এই ক্যামেরাগুলিকে কোথাও এই ডেটা সংরক্ষণ করতে হবে। হয় স্থানীয়ভাবে বা কোনও প্রত্যন্ত স্থানে।

সাধারণ নজরদারি ক্যামেরা। (আনসপ্ল্যাশ-এ স্কট ওয়েবের ছবি)

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

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

2. কম্পিউটিং শক্তি

এখন আমরা ইনপুট সীমাবদ্ধতার সমাধান করেছি, আমরা আরও বড় প্রশ্নের উত্তর দিতে পারি answer ক্যামেরা উত্স থেকে প্রাপ্ত ডেটা আমরা কোথায় প্রক্রিয়া করব? এটি করার জন্য দুটি পদ্ধতি রয়েছে।

  • কেন্দ্রীয় সার্ভারে প্রক্রিয়াজাতকরণ:

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

স্মৃতি ব্যবহার বনাম। অনুমান জিপিইউ সময় (মিলিসেকেন্ড)। বেশিরভাগ উচ্চ-সম্পাদনকারী মডেলগুলি প্রচুর স্মৃতি ব্যবহার করে। (উৎস)
  • প্রান্তে প্রক্রিয়াজাতকরণ:

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

বিভিন্ন অবজেক্ট ডিটেক্টরগুলির এফপিএস ক্ষমতা। (উৎস)

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

একটি তদারকি ব্যবস্থা প্রশিক্ষণ

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

পুরো প্রক্রিয়াটি তিনটি পর্যায়ে সংক্ষিপ্ত করা যেতে পারে:

  1. তথ্য প্রস্তুতি
  2. মডেল প্রশিক্ষণ
  3. অনুমান
কোনও বস্তুর স্বীকৃতি মডেলকে প্রশিক্ষণের জন্য কর্মপ্রবাহ।

আপনি যদি ফলাফলগুলি আরও চেষ্টা করার জন্য অনুপ্রাণিত করতে চান, তবে আপনি নীচে ৩ য় পর্যায়ে স্ক্রোল করতে পারেন!

প্রথম পর্যায়: ডেটা প্রস্তুতি

পদক্ষেপ 1: ডেটা সেট অনুরোধ

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

আমাদের ডেটাসেট থেকে টীকাযুক্ত চিত্রের উদাহরণ।

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

আমরা আমাদের অবজেক্টের স্বীকৃতি কার্যের জন্য টাউনসেন্টার ডেটাসেট ব্যবহার করব। আমরা প্রশিক্ষণের জন্য এবং বৈধতার জন্য ভিডিওটির প্রথম 3600 ফ্রেম এবং পরীক্ষার জন্য বাকি 900 ব্যবহার করব। ডেটাসেট উত্তোলনের জন্য আপনি আমার গিটহাব রেপোতে স্ক্রিপ্টগুলি ব্যবহার করতে পারেন।

পদক্ষেপ 2: ডেটা সেটে মন্তব্য করুন

টীকাগুলি করতে আপনি LabelImg এর মতো একটি সরঞ্জাম ব্যবহার করতে পারেন। এটি একটি ক্লান্তিকর তবে গুরুত্বপূর্ণ কাজ। টীকাগুলি এক্সএমএল ফাইল হিসাবে সংরক্ষণ করা হয়।

ধন্যবাদ, টাউনসেন্টার রেকর্ডের মালিকরা সিএসভি ফর্ম্যাটে টিকা প্রদান করেছেন। আপনি চাইলে এক্সএমএল ফর্ম্যাটে টীকাগুলি রূপান্তর করতে আমি একটি দ্রুত স্ক্রিপ্ট লিখেছিলাম, যা আপনি আমার গিটহাব সংগ্রহস্থলে খুঁজে পেতে পারেন।

পদক্ষেপ 3: সংগ্রহস্থলটি ক্লোন করুন

সংগ্রহস্থলটি ক্লোন করুন। প্রয়োজনীয়তাগুলি ইনস্টল করতে, কয়েকটি প্রোটোবুফ লাইব্রেরি সংকলন এবং পাথ ভেরিয়েবলগুলি সেট করতে নিম্নলিখিত কমান্ডগুলি চালান

পাইপ ইনস্টল করুন -আর প্রয়োজনীয়তা। টেক্সট সুডো প্রোটোবুফ সংকলক প্রোটোক অবজেক্ট_ডিটেকশন / প্রোটোজ / * ইনস্টল করুন। প্রোটো - পাইথন_আউট =। পাইথনপাথ = $ পাইথনপাথ: `পিডব্লিউডি:` পিডব্লিউ / স্লিম রফতানি করুন

পদক্ষেপ 4: সমর্থন প্রবেশদ্বার প্রস্তুত

আমাদের লক্ষ্যে একটি আইডি নির্ধারণ করা দরকার। আমরা নীচে লেবেল_ম্যাপ.পিবিটিএক্সটি ফাইল আইডি সংজ্ঞায়িত করি

আইটেম আইডি: 1 নাম: লক্ষ্য}

এর পরে, আপনাকে এক্সএমএল এবং চিত্রের ফাইলগুলির নাম সহ একটি পাঠ্য ফাইল তৈরি করতে হবে। উদাহরণস্বরূপ, আপনার যদি আপনার ডেটাসেটে img1.jpg, img2.jpg এবং img1.xML, img2.xML থাকে তবে আপনার ট্রেনওয়াল. টেক্সট ফাইলটি দেখতে দেখতে এটি দেখতে পাওয়া উচিত:

img1 img2

আপনার ডেটাসেটটি দুটি ফোল্ডার, চিত্র এবং নোটগুলিতে বিভক্ত করুন। আপনার নোট ফোল্ডারে লেবেল_ম্যাপ.পিবিটিএসটি এবং ট্রেনওয়াল.টিএসটি ফাইল রাখুন। "টীকাগুলি" ফোল্ডারে "xmls" নামে একটি ফোল্ডার তৈরি করুন এবং এতে আপনার সমস্ত এক্সএমএল ফাইল রাখুন। আপনার ডিরেক্টরি হায়ারার্কির মতো দেখতে কিছু হওয়া উচিত:

-বেস_ডাইরেক্টরি | ছবি | -নোটস || -xmls || -label_map.pbtxt || -trainval.txt

পদক্ষেপ 5: টিএফ রেকর্ড তৈরি করুন

এপিআই টিএফআরকর্ডস ফাইল ফর্ম্যাটে ইনপুট গ্রহণ করে। আপনার ডেটাসেট টিএফআরকর্ডসে রূপান্তর করতে আমার রেপোতে create_tf_record.py ফাইলটি ব্যবহার করুন। আপনার নিজের ডিরেক্টরি ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডটি চালানো উচিত:

পাইথন create_tf_record.py \ --data_dir = `pwdw \ - আউটপুট_ডির =` pwd`

প্রোগ্রামটি চলমান শেষ হওয়ার পরে আপনি দুটি ফাইল, ট্রেন.রেকার্ড এবং ভাল.রেকার্ড পাবেন।

দ্বিতীয় ধাপ: মডেল প্রশিক্ষণ

পদক্ষেপ 1: মডেল নির্বাচন

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

এমএস কোকো ডেটাসেটে প্রাক-প্রশিক্ষিত বেশ কয়েকটি মডেল

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

পদক্ষেপ 2: প্রশিক্ষণ পেশা নির্ধারণ করুন

আপনাকে পাইপলাইন.কনফিগ ফাইলটিতে "প্রশিক্ষণ কাজ" সংজ্ঞায়িত করতে হবে। বেস ডিরেক্টরিতে ফাইলটি রাখুন। প্রকৃতপক্ষে গুরুত্বপূর্ণ বিষয়গুলি হ'ল ফাইলের শেষ লাইনগুলি - আপনার নিজের ফাইল অবস্থানের জন্য আপনাকে কেবল হাইলাইট করা মানগুলি সেট করতে হবে।

gradient_clipping_by_norm: 10.0 fine_tune_checkpoint: "model.ckpt" from_detection_checkpoint: সত্য NUM_STEPS টি: 200000} train_input_reader {label_map_path: "টীকা / label_map.pbtxt" tf_record_input_reader {ইনপুট পথ: "10_valaver_reader: false_000_use: {ইনপুট পথ:" 10_valever_configing: "10_recamples}:" 10_recamples}: "10_valever_configing:" 10_val_config_000: false_000_e: {ইনপুট পথ: "10_valever_config: 8 } ইভাল_পিন্ড_প্রেডার {লেবেল_ম্যাপ_পথ: "টীকাগুলি / লেবেল_ম্যাপ.পিবিটিএক্স" মিশ্রণ: ভুল নাম_পচ: 1 নাম_আপনার: 1 টিফ_রেখার্ড_পুট_পোষক {ইনপুট_পথ: "ভাল.আরকর্ড"}}

পদক্ষেপ 3: অনুশীলন শুরু করুন

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

পাইথন অবজেক্ট_ডিটেকশন / ট্রেন.পি \ --logtostderr \ - পাইপলাইন_কনফিগ_পথ = পাইপলাইনকনফিগ \ - ট্রেন_ডির = ট্রেন

পর্যায় 3: অনুমান

পদক্ষেপ 1: প্রশিক্ষিত মডেলটি রফতানি করুন

আপনি মডেলটি ব্যবহারের আগে আপনাকে প্রশিক্ষিত চেকপয়েন্ট ফাইলগুলি হিমায়িত ইনফারেন্স গ্রাফে রফতানি করতে হবে। এটি আমি যা বলেছিলাম তার চেয়ে সহজতর - কেবলমাত্র নিম্নলিখিত কোডটি চালান (চেকপয়েন্ট নম্বর দিয়ে "xxxxx" প্রতিস্থাপন করুন):

পাইথন অবজেক্ট_ডিটেকশন / এক্সপোর্ট_ইনফারেন্স_সিগ্রিপি \ - ইনপুট_টাইপ = ইমেজ_টেনসর \ - পাইপলাইন_কিন্ফিগ_পথ = পাইপলাইন.কনফিগ \ --ট্রেইন_চেকপয়েন্ট_প্রিফিক্স = ট্রেন / মডেল.প্যাক্ট-এক্সএক্সএক্সএক্সএক্স \ --আউটপুট_ডাইরেক্টরি = আউটপুট

আপনি ফ্রোজেন_ইনফারেন্স_গ্রাফ.পিবি নামে একটি ফাইল এবং বেশ কয়েকটি চেকপয়েন্ট ফাইল পাবেন।

পদক্ষেপ 2: এটি একটি ভিডিও স্ট্রিমে ব্যবহার করুন

আমাদের ভিডিও উত্স থেকে আমাদের পৃথক ফ্রেমগুলি বের করতে হবে। এটি করার জন্য, ওপেনসিভি ভিডিওক্যাপচার পদ্ধতিটি নিম্নলিখিতভাবে ব্যবহার করুন:

ক্যাপ = সিভি 2.ভিডিও ক্যাপচার () পতাকা = সত্য
যখন (পতাকা): পতাকা, ফ্রেম = ক্যাপ.ড্রেড () ## - অবজেক্টের স্বীকৃতি কোড -

পর্ব 1 এ ব্যবহৃত ডেটা এক্সট্রাকশন কোড স্বয়ংক্রিয়ভাবে আমাদের টেস্ট সেট চিত্রগুলি সহ "test_images" নামে একটি ফোল্ডার তৈরি করে। আমরা নিম্নলিখিতটি করে পরীক্ষার সেটটিতে আমাদের মডেলটি চালাতে পারি:

পাইথন অবজেক্ট_ডিটেকশন / ইনফেরেন্স.পি \ - ইনপুট_ডির = {পথ} \ - আউটপুট_ডির = {পাঠ} \ --লাবেল_ম্যাপ = AT পাঠ} \ --ফ্রোজেন_গ্রাফিক = {প্যাট} n --নম_আউটপুট_ক্লাস = 1 \ - কাজের \ - বিলম্ব = 0

পরীক্ষা-নিরীক্ষা

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

কনফিগারেশন

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

  • রেসনেট 50 এর সাথে আরও দ্রুত আরসিএনএন
  • মোবাইলনেট ভি 1 সহ এসএসডি
  • ইনসেপশন নেট 2 সহ এসএসডি

সমস্ত মডেলগুলিকে গুগল কোলাবে 10,000 টি পদক্ষেপের জন্য প্রশিক্ষণ দেওয়া হয়েছিল (বা তাদের ক্ষয় স্যাচুরেট হওয়া পর্যন্ত)। উপসংহারে, একটি AWS p2.8xlarge উদাহরণ ব্যবহার করা হয়েছিল। মডেল দ্বারা আচ্ছাদিত লোকের সংখ্যা এবং মৌলিক সত্যের তুলনা করে গণনার যথার্থতা পরিমাপ করা হয়েছিল। প্রতি সেকেন্ডে ফ্রেমে ইনফারেন্স স্পিড (এফপিএস) নিম্নলিখিত শর্তে পরীক্ষা করা হয়েছিল:

  • একক জিপিইউ
  • সমান্তরালে দুটি জিপিইউ
  • একই সাথে চারটি জিপিইউ
  • একই সাথে আটটি জিপিইউ

ফলাফল

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

প্রশিক্ষণের সময়

নীচের চিত্রটি প্রতিটি মডেলকে 10,000 টি পদক্ষেপ (কয়েক ঘণ্টার মধ্যে) প্রশিক্ষণ নিতে সময় দেয় তা দেখায়। এটি হাইপারপ্যারামিটারগুলি অনুসন্ধান করতে যে সময় নেয় তা সরিয়ে দেয়।

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

গতি (ফ্রেম প্রতি সেকেন্ড)

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

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

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

আপনার ভিডিও প্রসেসিং সিস্টেমের গতি গতি তার চেয়ে দ্রুততর হতে পারে না যে গতিতে চিত্রগুলিকে সিস্টেমে খাওয়ানো হচ্ছে।

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

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

নির্ভুল গণনা

আমরা গণনা নির্ভুলতা আমাদের শতাংশ হিসাবে সঠিকভাবে স্বীকৃত লোকদের শতাংশ হিসাবে সংজ্ঞায়িত করি। আমি এটি পর্যবেক্ষণের ক্ষেত্রে আরও উপযুক্ত বলে মনে করেছি। আমাদের প্রতিটি মডেল এভাবে কাজ করেছিল:

অবশ্যই, দ্রুত আরসিএনএন হ'ল সবচেয়ে নির্ভুল মডেল। আশ্চর্যের বিষয়, মোবাইল নেটও ইনসেপশন নেট এর চেয়ে ভাল করে।

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

অনেক পদক্ষেপ ছিল!

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

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

আমি আমার বিদ্যমান এক্সএমএল টীকাগুলি JSON ফর্ম্যাটে রূপান্তর করে ন্যানোনেটস এপিআইতে দিয়েছি। আপনি যদি নিজের ডেটাসেটটি ম্যানুয়ালি টিকা দিতে চান না, আপনি তাদের কাছে এটি আপনার জন্য এ্যানোটেট করতে বলতে পারেন। ন্যানোনেটস ভারী উত্তোলনের যত্ন নেওয়ার সময় হ্রাস করা ওয়ার্কফ্লো এখানে।

ন্যানোনেটস সহ ওয়ার্কফ্লো হ্রাস

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

বস্তুর স্বীকৃতির জন্য Nanonets এপিআই দিয়ে শুরু করা বেশ সহজ। আপনি এই ব্লগ পোস্টে বিস্তারিত নির্দেশাবলী পেতে পারেন।

Nanonets সঙ্গে ফলাফল

প্রশিক্ষণ প্রক্রিয়া শেষ করতে ন্যানোনেটসকে প্রায় 2 ঘন্টা সময় লেগেছে। এর মধ্যে হাইপারপ্যারামিটারগুলি অনুসন্ধান করার জন্য প্রয়োজনীয় সময় অন্তর্ভুক্ত রয়েছে। প্রশিক্ষণের জন্য প্রয়োজনীয় সময়ের নিরিখে ন্যানোনেটসই স্পষ্ট বিজয়ী। নির্ভুলতার গণনার জন্য ন্যানোনেটসও ফেস্টারআরসিএনএনকে পরাস্ত করেছিল।

দ্রুত আরসিএনএন গণনা নির্ভুলতা = 88.77% ন্যানো নেটওয়ার্ক গণনা নির্ভুলতা = 89.66%

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

অটোমেটেড মনিটরিং কি দায়বদ্ধ?

গভীর শেখা একটি আশ্চর্যজনক সরঞ্জাম যা সহজেই অনুকরণীয় ফলাফল দেয়। তবে, আমরা কীভাবে আমাদের নজরদারি সিস্টেমকে তার নিজের উপর কাজ করতে বিশ্বাস করতে পারি? কিছু ক্ষেত্রে রয়েছে যেখানে অটোমেশন প্রশ্নবিদ্ধ।

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

1. সন্দেহজনক সিদ্ধান্ত

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

2. শত্রু আক্রমণ

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

3. মিথ্যা ইতিবাচক

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

৪. অনুরূপ মুখ

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

5. ডেটা সেটগুলির অপর্যাপ্ত বৈচিত্র্য

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

ন্যানোনেটস সম্পর্কে: ন্যানোনেটগুলি বিকাশকারীদের জন্য গভীরতর শেখার সহজ করার জন্য এপিআই তৈরি করে। আরও জানতে আমাদের https://www.nanonets.com এ দেখুন)