در این پژوهش از شما خواسته شده است که با دریافت تصویر ورودی، خودروهای موجود در آن را شناسایی کنید. با این کار گام اول را در طراحی یک سیستم نظارت ترافیکی شهری برداشتهاید، مثلا برای ثبت تخلفات رانندگی.
۱. ۱. مقدمه
ما به عنوان انسان در طول روز افراد و اجسام مختلف را به سادگی مشاهده و شناسایی میکنیم ، اما این کار برای ماشین سخت و پیپچیده محسوب میشود.ما به دنبال شناسایی اجسامی مانند خودرو توسط ماشینها هستیم.
امروزه میبینیم خودروها در مقیاس بالا،در قسمتهای مختلف شهر پراکنده هستند و از این جهت احتیاج به کنترل توسط سیستمهای برنامهریزیشده دارند.از کاربردهای این سیستم میتوان موارد زیر را نام برد:
1)سیستمهای کنترل ترافیک (برای مثال بررسی حجم ترافیک یا شناسایی متخلفین ) [3][16]
2)برنامهریزی شهری[3] [6][16]
3)برای شناسایی یک خودرو که عکس آن در خیابان گرفته شدهاست[2]
4)خودروهای بدون راننده
5)هر سیستمی که قصد هدایت خود را در خیابان و محیطهای شامل خودرو دارد
6)مدیریت پارکینگها با اعلام ورود خودرو به مکان مورد نظر توسط ماشین(یا برای مثال برای باز کردن اتوماتیک در پارکینگ هنگامیکه خودرو در مقابل آن قرار میگیرد)
7)در صورتیکه ویژگیهای خودرو مانند رنگ،مدل،شمارپلاک و غیره را بتوان توسط ماشین شناسایی کرد میتوان برای تشخیص خودروی سرقت شده، متخلف
و یا هر موردی که در تعقیب است از آن استفاده کرد.[3]
پیدا کردن خودرو در تصویر کمی پیچیده است،زیرا برای مثال صورت انسان ساختار سادهتر و انعطافپذیری کمتری دارد[1]، اما خودروها شکلها و مدلهای بسیار متفاوتی دارند چون طراحیشان با یکدیگر متفاوت است[4].انتظار ما این است که خودروها مستقل از زاویه دید ما(view) شناسایی شوند.برای این کار باید ماشین را برای تشخیص خودرو از زوایای مختلف تعلیم دهیم[1].
۲. ۲. کارهای مرتبط
در این زمینه در بخشهای مختلفی مانند پیدا کردن خودرو در عکس ، فیلم ، تصاویر متحرک و غیره پژوهشهای گوناگون انجام شده است.در این بخش بهطور خلاصه روشهای اصلی و مهم که استفاده بیشتری از آنها شدهاست را نام میبریم:
در روش اول اشیاء (binary) را در یک چارچوب آماری طبقهبندی میکنیم.سپس مجموعهای از ویژگیها را بررسی و ارزیابی میکنیم.در نهایت به چارچوب لازم برای طبقهبندی عکس میرسیم. در این روش در واقع یک طبقه بندی سلسله مراتبی جامع برای خودرو انجام میدهیم که بتوان به وسیله آن تشخیص داد که قسمت مورد نظر جزئی از خودرو است یا خیر.[1]
روش دوم استفاده از تکنیکهای computer vision است .با آنالیز داده باید با استفاده از تصاویر زیاد به الگوریتم بیاموزیم در کدام تصاویر خودرو وجود دارد یا وجود ندارد.سپس ویژگیهای پرمعنا را از تصویر استخراج کنیم.سپس ماشین ما تشخیص میدهد که خودرو کجا قرار دارد یا اینکه اصلا وجود ندارد.[5] [8] [13]
در روش سوم دنباله ای از تصاویر شامل خودرو داریم ،یعنی فرض میکنیم صحنه پویاست. ماشین برای یافتن خودرو سه راه دارد: 1)با متدهای مشخص زمینه را حذف کند2)ویژگیها را با متدهایی استخراج کند3)با استفاده از متدهایی ،قالبهای متفاوت را در تصویر از یکدیگر جدا کند و اجسام متحرک را در تصویر تشخیص دهد.[6][12]
روش چهارم استفاده از ویژگیهای Haar-like است که ایده اصلی آن به این شرح است:با توجه به ویژگیهای سادهای که طبقهبندی کننده در چند مرحله ساماندهی کردهاست یک شیء را به صورت آبشاری تعریف میکنیم(یا به صورت پله پله).سیستم پیشنهادی بر اساس ANN(شبکه عصبی مصنوعی ) کار میکند. [7] [9][14][15]
روش پنجم طراحی طبقهبندیکننده(classifier)ای است که بتواند تشخیص دهد در تصویر ماشینی وجود دارد یا خیر.تفاوت این روش با روش دوم در این است که در این روش علاوهبر ویژگیهای شکلی جسم، هم از ویژگیهای رنگ و شکل و هم از ویژگیهایرنگ به تنهایی استفاده میشود. مجموع این اطلاعات برای طبقهبندی تصویر کافی است.[10]
در مقالهی [16] با استفاده از DeepLearning سعی بر پیداکردن و شمردن خودروها از روی عکسهای هوایی اتوماتیک (UAV Imagery) شدهاست.اما از الگوریتمهای خاصی برای افزایش کارایی استفاده شدهاست.روشهای deepLearning برای استخراج ویژگیها (features) نیازی به حجم داده (data) بالا ندارد.
در شکل 7، CNN در واقع convolutional neural network و SVM در واقع support vector machine هستند.در روش ششم ابتدا اندازه و زاویهی بردار گرادیان همهی پیکسلهای تصویر را به دست میآوریم،سپس پیکسلهای غیرماکزیمم و پیکسلهای با اندازهی گرادیان ضعیف حذف میشوند. سپس پیکسلهای باقیمانده بر اساس زاویه گرادیان در دو سطح افقی و عمودی چندسازی میگردند.در مرحله بعد ضرایب خودهمبسته نگار لبه در هر سطح محاسبه میشوند.حال یا ویژگیهای بهدستآمده با توجه به آموزشی که به ماشین دادهشده تشخیص میدهد که در صحنه خودرو حضور دارد یا نه.[11]
در نهایت میبینیم روشهای مطرح شده مشابهت زیادی دارند.مثلا ممکن است برداشت شود روش اول و چهارم یا روش دوم و پنجم مثل هم عمل میکنند که برداشت غلطی نیست،اما درمقالههای مختلف از زوایای متفاوتی به این روشها نگاه کردهاند.
اما در کل میتوانیم این روشها را در روش سوم ، چهارم ، پنجم و ششم به صورت خلاصه طبقه بندی کنیم.
۳. ۳. آزمایشها
۴. ۴. کارهای آینده
۵. ۵. مراجع
[1] B.Leung, Component-based Car Detection in Street Scenes Images ,Department of Electrical Engineering and Computer Science , 2004
[2] S.Yamaguchi, A Car Detection System Using the neocognitron , IEEE International joint conference on, Singapore , 2002
[3] T.Tang ,S.Zhou, Z.Deng, H.Zou, L.Lei ,Vehicle Detection in Aerial Images Based on Region Convolutional Neural Networks and Hard Negative Example Mining , Sensor ,2017
[4] S.Cheung,A.Chu , Make And Model Recognition of Cars,Department of Computer Engineering University of California ,San Diego , 2008
[5]https://chatbotslife.com/vehicle-detection-and-tracking-using-computer-vision-baea4df65906
[6]R.Hadi ,G.Sulong ,E.George , Vehicle Detection And Tracking Techniques:A Concise Review , Malaysia,Iraq,2014
[7]M.Oliveria,V.Santos,Automatic Detection of Cars in Real Roads using Haar-like Features, Department of Mechanical Engineering, University of Aveiro ,Portugal ,2008
[8] https://github.com/JunshengFu/vehicle-detection
[9]https://github.com/andrewssobral/vehicle_detection_haarcascades
[10]https://github.com/NikolasEnt/Vehicle-Detection-and-Tracking
[11] م.سعادتمند، یک روش جدید برای تشخیص خودرو در تصویر، کنفرانس توسعه کاربردهای صنعتی اطلاعات ارتباطات و محاسبات ، مشهد ، 1390
[12]https://github.com/andrewssobral/simple_vehicle_counting
[13]https://github.com/ckirksey3/vehicle-detection-with-svm
[14]A.Naba, B.Pratma,A.Nadhir ,Haar-like feature based-time neuro car detection system, Indonesia ,2016
[15] Y.Wang,Monocular Vehicle Detection and Tracking, Department of Electrical and Computer Engineering University of California, San Diego
[16]N.Ammour,H.Alhichri,Y.Bazi,B.Benjdira,N.Alajan,M.Zuair,Deep Learning Approach for Car Detection in UAV Imagery,Computer Engineering Department, College of Computer and Information Sciences, King Saud University,2017
[17]https://en.wikipedia.org/wiki/Computer_vision
[18]https://en.wikipedia.org/wiki/Artificial_neural_network
[19](https://en.wikipedia.org/wiki/Deep_learning
پیوندهای مفید