شرکت هایی مانند eBay و آمازون میلیون ها تصویر از محصولات را ذخیره می کنند. هر تصویر حاوی اطلاعات زیادی است که می تواند برای کمک به مصرف کنندگان در یافتن محصول مناسب یا تبلیغ محصولات مشابه مورد استفاده قرار گیرد. با در دسترس بودن و اثربخشی مدل های بینایی رایانه ، یعنی شبکه های عصبی پیچیده ، حجم بالای اطلاعات موجود در تصاویر در حال حاضر بسیار در دسترس است. در ODSC West در سال 2018 ، رابینسون پیراموتو از Ebay تکنیک های کلیدی را برای هدایت چالش ها در ایجاد تحول در تجارت بصری با مدل های بینایی رایانه ای ارائه کرد.
[مقاله مرتبط: ترکیب میلیون ها محصول در یک بازار با استفاده از دید کامپیوتر و NLP] < /p>
رابینسون پیراموتو در مورد سه راه برای استفاده از یادگیری عمیق برای ابداع تجارت بصری ، از جمله پیش بینی جنبه ، پیش بینی دسته برگ و شناسایی امضا برای رتبه بندی بصری بحث کرد. هر رویکرد از یک شبکه عصبی مشترک استفاده می کند ، اما لایه نهایی برای هر یک از وظایف خاص طراحی شده است.
رویکرد کلی
روش مدل سازی برای پیش بینی تصاویر داده شده از محصولات ، نیاز به آموزش تصاویر برچسب زده شده دارد. رابینسون آموزش مدل یادگیری عمیق را بر روی تصاویر با زمینه ساده در مراحل اولیه توصیه می کند تا به مدل اجازه دهد از نمونه های آسان یاد بگیرد. علاوه بر این ، او بر مفید بودن تصاویر با زوایای گوناگون که نمایانگر غنی تری از ویژگی های عکس هستند ، تأکید کرد. علاوه بر این ، نمونه برداری از تصاویر از انواع مارک ها ، فروشندگان ، شرایط و انواع کلیدی است تا بتوان مدل را به خوبی در تصاویر وحشی تعمیم داد.
https://bit.ly/300txgYجستجوی بصری
در تجارت بصری ، به نفع بتواند محصولاتی را به مصرف کننده توصیه کند که مشابه محصولات قبلی است. برای این منظور ، لازم است محصولات مشابه را با اندازه شباهت گروه بندی کنید. رابینسون پیراموتو به جای روشهای یادگیری بدون نظارت مانند PCA یا K-Means Clustering ، استفاده از یک روش نیمه تحت نظارت را توصیه می کند. این مستلزم آموزش شبکه عصبی بر روی گروهی از کلاس ها است (Ebay از 16000 کلاس استفاده می کند) ، سپس تصاویر بدون برچسب را در شبکه قرار می دهد. در نهایت ، باید کلاسهایی را انتخاب کنید که تصویر مورد نظر بیشتر شبیه آنها است. معیارهای انتخاب کلاسهای مشابه معمولاً براساس مقادیر فعالسازی softmax است که احتمالات پیش بینی شده برای مدل برای هر کلاس را نشان می دهد. تیم رابینسون تعیین کردند که با تعیین یک آستانه برای احتمالات تجمعی ، بر اساس احتمال نرم حداکثر حداکثر عملکرد مطلوب نسبت به آستانه ها به دست آمد. در مثال زیر ، با آستانه تجمعی 0.9 ، مقوله های C1-C3 به طور مناسب شبیه تصویر مورد نظر شناخته می شوند.
پیش بینی جنبه ای
اغلب ویژگی های کلیدی در توضیحات یک مورد وجود ندارد و نیاز به راهی برای پر کردن سریع ویژگی های از دست رفته است به با مهندسی مجدد آخرین لایه کاملاً متصل برای یک شبکه عصبی پیچشی ، می توانید محصولات را بر اساس الگو ، مارک یا مد ، که در زیر نشان داده شده است ، جدا کنید.
ویژگیها باید زودتر از موعد مشخص شوند که با ویژگیهای کلیدی انتخاب مشتری مطابقت دارد و از طریق تصاویر قابل شناسایی است. به عنوان مثال ، نام تجاری را می توان با یادگیری عمیق شناسایی کرد ، اما چیزی مانند اندازه نمی تواند. ویژگی بیشتر با توجه به توصیفات محصول می تواند به رابط وب فرد اجازه دهد تا محصولات را با دقت بیشتری جستجو کند.
خوب تکراریتنظیم
رابینسون به تکنیکی جالب برای تنظیم دقیق روند آموزش شبکه های عصبی اشاره کرد که شامل تغییر میزان یادگیری از طریق یک فرآیند آموزش تکراری است. ابتدا ، یک شبکه را با نرخ یادگیری اولیه 01/0 تا زمان همگرایی مدل (یعنی فلاتهای صحت اعتبار سنجی) آموزش می دهد. خط تیره خاکستری در پایین شکل زیر نشان دهنده اولین تکرار تمرین است. سپس همان مدل با نرخ یادگیری بالاتر بازآموزی می شود که در ابتدا باعث کاهش دقت می شود ، اما با نرخ دقت بالاتری نسبت به مدل قبلی همگرا می شود. این روند تا زمانی ادامه می یابد که افزایش میزان یادگیری دیگر منجر به بهبود نشود.
< /img>[مقاله مرتبط: 4 مرحله برای شروع یادگیری ماشین با دید رایانه]
نکات کلیدی:
پست اصلی اینجا.
مقالات علم داده بیشتر را در OpenDataScience.com بخوانید ، از جمله آموزش ها و راهنماهای مبتدی تا پیشرفته! در خبرنامه هفتگی ما اینجا مشترک شوید و آخرین اخبار را هر پنجشنبه دریافت کنید.
سال 2019 رو به اتمام است ، اما قبل از اتمام آن ، آیا خوب نخواهد بود که یکی از کلمات کلیدی دهه ما در یادگیری ماشین را درک کنیم؟ این مقاله به شما کمک می کند تا درک مختصری از کامپیوتر چشم انداز داشته باشید ، دانش کافی برای اینکه در شام کریسمس باهوش به نظر برسید.
پس از خواندن این مقاله ، با اصطلاحاتی مانند Computer Vision ، Deep learning ، آشنا خواهید شد. یادگیری ماشین ، هوش مصنوعی ، زمستان ، Skynet ... چیزهای خوب را می دانید.
وقتی کسی این سوال را از شما می پرسد ، شما پاسخ می دهید آنها در خطوط "دید کامپیوتر همانطور است که کامپیوتر می بیند." خوب ، نه دقیقاً ، توضیحات زیر را امتحان کنید تا به طور حتم برخی از سرها را بچرخانید.
بینایی رایانه ای فرایندی است که طی آن یک ماشین یا یک سیستم با استناد به یک یا چند الگوریتم که بر روی اطلاعات عمل می کنند ، درک اطلاعات بصری را ایجاد می کند. ارائه شده است. تفاهم به تصمیمات ، طبقه بندی ها ، مشاهده الگوها و موارد دیگر ترجمه می شود. و اکنون شما سرتان را برمی گردانید.
بیایید یک درس تاریخچه سریع داشته باشیم و ببینیم که زمینه بینایی کامپیوتر چگونه توسعه یافته است.
هنگامی که ما برای تقلید تلاش کردیم ، نیاز به چشم انداز رایانه ای بوجود آمد. سیستم ادراک و بینایی در بدن انسان بنابراین سفر در دهه 1960 آغاز شد ، جایی که دانشگاهیان درک انسان را در نظر گرفتند و سعی کردند عملکرد اصلی آن را بر روی یک سیستم رایانه ای تکرار کنند. هدف دانشگاهیان پیشگام ما این بود که به ربات ها این امکان را بدهند که آنچه را که ربات مشاهده کرده است مشاهده کرده و توضیحاتی را ارائه دهند. این اولین قدم به Skynet بود (بله مانند فیلم ، اما این قبل از آن بود).
تشخیص لبه. (2019). [image] موجود در mathwork.comبه نظر نمی رسید که Skynet شبیه به انسان باشد ، بنابراین ما به تکنیک های پردازش تصویر دیجیتالی نگاه کردیم تا درک بیشتری از محتوای تصاویری که به کامپیوتر ارائه می شود ، بدست آوریم. سیستم های بینایی منظور من از درک ، استخراج اطلاعات لبه ، خطوط ، خطوط و اشکال از یک تصویر است. دهه 70 همه مربوط به الگوریتم هایی بود که می توانند اطلاعات را از یک تصویر دیجیتالی استخراج کنند.
نکته ای که باید به آن توجه کرد این است که اولین زمستان هوش مصنوعی در دهه 1970 رخ داد. برای کسانی که با اصطلاح "زمستان هوش مصنوعی" آشنا نیستند ، می توان آن را دوره ای توصیف کرد که در آن کمبود علاقه ، بودجه ، روحیه (هیاهو) و تحقیقات در حوزه های مرتبط با هوش مصنوعی مانند Computer Vision ، Machine وجود دارد. یادگیری و غیره.
دهه های 80 و 90 در بینایی رایانه ای بر ریاضیات و آمار تمرکز داشت. محققان و دانشگاهیان با روش های بینایی رایانه ای با الگوریتم های ریاضی ازدواج کردند. یک مثال خوب برای به تصویر کشیدن استفاده از ریاضیات در بینایی رایانه و تکنیک های پردازش تصویر ، یک الگوریتم تشخیص لبه خواهد بود.
تشخیص لبه یکی از تکنیک های اصلی پردازش تصویر است که در اکثر دوره های بینایی رایانه آموزش داده می شود. در سال 1986 یک آشکارساز لبه عجیب و مفید توسط John F. Canny ساخته شد. به آن می گفتندآشکارساز Canny Edge. جان اف کانی با استفاده از مفاهیم ریاضی مانند محاسبه ، تمایز و بهینه سازی عملکرد ، یک آشکارساز لبه بسیار محبوب ایجاد کرد ، و هنوز در دوره های کارشناسی ارشد تدریس می شود.
به سرعت به دهه قبل بروید دهه 2000 زمان کاملاً انقلابی برای Computer Vision بود. یادگیری عمیق پدیدار شد ، و دید رایانه دوباره موضوعات داغ رسانه ها ، محققان و دانشگاهیان شد.
تعریف کلیدی دیگری در راه است.
یادگیری عمیق زیر شاخه ای از ماشین است یادگیری ، جایی که الگوریتم ها از چندین لایه شبکه عصبی برای استخراج ویژگی های غنی تر از داده های ورودی استفاده می کنند. نمونه هایی از تکنیک های یادگیری عمیق عبارتند از: شبکه های عصبی متحرک عمیق (CNN) و شبکه های عصبی مکرر (RNN). /p>
2012 یک سال محوری در چشم انداز رایانه بود. ممکن است شما از قبل بدانید که من در اینجا قصد ذکر چه چیزی را دارم (خب خسته نباشید و آن را برای دیگران خراب نکنید). مسابقه ای به نام "ImageNet Large Scale Visual Recognition Challenge" وجود دارد ، این مسابقه سالانه برگزار می شود و بیشتر گردهمایی دانشگاهیان ، محققان و علاقه مندان با مقایسه الگوریتم های نرم افزاری است که اشیاء را در تصاویر طبقه بندی و شناسایی می کند. در سال 2012 این مسابقه با معرفی یک شبکه عصبی عمیق متحول (AlexNet) روبرو شد که میزان خطای آن در سال جاری و سالهای قبل از آن از رقبای دیگر پیشی گرفت.
من تحقیق نمی کنم جزئیات زیادی در مورد نحوه طراحی AlexNet وجود دارد ، و منابع آنلاین زیادی برای این کار وجود دارد. اما من به دو مزیت مهم AlexNet برای چشم انداز اشاره می کنم.
ابتدا GPU ها. عملکرد خیره کننده AlexNet با استفاده از واحد پردازش گرافیکی (GPU) امکان پذیر شد. اگرچه قبلا از GPU در رقابت استفاده می شد ، اما استفاده AlexNet از GPU بود که توجه و توجه جامعه بینایی رایانه را جلب کرد.
ثانیاً ، CNN ها استاندارد شدند. توانایی AlexNet برای نشان دادن اثربخشی CNN ها به این معنا بود که CNN ها رواج یافت. از آن سال به بعد ، اجرای CNN ها در اکثر برنامه های کاربردی و تحقیقات بینایی رایانه ای یافت می شود.
باید در اینجا مکث کنم ، و شاید در آینده این مقاله را در مقاله دیگری ادامه دهم. موضوعات و حوزه های زیادی وجود دارد که من به آنها اشاره نکرده ام ، اما در زیر مقالات متوسطی وجود دارد که اصطلاحات کلیدی ذکر شده در این مقاله و موارد دیگر را به تفصیل توضیح می دهد.
اکنون می توانید با داشتن تفاهم به سال 2020 بروید. بینایی کامپیوتر و توسعه آن از دهه 1960. /bq>
مقالات مربوط به Computer Vision و برخی از تکنیک های Dhruv Parthasarathy ، Siddharth Das و James Le را بررسی کنید.
این اولین مقاله را هنگام یادگیری اتومبیل های خودران با Udacity به عنوان بخشی از نانو درجه آنها نوشتم. برنامه.
برای این مشکلات ، من به ترتیب از دید رایانه رایانه ای ، یادگیری ماشین و یادگیری عمیق استفاده کردم.
چشم انداز رایانه ای برای تشخیص خطوط خطاز رایانه رایانه ای سنتی برای یافتن خطوط خط در جاده ، حتی خطوط منحنی استفاده شد. این رشته همه چیز در مورد استفاده از کتابخانه OpenCV و مطالعه رنگ پیکسل ها برای به دست آوردن شکل مناسب است.
یادگیری ماشین برای تشخیص وسیله نقلیه >یادگیری ماشین به عنوان طبقه بندی کننده با پنجره کشویی برای یافتن اتومبیل و موانع استفاده شد. طبقه بندی SVM اغلب دارای دو کلاس بود: خودرو و خودرو. زاویه فرمان با استفاده از یادگیری تقلیدی و روش یادگیری عمیق پایان به پایان تعیین شد. من آموختم. استحکام را می توان با استفاده از فیلتر کالمن تصحیح کرد ، اما عملکرد چیز دیگری است.
یادگیری ماشین نتایج بدی برای تشخیص موانع ، به ویژه هنگام تشخیص بیش از یک کلاس ، داشت. تکنیک پنجره کشویی نیز در مقایسه با الگوریتم های اخیر بسیار کند است. یادگیری تقویتی نیز امیدوار کننده تر به نظر می رسد اما هنوز در تحقیقات تجربی است.
بینایی رایانه ، یادگیری ماشین و یادگیری عمیق به طور کلی راه حل های خوبی برای مشکلات ادراکی هستند.
< p> اخیراً ، یادگیری عمیق با استفاده از شبکه های عصبی کانولوشن از هر تکنیک دیگری برای تشخیص خط و موانع پیشی گرفته است. آنقدر که حتی ارزش امتحان چیز دیگری را ندارد.مقاله قبلی من از شبکه های عصبی متحد (CNNs) به عنوان روشی جدید برای حل مشکلات بینایی رایانه یاد کرد.
< p> CNN ها معماری خاصی از شبکه های عصبی هستند که می توانند با استفاده از Convolutions شکل های خاصی (مانند اتومبیل ، عابر پیاده و ...) را بیاموزند. از داده های بیشتری نسبت به الگوریتم های یادگیری ماشین استفاده می کند ، و آموزش سخت تر است ، اما نتایج بسیار بهتر است.معماری یادگیری عمیق امروزه می تواند برای اهداف خاصی مانندتشخیص جعبه محدوده یا رگرسیون ضریب خط. بر خلاف "روش طبقه بندی" ، نیازی به استفاده از پنجره کشویی یا هیستوگرام برای خروجی نتیجه مورد نظر نیست. شبکه های عصبی را می توان طوری تنظیم کرد که هر چه می خواهیم تولید کنند.
هنگام تشخیص موانع ، نتیجه به طور کلی فراتر از خروج ساده خودرو یا عدم رانندگی است. ما به مختصات کادر محدود کننده (x1 ، y1 ، x2 ، y2) نیاز داریم که قبلاً با پنجره کشویی داشتیم. ما به اطمینان نمره (تا آستانه مقادیر اطمینان پایین) و کلاس (خودرو ، عابر پیاده ،…) که الگوریتم SVM بدست آورده ایم نیاز داریم. در انتهای شبکه عصبی.
لایه های متحرک برای یادگیری ویژگی های مستقل (اندازه ، رنگ ، شکل) در حالی که آخرین لایه ها در اینجا برای خروجی هستند. آنها یاد می گیرند که مختصات جعبه محدود کننده و سایر ویژگیهای مرتبطی را که ما به آنها نیاز داریم ، تولید کنند. همه در یک شبکه عصبی واحد انجام می شود.
معماری CNN برای تشخیص موانع < /img>برای تشخیص خطوط خط ، یادگیری عمیق را می توان دقیقاً به همان شیوه استفاده کرد.
نقش ایجاد ضرایب معادله خط خط است. خطوط خط را می توان با معادلات ضرایب درجه اول ، دوم یا سوم تقریب زد. معادله مرتبه اول به سادگی ax+b (یک خط مستقیم) است در حالی که ابعاد بالاتر اجازه ایجاد منحنی ها را می دهد.
خطوط 1D در مقابل خط دو بعدیدر CNN ، لایه های کانولوشن ویژگی ها را می آموزند ، در حالی که آخرین لایه ها ضرایب خط (a ، b و ج).
این ممکن است ساده به نظر برسد: چند لایه پیچشی تنظیم کنید ، چند لایه متراکم تنظیم کنید و معماری خروجی را تنها با 3 نورون برای ضرایب a ، b و c تنظیم کنید.
< در واقع ، این راه سخت تر است. مجموعه داده ها همیشه ضرایب خطوط خط را ذکر نمی کنند و همچنین ممکن است بخواهیم نوع خط (خط کشی ، جامد ،…) و همچنین اینکه آیا خط متعلق به خط وسیله نقلیه ego است یا به یک خط مجاور تشخیص دهیم. ویژگیهای متعددی وجود دارد که ممکن است بخواهیم داشته باشیم و آموزش یک شبکه عصبی واحد بسیار دشوار و تعمیم آن دشوارتر است.یک روش رایج برای حل این مشکل استفاده از تقسیم بندی است. در تقسیم بندی ، هدف این است که به هر پیکسل یک تصویر کلاس داده شود.
یک رنگ در هر کلاسدر این رویکرد ، هر خط مربوط به یک کلاس (ego چپ ، ego راست ، ...) است و هدف شبکه عصبی ایجاد تصویری فقط با این رنگ ها است.
نمونه تصویر خروجیدر این نوع معماری ، سیستم عصبی شبکه در دو قسمت کار می کند قسمت اول ویژگی ها را یاد می گیرد ، قسمت دوم خروجی را می آموزد. درست مانند تشخیص جعبه.
معماری U-Netبرای تشخیص خطوطاگر خروجی یک تصویر سیاه ساده با رنگ ، استفاده از یادگیری ماشین و رگرسیون خطی (یا چندگانه) برای یافتن خطوط خط در نقاط رنگی بسیار ساده است. 10 برابر سریعتر در آزمایشاتم ، 5 رویکرد FPS برای رویکرد دید رایانه ای و حدود 50 FPS برای رویکرد یادگیری عمیق داشتم.
I اخیراً مقاله ای منتشر شد که بسیار مورد توجه قرار گرفت: چشم انداز رایانه ای برای ردیابی.
در این مقاله ، من به تکنیکی برای ردیابی موانع در طول زمان با استفاده از دوربین ، یادگیری عمیق و الگوریتم های هوش مصنوعی مانند کالمن اشاره می کنم. فیلترها و الگوریتم مجار.
در اینجا ، جعبه های محدود کننده مانند یک روش کلاسیک YOLO رنگ ها را از قاب 1 به قاب 2 تغییر نمی دهند. اتومبیل سمت راست دارای یک جعبه محدود مشکی در قاب 1 و در قاب 2 به دلیل ارتباط است. اشیاء همرنگ جعبه های رنگی یکسانی ندارند.
یادگیری این نتیجه برای شبکه های عصبی بسیار دشوار است. به همین دلیل است که ما از فیلترینگ بیزی و الگوریتم ارتباط استفاده می کنیم. در اینجا درک بهتری داشته باشید.
در این رویکرد ، Deep Learning برای محدود کردن تشخیص جعبه استفاده می شود و نتیجه بلافاصله به الگوریتم های دیگر منتقل می شود که تصمیم می گیرند آیا وسیله نقلیه قبلی مشابه است یا خیر. به برای تصمیم گیری ، ویژگی های متغیر نیز می توانند به عنوان مطابقت بستگی به ظاهر شیء داشته باشند. برای یادگیری عمیق در اتومبیل های خودران-جعبه های محدود کننده سه بعدی
جعبه های محدود کننده بسیار عالی هستند تا بتوانیم موانع را بومی سازی کنیم. با این حال ، داشتن محلی سازی دو بعدی با مختصات پیکسل ممکن است چندان مفید نباشد. آنچه ترجیح داده می شود این است که موقعیت سه بعدی با x ، y ، z به طور مستقیم وجود داشته باشد.
به نظر می رسد که از مختصات پیکسل این امر بسیار دشوار است:
مقاله مربوط به روشی برای برآورد جعبه های محدود کننده سه بعدی بحث می کند با استفاده از یادگیری عمیق و هندسه.
معماری شبکه عصبی برای برآورد سه بعدیدر این رویکرد ، Deep Learning مجدداً برای یادگیری ویژگی (ابعاد ، زاویه ، اطمینان) استفاده می شود. سپس از هندسه برای ترجمه اطلاعات به جهان سه بعدی استفاده می شود.
تشخیص فضای آزاد در دنیای خودروهای خودران بسیار مشهور است. با این حال ، بسیاری از مردم هنوز تعجب می کنند که چه کاربردی دارد. من فرصتی برای استفاده از آن نداشتم زیرا پیشرفت ها استفاده از فضای آزاد را در اولویت قرار نمی دهند. اما امیدوارم ایده خوبی در مورد استفاده داشته باشم.
معماری شبیه بخش تقسیم بندی با مشکل تشخیص خط است.
SegNetروش رمزگذار-رمزگشایی مشابه روش U-Net است. رمزگذار به معنای پیچیدگی و ویژگی های یادگیری ، رمزگشایی به معنی بازسازی نقشه ویژگی ها است.