Comparison of Faster RCNN and RetinaNet for Car Recognition in Adverse Weather
Subject Areas : electrical and computer engineeringYaser Jamshidi 1 , Raziyeh Sadat Okhovat 2
1 - Student
2 -
Keywords: Object recognition, vehicle detection, deep learning, intelligent transportation, image processing in adverse weather,
Abstract :
Vehicle detection and tracking plays an important role in self-driving cars and smart transportation systems. Adverse weather conditions, such as the heavy snow, fog, rain, dust, create dangerous limitations by reducing camera visibility and affect the performance of detection algorithms used in traffic management systems and autonomous cars. In this article, Faster RCNN deep object recognition network with ResNet50 core and RetinaNet network is used and the accuracy of these two networks for vehicle recognition in adverse weather is investigated. The used dataset is the DAWN file, which contains real-world images collected with different types of adverse weather conditions. The obtained results show that the presented method has increased the detection accuracy from 0.2% to 75% in the best case, and the highest increase in accuracy is related to rainy conditions.
[1] M. Hassaballah, M. A. Kenk, K. Muhammad, and S. Minaee, "Vehicle detection and tracking in adverse weather using a deep learning framework," IEEE Trans. on Intelligent Transportation Systems, vol. 22, no. 7, pp. 4230-4242, Jul. 2020.
[2] M. Hassaballah, M. A. Kenk, and I. M. El-Henawy, "Local binary pattern-based on-road vehicle detection in urban traffic scene," Pattern Analysis and Applications, vol. 23, no. 4, pp. 1505-1521, 2020.
[3] P. Kumar Bhaskar and S. Yong, "Image processing based vehicle detection and tracking method," in Proc. Int. Conf. on Computer and Information Sciences, ICCOINS'14, 5 pp., Kuala Lumpur, Malaysia, 03-05 Jun. 2014.
[4] W. Chu, Y. Liu, C. Shen, D. Cai, and X. S. Hua, "Multi-task vehicle detection with region-of-interest voting," IEEE Trans. Image Process., vol. 27, no. 1, pp. 432-441, Jan. 2018.
[5] L. Zhang, et al., "Vehicle object detection based on improved retinanet," J. of Physics: Conf. Series, vol. 1757, no. 1, Article ID: 012070, 2021.
[6] J. Shin, et al., "Real-time vehicle detection using deep learning scheme on embedded system," in Proc. 9th Int. Conf. on Ubiquitous and Future Networks, ICUFN'17, pp. 272-274, Milan, Italy, 4-7 Jul. 2017.
[7] H. Wang, et al., "A comparative study of state-of-the-art deep learning algorithms for vehicle detection," IEEE Intelligent Transportation Systems Magazine, vol. 11, no. 2, pp. 82-95, Summer 2019.
[8] H. Kuang, X. Zhang, Y. J. Li, L. L. H. Chan, and H. Yan, "Nighttime vehicle detection based on bio inspired image eenhancement and weighted score-level feature fusion," IEEE Trans. Intell. Transp. Syst., vol. 18, no. 4, pp. 927-936, Apr. 2017.
[9] C. Sakaridis, D. Dai, and L. Van Gool, "Semantic foggy scene understanding with synthetic data," Int. J. Comput. Vis., vol. 126, no. 9, pp. 973-992, Sept. 2018.
[10] C. Hodges, M. Bennamoun, and H. Rahmani, "Single image dehazing using deep neural networks," Pattern Recognit. Lett, vol. 128, pp. 70-77, Dec. 2019.
[11] B. Cai, X. Xu, K. Jia, C. Qing, and D. Tao, "Dehazenet: an end-to-end system for single image haze removal," IEEE Trans. on Image Processing, vol. 25, pp. 5187-5198, 2016.
[12] S. Li, et al., "Single image deraining: a comprehensive benchmark analysis," in Proc. of the IEEE/CVF Conf. Comput. Vis. Pattern Recognit, pp. 3838-3847, Long Beach, CA, USA, 15-20 Jun. 2019.
[13] Y. L. Chen and C. T. Hsu, "A generalized low-rank appearance model for spatio-temporally correlated rain streaks," in Proc. of the IEEE Int. Conf. on Computer Vision, pp. 1968-1975, Sydney, Australia, 1-8 Dec. 2013.
[14] L. Zhu, C. W. Fu, D. Lischinski, and P. A. Heng, "Joint bi-layer optimization for single-image rain streak removal," in Proc. of the IEEE In. Conf. on Computer Vision, pp. 2526-2534, Venice, Italy, 27-29 Oct. 2017.
[15] D. Sudha and J. Priyadarshini, "An intelligent multiple vehicle detection and tracking using modified vibe algorithm and deep learning algorithm," Soft Computing, vol. 24, no. 22, pp. 17417-17429, Nov. 2020.
[16] X. Han, J. Chang, and K. Wang, "Real-time object detection based on YOLO-V2 for tiny vehicle object," Procedia Computer Science, vol. 183, pp. 61-72, 2021.
[17] M. Shafiee, B. Chywl, F. Li, and A. Wong, Fast YOLO: A Fast You Only Look Once System for Real-Time Embedded Object Setection in Video, arXiv preprint arXiv:1709.05943, 2017.
[18] S. R. Sree, S. B. Vyshnavi, and N. Jayapandian, "Real-world application of machine learning and deep learning," in Proc. of the Int. Conf. on Smart Systems and Inventive Technology, ICSSIT'19, pp. 1069-1073, Tirunelveli, India, 27-29 Nov. 2019.
[19] M. A. Ponti, L. S. F. Ribeiro, T. S. Nazare, T. Bui, and J. Collomosse, "Everything you wanted to know about deep learning for computer vision but were afraid to ask," in Proc. of the 30th SIBGRAPI Conf. on Graphics, Patterns and Images Tutorials, SIBGRAPI-T'17, pp. 17-41, Niteroi, Brazil, 17-18 Oct. 2017.
[20] S. Ren, K. He, R. Girshick, and J. Sun, "Faster R-CNN: towards real-time object detection with region proposal networks," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 39, pp. 137-1149, Jun. 2017.
[21] R. Girshick, "Fast R-CNN," in Proc. of the IEEE Int. Conf. on Computer Vision, ICCV'15, pp. 1440-1448, Santiago, Chile, 07-13 Dec. 2015.
[22] J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, "You only look once: unified, real-time object detection," in Proc. of the IEEE Conf. Computer Vision and Pattern Recognition, CVPR'16, pp. 779-788, Las Vegas, NV, USA, 27-30 Jun. 2016.
[23] W. Liu, et al., "SSD: single shot multibox detector," in Proc. of the 14th European Conference, Computer Vision, ECCV'16, pp. 21-37, Amsterdam, The Netherlands, 11-14 Oct. 2016.
[24] T. Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollar, "Focal loss for dense object detection," in Proc. of the IEEE Int. Conf. on Computer Vision, pp. 2980-2988, Venice, Italy, 22-29 Oct. 2017.
[25] T. Y et al., "Feature pyramid networks for object detection," in Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition, pp. 2117-2125, Honolulu, HI, USA, 21-26 Jul. 2017.
[26] T. Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollár, "Focal loss for dense object detection," IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 42, no. 2, pp. 318 - 327, Feb. 2017.
نشریه مهندسی برق و مهندسی کامپیوتر ایران، ب- مهندسی کامپیوتر، سال 22، شماره 1، بهار 1403 47
مقاله پژوهشی
مقایسه شبکههای عمیق Faster RCNN و RetinaNet
جهت تشخیص خودرو در آبوهوای نامساعد
یاسر جمشیدی و راضیه سادات اخوت
چکیده: تشخيص وسايل نقليه و رديابی آن، نقش مهمی در اتومبیلهای خودران و سيستمهاي حملونقل هوشمند ايفا میکند. شرايط آبوهوايی نامساعد مانند حضور برف سنگين، مه، باران و گرد و غبار با کاهش ديد دوربين، محدوديتهاي خطرناکی ايجاد کرده و بر عملکرد الگوريتمهاي تشخيصی استفادهشده در سيستمهاي نظارت بر ترافيک و برنامههاي رانندگی خودکار تأثير میگذارد. در این مقاله از شبکه عمیق تشخیص اشیای Faster RCNN با هسته 50ResNet و شبکه RetinaNet استفاده شده و دقت این دو شبکه جهت تشخیص خودرو در آبوهوای نامساعد مورد بررسی قرار میگیرد. پایگاه داده مورد استفاده، فایل DAWN میباشد که شامل تصاویر دنیای واقعی است
و با انواع مختلفی از شرایط آبوهوایی نامطلوب جمعآوری شدهاند. نتایج بهدستآمده نشان میدهند که روش ارائهشده در بهترین حالت، دقت تشخیص را از %2/0 به %75 افزایش داده و بیشترین میزان افزایش دقت نیز مربوط به شرایط بارانی میباشد. تمام پردازشها به زبان پایتون و در گوگل کولب انجام شده است.
کلیدواژه: تشخیص شیء، تشخیص خودرو، یادگیری عمیق، سیستمهای حملونقل هوشمند، پردازش تصویر در آبوهوای نامساعد.
1- مقدمه
پیشبینی مکان یا ردیابی وسایل نقلیه، موضوعی مهم در جادههاست و از اين رو تحقيقات زيادي براي رديابي خودرو صورت گرفته که هم در شرايط عادي و هم در شرايط غيرعادي ميتوان از آنها و يا از ترکيب آنها استفاده نمود [1]. کارایی تشخیص وسایل نقلیه بهعنوان یک گام مهم در نظارت ترافیک یا نظارت هوشمند در نظر گرفته میشود. سیستمهای تشخیص وسایل نقلیه باید دقیقاً اهداف ترافیک (مثلاً ماشینها، موتورها و ...) را در کمترین زمان و با بالاترین دقت شناسایی کنند. برای تشخیص این اشیا، انواع مختلفی از حسگرها مثل دوربین و تشخیص نور در وسایل نقلیه مستقل بهکار گرفته میشوند. در بین این انواع، کیفیت تصاویر دوربین کاملاً تحت تأثیر شرایط آبوهوایی مانند بارندگی سنگین، بارش برف سنگین، طوفانهای برفی، گرد و غبار و شرایط نوری پایین قرار دارد. در چنین شرایطی، دید کافی برای دوربینهای سیستم تشخیص وسایل نقلیه در جادهها وجود نخواهد داشت؛ بنابراین تشخیص وسایل نقلیه در شرايط آبوهوايي متفاوت چالشبرانگیزتر از تشخیص وسایل نقلیه در حالت عاديست. در اين مقاله الگوريتمي خودکار مبتني بر روش يادگيري عميق براي تشخيص و رديابي وسايل نقليه در شرايط آبوهوايي متغير ارائه خواهد شد. از مهمترین مزایای یادگیری عمیق میتوان به یادگیری خودکار ویژگیها، یادگیری چندلایه ویژگیها، قدرت تعمیم بالا در شناسایی دادههای جدید و در نتیجه دقت بالا در نتایج اشاره کرد.
هدف در این مقاله، تشخیص خودرو در شرایط نامساعد آبوهوایی است که بهوسیله آموزش دو شبکه Faster RCNN و RetinaNet انجام میشود. مروری بر ادبیات این موضوع در بخش دوم ارائه میگردد. در بخش سوم به نحوه عملکرد سیستم تشخیص اشیا و روشهای متعدد تشخیص بهطور خلاصه اشاره شده است. معرفی پایگاه داده در بخش چهارم انجام شده و بخش پنجم به توضیح معیار ارزیابی و نحوه عملکرد آن میپردازد. نهایتاً در بخش ششم با آزمایش دو شبکه نامبرده بر روی پایگاه داده وسایل نقلیه در آبوهوای متغیر به بررسی نتایج در تشخیص خودرو پرداخته شده است.
2- مروری بر کارهای گذشته
تشخیص خودرو، یکی از موضوعاتی است که بهدلیل اهمیت آن، تاکنون زیاد بر روی آن کار شده است. به طور مثال Hassaballah و همکاران [2] یک روش تشخیص وسیله نقلیه با چارچوب الگوی باینری محلی را پیشنهاد کردهاند. در واقع این افراد یک روش ساده و مؤثر تشخیص وسیله نقلیه را بر اساس ویژگیها و هیستوگرام محلی خودرو پیشنهاد دادهاند. Kumar Bhaskar و همکاران [3]، یک الگوریتم منحصربهفرد را برای تشخیص وسیله نقلیه و ردیابی با استفاده از مدل مخلوط گوسی و روشهای تشخیص شیء ایجاد کردهاند. مدل گوسی، وظیفه جداکردن پیشزمینه و پسزمینه از فریم تصویر با یادگیری پسزمینه یک صحنه را انجام میدهد. Wenqing Chu و همکاران [4] نیز یک طرح جدید تشخیص وسیله نقلیه مبتنی بر شبکههای عصبی عمیق چندمنظوره و جداسازي منطقه مورد نظر را پیشنهاد دادهاند. Luyang Zhang و همکاران [5] با توجه به راندمان پایین تشخیص وسیله نقلیه در صحنههای واقعی، یک شبکه RetinaNet بهبودیافته را پیشنهاد میکنند. آنها یک ساختار پیچشی اکتاو و یک ساختار هرم وزنی جهت بهبود عملکرد RetinaNet برای تشخیص وسایل نقلیه معرفی کردهاند. از کانولوشن اکتاو بهجای لایه کانولوشن سنتی استفاده کرده و بهمنظور بهبود کیفیت همجوشی ویژگی، یک ساختار شبکه هرمی ویژگی وزنی 2(WFPN) برای محدودکردن انتشار گرادیانها بین سطوح مختلف پیشنهاد دادهاند. Ju-Seok Shin و همکاران [6] یک سیستم تشخیص خودرو در زمان واقعی با استفاده از طرح یادگیری عمیق برای کاهش نرخ مثبت کاذب پیشنهاد کردهاند. علاوه بر این، الگوریتم خود را در یک سیستم تعبیهشده برای تأیید زمان واقعی پیادهسازی کردهاند. نتایج تجربی نشان میدهند که میانگین زمان پردازش ماژولهای تشخیص خودرو
در این روش حدود 15 فریم در ثانیه است. Hai Wang و همکاران در [7]، پنج الگوریتم اصلی یادگیری عمیق جهت تشخیص اشیا یعنی Faster RCNN، R-FCN، SSD، RetinaNet و 3YOLOv را بر روی دادههای خودرویی KITTI تست کرده و نتایج بهدستآمده را از نظر زمان و دقت تشخیص تجزیه و تحلیل کردهاند. در سال 2017، Hulin Kuang و همکاران [8]، یک سیستم تشخیص وسیله نقلیه مؤثر در شب با ترکیب استخراج منطقه مورد نظر و بهبود تصویر را برای تشخیص خودرو در شب ارائه دادهاند که برای تشخیص وسایل نقلیه بیشتر به چراغهای قرمز عقب خودروها متمرکز شدهاند. Sakaridis و همکاران [9] یک مدل مبتنی بر شبکه عصبی (CNN) را برای ایجاد مه مصنوعی بر روی تصاویر وسایل نقلیه واقعی برای بررسی الگوریتمهای مهزدایی در محیطهای ترافیکی پیشنهاد کردند. مه، دید یک صحنه را به میزان قابل توجهی کاهش میدهد. Hodges و همکاران [10] مدلی با یک شبکه مهزدایی برای اصلاح تصاویر کامل و یک شبکه جداکننده برای بهبود کارایی پارامترهای وزنی را برای افزایش عملکرد تشخیص وسیله نقلیه بر روی مجموعه داده تصاویر مهآلود و مهآلود مصنوعی پیشنهاد نمودهاند. معماری شبکه مهشکن بر اساس معماری DehazeNet [11] میباشد. Siyuan Li و همکاران [12] در سال 2019 یک الگوریتم حذف باران از تصویر با معیار جدید را در مقیاس بزرگ، شامل تصاویر بارانی مصنوعی و واقعی از انواع مختلف باران در صحنه کنترل ترافیک و تشخیص خودرو ارائه کردهاند. برای ارزیابی بهتر در این مقاله از انواع بارانهای مصنوعی بر روی تصاویر برای آموزش و ارزیابی شبکه استفاده گردیده و بعد از آن از یک مرحله پیشپردازش برای حذف انواع باران از تصاویر استفاده میشود. به این صورت که یک تصویر ورودی را به اجزای فرکانس پایین و بالا تجزیه کرده و سپس فرکانسهای رگههای باران را از طریق کدگذاری پراکنده از لایه فرکانس بالا جدا میکنند. روشهای متعدد دیگری نیز برای حذف باران از تصویر ارائه شدهاند که لزوماً برای تصاویر ترافیکی نیستند. بهطور مثال Yi-Lei Chen و همکارش [13] لایههای پسزمینه و رگههای باران را بر اساس طبقهبندی فرکانسی و حذف لبههای ضعیف تجزیه کردند. Lei Zhu و همکاران [14] نیز یک روش حذف باران را بر اساس جداسازی رگههای باران که معمولاً طیف باریکی از جهات را در بر میگیرند، معرفی کردهاند. بدین ترتیب پس از حذف باران از تصاویر ترافیکی، نهایتاً با یک مدل شبکه عمیق مثل RetinaNet میتوان وسایل نقلیه در تصاویر اصلاحشده را تشخیص داد. Sudha و همکاران [15] یک الگوریتم ردیابی وسیله نقلیه چندگانه را با شرایط آبوهوایی مختلف مثل بارانی، شب و مه با استفاده از یادگیری عمیق پیشنهاد میکنند که با استفاده از 3YOLO V کار کرده و الگوریتم تشخیص پسزمینه از شیء تقویت شده است. نتایج آزمایش الگوریتم پیشنهادی با ده ویدئوی ورودی مختلف و دو مجموعه داده معیار KITTI و DETRAC آزمایش شدهاند که دقت %6/98 را میدهد. Xiaohong Han و همکاران [16] یک مدل 2YOLO-v [17] تغییریافته معرفی نمودهاند تا تشخیص تصاویر کوچک خودرو دارای مشکلات دقت کم و عملکرد ضعیف را بهبود بخشند.
در این مقاله از دو شبکه Faster RCNN و RetinaNet برای تشخیص خودرو در شرایط بد آبوهوایی استفاده شده است. در ادامه درباره دلیل انتخاب این دو شبکه و همچنین نتایج بهدستآمده توسط آنها بیشتر توضیح داده میشود.
3- تشخیص اشیا
3-1 یادگیری عمیق
یادگیری عمیق، زیرشاخهای از یادگیری ماشین است که از لایههای متعدد تبدیلات خطی بهمنظور پردازش سیگنالهای حسی مانند صدا و تصویر استفاده میکند [18]. ماشین در این روش هر مفهوم پیچیده را به مفاهیم سادهتری تقسیم میکند و با ادامه این روند به مفاهیم پایهای میرسد که قادر به تصمیمگیری برای آنهاست و بدین ترتیب، نیازی به نظارت کامل انسان برای مشخصکردن اطلاعات لازم ماشین در هر لحظه نیست. موضوعی که در یادگیری عمیق اهمیت زیادی دارد، نحوه ارائه اطلاعات است. ارائهدادن اطلاعات به ماشین باید به شیوهای باشد که ماشین در کمترین زمان، اطلاعات کلیدی را که میتواند با استناد به آنها تصمیم بگیرد دریافت کند. یادگیری عمیق اغلب شامل یادگیری سلسلهمراتبی است [19]. شبکه عمیق نوعی شبکه عصبی مصنوعی است که با استفاده از تکنیکهای ریاضی، ساختاری مشابه با ساختار مغز انسان به ما میدهد. هرچه تعداد نورونهای مصنوعی در لایه پنهان بیشتر باشند مدل پیچیدهتر میشود و به شبکههای عصبی که تعداد لایههای پنهان آنها زیاد است، شبکه عصبی عمیق گفته میشود. بهوسیله شبکههای عصبی عمیق، مسائل بسیار پیچیده در زمینه پیشبینی و دستهبندی، ساده حل میشود و از طرفی پیشرفت تکنولوژی باعث شده که الگوریتمهایی برای بهینهسازی شبکههای عصبی معمولی به وجود آید تا بتواند تعداد لایههای نورونی شبکههای عصبی را از چند لایه به هزاران لایه برساند. شبکه عصبی عمیق، ارتباط دادههای ورودی و خروجی را پیدا میکند. الگوریتمهای یادگیری عمیق با معرفی راهحلهایی مؤثر و کارآمد، انقلابی را در جامعه بینایی کامپیوتر به ارمغان آورده است.
3-2 انواع روشهای تشخیص اشیا
تشخیص اشیا، روشی خودکار برای تعیین مکان اشیای مورد نظر در یک تصویر با توجه به پسزمینه است. در مدلهای تشخیص شیء مبتنی بر یادگیری عمیق، معمولاً دو روش وجود دارد: الگوریتمهای دسته اول، ابتدا بررسی منطقهای انجام میدهند؛ بدین معنا که مناطقی که احتمال وجود اشیا در آنها بیشتر است انتخاب میشوند. این انتخاب یا توسط روشهای قدیمی بینایی ماشین (مثل جستجوی انتخابی) انجام میشود یا توسط شبکه پیشنهادی منطقهای بر مبنای یادگیری عمیق کار میکند. پس از بهدستآمدن گروهی کوچک از پنجرهها، تشخیص اشیا به کمک معادلههای متشکل از چند مدل رگرسیون و چند مدل طبقهبندی، انجام میشود. این کار شامل الگوریتمهایی از قبیل روش Faster RCNN [20]، Fast RCNN [21] و ... است. الگوریتمهایی که در این دسته قرار دارند معمولاً روش دومرحلهای نامیده میشوند. الگوریتمهای دسته دوم تنها در مکانها و اندازههای مشخص دنبال اجسام میگردند. این مکانها و اندازهها به گونه استراتژیکی انتخاب میشوند تا بیشتر حالات ممکن را پوشش دهند. الگوریتمهای این گروه معمولاً عکس را به چند بخش با اندازه مشخص تقسیم میکنند. سپس در نظر میگیرند که در هر بخش، تعداد مشخصی اجسام با اشکال و اندازههای ازپیشتعیینشده وجود دارد. الگوریتمهای این دسته روش تکمرحلهای نامیده میشوند که YOLO [22]، SSD [23] و RetinaNet [24] از مثالهای این دسته هستند.
شکل 1: Faster RCNN یک شبکه واحد و یکپارچه برای تشخیص اشیاست. ماژول RPN به عنوان «پیشبینی» این شبکه یکپارچه عمل میکند [13].
الگوریتمهای این دسته نسبت به الگوریتمهای دومرحلهای معمولاً سریعتر عمل میکنند؛ اما دقت کمتری دارند. اغلب برای استفاده از این الگوریتمها از برنامههای دارای ویژگی شناسایی لحظهای استفاده میکنند.
3-3 شبکه کانولوشنی Faster RCNN
شبکه RCNN Faster، نسخه سوم خانواده RCNN است که در سال 2016 معرفی گردید و شکل 1 چارچوب این شبکه را نمایش میدهد. Shaoqing Ren و همکاران، یک الگوریتم تشخیص اشیا را ارائه کردند که الگوریتم جستجوی گزینشی را حذف کرده و به شبکه اجازه میدهد تا پیشنهادهای منطقه را یاد بگیرد. شبیه به Fast RCNN، تصویر بهعنوان ورودی به یک شبکه کانولوشن ارائه شده که یک نقشه ویژگی کانولوشن ارائه میدهد. بهجای استفاده از الگوریتم جستجوی گزینشی بر روی نقشه ویژگی، برای شناسایی پیشنهادهای منطقه از یک شبکه جداگانه برای پیشبینی پیشنهادهای منطقه3 استفاده میشود. سپس پیشنهادهای منطقه پیشبینیشده با استفاده از یک لایه ادغام RoI تغییر شکل میدهند که نهایتاً برای طبقهبندی تصویر در منطقه پیشنهادی و پیشبینی مقادیر افست برای جعبههای مرزی استفاده میشود. Faster RCNN بسیار سریعتر از نسخههای قبلی خود است و بنابراین حتی میتوان از آن برای تشخیص اشیا در زمان کم یا آنلاین استفاده کرد.
3-4 شبکه RetinaNet
RetinaNet در سال ۲۰۱۷ توسط محققان از FAIR پیشنهاد شد که یک چارچوب یکمرحلهای مانند YOLO و SSD است. RetinaNet از شبکه پایه [25] برای ایجاد یک هرم ویژگی کانولوشن چندمقیاسی غنی استفاده میکند. آشکارسازهای یکمرحلهای که در نمونهبرداری منظم و متراکم از مکانهای احتمالی اشیا استفاده میکنند، پتانسیل سریعتر و سادهتربودن را دارند؛ اما بهدلیل عدم تعادل کلاسی شدید که در طول آموزش با آن مواجه میشوند از دقت آشکارسازهای دومرحلهای عقبتر هستند. RetinaNet از یک تابع اتلاف جدید به نام focal loss برای رسیدگی به عدم تعادل کلاس در طول آموزش استفاده میکند. RetinaNet یک شبکه واحد و یکپارچه است که از یک شبکه اصلی و دو زیرشبکه تشکیل گردیده است [26]. شبکه اصلی مسئول محاسبه یک نقشه ویژگی کانولوشن در کل تصویر ورودی است؛ یعنی از هر طبقهبندیکننده دلخواه میتواند استفاده کند. اولین زیرشبکه، طبقهبندی شیء را بر روی خروجی شبکه اصلی انجام میدهد و در واقع احتمال حضور شیء را در هر موقعیت مکانی پیشبینی میکند. زیرشبکه دوم رگرسیون کادر مستطیلی کانولوشنی را انجام میدهد. این دو زیرشبکه دارای طراحی سادهای هستند. شکل 2 معماری شبکه RetinaNet را نمایش میدهد.
4- پایگاه داده
پایگاه داده مورد استفاده در این مقاله DAWN است که شامل چهار پوشه مهآلود، بارانی، برفی و گرد و غبار میباشد. هر پوشه شامل پنج نوع شیء جهت تشخیص (خودرو (%21/82)، اتوبوس (%05/2)، کامیون (%22/8)، موتورسیکلت و دوچرخه (%36/1) و انسان (%07/6)) و 7845 کادر محدودکننده یا مستطیلی است که بهصورت فایل PASCAL VOC میباشد [1]. فایل PASCAL VOC شامل شماره تصویر، اندازه تصویر، کلاس شیء (مثلاً خودرو یا دوچرخه) و ابعاد کادرهای مستطیلی شیء که در تصویر مشخص شده میباشد. لازم به ذکر است که بهازای هر تعداد شیء در هر تصویر، این مقادیر ثبت میشود. شکل 3 نمونههای مختلف آبوهوایی پایگاه داده را نمایش میدهد.
5- معیار ارزیابی آشکارسازی شیء
5-1 تعریف Precision و Recall
برای محاسبه Precision و Recall نیاز است که TP، FP و FN برای تشخیص اشیا تعریف شود. برای محاسبه TP، FP، FN نیاز است IoU محاسبه شود. IoU سنجش همپوشانی بین دو کادر مستطیلی به نامهای کادر مستطیلی مبنا و کادر مستطیلی پیشبینیشده را ارزیابی میکند. با اعمال IoU میتوان تشخیص داد که آشکارساز معتبر است یا نامعتبر. پیشبینی صحیح (TP) به این معناست که IoU بیشتر از حد آستانه است. این آستانه بسته به چالش قابل تنظیم بوده ولی 5/0 یک مقدار استاندارد است. به عنوان مثال بعضی رقابتها نظیر MS COCO از یا استفاده میکنند. این بدان معناست که اگر IoU بیشتر از این مقدار آستانه باشد مثبت صحیح (TP) و اگر کمتر از آستانه باشد مثبت کاذب (FP) در نظر گرفته میشود.
5-2 محاسبه mAP
برای محاسبه Average Precision ابتدا نمودار 4PR رسم میشود. این منحنی روش مناسبی برای ارزیابی عملکرد آشکارسازی شیء است. اکنون که منحنی PR وجود دارد، AP یا دقت میانگین با محاسبه سطح زیر نمودار محاسبه میشود. آنگاه نهایتاً با میانگینگیری از AP برای دستههای مختلف mean AP بهدست میآید. در مسابقات COCO، رنجی از مقادیر IoU (حد آستانه) در نظر گرفته میشود. ارزیاب COCO میتواند AP را به روشهای مختلف یعنی ، و گزارش کند. یعنی مقدار آستانه IoU از 5/0 تا 95/0 با طول گام 05/0 بهصورت 10 آستانه تغییر داده شده است.
[1] این مقاله در تاریخ 3 آبان ماه 1401 دریافت و در تاریخ 10 آبان ماه 1402 بازنگری شد.
یاسر جمشیدی، گروه مهندسی برق، دانشکده فنی مهندسی، دانشگاه علم و فرهنگ، تهران، ایران، (email: yass2j@gmail.com).
راضیه سادات اخوت (نویسنده مسئول)، گروه مهندسی برق، دانشکده فنی مهندسی، دانشگاه علم و فرهنگ، تهران، ایران، (email: r.s.okhovat@usc.ac.ir).
[2] . Weighted Feature Pyramid Network
[3] . Region Proposal Network
[4] . Precision-Recall
شکل 2: معماری شبکه RetinaNet یکمرحلهای از یک هسته FPN در بالای معماری ResNet برای تولید یک هرم ویژگی پیچیده و چندمقیاسی غنی استفاده میکند [17].
شکل 3: نمونه تصاویر مجموعه داده DAWN که چهار مورد شرایط بد آبوهوایی را نشان میدهد [1].
6- آزمون و نتایج
6-1 پیشپردازش و دادهافزایی
روش پیشنهادی در این مقاله برای پیشپردازش تصویر، 1AWB است که جهت بهبود کنتراست تصویر استفاده میشود و به شبکه برای تشخیص بهتر خودرو کمک خواهد کرد. نحوه کار سیستم AWB به این صورت خواهد بود که ابتدا تصویر ورودی را به سه کانال قرمز، آبی و سبز تبدیل کرده و سپس هر کانال تصویر بهصورت جداگانه از یک فیلتر یکنواختساز هیستوگرام2 عبور داده میشود. مجدد با استفاده از فیلتر تصحیح گاما، نور و رنگ تصویر را بهبود داده و نهایتاً با فیلتر لاپلاسین لبههای تصویر تقویت میشود.
شبکههای عصبی عمیق برای بهدستآوردن نتایج خوب و جلوگیری از برازش بیش از حد به دادههای آموزشی زیادی نیاز دارند؛ با این حال، اغلب بهدستآوردن نمونههای آموزشی کافی بسیار دشوار است. خصوصاً برچسبزنی نمونههای آموزشی به زمان زیادی نیاز دارد و در مواردی بسیار پرهزینه است. دادهافزایی، فرایند ایجاد نمونههای آموزشی جدید
از نمونههای موجود است که بهطور مؤثر انواع زیادی از عملیات تبدیل تصویر را پیادهسازی میکند. از جمله این تبدیلات میتوان به تغییر در روشنایی تصویر، چرخش تصویر و جابهجایی افقی و عمودی تصویر اشاره کرد. از طرفی نوع تغییر تصویر برای دادهافزایی بسیار مهم است؛ به گونهای که اگر از تبدیلهای درستی استفاده نشود، نهتنها دقت تشخیص شبکه بیشتر نخواهد شد بلکه کمتر نیز میشود. مثلاً میتوان نشان داد که چرخش تصویر با زاویه نادرست و همچنین جابهجایی عمودی به تشخیص خودرو کمکی نخواهد کرد. به عبارت دیگر اگر دادهافزایی با یکی از این دو روش انجام شود، دقت تشخیص خودرو توسط شبکه آموزشدادهشده با چنین دادههایی کاهش مییابد. در این مقاله از روش دادهافزایی برای افزایش تعداد دادههای آموزش استفاده شده و روشهای مورد استفاده نیز تغییر در روشنایی تصویر و جابهجایی افقی تصویر هستند.
6-2 آموزش شبکه Faster RCNN
پایگاه داده DAWN به دو قسمت آموزش و تست تقسیم میشود و معمولاً %80 دادهها برای آموزش شبکه و %20 جهت تست مورد استفاده قرار میگیرند. سپس یک شبکه Faster RCNN ازپیشآموزشدادهشده بهعنوان شبکه اصلی انتخاب میگردد و این شبکه توسط تصاویر آموزش داده میشود. با این روش، تشخیص شبکه در تصاویر مهآلود از %26 در به %70 افزایش پیدا کرده است. جدول 1 نتیجه تست تصاویر مهآلود میباشد که این تست بر روی دیگر شرایط آبوهوایی نیز تکرار شده است. جدول 2 مربوط به آبوهوای گرد و غبار، جدول 3 مربوط به آبوهوای برفی و جدول 4 مربوط به آبوهوای بارانی میباشد.
شکل 4: نتیجه تست شبکه Faster RCNN که قسمت قرمزرنگ، قبل از آموزش شبکه و قسمت سبزرنگ، بعد از آموزش شبکه است.
شکل 5: نتیجه تست شبکه RetinaNet که قسمت قرمزرنگ، قبل از آموزش شبکه و قسمت سبزرنگ، بعد از آموزش شبکه است.
شکل 6: تصاویر تشخیص خودرو توسط شبکه Faster RCNN در شرایط مختلف آبوهوایی (کادر قرمز پیشبینی شبکه و کادر سبز کادر اصلی است).
در شکل 4 میتوانید نتیجه تست چهار آبوهوای مختلف را قبل و بعد از آموزش در شبکه Faster RCNN مقایسه کنید. آنچه که در شکل نشان داده شده است، دقت تشخیص خودرو توسط شبکه Faster RCNN در شرایط مختلف آبوهوایی و با انتخاب میباشد. همان طور که مشاهده میشود، افزایش دقت شبکه جهت تشخیص خودرو در شرایط بد آبوهوایی با آموزش شبکه بر روی چنین دادههایی بهوضوح قابل تشخیص است. همچنین اختلاف دقت در شرایط مختلف آبوهوایی متفاوت است؛ اما در همه حالتها به میزان قابل توجهی وجود دارد. مثلاً در شرایط بارانی، دقت شبکه پس از آموزش آن بر روی چنین دادههایی از %2/0 به %9/75 افزایش یافته است.
6-3 آموزش شبکه RetinaNet
در این بخش نیز یک شبکه RetinaNet ازپیشآموزشدادهشده بهعنوان شبکه اصلی انتخاب میشود و این شبکه توسط تصاویر هر گروه
جدول 1: نتیجه تست شبکه Faster RCNN برای تصاویر مهآلود.
Average Precision | مقدار IoU | شرایط محاسبه دقت |
262/0 | 5/0 | قبل از آموزش شبکه |
150/0 | 75/0 | |
147/0 | [95/0 :05/0 :5/0] | |
701/0 | 5/0 | بعد از آموزش شبکه |
374/0 | 75/0 | |
410/0 | [95/0 :05/0 :5/0] |
جدول 2: نتیجه تست شبکه Faster R-CNN برای تصاویر گرد و غبار.
Average Precision | مقدار IoU | شرایط محاسبه دقت |
214/0 | 5/0 | قبل از آموزش شبکه |
136/0 | 75/0 | |
128/0 | [95/0 :05/0 :5/0] | |
570/0 | 5/0 | بعد از آموزش شبکه |
286/0 | 75/0 | |
350/0 | [95/0 :05/0 :5/0] |
جدول 3: نتیجه تست شبکه Faster R-CNN برای تصاویر برفی.
Average Precision | مقدار IoU | شرایط محاسبه دقت |
150/0 | 5/0 | قبل از آموزش شبکه |
092/0 | 75/0 | |
092/0 | [95/0 :05/0 :5/0] | |
525/0 | 5/0 | بعد از آموزش شبکه |
366/0 | 75/0 | |
320/0 | [95/0 :05/0 :5/0] |
جدول 4: نتیجه تست شبکه Faster RCNN برای تصاویر بارانی.
Average Precision | مقدار IoU | شرایط محاسبه دقت |
002/0 | 5/0 | قبل از آموزش شبکه |
000/0 | 75/0 | |
001/0 | [95/0 :05/0 :5/0] | |
759/0 | 5/0 | بعد از آموزش شبکه |
656/0 | 75/0 | |
551/0 | [95/0 :05/0 :5/0] |
آموزش داده میشود. نتیجه آموزش و تست شبکه در هر آبوهوا در جداول 5 تا 8 قابل مشاهده است. در شکل 5 میتوانید نتیجه تست چهار آبوهوای مختلف را قبل و بعد از آموزش در شبکه RetinaNet مقایسه کنید. شکل 6 مثالی از تشخیص خودرو در شرایط مختلف آبوهوایی بعد از آموزش شبکه میباشد.
6-4 مقایسه شبکهها
بعد از آموزش شبکهها و دیدن نتایج در این بخش، نتایج بهدستآمده را با نتایج [1] مقایسه خواهیم کرد. در [1] از شبکههای مختلف برای تشخیص خودرو در شرایط بد آبوهوایی استفاده شده و نکته مورد توجه آن است که این شبکهها ازپیشآموزشدادهشده هستند و آموزش جدیدی توسط مجموعه داده DAWN که مختص تشخیص خودرو در شرایط بد آبوهوایی است داده نشدهاند. علت این امر آن است که هدف در [1]، علاوه بر تشخیص خودرو، ردگیری آن است و بنابراین تمرکز مقاله بر روی تشخیص خودرو نیست. با توجه به [1]، بهترین نتایج جهت تشخیص
جدول 5: نتیجه تست شبکه RetinaNet برای تصاویر مهآلود.
Average Precision | مقدار IoU | شرایط محاسبه دقت |
236/0 | 5/0 | قبل از آموزش شبکه |
150/0 | 75/0 | |
142/0 | [95/0 :05/0 :5/0] | |
530/0 | 5/0 | بعد از آموزش شبکه |
247/0 | 75/0 | |
289/0 | [95/0 :05/0 :5/0] |
جدول 6: نتیجه تست شبکه RetinaNet برای تصاویر گرد و غبار.
Average Precision | مقدار IoU | شرایط محاسبه دقت |
226/0 | 5/0 | قبل از آموزش شبکه |
187/0 | 75/0 | |
161/0 | [95/0 :05/0 :5/0] | |
503/0 | 5/0 | بعد از آموزش شبکه |
256/0 | 75/0 | |
279/0 | [95/0 :05/0 :5/0] |
جدول 7: نتیجه تست شبکه RetinaNet برای تصاویر برفی.
Average Precision | مقدار IoU | شرایط محاسبه دقت |
150/0 | 5/0 | قبل از آموزش شبکه |
087/0 | 75/0 | |
091/0 | [95/0 :05/0 :5/0] | |
428/0 | 5/0 | بعد از آموزش شبکه |
285/0 | 75/0 | |
267/0 | [95/0 :05/0 :5/0] |
جدول 8: نتیجه تست شبکه RetinaNet برای تصاویر بارانی.
Average Precision | مقدار IoU | شرایط محاسبه دقت |
019/0 | 5/0 | قبل از آموزش شبکه |
010/0 | 75/0 | |
010/0 | [95/0 :05/0 :5/0] | |
645/0 | 5/0 | بعد از آموزش شبکه |
280/0 | 75/0 | |
377/0 | [95/0 :05/0 :5/0] |
جدول 9: مقایسه دقت تشخیص در شبکههای مختلف.
Methods | Fog | Rain | Snow | Sand |
[1] _R3YOLOv | 95/38 | 50/45 | 33/50 | 65/41 |
RetinaNet (proposed) | 00/53 | 50/64 | 80/42 | 30/50 |
Faster RCNN (proposed) | 10/70 | 90/75 | 50/52 | 00/57 |
خودرو در شرایط بد آبوهوایی مربوط به شبکه ازپیشآموزشدادهشده YOLO است که در جدول 9 میتوانید نتایج بهدستآمده را مقایسه کنید. برای نمونه در آبوهوای مهآلود در شبکه ازپیشآموزشدادهشده YOLO در مقاله مرجع به دقت 95/38 رسیده است؛ اما در این مقاله با آموزش شبکه Faster RCNN به دقت 10/70 رسیدهایم.
7- نتیجهگیری
با توجه به بررسیهای انجامشده در این مقاله و آزمایشهای مختلف جهت تشخیص هرچه بهتر خودرو در تصاویر، بهترین روش استفاده از شبکههای عصبی عمیق در زمینه بینایی کامپیوتر میباشد. در این پژوهش سه کار جدید انجام شده است: اول پیشپردازش تصویر است که باعث افزایش کیفیت تصویر و در نتیجه افزایش دقت تشخیص خودروها در آبوهوای نامناسب میشود. دوم پیادهسازی روشهای دادهافزایی
است که با استفاده از آنها آموزش شبکه با دقت بیشتری انجام میشود. سوم آموزش دو شبکه کاملاً عمیق با نامهای Faster RCNN و RetinaNet است و هر دو بسیار عالی عمل میکنند. استفاده از شبکههای ازپیشآموزشدیدهشده، کمک بسزایی در بالابردن قدرت تشخیص و کمکردن دورههای آموزش کرده و نیاز شبکه به پایگاه داده خیلی قدرتمند را کمتر میکند؛ ولی با این حال تعداد بیشتر تصاویر کمک بیشتر به شبکه در جهت آموزش خواهد نمود. نهایتاً در این مقاله بهترین عملکرد برای شبکه Faster RCNN بوده است. میتوان پیشنهادهایي جهت افق آينده تحقیق به شرح زير ارائه نمود:
1) استفاده از دیتابیس قویتر با تعداد بیشتر تصاویر در جهت آموزش شبکه عصبی برای بالابردن دقت تشخیص خودرو
2) بهترنمودن کیفیت تصویر با روش پیشپردازش با فیلترهای متفاوت پردازش تصویر و آزمایش و بررسی بیشتر روی این موضوع
3) استفاده از سایر شبکههای عمیق ازپیشآموزشدیده و آزمایش روی این شبکهها که به طور مثال میتوان از شبکه 5YOLOv استفاده نمود و نتیجه را بررسی کرد.
4) تغییر هسته شبکههای معرفیشده و تست این شبکه که نهایتاً عملکرد تشخیص را بهتر نماید.
مراجع
[1] M. Hassaballah, M. A. Kenk, K. Muhammad, and S. Minaee, "Vehicle detection and tracking in adverse weather using a deep learning framework," IEEE Trans. on Intelligent Transportation Systems, vol. 22, no. 7, pp. 4230-4242, Jul. 2020.
[2] M. Hassaballah, M. A. Kenk, and I. M. El-Henawy, "Local binary pattern-based on-road vehicle detection in urban traffic scene," Pattern Analysis and Applications, vol. 23, no. 4, pp. 1505-1521, 2020.
[3] P. Kumar Bhaskar and S. Yong, "Image processing based vehicle detection and tracking method," in Proc. Int. Conf. on Computer and Information Sciences, ICCOINS'14, 5 pp., Kuala Lumpur, Malaysia, 03-05 Jun. 2014.
[4] W. Chu, Y. Liu, C. Shen, D. Cai, and X. S. Hua, "Multi-task vehicle detection with region-of-interest voting," IEEE Trans. Image Process., vol. 27, no. 1, pp. 432-441, Jan. 2018.
[5] L. Zhang, et al., "Vehicle object detection based on improved retinanet," J. of Physics: Conf. Series, vol. 1757, no. 1, Article ID: 012070, 2021.
[6] J. Shin, et al., "Real-time vehicle detection using deep learning scheme on embedded system," in Proc. 9th Int. Conf. on Ubiquitous and Future Networks, ICUFN'17, pp. 272-274, Milan, Italy, 4-7 Jul. 2017.
[7] H. Wang, et al., "A comparative study of state-of-the-art deep learning algorithms for vehicle detection," IEEE Intelligent Transportation Systems Magazine, vol. 11, no. 2, pp. 82-95, Summer 2019.
[8] H. Kuang, X. Zhang, Y. J. Li, L. L. H. Chan, and H. Yan, "Nighttime vehicle detection based on bio inspired image eenhancement and weighted score-level feature fusion," IEEE Trans. Intell. Transp. Syst., vol. 18, no. 4, pp. 927-936, Apr. 2017.
[9] C. Sakaridis, D. Dai, and L. Van Gool, "Semantic foggy scene understanding with synthetic data," Int. J. Comput. Vis., vol. 126,
no. 9, pp. 973-992, Sept. 2018.
[10] C. Hodges, M. Bennamoun, and H. Rahmani, "Single image dehazing using deep neural networks," Pattern Recognit. Lett, vol. 128, pp. 70-77, Dec. 2019.
[11] B. Cai, X. Xu, K. Jia, C. Qing, and D. Tao, "Dehazenet: an end-to-end system for single image haze removal," IEEE Trans. on Image Processing, vol. 25, pp. 5187-5198, 2016.
[12] S. Li, et al., "Single image deraining: a comprehensive benchmark analysis," in Proc. of the IEEE/CVF Conf. Comput. Vis. Pattern Recognit, pp. 3838-3847, Long Beach, CA, USA, 15-20 Jun. 2019.
[13] Y. L. Chen and C. T. Hsu, "A generalized low-rank appearance model for spatio-temporally correlated rain streaks," in Proc. of the IEEE Int. Conf. on Computer Vision, pp. 1968-1975, Sydney, Australia, 1-8 Dec. 2013.
[14] L. Zhu, C. W. Fu, D. Lischinski, and P. A. Heng, "Joint bi-layer optimization for single-image rain streak removal," in Proc. of the IEEE In. Conf. on Computer Vision, pp. 2526-2534, Venice, Italy, 27-29 Oct. 2017.
[15] D. Sudha and J. Priyadarshini, "An intelligent multiple vehicle detection and tracking using modified vibe algorithm and deep learning algorithm," Soft Computing, vol. 24, no. 22, pp. 17417-17429, Nov. 2020.
[16] X. Han, J. Chang, and K. Wang, "Real-time object detection based on YOLO-V2 for tiny vehicle object," Procedia Computer Science, vol. 183, pp. 61-72, 2021.
[17] M. Shafiee, B. Chywl, F. Li, and A. Wong, Fast YOLO: A Fast You Only Look Once System for Real-Time Embedded Object Setection in Video, arXiv preprint arXiv:1709.05943, 2017.
[18] S. R. Sree, S. B. Vyshnavi, and N. Jayapandian, "Real-world application of machine learning and deep learning," in Proc. of the Int. Conf. on Smart Systems and Inventive Technology, ICSSIT'19, pp. 1069-1073, Tirunelveli, India, 27-29 Nov. 2019.
[19] M. A. Ponti, L. S. F. Ribeiro, T. S. Nazare, T. Bui, and J. Collomosse, "Everything you wanted to know about deep learning for computer vision but were afraid to ask," in Proc. of the 30th SIBGRAPI Conf. on Graphics, Patterns and Images Tutorials, SIBGRAPI-T'17, pp. 17-41, Niteroi, Brazil, 17-18 Oct. 2017.
[20] S. Ren, K. He, R. Girshick, and J. Sun, "Faster R-CNN: towards real-time object detection with region proposal networks," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 39, pp. 137-1149, Jun. 2017.
[21] R. Girshick, "Fast R-CNN," in Proc. of the IEEE Int. Conf. on Computer Vision, ICCV'15, pp. 1440-1448, Santiago, Chile, 07-13 Dec. 2015.
[22] J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, "You only look once: unified, real-time object detection," in Proc. of the IEEE Conf. Computer Vision and Pattern Recognition, CVPR'16, pp. 779-788, Las Vegas, NV, USA, 27-30 Jun. 2016.
[23] W. Liu, et al., "SSD: single shot multibox detector," in Proc. of the 14th European Conference, Computer Vision, ECCV'16, pp. 21-37, Amsterdam, The Netherlands, 11-14 Oct. 2016.
[24] T. Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollar, "Focal loss for dense object detection," in Proc. of the IEEE Int. Conf. on Computer Vision, pp. 2980-2988, Venice, Italy, 22-29 Oct. 2017.
[25] T. Y et al., "Feature pyramid networks for object detection," in Proc. of the IEEE Conf. on Computer Vision and Pattern Recognition, pp. 2117-2125, Honolulu, HI, USA, 21-26 Jul. 2017.
[26] T. Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollár, "Focal loss for dense object detection," IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 42, no. 2, pp. 318 - 327, Feb. 2017.
یاسر جمشیدی در سال 1388 مدرک کاردانی الکترونیک را از آموزشکده فنی قزوین و مدرک کارشناسی الکترونیک را از دانشگاه غیر انتفاعی دیلمان در سال 1392 و مدرک کارشناسی ارشد سیستم های الکترونیک دیجیتال را درسال 1401 از دانشگاه علم و فرهنگ دریافت نموده است. زمینههای مورد علاقه ایشان پردازش تصویر، هوش مصنوعی و برنامهنویسی Embedded هستند.
راضیه سادات اخوت در سال 1385 مدرك كارشناسي مهندسي برق را از دانشگاه صتعتي شريف و مدارک کارشناسی ارشد و دکترای مهندسی برق را بهترتیب در سالهای 1387 و 1393 از دانشگاه علم و صنعت دريافت نمود. نامبرده از سال 1399 تاکنون عضو هیأت علمی دانشگاه علم و فرهنگ است و زمینههای مورد علاقه ایشان پردازش سیگنال، پردازش تصویر، هوش مصنوعی و پیادهسازی مدارهای دیجیتال بر روی FPGA هستند.
[1] . Automatic White Balance
[2] . Histogram Equalization