زمان تخمینی مطالعه: 17 دقیقه

بینایی کامپیوتر چیست و چگونه کار می‌کند؟ این مقاله راهنمای کاملی برای Computer Vision، یکی از زمینه‌های کلیدی هوش مصنوعی (AI) ارائه می‌دهد. در ادامه، هر آنچه را که باید در مورد فناوری هوش مصنوعی بصری و چشم انداز آن باید بدانید را پوشش خواهیم داد. مطالب ارائه شده در این مقاله به شرح زیر است:

مفهوم بینایی کامپیوتر

بینایی کامپیوتر(Computer Vision) رشته‌ای از هوش مصنوعی (AI) است که با روش‌های محاسباتی برای کمک به رایانه‌ها در درک و تفسیر محتوای تصاویر و ویدیوهای دیجیتال سروکار دارد. از این رو، هدف بینایی کامپیوتر این است که رایانه‌ها ورودی داده‌های بصری را از دوربین‌ها یا حسگرها ببینند و درک کنند. اگر هوش مصنوعی رایانه‌ها را قادر می‌سازد فکر کنند، بینایی کامپیوتری آنها را قادر می‌سازد که ببینند، مشاهده کنند و بفهمند.

بر اساس تعریفی دیگر بینایی کامپیوتر حوزه‌ای از علم هوش مصنوعی است که از یادگیری ماشین و شبکه‌های عصبی استفاده می‌کند تا به رایانه‌ها و سیستم‌ها بیاموزد تا اطلاعات معنی‌داری را از تصاویر دیجیتال، ویدئوها و سایر ورودی‌های بصری استخراج کنند – و در صورت مشاهده نقص یا مشکل، توصیه‌ها یا اقداماتی را انجام دهند.

وظیفه اصلی بینایی کامپیوتری این است که سیستم‌های رایانه‌ای را قادر سازد تا به طور خودکار جهان بصری را مشاهده کرده، شناسایی و درک کنند و بینایی انسان را با استفاده از روش‌های محاسباتی شبیه‌سازی کنند. در واقع هدف بینایی کامپیوتری تقلید مصنوعی بینایی انسان بوسیله قادر ساختن کامپیوترها به درک معنادار محرک‌های بصری است. بنابراین به آن ادراک ماشین یا بینایی ماشین نیز می‌گویند. در حالی که مشکل “بینایی” به طور پیش پا افتاده توسط انسان‌ها (حتی توسط کودکان) انجام می‌گیرد، بینایی محاسباتی همچنان یکی از چالش برانگیزترین زمینه‌ها در علوم کامپیوتر است، که این موضوع به دلیل پیچیدگی عظیم دنیای فیزیکی و متفاوت بودن ساختار جهان پیرامون ما است.

بینایی انسان مبتنی بر یک عمر یادگیری با زمینه(Context) برای آموزش نحوه شناسایی اشیاء خاص یا تشخیص چهره یا انسان در صحنه‌های بصری است. از این رو، فناوری بینایی مصنوعی مدرن از یادگیری ماشینی و روش‌های یادگیری عمیق برای آموزش ماشین‌ها در مورد نحوه تشخیص اشیا، چهره‌ها یا افراد در صحنه‌های بصری استفاده می‌کند. در نتیجه، سیستم‌های بینایی کامپیوتری از الگوریتم‌های پردازش تصویر استفاده می‌کنند تا کامپیوترها بتوانند اشیاء و محیط اطرافشان را از داده‌های ارائه‌شده توسط دوربین بیابد، طبقه‌بندی کند و تجزیه و تحلیل انجام دهد.

سیستم‌های بینایی کامپیوتری برای بازرسی محصولات، زیرساخت‌های نظارت یا دارایی‌های تولیدی، آموزش داده می‌شوند تا هزاران محصول یا فرآیند را در زمان واقعی تجزیه و تحلیل کنند و متوجه نقص یا مشکل شوند. این تکنولوژی به دلیل سرعت، عینیت، تداوم، دقت و مقیاس‌پذیری می‌تواند به سرعت از توانایی‌های انسان در بینایی پیشی بگیرد. آخرین مدل‌های یادگیری عمیق در کارهای تشخیص تصویر در دنیای واقعی مانند تشخیص چهره، تشخیص اشیا و طبقه‌بندی تصویر به دقت و عملکرد بالاتر از سطح انسانی دست می‌یابند. برنامه‌های کاربردی بینایی کامپیوتر در طیف گسترده‌ای از صنایع، از تصویربرداری امنیتی و پزشکی گرفته تا تولید، خودروسازی، کشاورزی، ساخت و ساز، شهر هوشمند، حمل و نقل و بسیاری دیگر از زمینه‌ها استفاده می‌شود. همانطور که فناوری هوش مصنوعی پیشرفت می‌کند و انعطاف پذیرتر و مقیاس پذیرتر می‌شود، موارد استفاده به میزان قابل توجهی امکان‌پذیر و از نظر اقتصادی مقرون به صرفه می‌شود.

بر اساس تجزیه و تحلیل بازار بینایی هوش مصنوعی توسط Verified Market Research (نوامبر 2022)، ارزش هوش مصنوعی در بازار بینایی کامپیوتر در سال 2021 به 12 میلیارد دلار رسید و پیش‌بینی می‌شود تا سال 2030 به 205 میلیارد دلار برسد. بر این اساس، بازار بینایی رایانه به سرعت در حال رشد است.

کامپیوتر ویژن چگونه کار می‌کند؟

به طور کلی، بینایی کامپیوتر در سه مرحله اساسی کار می‌کند:

یادگیری ماشین در بینایی کامپیوتری برای آموزش یک الگوریتم یادگیری عمیق که بتواند تصاویر را به دقت تشخیص دهد، به مقدار زیادی داده نیاز دارد. به عنوان مثال، برای آموزش یک کامپیوتر برای تشخیص کلاه ایمنی، باید مقادیر زیادی از تصاویر کلاه ایمنی با افرادی که در صحنه‌های مختلف کلاه ایمنی به سر دارند، به آن داده می‌شود تا ویژگی‌های کلاه ایمنی را یاد بگیرد. در مرحله بعد، الگوریتم آموزش دیده را می‌توان برای تصاویری که به تازگی تولید شده است، به عنوان مثال، فیلم‌های دوربین‌های نظارتی، برای تشخیص کلاه ایمنی اعمال کرد. به عنوان مثال، این مورد در برنامه‌های بینایی کامپیوتری برای بازرسی تجهیزات برای کاهش حوادث در ساخت و ساز یا تولید استفاده می‌شود.

تشخیص کلاه ایمنی مبتنی بر بینایی کامپیوتر

برای آموزش یک الگوریتم برای بینایی کامپیوتری، فناوری‌های پیشرفته از یادگیری عمیق، زیرمجموعه‌ای از یادگیری ماشینی استفاده می‌شود. بسیاری از روش‌های با کارایی بالا در نرم‌افزارهای بینایی کامپیوتری مدرن مبتنی بر شبکه عصبی کانولوشنال (CNN) هستند. چنین شبکه‌های عصبی لایه‌ای برای قادر ساختن رایانه به یادگیری زمینه(Context) داده‌های بصری از تصاویر استفاده می‌شوند. اگر داده‌های کافی در دسترس باشد، کامپیوتر یاد می‌گیرد که چگونه یک تصویر را از تصویر دیگر تشخیص دهد. همانطور که داده‌های تصویر از طریق مدل تغذیه می‌شوند، کامپیوتر از CNN برای “نگاه” به داده‌ها استفاده می‌کند. CNN به یک مدل یادگیری ماشینی/یادگیری عمیق کمک می‌کند تا تصاویر را با شکستن آنها به پیکسل‌هایی که برچسب‌هایی برای آموزش ویژگی‌های خاص، به اصطلاح حاشیه‌نویسی تصویر، داده شده‌اند، درک کند. مدل هوش مصنوعی از برچسب‌ها برای انجام پیچیدگی‌ها و پیش‌بینی‌هایی در مورد آنچه که «می‌بیند» استفاده می‌کند و صحت پیش‌بینی‌ها را به طور مکرر بررسی می‌کند تا زمانی که پیش‌بینی‌ها به انتظارات نزدیک شوند و به آنها برسند.

شبکه عصبی کانولوشنال(CNN) برای تشخیص شی ماشین در تصویر.

در بینایی کامپیوتر، شبکه‌های عصبی اساساً تصمیم‌گیری انسان را شبیه‌سازی می‌کنند و یادگیری عمیق ماشین را آموزش می‌دهد تا کاری را که مغز انسان به طور طبیعی انجام می‌دهد انجام دهد. ساختار لایه‌ای مشخصه شبکه‌های عصبی عمیق، پایه و اساس شبکه‌های عصبی مصنوعی (ANN) است. هر لایه به دانش لایه قبلی می‌افزاید.

وظایف یادگیری عمیق از نظر محاسباتی سنگین و پرهزینه هستند، بسته به منابع محاسباتی قابل توجه، و برای آموزش مدل‌ها به مجموعه داده های‌عظیمی نیاز دارند. در مقایسه با پردازش تصویر سنتی، الگوریتم‌های یادگیری عمیق، ماشین‌ها را قادر می‌سازند تا خودشان یاد بگیرند، بدون اینکه توسعه‌دهنده آن را برنامه‌ریزی کند تا تصویری را بر اساس ویژگی‌های از پیش تعیین‌شده تشخیص دهد. در نتیجه، روش‌های یادگیری عمیق به دقت بسیار بالایی دست می‌یابند. امروزه، یادگیری عمیق ماشین‌ها را قادر می‌سازد تا به عملکردی در سطح انسانی در وظایف تشخیص تصویر دست یابند. به عنوان مثال، در تشخیص چهره عمیق، مدل‌های هوش مصنوعی به دقت تشخیصی بالایی(به عنوان مثال، Google FaceNet با دقت 99.63٪) دست می‌یابند که بالاتر از دقتی است که انسان می‌تواند به آن دست یابد که در حدود 97.53٪ است. بینایی محاسباتی(Computational vision) با یادگیری عمیق همچنین به عملکرد انسان در طبقه‌بندی سرطان پوست با سطح شایستگی قابل مقایسه با متخصصان پوست دست یافته است.

مقایسه دقت تشخیص سرطان پوست توسط متخصصین پوست و مدل‌های بینایی کامپیوتر

سیستم بینایی کامپیوتری چیست؟

سیستم‌های بینایی کامپیوتری مدرن پردازش تصویر را با تکنیک‌های یادگیری ماشینی و یادگیری عمیق ترکیب می‌کنند. از این رو، توسعه دهندگان نرم افزارهای مختلف (OpenCV یا OpenVINO و غیره) و الگوریتم‌های هوش مصنوعی را برای ایجاد یک فرآیند چند مرحله‌ای، یک خط لوله بینایی کامپیوتر با هم ترکیب می‌کنند. سازماندهی و راه اندازی یک سیستم بینایی کامپیوتری بر اساس کاربرد و مورد استفاده متفاوت است. با این حال، تمام سیستم‌های بینایی کامپیوتری دارای عملکردهای معمولی یکسانی هستند:

  1. ثبت تصویر Image acquisition: تصویر دیجیتال یک دوربین یا حسگر تصویر داده‌های تصویر یا فیلم را ارائه می‌دهد. از نظر فنی، از هر دوربین یا سنسور دو بعدی یا سه بعدی می‌توان برای ارائه فریم‌های تصویر استفاده کرد.
  2. پیش پردازش: ورودی تصویر خام دوربین‌ها برای بهینه‌سازی عملکرد وظایف بعدی بینایی کامپیوتری باید از قبل پردازش شود. پیش پردازش شامل کاهش نویز، افزایش کنتراست، مقیاس‌بندی مجدد یا برش تصویر است.
  3. الگوریتم بینایی کامپیوتری: الگوریتم پردازش تصویر، که رایج‌ترین مدل یادگیری عمیق (مدل DL) است، تشخیص تصویر، تشخیص شی، تقسیم‌بندی تصویر و طبقه‌بندی را بر روی هر تصویر یا فریم ویدیو انجام می‌دهد.
  4. منطق اتوماسیون: اطلاعات خروجی الگوریتم هوش مصنوعی باید با قوانین شرطی بر اساس موارد استفاده پردازش شود. این بخش بر اساس اطلاعات به دست آمده از کار بینایی کامپیوتر، اتوماسیون را انجام می‌دهد. به عنوان مثال، برای برنامه‌های بازرسی خودکار، مطابقت یا عدم تطابق در سیستم‌های شناسایی، علامت‌گذاری برای بازبینی انسانی در برنامه‌های بیمه، نظارت و امنیت، نظامی یا پزشکی.
استفاده از بینایی کامپیوتر در کشاورزی.

بهترین مدل‌های یادگیری عمیق بینایی کامپیوتر امروزی

در بینایی کامپیوتر، به طور خاص، تشخیص اشیا در زمان واقعی، خانواده الگوریتم‌های تک مرحله‌ای و چند مرحله‌ای وجود دارد.

تاریخچه فناوری بینایی کامپیوتر

در سال‌های اخیر، فناوری‌های یادگیری عمیق جدید به پیشرفت‌های بزرگی به ویژه در تشخیص تصویر و تشخیص اشیا دست یافته‌اند.

روندهای فعلی در بینایی کامپیوتر و تکنولوژی روز

آخرین روندها، محاسبات لبه را با یادگیری ماشین روی دستگاه ترکیب می‌کنند، روشی که Edge AI نیز نامیده می‌شود. انتقال پردازش هوش مصنوعی از کلاد به دستگاه‌های لبه امکان اجرای یادگیری ماشین بینایی کامپیوتری را در همه جا ممکن کرده و ساخت برنامه‌های کاربردی مقیاس‌پذیر را تسهیل می‌کند. ما شاهد روندی در کاهش هزینه‌های بینایی رایانه‌ای هستیم که ناشی از راندمان محاسباتی بالاتر، کاهش هزینه‌های سخت‌افزاری و فناوری‌های جدید (فشرده‌سازی مدل، کم‌کد/بدون کد، اتوماسیون) است. در نتیجه، برنامه‌های کاربردی بینایی کامپیوتری بیشتر و بیشتر ممکن و از نظر اقتصادی امکان‌پذیر شده‌اند.

مهمترین ترندهای کامپیوتر ویژن در حال حاضر عبارتند از:

  1. تجزیه و تحلیل ویدیو بلادرنگ(Real-time) : سیستم‌های بینایی ماشین سنتی معمولاً به دوربین‌های خاص و تنظیمات بسیار استاندارد بستگی دارند. در مقابل، الگوریتم‌های یادگیری عمیق مدرن بسیار قوی‌تر بوده دارای قابلیت استفاده مجدد و آموزش مجدد آسان‌تر هستند و امکان توسعه برنامه‌های کاربردی در سراسر صنایع را فراهم می‌کنند. روش‌های مدرن بینایی کامپیوتری یادگیری عمیق می‌توانند جریان‌های ویدیویی دوربین‌های نظارتی معمولی و ارزان قیمت یا وب‌کم‌ها را برای انجام تجزیه و تحلیل ویدیویی هوش مصنوعی پیشرفته تجزیه و تحلیل کنند.
  2. بهینه‌سازی و استقرار مدل هوش مصنوعی: پس از یک دهه آموزش یادگیری عمیق، با هدف بهبود دقت و عملکرد الگوریتم‌ها، اکنون وارد عصر استقرار یادگیری عمیق می‌شویم. بهینه‌سازی مدل هوش مصنوعی و معماری‌های جدید این امکان را فراهم می‌کند که اندازه مدل‌های یادگیری ماشین را به شدت کاهش دهد و در عین حال کارایی محاسباتی را افزایش دهد. این امر امکان اجرای بینایی کامپیوتری با یادگیری عمیق را بدون وابستگی به سخت‌افزار و پردازنده‌های گرافیکی هوش مصنوعی گران‌قیمت در مراکز داده ممکن می‌سازد.
  3. شتاب دهنده‌های هوش مصنوعی سخت افزاری: در سال‌های اخیر با رونق تراشه‌های یادگیری عمیق با کارایی بالا مواجه هستیم که به طور فزاینده‌ای از نظر انرژی کارآمد هستند و روی دستگاه‌های کوچک و رایانه‌های لبه‌ای اجرا می‌شوند. سخت‌افزار رایج هوش مصنوعی یادگیری عمیق فعلی شامل دستگاه‌های محاسباتی لبه‌ای مانند رایانه‌های جاسازی شده و دستگاه‌های SoC، از جمله Nvidia Jetson Tx2، Intel NUC یا Google Coral است. شتاب دهنده‌های هوش مصنوعی برای شبکه‌های عصبی را می‌توان به سیستم‌های محاسباتی تعبیه شده متصل کرد. محبوب‌ترین شتاب‌دهنده‌های هوش مصنوعی شبکه عصبی سخت افزاری عبارتند از Intel Myriad X VPU، Google Coral یا Nvidia NVDLA.
  4. بینایی کامپیوتر Edge: هوش مصنوعی Edge که Edge Intelligence یا ML روی دستگاه نیز نامیده می‌شود، از محاسبات لبه و اینترنت اشیا (IoT) برای انتقال یادگیری ماشین از کلاود به دستگاه‌های لبه در نزدیکی منبع داده مانند دوربین‌ها استفاده می‌کند. با حجم عظیم و هنوز هم به طور تصاعدی در حال رشد حجم داده‌های تولید شده در لبه، هوش مصنوعی نیاز به تجزیه و تحلیل و درک داده‌ها به صورت بلادرنگ و بدون به خطر انداختن حریم خصوصی و امنیت داده‌های بصری دارد.
  5. برنامه‌های کاربردی بینایی کامپیوتری در دنیای واقعی: بینایی کامپیوتر در لبه از مزایای ابر و لبه استفاده می‌کند تا فناوری بینایی کامپیوتر مبتنی بر هوش مصنوعی را مقیاس‌پذیر و انعطاف‌پذیر کند. این مفهوم از اجرای برنامه‌های کاربردی در دنیای واقعی پشتیبانی می‌کند. بینایی کامپیوتر روی دستگاه به بارگذاری داده‌ها و پردازش متمرکز تصویر ناکارآمد در فضای ابری بستگی ندارد. همچنین، Edge CV به طور کامل به اتصال بستگی ندارد و به پهنای باند بسیار کمتر و تاخیر کمتری نیاز دارد، به ویژه در تجزیه و تحلیل ویدئو. بنابراین، Edge CV امکان توسعه برنامه‌های کاربردی خصوصی، قوی، امن و حیاتی در دنیای واقعی را فراهم می‌کند. از آنجایی که هوش مصنوعی Edge شامل اینترنت اشیا (AIoT) برای مدیریت دستگاه‌های توزیع شده است، عملکرد برتر Edge CV به قیمت افزایش پیچیدگی فنی تمام می‌شود.

کاربردهای بینایی کامپیوتر

شرکت‌ها به سرعت در حال معرفی فناوری بینایی کامپیوتری در سراسر صنایع هستند تا مشکلات اتوماسیون را با رایانه‌هایی که می‌توانند ببینند حل کنند. فناوری هوش مصنوعی بصری به سرعت در حال پیشرفت است و امکان نوآوری و اجرای ایده‌ها، پروژه‌ها و برنامه‌های جدید از جمله موارد زیر را دارا هستند:

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *