بینایی کامپیوتر (computer vision) چیست؟
چکیده مقاله:
بینایی کامپیوتر (computer vision) شاخه ای از علوم کامپیوتر است که بر توانمند کردن کامپیوترها برای شناسایی و درک اشیا و افراد در تصاویر و ویدیوها تمرکز دارد. مانند سایر انواع هوش مصنوعی، بینایی کامپیوتر به دنبال اجرای وظایف و خودکارسازی کارهایی است که قابلیت های انسانی را شبیه سازی می کنند. در این مورد، بینایی کامپیوتر تلاش می کند هم شیوه دیدن انسان ها و هم نحوه درک آنچه مشاهده می کنند را بازسازی کند. دامنه کاربردهای عملی فناوری بینایی کامپیوتر آن را به یک مؤلفه اصلی در بسیاری از نوآوری ها و راه حل های مدرن تبدیل کرده است. بینایی کامپیوتر می تواند به صورت ابری یا محلی اجرا شود. در ادامه راهنمای کاملی در ایباره ارائه کرده ایم با ما همراه باشید.
بینایی کامپیوتر چیست؟
بینایی کامپیوتر شاخه ای از هوش مصنوعی (AI) است که از یادگیری ماشین و شبکه های عصبی استفاده می کند تا به کامپیوترها و سیستم ها بیاموزد اطلاعات مفید را از تصاویر دیجیتال، ویدئوها و سایر ورودی های بصری استخراج کنند و در مواقع نیاز، توصیه هایی ارائه دهند یا اقداماتی انجام دهند.
اگر هوش مصنوعی کامپیوترها را قادر به “تفکر” می کند، بینایی کامپیوتر به آنها امکان “دیدن”، مشاهده و درک را می دهد.
بینایی کامپیوتر عملکردی مشابه دید انسان دارد، اما انسان از یک مزیت مهم برخوردار است: سال ها تجربه و زمینه برای تشخیص اشیا، تعیین فاصله آنها، بررسی حرکت یا شناسایی اشکالات در تصاویر.
بینایی کامپیوتر ماشین ها را برای انجام این وظایف آموزش می دهد، اما باید این کار را با استفاده از دوربین ها، داده ها و الگوریتم ها در زمان بسیار کمتری انجام دهد، برخلاف انسان که از شبکیه، اعصاب بینایی و قشر بینایی استفاده می کند. سیستم های مبتنی بر بینایی کامپیوتر که برای بازرسی محصولات یا نظارت بر تجهیزات تولید آموزش دیده اند، می توانند هزاران محصول یا فرآیند را در هر دقیقه تحلیل کنند و ایرادات یا مشکلاتی را که برای انسان غیرقابل تشخیص است شناسایی نمایند و به سرعت از توانایی های انسانی فراتر روند.
بینایی کامپیوتر در صنایع مختلف از جمله انرژی، خدمات عمومی، تولید و خودرو کاربرد دارد و بازار آن همچنان در حال رشد است. انتظار می رود ارزش این بازار تا سال 2022 به 48.6 میلیارد دلار برسد.
بینایی کامپیوتر چگونه کار می کند؟
بینایی کامپیوتر به حجم زیادی از داده نیاز دارد. این فناوری داده ها را بارها و بارها تحلیل می کند تا تفاوت ها را تشخیص دهد و در نهایت تصاویر را بشناسد. به عنوان مثال، برای آموزش کامپیوتر به منظور تشخیص تایر خودرو، نیاز است که تصاویر زیادی از تایرها و اشیای مرتبط با تایر به سیستم داده شود تا تفاوت ها را یاد بگیرد و تایر را، به خصوص تایری که بدون نقص باشد، شناسایی کند.
دو فناوری اصلی برای دستیابی به این هدف استفاده می شوند: نوعی از یادگیری ماشین به نام یادگیری عمیق و شبکه عصبی کانولوشنی (CNN).
یادگیری ماشین از مدل های الگوریتمی استفاده می کند که به کامپیوتر امکان می دهد درباره زمینه داده های بصری اطلاعات کسب کند. اگر مدل داده کافی دریافت کند، کامپیوتر داده ها را “مشاهده” کرده و خود را برای تمایز یک تصویر از تصویر دیگر آموزش می دهد. الگوریتم ها به ماشین این توانایی را می دهند که به صورت خودکار یاد بگیرد، بدون این که مستقیما برنامه ای برای تشخیص تصویر برای آن نوشته شود.
یک شبکه عصبی کانولوشنی (CNN) به مدل یادگیری ماشین یا یادگیری عمیق کمک می کند تا تصاویر را با تجزیه آنها به پیکسل هایی که دارای برچسب یا شناسه هستند “مشاهده” کند. این شبکه با استفاده از برچسب ها، عملیات کانولوشن (یک عملیات ریاضی روی دو تابع برای تولید یک تابع سوم) را انجام می دهد و پیش بینی هایی درباره آنچه “مشاهده” می کند انجام می دهد. شبکه عصبی با تکرار این فرآیندها دقت پیش بینی های خود را بررسی می کند و این کار را ادامه می دهد تا پیش بینی ها صحیح شوند. سپس سیستم تصاویر را به روشی مشابه انسان شناسایی یا مشاهده می کند.
مانند یک انسان که تصویری را از فاصله دور تشخیص می دهد، یک CNN ابتدا لبه های سخت و اشکال ساده را تشخیص می دهد و سپس اطلاعات بیشتری را با تکرار پیش بینی ها پر می کند. از CNN برای درک تصاویر تکی استفاده می شود. اما در کاربردهای ویدئویی از شبکه عصبی بازگشتی (RNN) به روشی مشابه استفاده می شود تا به کامپیوترها کمک کند رابطه تصاویر در سری فریم های متوالی را درک کنند.
نحوه تحلیل تصویر با استفاده از کامپیوتر ویژن
در بینایی کامپیوتر، ابتدا یک دوربین تصویر اشیا را ثبت می کند. سپس این داده های بصری از طریق الگوریتم های شناسایی الگو پردازش می شوند. بر اساس ویژگی های استخراج شده از تصویر، شی شناسایی می شود. اما پیش از پردازش داده های ناشناخته، ماشین یا الگوریتم باید روی حجم وسیعی از داده های برچسب گذاری شده آموزش داده شود.
- دستگاه حسگر یک تصویر را ثبت می کند: دستگاه حسگر معمولاً یک دوربین است اما می تواند یک دوربین ویدیویی، دستگاه تصویربرداری پزشکی یا هر نوع دستگاه دیگری باشد که تصویری را برای تحلیل ثبت می کند.
- ارسال تصویر به دستگاه تفسیر کننده: دستگاه تفسیر کننده از تشخیص الگو برای تجزیه تصویر، مقایسه الگوهای موجود در تصویر با کتابخانه الگوهای شناخته شده خود و تعیین تطابق احتمالی استفاده می کند. الگو می تواند عمومی باشد، مانند ظاهر یک نوع خاص از شی، یا بر اساس شناسه های خاصی مانند ویژگی های صورت باشد.
- درخواست اطلاعات توسط کاربر: کاربر اطلاعات خاصی را در مورد تصویر درخواست می کند و دستگاه تفسیر کننده بر اساس تحلیل خود اطلاعات خواسته شده را ارائه می دهد.
نمونه:
فرض کنید به یک کامپیوتر داده های صوتی شامل هزاران صدای پرندگان داده شود. کامپیوتر با تحلیل این داده ها و شناسایی الگوهای مختلف مانند زیر و بم صدا، مدت زمان هر نت، و ریتم، مدل شناسایی صوت ایجاد می کند. در نتیجه، این مدل می تواند با دقت تشخیص دهد که آیا صدای ورودی شامل آواز پرندگان است یا خیر.
وظایف بینایی کامپیوتر
1. طبقه بندی تصویر (Image Classification)
در این وظیفه، یک برچسب یا دسته بندی به کل تصویر بر اساس محتوای آن اختصاص داده می شود.
- طبقه بندی چندکلاسه (Multiclass Classification): طبقه بندی تصویر به چند دسته از پیش تعریف شده.
- طبقه بندی چندبرچسبی (Multilabel Classification): اختصاص چندین برچسب به یک تصویر.
- طبقه بندی بدون داده قبلی (Zero-shot Classification): طبقه بندی تصاویر به دسته هایی که مدل قبلا هنگام آموزش ندیده است.
روش های مختلف برای انجام طبقه بندی تصویر:
- طبقه بندی تصویر با استفاده از Support Vector Machine (SVM)
- طبقه بندی تصویر با استفاده از RandomForest
- طبقه بندی تصویر با استفاده از CNN
- طبقه بندی تصویر با استفاده از TensorFlow
- طبقه بندی تصویر با استفاده از PyTorch Lightning
- طبقه بندی تصویر با استفاده از InceptionResNetV2
برای آشنایی با داده های مورد استفاده در این زمینه، می توانید مقاله ای درباره Dataset for Image Classification مطالعه کنید.
2. تشخیص اشیا (Object Detection)
تشخیص اشیا شامل شناسایی و مکان یابی اشیا درون تصویر با کشیدن کادرهای مرزی (Bounding Boxes) به دور آن ها می باشد. مفاهیم مرتبط با تشخیص اشیا:
- رگرسیون کادر مرزی (Bounding Box Regression)
- تقاطع روی اتحاد (Intersection over Union یا IoU)
- شبکه های پیشنهادی منطقه (Region Proposal Networks یا RPN)
- سرکوب غیرماکسیمم (Non-Maximum Suppression یا NMS)
انواع رویکردهای تشخیص اشیا:
- تشخیص تک مرحله ای (Single-Stage Object Detection):
- YOLO (You Only Look Once)
- SSD (Single Shot Multibox Detector)
- تشخیص دو مرحله ای (Two-Stage Object Detection):
- R-CNN (Region-Based Convolutional Neural Networks)
- Fast R-CNN
- Faster R-CNN
- Mask R-CNN
روش های مختلف برای انجام تشخیص اشیا:
- تشخیص اشیا با استفاده از TensorFlow
- تشخیص اشیا با استفاده از PyTorch
3. بخش بندی تصویر (Image Segmentation)
بخش بندی تصویر شامل تقسیم یک تصویر به مناطق یا بخش های متمایز برای شناسایی اشیا یا مرزها در سطح پیکسل می باشد. انواع بخش بندی تصویر:
- بخش بندی معنایی (Semantic Segmentation): شناسایی دسته بندی اشیا به صورت کلی.
- بخش بندی نمونه (Instance Segmentation): شناسایی اشیا به صورت جداگانه.
- بخش بندی پانورامیک (Panoptic Segmentation): ترکیبی از بخش بندی معنایی و نمونه.
روش های مختلف برای انجام بخش بندی تصویر:
- بخش بندی تصویر با استفاده از K-Means Clustering
- بخش بندی تصویر با استفاده از UNet
- بخش بندی تصویر با استفاده از UNet++
- بخش بندی تصویر با استفاده از TensorFlow
- بخش بندی تصویر با استفاده از Mask R-CNN
یادگیری عمیق و بینایی کامپیوتر
کاربردهای مدرن بینایی کامپیوتر در حال حرکت به سمت استفاده از یادگیری عمیق به جای روش های آماری برای تحلیل تصاویر هستند. با یادگیری عمیق، یک برنامه بینایی کامپیوتر بر روی نوعی الگوریتم به نام شبکه عصبی اجرا می شود که امکان تحلیل های دقیق تر تصاویر را فراهم می کند. علاوه بر این، یادگیری عمیق به برنامه بینایی کامپیوتر اجازه می دهد اطلاعات تصاویر تحلیل شده را به خاطر بسپارد، بنابراین با استفاده بیشتر دقیق تر می شود.
یادگیری عمیق انقلابی در زمینه بینایی کامپیوتر ایجاد کرده و توانایی ماشین ها را برای درک و تفسیر داده های بصری به روش هایی که پیش از این غیرقابل تصور بود، فراهم کرده است.
1. شبکه های عصبی پیچشی (CNNs)
شبکه های عصبی پیچشی (Convolutional Neural Networks) برای یادگیری سلسله مراتب فضایی ویژگی ها از تصاویر طراحی شده اند. اجزای کلیدی شامل موارد زیر هستند:
- لایه های پیچشی: استخراج ویژگی های محلی از تصویر.
- لایه های تجمعی (Pooling): کاهش ابعاد داده ها و حفظ ویژگی های اصلی.
- لایه های کاملاً متصل (Fully Connected): ترکیب ویژگی ها و پیش بینی نتایج.
2. شبکه های مولد رقابتی (GANs)
شبکه های مولد رقابتی (Generative Adversarial Networks) شامل دو شبکه (مولد و تشخیص دهنده) هستند که علیه یکدیگر عمل می کنند تا تصاویر واقعی تولید کنند. انواع مختلفی از GANها برای وظایف خاص و بهبودها طراحی شده اند:
- Deep Convolutional GAN (DCGAN): برای تولید تصاویر واقعی.
- Conditional GAN (cGAN): تولید تصاویر بر اساس شرایط خاص.
- CycleGAN: تبدیل تصاویر بین دو دامنه بدون نیاز به داده های جفت شده.
- Super-Resolution GAN (SRGAN): تولید تصاویر با وضوح بالا.
- Wasserstein GAN (WGAN): بهبود پایداری آموزش.
- StyleGAN: تولید تصاویر با سبک های مختلف.
3. رمزگذارهای خودکار تنوعی (VAEs)
رمزگذارهای خودکار تنوعی (Variational Autoencoders) نسخه احتمالاتی رمزگذارهای خودکار هستند که مدل را مجبور می کنند یک توزیع در فضای نهفته (Latent Space) یاد بگیرد. انواع دیگر رمزگذارهای خودکار شامل موارد زیر هستند:
- رمزگذارهای خودکار ساده (Vanilla Autoencoders).
- رمزگذارهای خودکار نویز زدا (Denoising Autoencoders).
- رمزگذارهای خودکار پیچشی (Convolutional Autoencoder).
4. ترانسفورمرهای بینایی (ViT)
ترانسفورمرهای بینایی (Vision Transformers) با الهام از مدل های ترانسفورمر طراحی شده اند تا تصاویر را به عنوان دنباله ای از پچ ها پردازش کنند و از مکانیزم توجه (Self-Attention) استفاده نمایند. نمونه های معروف شامل:
- DeiT: ترانسفورمر تصویری با داده کارآمد.
- Swin Transformer: مدل ترانسفورمر با معماری مقیاس پذیر.
- CvT: ترکیب شبکه های پیچشی با ترانسفورمرها.
- T2T-ViT: بهینه سازی فرآیند پچ بندی تصاویر.
5. مدل های زبان و بینایی
مدل های زبان و بینایی اطلاعات بصری و متنی را یکپارچه کرده و برای پردازش تصویر و فهم زبان طبیعی استفاده می شوند.
- CLIP: پیش آموزش تضادی زبان و تصویر.
- ALIGN: مدل بزرگ مقیاس تصویر و متن نویزی.
- BLIP: مدل پیش آموزش زبان و تصویر با بوت استرپ.
تاریخچه بینایی کامپیوتر
دانشمندان و مهندسان حدود 60 سال است که در تلاشند راه هایی برای توانایی ماشین ها در مشاهده و درک داده های بصری پیدا کنند. این تلاش ها در سال 1959 آغاز شد، زمانی که نورو فیزیولوژیست ها مجموعه ای از تصاویر را به یک گربه نشان دادند تا پاسخ مغزی آن را بررسی کنند. آن ها دریافتند که مغز گربه ابتدا به لبه های تیز یا خطوط واکنش نشان می دهد. این یافته به صورت علمی نشان داد که پردازش تصاویر با اشکال ساده مانند لبه های مستقیم آغاز می شود.
در همان زمان، اولین فناوری اسکن تصاویر کامپیوتری توسعه یافت که امکان دیجیتالی کردن و دریافت تصاویر توسط کامپیوترها را فراهم می کرد. در سال 1963، نقطه عطف دیگری به دست آمد: کامپیوترها توانستند تصاویر دوبعدی را به اشکال سه بعدی تبدیل کنند. دهه 1960 همچنین آغاز مطالعه هوش مصنوعی به عنوان یک حوزه علمی بود و با آن، جستجو برای حل مسئله دید انسانی نیز شروع شد.
در سال 1974، فناوری تشخیص کاراکتر نوری (OCR) معرفی شد که قادر به شناسایی متون چاپ شده در هر فونت یا نوعی بود. به همین ترتیب، فناوری تشخیص کاراکتر هوشمند (ICR) با استفاده از شبکه های عصبی توانست متون دستنویس را تشخیص دهد. از آن زمان تاکنون، OCR و ICR در پردازش اسناد و فاکتورها، تشخیص پلاک خودرو، پرداخت های موبایلی و بسیاری از کاربردهای دیگر استفاده شده اند.
در سال 1982، دانشمند عصب شناسی، دیوید مار، نشان داد که دید به صورت سلسله مراتبی عمل می کند و الگوریتم هایی برای ماشین ها طراحی کرد تا لبه ها، گوشه ها، منحنی ها و اشکال پایه مشابه را تشخیص دهند. در همان زمان، دانشمند کامپیوتر، کونیهیکو فوکوشیما، شبکه ای از سلول ها به نام نئوکونیتورن را توسعه داد که می توانست الگوها را شناسایی کند. این شبکه شامل لایه های کانولوشن در یک شبکه عصبی بود.
تا سال 2000، تمرکز پژوهش ها بر شناسایی اشیا بود و در سال 2001، اولین کاربردهای تشخیص چهره به صورت بلادرنگ عرضه شد. در دهه 2000، استانداردسازی نحوه برچسب گذاری و حاشیه نویسی مجموعه داده های بصری انجام شد. در سال 2010، مجموعه داده ImageNet در دسترس قرار گرفت. این مجموعه شامل میلیون ها تصویر برچسب گذاری شده در هزار دسته بندی مختلف اشیا بود و پایه ای برای CNN ها و مدل های یادگیری عمیق امروزی شد. در سال 2012، تیمی از دانشگاه تورنتو یک CNN به نام AlexNet را وارد مسابقه تشخیص تصویر کردند. این مدل نرخ خطای تشخیص تصویر را به طور قابل توجهی کاهش داد. پس از این پیشرفت، نرخ خطا به چند درصد محدود شده است.
مطلب پیشنهادی: الگوریتم خفاش (Bat Algorithm) چیست؟
کاربردهای بینایی کامپیوتر
تحقیقات بسیاری در زمینه بینایی کامپیوتر انجام شده است، اما کاربردهای آن فقط به پژوهش محدود نمی شود. در دنیای واقعی، بینایی کامپیوتر نقش مهمی در تجارت، سرگرمی، حمل و نقل، بهداشت و زندگی روزمره دارد. یکی از عوامل کلیدی در رشد این کاربردها، حجم عظیم اطلاعات بصری است که از تلفن های هوشمند، سیستم های امنیتی، دوربین های ترافیکی و سایر دستگاه های دارای قابلیت مشاهده تولید می شود. این داده ها می تواند نقش مهمی در عملیات صنعتی داشته باشد، اما امروزه بیشتر آنها استفاده نمی شوند.
این اطلاعات بستری برای آموزش کاربردهای بینایی کامپیوتر فراهم می کنند و نقطه شروعی برای مشارکت در فعالیت های مختلف انسانی هستند:
- IBM از بینایی کامپیوتر برای ایجاد برنامه “لحظات من” در مسابقات گلف Masters 2018 استفاده کرد. سیستم Watson از IBM صدها ساعت فیلم مسابقات را مشاهده کرد و توانست لحظات کلیدی را شناسایی و برای طرفداران به صورت کلیپ های شخصی سازی شده ارائه دهد.
- Google Translate امکان دارد کاربران با دوربین گوشی خود به یک تابلو به زبان دیگر اشاره کنند و ترجمه آن را تقریبا به صورت فوری دریافت کنند.
- توسعه خودروهای خودران بر اساس بینایی کامپیوتر صورت می گیرد که ورودی های بصری از دوربین ها و حسگرهای خودرو را تحلیل کرده و سایر خودروها، علائم ترافیکی، خطوط جاده، عابران پیاده، دوچرخه ها و اطلاعات دیگر موجود در جاده را شناسایی می کند.
- IBM با همکاری شرکت هایی مانند Verizon از فناوری بینایی کامپیوتر برای معرفی هوش مصنوعی هوشمند در تولید استفاده می کند. این فناوری به تولیدکنندگان خودرو کمک می کند تا قبل از خروج یک خودرو از کارخانه، نقص های کیفی را شناسایی کنند.
بینایی کامپیوتر یک قابلیت قدرتمند است که می تواند با انواع برنامه ها و دستگاه های حسگر ترکیب شود تا موارد استفاده عملی بسیاری را پشتیبانی کند. در ادامه چند نمونه دیگر از کاربردهای مختلف بینایی کامپیوتر آورده شده است:
- سازماندهی محتوا: بینایی کامپیوتر می تواند افراد یا اشیا را در عکس ها شناسایی کرده و بر اساس این شناسایی آن ها را سازماندهی کند. این نوع برنامه های تشخیص تصویر معمولاً در برنامه های ذخیره سازی عکس و شبکه های اجتماعی استفاده می شوند.
- استخراج متن: شناسایی نوری کاراکتر (OCR) می تواند قابلیت کشف محتوا را برای اطلاعات موجود در حجم زیادی از متن تقویت کند و پردازش اسناد را در سناریوهای خودکارسازی فرآیندهای رباتیک ممکن سازد.
- واقعیت افزوده: اشیای فیزیکی در زمان واقعی شناسایی و ردیابی می شوند و این اطلاعات برای جایگذاری واقعی اشیای مجازی در یک محیط فیزیکی استفاده می شود.
- کشاورزی: تصاویر محصولات کشاورزی که از ماهواره ها، پهپادها یا هواپیماها گرفته شده اند می توانند برای نظارت بر برداشت، شناسایی علف های هرز یا تشخیص کمبود مواد مغذی محصولات تحلیل شوند.
- سلامت: عکس ها یا تصاویر ثبت شده توسط دستگاه های پزشکی دیگر می توانند تحلیل شوند تا به پزشکان در شناسایی مشکلات و تشخیص های سریع تر و دقیق تر کمک کنند.
- ورزش: شناسایی و ردیابی اشیا برای تحلیل بازی و استراتژی استفاده می شود.
- تولید: بینایی کامپیوتر می تواند ماشین آلات تولیدی را برای اهداف نگهداری نظارت کند. همچنین می تواند کیفیت محصولات و بسته بندی ها را در یک خط تولید کنترل نماید.
- تحلیل فضایی: سیستم افراد یا اشیا، مانند خودروها، را در یک فضا شناسایی کرده و حرکت آن ها را درون آن فضا ردیابی می کند.
- تشخیص چهره: بینایی کامپیوتر می تواند برای شناسایی افراد استفاده شود.
مثال هایی از بینایی کامپیوتر
بسیاری از سازمان ها منابع کافی برای تأمین مالی آزمایشگاه های بینایی کامپیوتر و ایجاد مدل های یادگیری عمیق و شبکه های عصبی ندارند. همچنین ممکن است توان محاسباتی لازم برای پردازش مجموعه داده های بصری عظیم را در اختیار نداشته باشند. شرکت هایی مانند IBM با ارائه خدمات توسعه نرم افزار بینایی کامپیوتر به این نیازها پاسخ می دهند. این خدمات مدل های یادگیری پیش ساخته ای را از طریق فضای ابری ارائه می کنند و همچنین نیاز به منابع محاسباتی را کاهش می دهند. کاربران می توانند از طریق رابط برنامه نویسی کاربردی (API) به این خدمات متصل شوند و از آنها برای توسعه کاربردهای بینایی کامپیوتر استفاده کنند.
مطلب پیشنهادی: الگوریتم کرم شب تاب چیست؟
IBM همچنین پلتفرمی در حوزه بینایی کامپیوتر معرفی کرده است که نگرانی های مربوط به توسعه و منابع محاسباتی را برطرف می کند. پلتفرم IBM Maximo Visual Inspection ابزارهایی ارائه می دهد که به کارشناسان موضوعی اجازه می دهد بدون نیاز به کدنویسی یا تخصص در یادگیری عمیق، مدل های یادگیری عمیق بینایی را برچسب گذاری، آموزش و پیاده سازی کنند. این مدل های بینایی می توانند در مراکز داده محلی، فضای ابری و دستگاه های لبه شبکه (Edge Devices) مستقر شوند.
مطلب پیشنهادی: مسئله کوله پشتی چیست؟
در حالی که دسترسی به منابع برای توسعه کاربردهای بینایی کامپیوتر آسان تر می شود، یک سؤال مهم که باید در مراحل اولیه به آن پاسخ داد این است: این کاربردها دقیقا چه کاری انجام خواهند داد؟ درک و تعریف وظایف مشخص برای بینایی کامپیوتر می تواند پروژه ها و کاربردها را متمرکزتر و معتبرتر کند و آغاز کار را آسان تر نماید.
نمونه هایی از وظایف مشخص در بینایی کامپیوتر
- طبقه بندی تصاویر: یک تصویر را مشاهده کرده و آن را طبقه بندی می کند (مانند سگ، سیب یا چهره یک فرد). به طور دقیق تر، این فناوری می تواند پیش بینی کند که یک تصویر به یک دسته خاص تعلق دارد. به عنوان مثال، یک شرکت شبکه اجتماعی ممکن است بخواهد از این فناوری برای شناسایی و جداسازی خودکار تصاویر نامناسب آپلود شده توسط کاربران استفاده کند.
- تشخیص اشیا: از طبقه بندی تصویر برای شناسایی یک دسته خاص از تصاویر استفاده کرده و سپس حضور آنها را در یک تصویر یا ویدئو شناسایی و ثبت می کند. مثال هایی شامل تشخیص آسیب ها در یک خط تولید یا شناسایی ماشین آلاتی است که نیاز به تعمیر دارند.
- ردیابی اشیا: پس از شناسایی یک شی، آن را دنبال می کند. این وظیفه اغلب با تصاویر ثبت شده در توالی یا فیدهای ویدیویی بلادرنگ انجام می شود. به عنوان مثال، خودروهای خودران باید نه تنها اشیایی مانند عابران پیاده، خودروهای دیگر و زیرساخت های جاده را طبقه بندی و شناسایی کنند، بلکه باید آن ها را در حال حرکت ردیابی کنند تا از تصادفات جلوگیری کرده و قوانین ترافیکی را رعایت نمایند.
- بازیابی تصاویر بر اساس محتوا: از بینایی کامپیوتر برای مرور، جستجو و بازیابی تصاویر از پایگاه داده های بزرگ بر اساس محتوای خود تصاویر، به جای برچسب های متادیتا مرتبط با آنها، استفاده می شود. این وظیفه می تواند شامل حاشیه نویسی خودکار تصاویر باشد که جایگزین برچسب گذاری دستی تصاویر می شود. این وظایف در سیستم های مدیریت دارایی های دیجیتال استفاده می شوند و می توانند دقت جستجو و بازیابی را افزایش دهند.
سوالات متداول
OpenCV در بینایی کامپیوتر چیست؟
OpenCV (کتابخانه بینایی کامپیوتر متن باز) یک کتابخانه متن باز برای بینایی کامپیوتر و یادگیری ماشین است. OpenCV برای ایجاد زیرساخت مشترک برای برنامه های بینایی کامپیوتر و تسریع در استفاده از درک ماشین در محصولات تجاری طراحی شده است.
آیا cv2 و OpenCV یکسان هستند؟
خیر، در واقع cv2 رابط قدیمی نسخه های اولیه OpenCV با نام cv بود. این نامی است که توسعه دهندگان OpenCV هنگام ایجاد تولیدکنندگان بایندینگ انتخاب کردند.
OpenCV از کدام الگوریتم ها استفاده می کند؟
OpenCV از الگوریتم های متنوعی استفاده می کند که شامل، اما محدود به موارد زیر نمی شود:
- Haar Cascades: برای شناسایی اشیا مانند تشخیص چهره.
- SIFT (Scale-Invariant Feature Transform): برای استخراج ویژگی های مقاوم به مقیاس.
- SURF (Speeded-Up Robust Features): برای شناسایی ویژگی های مقاوم با سرعت بالاتر.
- ORB (Oriented FAST and Rotated BRIEF): برای شناسایی ویژگی های سریع و چرخش یافته.
مدیر2025-01-08T23:02:05+03:30ژانویه 8, 2025|بدون دیدگاه
چکیده مقاله: قبل از پرداختن به موضوع شبیه سازی با هوش مصنوعی بهتر است بدانید که هوش مصنوعی یکی از فناوری های نوین و تحول آفرین در عصر حاضر می باشد که توانسته است [...]
مدیر2025-01-06T18:36:57+03:30ژانویه 6, 2025|بدون دیدگاه
چکیده مقاله: بینایی کامپیوتر (computer vision) شاخه ای از علوم کامپیوتر است که بر توانمند کردن کامپیوترها برای شناسایی و درک اشیا و افراد در تصاویر و ویدیوها تمرکز دارد. مانند سایر انواع هوش [...]
مدیر2025-01-04T17:04:30+03:30ژانویه 4, 2025|بدون دیدگاه
چکیده مقاله: قبل از پرداختن به شبکه عصبی پیشخور (Feedforward Neural Network یا FNN) بهتر است بدانید که شبکه های عصبی مصنوعی (Artificial Neural Networks یا ANNs) تحول بزرگی در حوزه یادگیری ماشین ایجاد [...]
مدیر2025-01-04T14:03:08+03:30ژانویه 2, 2025|بدون دیدگاه
چکیده مقاله: شبکه عصبی کانولوشنی (CNN) یک معماری شبکه عصبی عمیق است که به طور گسترده در حوزه بینایی کامپیوتر استفاده می شود. بینایی کامپیوتر شاخه ای از هوش مصنوعی است که به کامپیوترها [...]
مدیر2025-01-02T16:41:51+03:30دسامبر 28, 2024|بدون دیدگاه
چکیده مقاله: شبکه عصبی بازگشتی (RNN) در دهه 1980 توسط محققانی به نام های دیوید راملهارت، جفری هینتون و رونالد جی. ویلیامز معرفی شدند. RNN ها پایه گذار پیشرفت های مهمی در پردازش داده [...]