مقدمه‌ای بر بینایی ماشین و نظارت تصویری

عصر ارتباط – سعید اقبالی – دوربین‌های مداربسته نقش اساسی در تامین امنیت خانه یا محل کار ما دارند. این دوربین‌ها بسیار مقرون به صرفه هستند. راه‌اندازی یک سیستم نظارتی نیز همین‌طور است. تنها بخش سخت و پرهزینه نظارت است. برای نظارت واقعی، معمولا باید یک پرسنل امنیتی یا یک تیم تعیین شود. این امر به سادگی برای همه به‌خصوص کاربران خانگی امکان‌پذیرنیست، اما با قدرت بینایی ماشین و هوش مصنوعی، می‌توانیم این پروسه را نه تنها ارزان‌تر، بلکه قابل اعتمادتر کنیم.
تاریخچه بینایی ماشین به حدود 60 سال قبل بر می‌گردد و زیرمجموعه یادگیری (ماشین لرنینگ) و شبکه‌های عصبی است.
یکی از انواع شهودی این موضوع که برای همگان قابل درک است، استفاده از این تکنولوژی در تجزیه و تحلیل مسابقات ورزشی به‌خصوص مسابقات فوتبال است. در برخی برنامه‌های ورزشی تحلیل حرکات بازیکنان اعم از سرعت بازیکن، مسافت پیموده شده در مسابقه، تعداد پاس‌های صحیح یا غیرصحیح و تحلیل‌های دیگر را مشاهده کرده‌اید. تمامی‌ این اطلاعات توسط یک برنامه انجام شده است و قطعا یک انسان نمی‌تواند به این دقت این اطلاعات را در لحظه یا به صورت آفلاین استخراج کند یا به فرض امکان‌پذیر بودن، نیازمند تجهیزات پیچیده و زمان بسیار زیادی است.
اما چه اتفاقی دقیقا در این پروسه رخ می‌دهد؟ به صورت بسیار مفهومی ‌ماشین یا کامپیوتر توسط یک برنامه شروع به استنتاج تصاویر می‌کند. کلمه استنتاج (inference) در اینجا و از این پس جایگزین کلمه محاسبه/پردازش می‌شود.
استنتاج توسط یک شبکه عصبی اتفاق می‌افتد. شبکه عصبی از توابع ریاضی تشکیل شده است. این توابع یک سری لایه ورودی دارند؛ لایه میانی/پنهانی و نهایتا لایه خروجی.
یادگیری و عملیات آموزش دقیقا در لایه میانی/پنهانی انجام می‌شود. به این صورت که داده‌هایی به همراه برچسب ( tag/lable ) به یک مدل ریاضی داده می‌شود. به عنوان مثال 5 هزار عکس منظره، خیابان، عکس‌های شبکه‌های اجتماعی و … که در سطح اینترنت هستند را برچسب‌گذاری می‌کنند، موجود زنده، اشیا و انسان را در آن تفکیک می‌کنند و در کنار عکس به صورت فایل متنی به مدل ریاضی می‌دهند. در نهایت وقتی به مدل ریاضی (یا در مفهوم عام‌تر شبکه عصبی) یک عکس جدیدی از یک خیابان در تهران به آن داده شود، می‌تواند عابر پیاده را از موتور سیکلت تفکیک کند، رنگ خودرو و مدل خودرو را شناسایی کند، کلاه ایمنی موتور سیکلت را تشخیص دهد و در واقع در یک عرصه تصویر تمامی ‌اشیا را کلاسه‌بندی کرده و براساس احتیاج کاربر اطلاعات را تفکیک شده در اختیار ما قرار دهد.
در حال حاضر بیش از صدها مدل تشخیص و کلاسه‌بندی در اینترنت موجود است. تشخیص رنگ، سن، جنسیت، تشخیص رفتار (خوردن، آشامیدن، صحبت کردن با موبایل، رفتار خشونت‌آمیز و…)، تفکیک انسان از حیوان، تفکیک خودروهای سنگین و سبک و … از جمله مواردی است که قابل شناسایی هستند.
این موارد قبلا به گونه دیگر و در سطح ابتدایی‌تر قابل تشخیص بودند به عنوان مثال فقط جسم متحرک قابل تشخیص بود، اینکه آن جسم انسان است یا حیوان مشخص نبود یا وسیله نقلیه قابل تشخیص بود ولی نوع آن اعم از اینکه موتور سیکلت، سواری یا ماشین سنگین است قابل تفکیک نبود. این تفاوت در تشخیص دقیقا به دلیل فراهم نبودن سخت‌افزار مورد نیاز بوده است.
شرکت‌ها و غول‌های سخت‌افزاری بسیار بزرگی پیشرو در این زمینه هستند، چرا که استنتاج و استخراج این اطلاعات نیاز به فراهم بودن سخت‌افزار دارد. شرکت اینتل با ارایه cpu و gpu در نسل‌های متفاوت دقیقا در پیشرفت این تکنولوژی سهیم است. مایکروسافت و گوگل از جمله شرکت‌های نرم‌افزاری در این زمینه هستند. مدل‌های گفته شده در پاراگراف‌های قبلی دقیقا بر اساس پروژه‌های این شرکت‌ها هستند، به عنوان مثال TensorFlow, Caffe, PyTorch, Kera, ONNX ارایه‌دهنده مدل‌های متن آزاد بوده که می‌توان نسبت به بهینه‌سازی و بومی‌سازی آنها در نرم‌افزارهای ایرانی استفاده کرد.
*مهندس برق مخابرات


Comments are closed, but trackbacks and pingbacks are open.