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


বস্তুর সনাক্তকরণ করার আরেকটি উপায় হল এই দুটি কাজগুলিকে এক নেটওয়ার্কে সংযুক্ত করা। আমরা নেটওয়ার্ক উত্পাদনের প্রস্তাবগুলি পরিবর্তে এটি করতে পারি, তার পরিবর্তে বস্তুর সন্ধান করতে আমরা পূর্বনির্ধারিত বাক্সগুলির একটি সেট আছে।
নেটওয়ার্কে পরবর্তী স্তরের ক্রভোলিউশনাল বৈশিষ্ট্য মানচিত্রগুলি ব্যবহার করে আমরা এই বৈশিষ্ট্যগুলির মানচিত্রগুলির উপর ছোট কনভ ফিল্টারগুলি চালাতে পারি যা বর্গ স্কোর এবং বদ্ধিং বাক্স অফসেটের পূর্বাভাস দেয়।
Localizing with Convolution neural networks
অবজেক্টের স্থানীয়করণের জন্য শ্রেণীবদ্ধকরণের সময় ইতিমধ্যে তৈরি করা গণনাটি পুনঃব্যবহারের একটি উপায় হল চূড়ান্ত রূপান্তর স্তর থেকে অ্যাক্টিভেশনগুলি গ্রহণ করা। এই সময়ে আমরা এখনও স্থানীয় তথ্য আছে কিন্তু একটি ছোট সংস্করণ প্রতিনিধিত্ব। উদাহরণস্বরূপ, একটি প্রারম্ভিক মডেলের মধ্যে পাস করা আকারের 640x480x3 এর একটি ইনপুট চিত্রটি এটির স্থানিক তথ্যটির চূড়ান্ত স্তরগুলিতে একটি 13x18x2048 আকারে সংকুচিত হবে।


কী ঘটবে তা হল চূড়ান্ত স্তরগুলিতে প্রতিটি "পিক্সেল" ইনপুট চিত্রের একটি বৃহত্তর এলাকা প্রতিনিধিত্ব করে যাতে আমরা বস্তুর অবস্থানকে নির্ণয় করতে সেগুলি ব্যবহার করতে পারি। মনোযোগ দেওয়ার একটি বিষয় হল যে যদিও আমরা নিচু স্থানীয় মাত্রায় ছবিটি সঙ্কুচিত করছি, তেন্সরটি বেশ গভীর, তাই অনেক তথ্য হারিয়ে নেই। (পুলিং স্তর ব্যবহার করার সময় এটি সম্পূর্ণ সত্য নয়)।
এই মুহুর্তে কল্পনা করুন যে প্রতিটি শ্রেণীকে শ্রেণী হিসাবে (উদাহরণস্বরূপ: পথচারী / পটভূমি) শ্রেণীভুক্ত করতে আপনি 1x1 CONV স্তরটি ব্যবহার করতে পারেন, একই স্তর থেকে আপনি 4 নম্বর সংখ্যার পূর্বাভাস দেওয়ার জন্য অন্য CONV বা FC লেয়ার সংযুক্ত করতে পারেন। এই ভাবে আপনি উভয় থেকে ক্লাস স্কোর এবং অবস্থান পেতে।
এক সাধারণ ভুল হল যে আমরা প্রকৃতপক্ষে একটি গ্রিডে ইনপুট চিত্রটি বিভক্ত করছি, এটি ঘটছে না! আসলে কি ঘটেছে প্রতিটি স্তর কয়েকটি স্থানীয় তথ্য সহ ইনপুট চিত্রটি উপস্থাপন করে তবে গভীরতার সাথে। প্রশিক্ষণের সময় আমরা আমাদের স্থল সত্য এবং ভার্চুয়াল কোষগুলির মধ্যে কোন ধরণের মেলামেশা করব। এছাড়াও যারা কোষ আসলে তারা সম্পূর্ণরূপে টাইল করা হয় না overlap হবে।
এছাড়াও সনাক্তকরণ সংখ্যা সম্পর্কে, যারা কোষের প্রতিটি একটি বস্তুর সনাক্ত করতে পারে। তাই এই মডেলের আউটপুট 13x18 detections হতে পারে।
কিভাবে সীমানা বক্স পেতে
প্রথমে বুঝতে অসুবিধা হতে পারে এমন একটি জিনিস হলো সনাক্তকরণ সিস্টেম কীভাবে বস্তুর উপরে ফিট থাকা প্রকৃত ব্যান্ডিং বক্সে রূপান্তর করবে।
এখানে এই কৌশল অনুসরণকারী বস্তুর ডিটেক্টরদের পরিবার রয়েছে:
- এসএসডি: ক্লাস এবং বাইন্ডিং বক্সের পূর্বাভাসের জন্য বিভিন্ন অ্যাক্টিভেশন ম্যাপ (একাধিক-স্কেল) ব্যবহার করে
- YOLO: ক্লাস এবং সীমানা বাক্সের পূর্বাভাসের জন্য একটি একক অ্যাক্টিভেশন ম্যাপ ব্যবহার করে
- আর-এফসিএন (অঞ্চল ভিত্তিক ফুলি-কনভোলিউশন নিউরাল নেটওয়ার্ক): দ্রুত রেসিএন (400 মিমি), কিন্তু দ্রুত (170 মিমি) প্রতি বাক্সে কম গণনা করার কারণে এটি সম্পূর্ণ রূপান্তরমূলক (কোন FC স্তর)
একাধিক স্কেল ব্যবহার করে ইমেজটির বিভিন্ন মাপের বস্তুগুলি আরও ভালভাবে সনাক্ত করতে সক্ষম হয়ে উচ্চতর এমএপি (গড় গড় নির্ভুলতা) অর্জন করতে সহায়তা করে।
এই পদ্ধতির কৌশল সংক্ষিপ্তসার
- রিগ্রেশন (আবদ্ধ বাক্স) এবং শ্রেণীবদ্ধকরণের উদ্দেশ্য (ক্ষতি ফাংশন) সহ একটি সিএনএন ট্রেন করুন।
- সাধারণত তাদের ক্ষতি ফাংশনগুলি আরো জটিল কারণ এটি একাধিক উদ্দেশ্য পরিচালনা করতে হয় (শ্রেণীবিভাগ, প্রতিক্রিয়া, কোন বস্তু আছে কিনা তা পরীক্ষা করুন)
- একটি নির্দিষ্ট স্তর (অথবা স্তর) থেকে অ্যাক্টিভেশন সংগ্রহ করুন এবং একটি FC স্তর বা অন্য কোন কনভ স্তর সহ অবস্থানকে FC লেয়ারের মতো কাজ করে।
- পূর্বাভাসের সময় একই বস্তুর চারপাশে একাধিক বাক্স ফিল্টার করতে non-maxima দমন মত অ্যালগরিদমগুলি ব্যবহার করুন।
- প্রশিক্ষণ সময় সময় আইওও মত অ্যালগরিদম ব্যবহার স্থল সত্য প্রশিক্ষণ সময় ভবিষ্যদ্বাণী সম্পর্কিত।
এই ধরনের ডিটেক্টরটিতে এটি বিভিন্ন স্থানীয় স্থান, স্কেল এবং দৃষ্টিপাত অনুপাতের যে ছবিগুলিকে "নোঙ্গর" (কখনও কখনও "প্রিয়ার্স" বা "ডিফল্ট বক্সস" বলা হয়) এ চিত্রের উপরে ওভারলেড করা হয়।
তথ্যসূত্র:
- http://silverpond.com.au/2016/10/24/pedestrian-detection-using-tensorflow-and-inception.html
- https://arxiv.org/pdf/1512.02325.pdf
- https://github.com/amdegroot/ssd.pytorch
- https://arxiv.org/pdf/1312.2249.pdf
- https://arxiv.org/pdf/1605.06409.pdf
- https://www.robots.ox.ac.uk/~vgg/rg/slides/vgg_rg_16_feb_2017_rfcn.pdf
- https://github.com/xdever/RFCN-tensorflow
- https://github.com/PureDiors/pytorch_RFCN
- https://github.com/aleju/papers
- https://arxiv.org/pdf/1506.02640.pdf
- https://github.com/tommy-qichang/yolo.torch
- https://www.youtube.com/watch?v=NM6lrxy0bxs
- https://arxiv.org/pdf/1612.08242.pdf
- https://arxiv.org/pdf/1701.06659.pdf
- http://www.cs.unc.edu/~wliu/papers/ssd_eccv2016_slide.pdf
- https://cloud.google.com/blog/big-data/2016/07/understanding-neural-networks-with-tensorflow-playground
- https://arxiv.org/pdf/1611.10012.pdf
- http://www.rsipvision.com/ComputerVisionNews-2017June/files/assets/common/downloads/Computer%20Vision%20News.pdf