Computer Vision چیست؟ هوش مصنوعی چگونه تصاویر را میفهمد؟
تصور کنید دوربین گوشیتان را به سمت یک خیابان شلوغ گرفتهاید. شما در یک نگاه میتوانید ماشینها، عابران، تابلوهای خیابان، چراغ راهنمایی و حتی نوشتههای روی یک فروشگاه را تشخیص دهید.
مغز انسان این کار را تقریباً بدون اینکه متوجه فرایند آن شود انجام میدهد. اما اگر همین تصویر را به یک کامپیوتر بدهیم، داستان کاملاً متفاوت است.
کامپیوتر در نگاه اول چیزی به نام «ماشین»، «آدم» یا «درخت» نمیبیند؛ بلکه با مجموعهای از دادهها و پیکسلها روبهرو است.
اینجاست که Computer Vision یا بینایی کامپیوتری وارد میشود.
بینایی کامپیوتری یکی از مهمترین حوزههای هوش مصنوعی است که تلاش میکند به ماشینها توانایی دریافت، پردازش و تفسیر اطلاعات موجود در تصاویر و ویدئوها را بدهد.
از تشخیص چهره در تلفن همراه گرفته تا خودروهای خودران، تشخیص عیب در کارخانهها، خواندن اسناد با OCR، تحلیل تصاویر پزشکی و حتی قابلیتهای هوشمند دوربینهای امنیتی، بخش بزرگی از فناوریهایی که امروزه با تصویر سروکار دارند به نوعی از Computer Vision وابستهاند.
اما سؤال جذاب اینجاست:
کامپیوتر واقعاً چگونه یک تصویر را میبیند و متوجه میشود داخل آن چیست؟
در این مقاله از وبلاگ مایا، قرار است Computer Vision را از پایه بشناسیم و ببینیم این فناوری چگونه کار میکند، چه کاربردهایی دارد، چه تفاوتی با پردازش تصویر دارد و آینده آن به کدام سمت میرود.
Computer Vision چیست؟
Computer Vision یا بینایی کامپیوتری شاخهای از هوش مصنوعی است که به کامپیوترها کمک میکند اطلاعات موجود در تصاویر و ویدئوها را دریافت، تحلیل و تفسیر کنند.
اگر بخواهیم خیلی ساده بگوییم:
Computer Vision تلاش میکند به کامپیوتر توانایی «دیدن و درک کردن» دنیای بصری را بدهد.
البته کلمه «دیدن» در مورد کامپیوتر دقیقاً به معنای دیدن انسان نیست.
انسان وقتی به یک عکس نگاه میکند، ممکن است فوراً متوجه شود که یک سگ کنار یک ماشین ایستاده است. اما کامپیوتر ابتدا تصویر را به داده تبدیل میکند و سپس با استفاده از الگوریتمها و مدلهای هوش مصنوعی، الگوهای موجود در آن دادهها را بررسی میکند.
برای مثال، یک سیستم Computer Vision میتواند در یک تصویر تشخیص دهد:
چند نفر حضور دارند.
کدام بخش تصویر مربوط به خودرو است.
چهره افراد کجاست.
متن موجود در تصویر چیست.
یک محصول چه شکلی دارد.
آیا یک شیء خاص در تصویر وجود دارد یا خیر.
بنابراین Computer Vision فقط «دیدن تصویر» نیست؛ بلکه تلاش برای استخراج اطلاعات معنادار از تصویر است.
برای آشنایی با مفهوم گستردهتر هوش مصنوعی و جایگاه Computer Vision در آن، میتوانید مقاله [هوش مصنوعی چیست؟] را نیز مطالعه کنید.
چرا کامپیوتر به Computer Vision نیاز دارد؟
تصاویر بخش بزرگی از اطلاعات دنیای واقعی را تشکیل میدهند.
روزانه میلیاردها تصویر و ویدئو توسط دوربینهای تلفن همراه، دوربینهای امنیتی، ماهوارهها، تجهیزات پزشکی، خودروها و دستگاههای صنعتی تولید میشوند ؛اما حجم بالای تصویر به تنهایی چندان مفید نیست؛ چیزی که اهمیت دارد توانایی استخراج اطلاعات از آنها است.
فرض کنید یک کارخانه هر روز هزاران محصول تولید میکند و برای کنترل کیفیت از دوربین استفاده میکند.
یک انسان میتواند تصاویر را بررسی کند، اما بررسی تکتک محصولات زمانبر، پرهزینه و گاهی همراه با خطای انسانی است.
یک سیستم Computer Vision میتواند تصاویر محصولات را بررسی کرده و در صورت مشاهده مواردی مانند:
ترک
خط و خش
تغییر شکل
نقص ظاهری
اشتباه در بستهبندی
آنها را شناسایی و برای بررسی بیشتر علامتگذاری کند.
اینجاست که بینایی کامپیوتری از یک فناوری جذاب به یک ابزار کاربردی تبدیل میشود.
کامپیوتر یک تصویر را چگونه میبیند؟
این یکی از مهمترین سؤالها درباره Computer Vision است.
وقتی انسان به یک عکس نگاه میکند، تصویر را به عنوان یک صحنه میبیند.
اما کامپیوتر در ابتدا با اعداد مواجه است.
یک تصویر دیجیتال از تعداد زیادی نقطه کوچک به نام پیکسل (Pixel) تشکیل شده است.
هر پیکسل اطلاعاتی درباره رنگ و شدت روشنایی یک بخش بسیار کوچک از تصویر دارد.
وقتی تعداد بسیار زیادی از این پیکسلها کنار هم قرار میگیرند، تصویری را تشکیل میدهند که ما میتوانیم آن را ببینیم.
مدل هوش مصنوعی از همین دادهها شروع میکند.
به زبان ساده، فرایند میتواند چیزی شبیه این باشد:
تصویر← دادههای تصویری←استخراج ویژگیها ← تشخیص الگو ←تفسیر ← نتیجه
البته سیستمهای واقعی بسیار پیچیدهتر از این توضیح ساده هستند، اما همین تصویر ذهنی برای درک مفهوم Computer Vision کافی است.
پیکسل چیست و چه نقشی در بینایی کامپیوتری دارد؟
اگر یک عکس را آنقدر بزرگ کنید که نقاط تشکیلدهنده آن را ببینید، با تعداد زیادی مربع کوچک روبهرو میشوید.
هر یک از این مربعها یک پیکسل است.
برای مثال، یک تصویر با ابعاد 1920 در 1080 از تعداد بسیار زیادی پیکسل تشکیل شده است.
در تصاویر رنگی، هر پیکسل معمولاً اطلاعات مربوط به کانالهای رنگی مختلف را در خود دارد.
مدل هوش مصنوعی با بررسی این اطلاعات و روابط میان پیکسلهای مختلف، به تدریج الگوهای پیچیدهتر را تشخیص میدهد.
اما یک سؤال مهم باقی میماند:
چطور از چند میلیون پیکسل میتوان به مفهوم «چهره انسان» یا «خودرو» رسید؟
پاسخ در مدلهای یادگیری ماشین و یادگیری عمیق است.
Computer Vision چگونه کار میکند؟
برای اینکه یک سیستم بینایی کامپیوتری بتواند تصاویر را تحلیل کند، معمولاً چند مرحله اصلی وجود دارد.
1. دریافت تصویر
اولین مرحله دریافت تصویر یا ویدئو است.
این تصویر میتواند از منابع مختلفی به دست آید:
دوربین موبایل
دوربین امنیتی
دوربین صنعتی
تصاویر ماهوارهای
تجهیزات پزشکی
وبکم
تصاویر ذخیرهشده
2. آمادهسازی تصویر
گاهی تصویر قبل از ورود به مدل نیاز به پردازش دارد.
برای مثال ممکن است اندازه تصویر تغییر کند، نویز کاهش پیدا کند یا کیفیت و روشنایی آن اصلاح شود.
هدف این مرحله این است که داده تصویری برای پردازش آماده شود.
3. استخراج ویژگیها
مدل باید بتواند الگوهای موجود در تصویر را پیدا کند.
در مراحل مختلف ممکن است ویژگیهایی مانند:
لبهها
خطوط
شکلها
بافتها
الگوهای پیچیدهتر
شناسایی شوند.
مدلهای یادگیری عمیق میتوانند بسیاری از این ویژگیها را به شکل خودکار از دادههای آموزشی یاد بگیرند.
4. تشخیص الگو
مدل پس از بررسی ویژگیهای تصویر تلاش میکند الگوهای آموختهشده را با اطلاعات تصویر جدید مقایسه کند.
مثلاً اگر مدل با تصاویر بسیار زیادی از خودرو آموزش دیده باشد، میتواند در تصویر جدید به دنبال الگوهایی بگردد که با خودروها سازگار هستند.
5. تولید نتیجه
در نهایت سیستم میتواند نتیجهای ارائه کند.
مثلاً:
«در تصویر یک خودرو وجود دارد»
یا:
«این تصویر احتمالاً مربوط به یک گربه است»
یا:
«در این سند متن زیر دیده میشود»
در سیستمهای پیشرفتهتر، خروجی میتواند بسیار پیچیدهتر باشد و شامل چندین شیء، موقعیت آنها و اطلاعات مربوط به هرکدام شود.
یادگیری ماشین چه نقشی در Computer Vision دارد؟
Computer Vision و یادگیری ماشین ارتباط بسیار نزدیکی با یکدیگر دارند.
در روشهای قدیمیتر، بسیاری از ویژگیهای تصویر باید توسط انسان و با استفاده از قوانین مشخص تعریف میشدند.
اما با پیشرفت Machine Learning و بهخصوص Deep Learning، مدلها توانستند بسیاری از الگوهای مورد نیاز برای تشخیص تصویر را از دادههای آموزشی یاد بگیرند.
برای مثال، اگر بخواهیم مدلی برای تشخیص گربه آموزش دهیم، میتوانیم مجموعه بزرگی از تصاویر دارای گربه و تصاویر بدون گربه در اختیار مدل قرار دهیم.
مدل با بررسی این دادهها به تدریج الگوهایی را یاد میگیرد که به تشخیص گربه کمک میکنند.
این همان جایی است که حجم و کیفیت داده آموزشی اهمیت زیادی پیدا میکند.
Deep Learning چه تغییری در Computer Vision ایجاد کرد؟
یکی از مهمترین اتفاقات در پیشرفت بینایی کامپیوتری، استفاده گسترده از یادگیری عمیق یا Deep Learning بود.
شبکههای عصبی عمیق توانستند در بسیاری از وظایف بینایی کامپیوتری عملکرد بسیار قدرتمندی ارائه دهند.
یکی از معماریهای معروف در این حوزه، CNN یا شبکه عصبی کانولوشنی (Convolutional Neural Network) است.
CNNها برای پردازش دادههای تصویری بسیار مناسب هستند و میتوانند الگوهای مختلف را در تصاویر شناسایی کنند.
در سالهای اخیر نیز معماریها و مدلهای جدیدتری در حوزه بینایی کامپیوتری توسعه پیدا کردهاند و مرزهای این فناوری را گستردهتر کردهاند.
مهمترین کاربردهای Computer Vision چیست؟
شاید بهترین راه برای درک اهمیت Computer Vision، نگاه کردن به کاربردهای واقعی آن باشد.
تشخیص چهره
یکی از شناختهشدهترین کاربردهای بینایی کامپیوتری، تشخیص چهره است.
گوشیهای هوشمند میتوانند چهره کاربر را در تصویر تشخیص دهند و از آن برای قابلیتهایی مانند باز کردن قفل دستگاه استفاده کنند.
البته تشخیص چهره با شناسایی هویت فرد یکسان نیست و این دو مفهوم باید از یکدیگر تفکیک شوند.
تشخیص اشیا
در این روش، سیستم فقط مشخص نمیکند تصویر متعلق به چه چیزی است؛ بلکه تلاش میکند اشیای مختلف داخل تصویر را نیز پیدا کند.
مثلاً در یک خیابان میتواند:
خودرو
موتورسیکلت
عابر
دوچرخه
چراغ راهنمایی
را تشخیص دهد و محل تقریبی هرکدام را مشخص کند.
این فناوری در حوزههایی مانند خودروهای هوشمند، سیستمهای نظارتی و رباتیک اهمیت زیادی دارد.
OCR خواندن متن از تصویر
یکی از کاربردهای بسیار مهم Computer Vision، استخراج متن از تصاویر و اسناد است.
این فناوری با نام OCR یا Optical Character Recognition شناخته میشود.
برای مثال، تصور کنید از یک صفحه کتاب، فاکتور، کارت شناسایی یا سند عکس گرفتهاید.
OCR میتواند متن موجود در تصویر را شناسایی و آن را به داده قابل پردازش تبدیل کند.
این فناوری در دیجیتالی کردن اسناد، اتوماسیون اداری و پردازش اطلاعات کاربرد گستردهای دارد.
مایا نیز در حوزه OCR فعالیت دارد و این فناوری میتواند یکی از کاربردهای مهم بینایی کامپیوتری در کسبوکارها باشد.
تشخیص عیب در کارخانهها
در صنایع تولیدی، دوربینها میتوانند محصولات را بررسی کنند.
یک مدل Computer Vision میتواند برای شناسایی نقصهای ظاهری آموزش داده شود و محصولاتی را که احتمالاً مشکل دارند مشخص کند.
این موضوع میتواند به افزایش سرعت کنترل کیفیت و کاهش خطای انسانی کمک کند.
خودروهای خودران
خودروهای خودران باید بتوانند محیط اطراف خود را درک کنند.
برای این کار، سیستمهای مختلفی از حسگرها و دوربینها استفاده میکنند.
Computer Vision میتواند در تشخیص مواردی مانند:
خودروها
عابران
خطوط جاده
علائم رانندگی
چراغهای راهنمایی
موانع
نقش داشته باشد.
البته خودروهای خودران تنها به Computer Vision وابسته نیستند و از مجموعهای از فناوریهای مختلف برای درک محیط و تصمیمگیری استفاده میکنند.
پزشکی و تحلیل تصاویر پزشکی
یکی دیگر از کاربردهای مهم Computer Vision، حوزه پزشکی است.
مدلهای هوش مصنوعی میتوانند برای تحلیل تصاویر پزشکی مانند تصاویر رادیولوژی و سایر دادههای تصویری مورد استفاده قرار گیرند.
این فناوری میتواند به متخصصان در بررسی تصاویر و پیدا کردن الگوهای خاص کمک کند.
اما نکته بسیار مهم این است که استفاده از AI در پزشکی نیازمند اعتبارسنجی علمی، نظارت متخصص و رعایت الزامات ایمنی است.
هوش مصنوعی نباید بدون نظارت متخصص، جایگزین تصمیم پزشکی شود.
واقعیت افزوده و واقعیت مجازی
Computer Vision در فناوریهای AR و VR نیز نقش مهمی دارد.
سیستم باید بتواند محیط، اشیا و موقعیت کاربر را درک کند تا بتواند عناصر دیجیتال را به شکل مناسب روی دنیای واقعی قرار دهد یا تعامل طبیعیتری ایجاد کند.
برای آشنایی بیشتر با این موضوع میتوانید مقاله مایا درباره هوش مصنوعی و AR/VR را نیز مطالعه کنید.
تفاوت Computer Vision و Image Processing چیست؟
این دو اصطلاح گاهی به جای یکدیگر استفاده میشوند، اما دقیقاً یک معنی ندارند.
Image Processing یا پردازش تصویر بیشتر به عملیات انجامشده روی خود تصویر مربوط میشود.
برای مثال:
تغییر اندازه
افزایش روشنایی
کاهش نویز
تغییر کنتراست
فیلتر کردن تصویر
بهبود کیفیت تصویر
اما Computer Vision یک گام فراتر میرود و تلاش میکند از تصویر اطلاعات و مفهوم استخراج کند.
برای مثال:
Image Processing: تصویر را روشنتر میکند.
Computer Vision: تشخیص میدهد که در تصویر یک انسان وجود دارد.
البته این دو حوزه میتوانند در یک سیستم واحد در کنار یکدیگر استفاده شوند.
تفاوت Image Classification، Object Detection و Image Segmentation چیست؟
اگر وارد دنیای Computer Vision شوید، احتمالاً با این سه اصطلاح زیاد مواجه خواهید شد.
Image Classification چیست؟
در طبقهبندی تصویر، مدل تلاش میکند مشخص کند تصویر به چه دستهای تعلق دارد.
مثلاً:
«این تصویر یک گربه است»
Object Detection چیست؟
در تشخیص اشیا، مدل علاوه بر تشخیص شیء، محل آن را نیز در تصویر مشخص میکند.
مثلاً:
«در این قسمت یک خودرو وجود دارد و در قسمت دیگر یک انسان»
Image Segmentation چیست؟
در Segmentation، تصویر به بخشهای مختلف تقسیم میشود تا سیستم بتواند مشخص کند هر بخش متعلق به چه چیزی است.
این روش در کاربردهایی مانند تحلیل تصاویر پزشکی و سیستمهای پیشرفته بینایی بسیار مهم است.
آیا Computer Vision همان هوش مصنوعی است؟
خیر-Computer Vision یکی از حوزههای هوش مصنوعی است، نه کل هوش مصنوعی.
هوش مصنوعی حوزه بسیار گستردهای است و شاخهها و کاربردهای مختلفی دارد.
برای مثال:
Machine Learning
Deep Learning
Natural Language Processing
Computer Vision
Robotics
Generative AI
همگی میتوانند در اکوسیستم گسترده هوش مصنوعی قرار بگیرند.
به همین دلیل بهتر است Computer Vision را یکی از مهمترین حوزههای AI برای کار با اطلاعات بصری بدانیم.
آیا Computer Vision همیشه درست عمل میکند؟
خیر-این نکته بسیار مهم است:
ممکن است یک سیستم بینایی کامپیوتری در شرایط خاص دچار خطا شود.
برای مثال:
تصویر کیفیت پایینی داشته باشد.
نور محیط مناسب نباشد.
شیء از زاویه غیرمعمول دیده شود.
بخشی از شیء پوشانده شده باشد.
دادههای آموزشی کافی نباشد.
دادههای آموزشی سوگیری داشته باشند.
دو شیء ظاهر بسیار مشابهی داشته باشند.
به همین دلیل نباید تصور کنیم هر چیزی که توسط یک سیستم Computer Vision تشخیص داده میشود، الزاماً درست است.
کیفیت مدل، داده آموزشی، شرایط استفاده و روش ارزیابی همگی اهمیت دارند.
حریم خصوصی در Computer Vision
هر فناوری قدرتمندی میتواند در کنار مزایای خود، چالشهایی نیز داشته باشد.
Computer Vision بهخصوص زمانی که با چهره، تصاویر افراد یا دوربینهای نظارتی سروکار دارد، موضوع حریم خصوصی و امنیت دادهها را جدیتر میکند.
مثلاً اگر یک سیستم بتواند افراد را در تصاویر تشخیص دهد، باید مشخص باشد:
دادهها کجا ذخیره میشوند؟
چه کسی به آنها دسترسی دارد؟
اطلاعات برای چه هدفی استفاده میشود؟
چه مدت نگهداری میشوند؟
آیا رضایت لازم برای استفاده از داده وجود دارد؟
بنابراین توسعه فناوری بینایی کامپیوتری فقط به بهتر شدن الگوریتمها محدود نمیشود؛ امنیت، حریم خصوصی و استفاده مسئولانه از دادهها نیز اهمیت بسیار زیادی دارند.
برای مطالعه بیشتر در این زمینه، مقاله مایا درباره امنیت، حریم خصوصی و داده در هوش مصنوعی میتواند ادامه مناسبی برای این بحث باشد.
آینده Computer Vision چگونه خواهد بود؟
Computer Vision دیگر محدود به تشخیص ساده اشیا در تصاویر نیست.
یکی از مسیرهای مهم آینده، ترکیب بینایی کامپیوتری با مدلهای زبانی و هوش مصنوعی مولد است.
در این حالت، سیستم فقط تصویر را تشخیص نمیدهد؛ بلکه میتواند درباره محتوای تصویر نیز با کاربر تعامل داشته باشد.
مثلاً به جای اینکه فقط بگوید:
«در تصویر یک خودرو وجود دارد»
ممکن است بتواند به پرسشی مانند:
«در این تصویر چه اتفاقی در حال رخ دادن است؟»
پاسخ مفصلتری ارائه کند.
ترکیب Vision + Language میتواند زمینه را برای سیستمهای هوشمندتری فراهم کند که هم اطلاعات بصری و هم زبان انسانی را درک میکنند.
این روند میتواند در رباتیک، آموزش، صنعت، پزشکی، خودرو، تجارت و بسیاری از حوزههای دیگر اهمیت پیدا کند.
آیا هوش مصنوعی میتواند واقعاً ببیند؟
اگر منظورمان از «دیدن» همان تجربه انسانی باشد، خیر.
کامپیوتر مانند انسان تجربه ذهنی از دیدن ندارد.
آنچه اتفاق میافتد این است که سیستم دادههای تصویری را دریافت و پردازش میکند و با استفاده از مدلهای آماری و محاسباتی، الگوهایی را شناسایی میکند که میتوانند به مفاهیم قابل فهم برای انسان تبدیل شوند.
پس وقتی میگوییم:
«هوش مصنوعی تصویر را میبیند»
باید بدانیم این عبارت یک سادهسازی برای توضیح فرایند پیچیده پردازش و تفسیر دادههای تصویری است.
چرا Computer Vision اهمیت زیادی پیدا کرده است؟
ما در دنیایی زندگی میکنیم که حجم عظیمی از اطلاعات به شکل تصویر و ویدئو تولید میشود.
اگر یک سیستم هوشمند فقط بتواند متن را پردازش کند، بخش بزرگی از اطلاعات دنیای واقعی را از دست خواهد داد.
Computer Vision کمک میکند ماشینها بتوانند با اطلاعات بصری تعامل داشته باشند.
از یک فروشگاه و کارخانه گرفته تا بیمارستان، خودرو، تلفن همراه و دوربینهای هوشمند، کاربردهای این فناوری روزبهروز گستردهتر میشوند.
اما ارزش واقعی Computer Vision فقط در «تشخیص تصویر» نیست.
ارزش اصلی آن زمانی مشخص میشود که بتواند اطلاعات تصویری را به تصمیم، اقدام و بینش قابل استفاده تبدیل کند.
در آخر
Computer Vision یا بینایی کامپیوتری یکی از مهمترین حوزههای هوش مصنوعی است که تلاش میکند ماشینها را قادر به تحلیل و تفسیر تصاویر و ویدئوها کند.
کامپیوتر برخلاف انسان، تصویر را به شکل مستقیم درک نمیکند؛ بلکه آن را به دادههای قابل پردازش تبدیل میکند و با استفاده از الگوریتمهای یادگیری ماشین و یادگیری عمیق، الگوهای موجود در آن را شناسایی میکند.
از تشخیص چهره و اشیا گرفته تا OCR، خودروهای خودران، کنترل کیفیت صنعتی، پزشکی و AR/VR، کاربردهای Computer Vision بسیار گسترده هستند.
با این حال، این فناوری بیخطا نیست و موضوعاتی مانند کیفیت داده، امنیت، حریم خصوصی و نظارت انسانی همچنان اهمیت زیادی دارند.
شاید بتوان آینده Computer Vision را در یک جمله خلاصه کرد:
کامپیوترها فقط قرار نیست تصاویر را ببینند؛ قرار است بتوانند از آنچه میبینند، اطلاعات قابل استفاده استخراج کنند.
و همین توانایی میتواند یکی از پایههای مهم نسل بعدی سیستمهای هوشمند باشد.



