آموزنده

آموزنده

راهنمای مبتدی برای بینایی رایانه ای

مقدمه ای دوستانه برای یکی از زمینه های مهم هوش مصنوعی

"هوش مصنوعی یک علم دقیق است در طراحی سیستم ها و ماشین های هوشمند ، با استفاده از تکنیک های الگوریتمی تا حدودی با الهام از آنچه در مورد مغز می دانیم. فناوری که در بسیاری از کاربردهای هوش مصنوعی با آن روبرو هستیم.

تشخیص چهره ، اتومبیل های خودران ، واقعیت افزوده و بسیاری از برنامه های دیگر از تکنیک های بینایی رایانه به نحوی استفاده می کنند.

در دهه گذشته ، بینایی رایانه ای با استقبال بیشتر برنامه های هوش مصنوعی برجسته تر شد.

افزایش پذیرش برنامه های هوش مصنوعی به افزایش تعداد مشاغل و دوره های مرتبط با بینایی رایانه

این مقاله به طور مختصر توسعه بینایی کامپیوتر در پنجاه سال گذشته را معرفی کرده و تکنیک CV سنتی را بررسی می کند تکنیک هایی که در روزهای اولیه این رشته استفاده می شد. اکتشافی در دوران یادگیری عمیق در این مقاله گنجانده می شود ، از جمله توضیحی در مورد علت تغییر از CV سنتی به رویکردهای مبتنی بر یادگیری عمیق.

بینایی رایانه ای

قبل از اینکه به تکنیک های مختلف CV بپردازیم ، بیایید قسمت بدن انسان را که دید رایانه سعی می کند از نظر عملکرد شبیه سازی کند ، بررسی کنیم. این یک عملکرد بدن است که به طور خودکار بدون تأثیر عمدی کار می کند.

عکس توسط v2osk در Unsplash

سیستم حسی بینایی انسان در طول هزاران سال توسعه یافته است تا بتواند از طریق نور منعکس شده توسط اشیاء در جهان سه بعدی ، معانی و زمینه مناظر را در اختیار انسان قرار دهد ، در چشمان ما.

چشم ها و مغز ما می توانند درک محیط ها را از طریق نور منعکس شده استنباط کنند.

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

بینایی رایانه ای فرایندی است که طی آن سعی می کنیم سیستم های کامپیوتری را با همان قابلیت هایی که سیستم حسی بینایی انسان دارد ، تجهیز کنیم.

تعریف مناسب برای بینایی رایانه به شرح زیر است:

بینایی رایانه ای فرآیندی که طی آن یک ماشین یا یک سیستم با استناد به یک یا چند الگوریتم که بر روی اطلاعات ارائه شده عمل می کند ، درک اطلاعات بصری را ایجاد می کند. سپس درک ها به تصمیم گیری ها ، طبقه بندی ها ، مشاهده الگوها و موارد دیگر تبدیل می شوند.

سیستم حسی بینایی ما از چشم ها و مغز تشکیل شده است ، اگرچه ما درک می کنیم که چگونه هر یک از اجزای چشم مانند قرنیه ، لنز ، شبکیه چشم ، عنبیه و غیره ، ما به طور کامل نحوه عملکرد مغز را درک نمی کنیم.

برای ایجاد الگوریتم ها و سیستم هایی که قابلیت استخراج اطلاعات زمینه ای از تصاویر را دارند ، باید علت الگوها مشاهده شود. سپس راه حل ها را می توان از درک علل و تأثیر الگوهای خاص به دست آورد. //cdn-images-1.medium.com/max/426/0*E8cpdr5182XT2Vfq.gif"> سمت چپ: تشخیص چهره و ردیابی ویژگی های صورت. میانی: برآورد Pose توسط TensorFlow. راست: شبکه یولو برای تشخیص اشیا

تشخیص چهره: وظیفه پیاده سازی سیستم هایی است که می توانند به طور خودکار چهره انسان را در تصاویر و ویدئوها تشخیص داده و بومی کنند. تشخیص چهره استدر برنامه های مرتبط با تشخیص چهره ، عکاسی و ضبط حرکت وجود دارد.

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

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

از دهه 1970 محققان زمان فوق العاده ای را صرف کرده اند. تلاش ، ایجاد الگوریتم ها و سیستم های کارآمد و قوی بینایی رایانه ای که می تواند به عنوان راه حلی برای برخی از برنامه های ذکر شده در بالا مورد استفاده قرار گیرد. >

برای درک بیشتر بنیاد میدان بینایی رایانه ، بیایید الگوریتم های سنتی را که منطق مبتنی بر ابتکار برای حل مشکلات معمولی بینایی رایانه مورد استفاده قرار می گرفت ، مورد بررسی قرار دهیم.

رویکرد سنتی

هدف اصلی تکنیک های بینایی رایانه ای ارائه نوعی از درک زمینه در داده های تصویر است. این درک سپس برای اهداف سفارشی تر مانند تشخیص یا تشخیص استفاده می شود.

چندین روال فرعی در الگوریتم ها و تکنیک های بینایی رایانه ای سنتی برای استخراج درک منظره از تصاویر ایجاد شده است.

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

تشخیص لبه

< p> Edges نمونه هایی از ویژگی های تصاویر هستند که می توانند برای توصیف محتوای درون تصاویر استفاده شوند. تشخیص لبه یکی از اولین تلاش ها برای توسعه الگوریتم هایی بود که می توانست برخی از دیدگاه های بصری را ارائه دهد.

تشخیص لبه تحت موضوع پردازش تصویر قرار می گیرد اما به یک ابزار اصلی در بینایی رایانه تبدیل شده است.

الگوریتم های تشخیص لبه نقاط درون یک تصویر را مشخص می کند که در آن شدت پیکسل به شدت تغییر می کند. با پیوستن به این نقاط تغییرات واضح در روشنایی تصویر ، ما خطوطی را شکل می دهیم ، به طور رسمی ، لبه ها.

چرا لبه ها ویژگی های مهمی در یک تصویر هستند؟

اطلاعات زیادی در مورد تصویری که می توان از تجزیه و تحلیل و ترکیب لبه های شناسایی شده بازیابی کرد. به عنوان مثال ، می توان ترکیب سه بعدی یک جسم را از اطلاعات لبه برآمد ، فقط با مشاهده ارتباطات و تداوم بین لبه های شناسایی شده. مانند تغییر در عمق و جهت گیری. لبه های خمیده نشان دهنده تغییرات جهت گیری هستند. چند نمونه از برخی از الگوریتم های تشخیص لبه سنتی: Canny Edge Detector ، Sobel Method و Fuzzy Logic.

توسط JonMcLooneدر ویکی پدیای انگلیسی ، CC BY-SA 3.0 ، https://commons.wikimedia.org/w/index.php؟curid=44894482

اهمیت شناسایی ویژگی های یک تصویر در هدف اصلی بینایی کامپیوتری ، که برای درک محتوای درون یک تصویر است.

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

بینایی رایانه ای سنتی شامل تجزیه و تحلیل عمیق ورودی و خروجی است. تجزیه و تحلیل عمیق نشان داد که چه ویژگی های قابل نمایش ریاضی را می توان از یک تصویر استخراج کرد و با یک الگوریتم کارآمد همراه شد تا نتیجه دلخواه را تولید کرد. ویژگی شبیه به Haar.

تصویر از https: //www.researchgate. net/

ویژگی های شبیه به Haar در کارهای بینایی رایانه مانند تشخیص اشیا یا تشخیص چهره استفاده می شود.

با استفاده از یک پنجره تعریف شده که شامل دو مستطیل مجاور است ، در آنجا تفاوت ها وجود دارد. بین مجموع شدت پیکسل در هر مستطیل برای شناسایی بخش های صورت استفاده می شود.

نواحی اطراف چشم کمی تیره تر از نواحی مجاور مجاور گونه ها هستند ، یک ویژگی هار برای تشخیص چشم می توان از مستطیل های مجاور استفاده کرد.

تفاوت های محاسبه شده را می توان با تعیین کننده های قبلی مقایسه کرد آستانه های مشخصی برای تشخیص بخش هایی از صورت ، مانند چشم ، دهان و بینی.

یکی دیگر از تکنیک های رایانه ای رایج برای تشخیص شیء SIFT (تغییر ویژگی تغییر اندازه مقیاس) نامیده می شود. این در اواخر دهه 90 توسعه یافت.

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

روش یادگیری عمیق

عکس توسط آلینا گروبنیاک در Unsplash

تغییر روش آموزش سنتی به دید عمیق در بینایی کامپیوتر

در زمان نگارش این مقاله ، اکثر کارهای مربوط به بینایی رایانه با استفاده از حالت معماری یادگیری عمیق هنر.

رویکردهای سنتی برای بینایی رایانه تا پایان جایگزین شده است برای پایان دادن به راه حلهای یادگیری که با یادگیری عمیق و متعاقباً شبکه های عصبی معرفی شده است.

روشهای سنتی بینایی رایانه ای نیاز به تعریف ساختارها و ترکیبات ویژگی قبل از شروع مرحله استخراج ویژگی دارد.

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

یادگیری عمیق به وظیفه مهندسی ویژگی ، استخراج و طبقه بندی در یک فرایند خودکار نزدیک می شود.

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

ارائه تصاویر برچسب زده شده به عنوان داده های آموزشی به شبکه عصبی ، ممکن است یک شبکه عصبی را برای شناسایی الگوهای مربوط به اشیاء خاص در داده های تصویر آموزش دهد.

اعتبار شبیه سازی شبکه عصبی به دنیس دمیتریف

این فرآیند برای بسیاری از اشیاء قابل تکرار است که لازم است شناسایی شوند.

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

ظرفیت شبکه و دسترسی به منابع محاسباتی همچنین می تواند تنگنایی برای رویکردهای یادگیری عمیق در بینایی رایانه باشد.

قبل از پذیرش یادگیری عمیق ، مهندسین CV مسئولیت تعریف و انتخاب ویژگی هایی را داشتند که به بهترین شکل یک تصویر یا شی را توصیف می کردند. در حال حاضر ، در دوران مدرن ، مهندسان CV بیشتر به دنبال پیاده سازی ، آموزش و ارزیابی مدلهای یادگیری عمیق هستند.

یادگیری عمیق

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

انواع پیکربندی وجود دارد شبکه ANN که در زمینه یادگیری عمیق وجود دارد و پیکربندی های قابل توجه عبارتند از: شبکه های عصبی کانولوشن (CNN) ، شبکه های عصبی مکرر (RNN) و شبکه های عصبی عمیق (DNN).

کلمه "عمیق" در Deep یادگیری به این واقعیت اشاره می کند که ANN ذکر شده و سایر انواع توسعه یافته از تعداد قابل توجهی از لایه های شبکه عصبی تشکیل شده است. آنها عبارتند از: همچنین می توان آنها را به عنوان پردازنده های توزیع شده موازی توصیف کرد. همبستگی: کانولوشن یک اصطلاح ریاضی است که ضرب محصول نقطه ای بین دو مجموعه عنصر را توصیف می کند. در یادگیری عمیق ، عملیات کانولوشن روی فیلترها/هسته ها و آرایه داده های تصویری درون لایه کانولوشن انجام می شود. بنابراین یک لایه کانولوشن عملیات پیچشی را که بین فیلترها و تصاویر منتقل شده از طریق یک شبکه عصبی پیچشی رخ می دهد ، در خود جای می دهد. شبکه های عصبی کانولوشن: اینها شبکه های عصبی هستند که از عملیات پیچیدگی ریاضی در لایه ها استفاده می کنند. وزن: اینها نقاط قوت اتصالات بین نورونی هستند. آنها عنصر اساسی در ذخیره دانش در شبکه های عصبی هستند.

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

بنابراین ، یک خط دید بینایی رایانه ای شبیه تصویر زیر است.

خط لوله یادگیری عمیق. تصویر توسط نویسنده

نتیجه گیری

تا کنون ، ما هر دو روش سنتی حل وظایف بینایی رایانه و روشهای مدرن تری را که از یادگیری عمیق استفاده می کنند ، پوشش داده ایم.

آنجا مفاهیم ، ایده ها و تکنیک های بیشتری برای کشف رویکردهای مدرن و سنتی برای CV هستند. اجماع صنعت بر این است که یادگیری عمیق رویکرد غالب برای حل وظایف بینایی رایانه است.

برای کسانی که می خواهند دنیای بینایی رایانه ای را کاوش کنند ، موضوعات و تکنیک های یادگیری عمیق مسیرهای مطلوبی برای انتخاب هستند. شرایط کسب تجربه عملی و حرفه ای.

با این وجود ، همیشه بصیرت انگیز استبرای بازبینی ریشه های بینایی رایانه و درک شهود محققان و مهندسان هنگام توسعه الگوریتم های سنتی.

به زودی ، مقاله ای می نویسم که یادگیری عمیق را عمیق تر معرفی می کند.

< h4> در حال حاضر ، می توانید مقالات زیر را بخوانید تا بفهمید نقش مهندس CV مدرن چگونه است و مطالعات انجام شده در یادگیری ماشین و بینایی رایانه شامل چه مواردی است. < /h4> 6 ماه به عنوان یادگیری ماشین /مهندس بینایی کامپیوتر گذراندن نیم سال در زمینه ای که در چند سال خود را ندیده ام چگونه است agotowardsdatascience.com آنچه از تحصیل در کارشناسی ارشد در بینایی کامپیوتر و یادگیری ماشین آموختم اگر قصد دارید هر نوع مطالعات پیشین را در زمینه بینایی رایانه یا یادگیری ماشینی انجام دهید ، این مقاله را بخوانید. با من یا مطالب بیشتری مشابه این مقاله پیدا کنید ، موارد زیر را انجام دهید:

در خبرنامه های هفتگی در لیست ایمیل من مشترک شوید من را با رسانه متوسط ​​دنبال کنید اتصال و با من در LinkedIn تماس بگیرید
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد