NLP و کامپیوتر بصری یکپارچه

NLP و کامپیوتر بصری یکپارچه

ادغام و بین رشته ای سنگ بنای علم و صنعت مدرن هستند. یکی از نمونه های تلاش های اخیر برای ترکیب همه چیز ، ادغام بینایی رایانه و پردازش زبان طبیعی (NLP) است. هر دوی این زمینه ها یکی از فعال ترین مناطق تحقیقاتی یادگیری ماشین هستند. با این حال ، تا همین اواخر ، آنها به عنوان مناطق جداگانه بدون راههای زیادی برای بهره مندی از یکدیگر رفتار می شدند. در حال حاضر ، با گسترش چند رسانه ای ، محققان بررسی امکان استفاده از هر دو رویکرد برای دستیابی به یک نتیجه را آغاز کرده اند. استخراج و تجزیه و تحلیل اطلاعات از منابع مختلف. این مطابق با نظریه نشانه شناسی است (گرینلی 1978) - مطالعه روابط بین علائم و معانی آنها در سطوح مختلف. نشانه شناسی رابطه بین علائم و معنا ، روابط رسمی بین نشانه ها (تقریباً معادل نحو) و نحوه تفسیر علائم توسط افراد بسته به زمینه (عملگرایی در نظریه زبانی) را مطالعه می کند. اگر نشانه های کاملاً بصری را در نظر بگیریم ، این نتیجه می شود که می توان با دید رایانه ای به نشانه شناسی نیز نزدیک شد و علائم جالبی را برای پردازش زبان طبیعی استخراج کرد تا معانی متناظر را متوجه شود.

بینایی رایانه ای و ارتباط آن با NLP

مالک وظایف Computer Vision را در 3R خلاصه می کند (Malik و همکاران 2016): بازسازی ، تشخیص و سازماندهی مجدد.

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

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

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

این شناخت بیشترین ارتباط را با زبان دارد زیرا دارای خروجی است که می تواند به عنوان کلمات تفسیر شود. به عنوان مثال ، اشیاء را می توان با اسم ، فعالیتها را بر فعلها و ویژگیهای شی را با صفات نشان داد. از این نظر ، بینایی و زبان با استفاده از بازنمایی های معنایی به هم متصل می شوند (Gardenfors 2014 ؛ Gupta 2009). در مقایسه با بینایی رایانه ای و از نحو ، شامل ریخت شناسی و ترکیب بندی ، معناشناسی به عنوان مطالعه معنا ، شامل روابط بین کلمات ، عبارات ، جملات و گفتمان ها ، تا عمل گرایی ، مطالعه سایه های معنا ، در سطح ارتباط طبیعی است.

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

اعتقاد بر این است که تغییر تصویر از کلمات نزدیکترین به ترجمه ماشینی است. با این حال ، چنین "ترجمه" بین پیکسل های سطح پایین یا خطوط تصویر و توصیف سطح بالا در کلمات یا جملات-وظیفه ای که به عنوان پل شکاف معنایی شناخته می شود (ژائو و گروسکی 2002)-یک شکاف گسترده برایمتقاطع.

حوزه ادغام بینایی رایانه ای و NLP

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

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

فایل های چند رسانه ای

وظایف مربوط به چند رسانه ای برای NLP و بینایی رایانه ای در سه بخش اصلی قرار می گیرد. دسته ها: توصیف خواص بصری ، توصیف بصری و بازیابی بصری.

< p> توصیف ویژگیهای بصری: یک مرحله فراتر از طبقه بندی ، رویکرد توصیفی با اختصاص ویژگیها ، ویژگیهای شی را خلاصه می کند. چنین ویژگیهایی ممکن است هم ارزشهای دوتایی برای خواصی باشند که به راحتی قابل تشخیص هستند و هم ویژگیهای نسبی که با کمک یک چارچوب یادگیری-رتبه بندی یک ویژگی را توصیف می کنند. نکته اصلی این است که ویژگی ها مجموعه ای از زمینه ها را به عنوان منبع دانش برای تشخیص یک شیء خاص با ویژگی های آن ارائه می دهند. کلمات ویژگی به نمایشی متوسط ​​تبدیل می شوند که به پل شکاف معنایی بین فضای بصری و فضای برچسب کمک می کند.

توصیف بصری: در زندگی واقعی ، وظیفه توصیف بصری ارائه تصویر یا ویدئو است. اعتقاد بر این است که جملات توصیف آموزنده تری از یک تصویر ارائه می دهند تا یک کلمه از کلمات بی نظم. برای ایجاد جمله ای که یک تصویر را توصیف می کند ، باید مقدار مشخصی از اطلاعات بصری سطح پایین را استخراج کرد که اطلاعات اساسی "چه کسی با چه کسی و کجا و چگونه آن را انجام داد" را ارائه می دهد. از دیدگاه بخشی از گفتار ، چهارقلوهای "اسم ها ، افعال ، صحنه ها ، حروف اضافه" می توانند نشان دهنده معنی استخراج شده از آشکارسازهای بصری باشند. ماژول های بصری اشیائی را استخراج می کنند که در جمله یا فاعل یا شیء هستند. سپس از یک مدل مارکوف پنهان برای رمزگشایی محتمل ترین جمله از مجموعه ای از چهارقلوهای نامحدود به همراه تعدادی از پیشگامان راهنمای پیکر برای پیش بینی فعل و صحنه (حرف اضافه) استفاده می شود. این معنا با استفاده از اشیاء (اسم) ، ویژگی های بصری (صفت) و روابط فضایی (حروف اضافه) نشان داده می شود. سپس این جمله با استفاده از تکنیک ترکیب ترکیب با استفاده از n-gram در مقیاس وب برای تعیین احتمالات تولید می شود.

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

رباتیک

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

< p> زبان موقعیتی: روباتها برای توصیف جهان فیزیکی و درک محیط خود از زبانها استفاده می کنند. علاوه بر این ، زبان گفتاری و حرکات طبیعی راه راحت تری برای تعامل با یک روبات برای انسان است ، در صورتی که روبات برای درک این شیوه تعامل آموزش دیده باشد. از دیدگاه انسان ، این روش تعامل طبیعی تر است. بنابراین ، یک روبات باید بتواند اطلاعات را از درک متنی خود با استفاده از ساختارهای معنایی درک و تبدیل کند. معروف ترین رویکرد برای بازنمایی معنا تجزیه معنایی است که کلمات را به محمولات منطقی تبدیل می کند. SP سعی می کند یک جمله زبان طبیعی را به نمایش معنای متناظر که می تواند یک شکل منطقی مانند λ-calculus با استفاده از گرامر طبقه بندی ترکیبی (CCG) به عنوان قواعدی برای ساخت ترکیبی درخت تجزیه باشد ، ترسیم کند.

معناشناسی توزیعی

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

مدلهای معناشناسی توزیع چندوجهی عصبی: مدلهای عصبی با یادگیری توزیع بهتر داده ها از بسیاری از روشهای سنتی در بینایی و زبانی پیشی گرفته اند. به عنوان مثال ، ماشینهای Multimodal Deep Boltzmann می توانند ویژگیهای بصری و متنی مشترک را بهتر از مدلهای موضوعی مدل کنند. علاوه بر این ، مدل های عصبی می توانند برخی از پدیده های قابل قبول شناختی مانند توجه و حافظه را الگو قرار دهند. برای توجه ، یک تصویر در ابتدا می تواند با استفاده از CNN وRNN ها یک شبکه LSTM را می توان در بالای صفحه قرار داد و مانند یک ماشین حالت دهنده عمل کرد که همزمان خروجی هایی تولید می کند ، مانند زیرنویس های تصویر یا به طور همزمان به مناطق مورد علاقه در یک تصویر نگاه می کند. برای حافظه ، دانش عمومی در پاسخ به س visualالات بصری

آینده ادغام NLP و بینایی رایانه

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

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

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

منابع:

گوردنفورس ، ص. 2014. هندسه معنا: معناشناسی بر اساس فضاهای مفهومی. مطبوعات MIT.

گرینلی ، دی . 1978. نشانه شناسی و معنی. Int گل میخ فلسفه 10 (1978) ، 251-254.

گوپتا ، A. 2009. فراتر از اسمها و افعال. (2009).

مالک ، J. ، Arbeláez ، P. ، Carreira، J.، Fragkiadaki، K.، Girshick، R.، Gkioxari، G.، Gupta، S.، Hariharan، B. ، Kar ، A. و Tulsiani ، S. 2016. سه Rs بینایی رایانه ای: بازشناسی ، بازسازی و سازماندهی مجدد. تشخیص الگو.

شوکلا ، دی ، دسای A.A. یکپارچه سازی بینایی رایانه ای و پردازش زبان طبیعی: مسائل و چالش ها. مجله علم و فناوری VNSGU جلد. 4 ، №1 ، ص. 190–196.

Wiriyathammabhum، P.، Stay، D.S.، Fermüller C.، Aloimonos، Y. Computer Computer and Processing Natural Language Processing: Recent Approaches in Multimedia and Robotics. نظرسنجی های محاسباتی ACM 49 (4): 1–44

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

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

اخیراً ، من بصورت تمام وقت روی پروژه هایم به عنوان تکمیل بخشی از برنامه Nanodegree مهندس خودران Udacity (گروه فوریه 2017) کار می کنم. چهارمین پروژه ، و مورد علاقه من ، این است که ما وظیفه داریم مرزهای خط جاده و شعاع انحنای آن را از طریق جریان ویدئوها مشخص کنیم. این ویدئوها از دوربینی که روی خودرو قرار داده شده گرفته شده است. در این مقاله ، من در مورد چیزهایی که در انجام این پروژه آموخته ام صحبت می کنم. "> اگر این مقاله به نوعی به شما کمک کرد ، در نظر داشته باشید که برای من قهوه بخرید :)

GITHUB LINK | گزارش کامل فنی

به طور خلاصه ، I ' مراحل زیر را برای انجام این کار انجام داده اید:

برای اعوجاج دوربین پیکسل های خط فیلتر دریافت "نمای آسمان" منحنی “Best-Fit” را تنظیم کنید خط را به تصویر "نمای خودرو"

1 بازگردانید. CALIBRATION CAMERA

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

< img src = "https://cdn-images-1.medium.com/max/426/1*sq1BRcJGSvm3fdxnbS08yw.png">

2. TRANSFORMATION چشم انداز

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

3. پیش بینی درجه و رنگ

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

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

من عملگر Sobel را به مقدار روشنایی تصویر اعمال کردم. ما از ترکیبی از آستانه شیب مولفه افقی ، بزرگی شیب و جهت شیب استفاده کردیم. من می خواهم مکان های گرادیان را که تغییر اندازه کافی چندانی ندارند ، کنار بگذارم. آستانه اندازه گرادیان و همچنین x جزء شیب کار خوبی را در این زمینه انجام می دهد. من فقط شیب های یک جهت خاص را در نظر می گیرم. کمی بالاتر از 0 درجه (یا حدود 0.7 در رادیان) ، و زیر 90 درجه (یا حدود 1.4 در رادیان). صفر دلالت بر خطوط افقی و نود خطوط عمودی دارد و خطوط ما (در نمای خودرو) بین آنها قرار دارد.

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

4. CURVE FITTING

ما می توانیم یک منحنی برای هر خط خط با یک تابع چند جمله ای درجه دوم x = y² + By + C قرار دهیم. ما باید ضرایب مربوط به هر خط [A ، B ، C] را پیدا کنیم. ما می توانیم از تابع داخلی polyfit () استفاده کنیم تنها کاری که باید انجام دهیم تغذیه نقاط آن است و ضرایب چند جمله ای از یک درجه مشخص از منحنی را که متناسب با نقاط تغذیه شده است ، بیرون می آورد.

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

< p> من می توانم یک "تکنیک پنجره کشویی" را انجام دهم - یکی از پنجره ها روی پنجره دیگر که از خطوط بالای قاب پیروی می کند. پیکسل های داخل یک "پنجره" به عنوان "پیکسل های مورد علاقه" علامت گذاری می شوند و به لیست نقاط در خط اضافه می شوند. ما مقادیر x این پیکسل ها را متوسط ​​می کنیم تا به خوبی نقطه پایه پنجره بعدی بالا را نشان دهیم. ما می توانیم این کار را بارها و بارها تکرار کنیم تا به بالای خط برسیم. به این ترتیب ما تمام پیکسل هایی را که به آن علاقه داریم جمع کرده ایم و به تابع polyfit () که ضرایب چند جمله ای درجه 2 را مشخص می کند ، تغذیه می کنیم. ما می توانیم شعاع انحنای هر خط را محاسبه کنیموقتی معادلات منحنی را می دانیم.

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

5. پروژه LANE برای مشاهده وسیله نقلیه

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

چون ما در حال حاضر پارامترهای منحنی خط خط را داریم نقاط منحنی ها و تابع fillPoly () برای کشیدن ناحیه خط روی تصویر. اکنون می توانیم اندازه گیری خود را در مسیر تصویر نشان دهیم. ما این را به زیبایی در یک عملکرد کوچک و شیک به نامbirdsEye.project ()

< /img>

خلاصه و بعد از اندیشه ها

بنابراین به طور خلاصه ، این تقریباً تمام مراحلی است که باید برای تشخیص خطوط خط انجام دهیم. ما همچنین می توانیم شعاع خمیدگی را تخمین زده و موقعیت خودرو را با توجه به هر یک از این خطوط خط تخمین بزنیم. ابتدا ، اعوجاج دوربین را تصحیح کردیم ، همه چیز را به جز پیکسل های خط خط پنهان کردیم. ما تصویر را به "نمای آسمان" تغییر دادیم و از این پیکسل های خط استفاده کردیم تا با استفاده از تکنیک "sliding-window" و تابع polyfit () بهترین منحنی را پیدا کنیم. ما همچنین می توانیم خطوط خمیده را برای نمای فوق العاده به تصویر "نمای خودرو" بازگردانیم :). منحنی که منطقی است من فکر می کنم هنوز باید تغییراتی ایجاد کنم تا شعاع تخمین خمیدگی بهتری حاصل شود. من همچنین فکر می کنم اگر بیشتر فکر کنم می توانم الگوریتم پنجره کشویی را با خواندن تمیزتری انجام دهم تا پیکسل های مورد علاقه هر خط را بدست آورم. به نظر می رسد کلاس Curves مسئول بسیاری از موارد است ، شاید بتوانم این را به چند کلاس کوچکتر تقسیم کنم. نکته دیگر این است که من فکر می کنم عملکرد پروژه () در کلاس BirdsEye من نامناسب است ، شاید من باید به جای درخواست ضرایب اتصالات منحنی ، خطوط خط خارج را محاسبه کنم ، تابع باید برای نمایش تصویر درخواست کند در عوض.

پیوند GITHUB | گزارش فنی کامل

اگر این مقاله به نوعی به شما کمک کرد ، برای من قهوه بخرید :)