امیر محمد سهرابی
امیر محمد سهرابی
خواندن ۱۱ دقیقه·۲ سال پیش

کاربرد هوش مصنوعی در ماشین های خودران

اصلا ماشین خودران چیه؟

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

شرکت های محبوب در حال توسعه ماشین‌های خودران

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

سطوح ماشین‌های خودران

اداره ملی ایمنی ترافیک بزرگراه های ایالات متحده (NHTSA) شش سطح از اتوماسیون را ارائه می دهد که از سطح 0 شروع می شود، جایی که انسان رانندگی را انجام می دهد، از طریق فناوری های کمک راننده تا اتومبیل های کاملاً خودمختار.

در اینجا پنج سطحی هستند که از اتوماسیون سطح 0 پیروی می کنند:

  • سطح 1: یک سیستم کمک راننده پیشرفته (ADAS) به راننده انسان در فرمان دادن، ترمز گرفتن یا شتاب گیری کمک می کند، البته نه به طور همزمان. یک ADAS شامل دوربین‌های دید عقب و ویژگی‌هایی مانند هشدار لرزان صندلی برای هشدار دادن به رانندگان در هنگام خروج از خط حرکت است.
  • سطح 2: ADAS که می تواند به طور همزمان هدایت کند و ترمز کند یا شتاب بگیرد در حالی که راننده کاملاً در پشت فرمان هوشیار است و به عنوان راننده به کار خود ادامه می دهد.
  • سطح 3: یک سیستم رانندگی خودکار (ADS) می تواند تمام وظایف رانندگی را تحت شرایط خاص مانند پارک کردن ماشین انجام دهد. در این شرایط، راننده انسانی باید آماده کنترل مجدد باشد و همچنان باید راننده اصلی وسیله نقلیه باشد.
  • سطح 4: یک ADS می تواند تمام وظایف رانندگی را انجام دهد و در شرایط خاص محیط رانندگی را کنترل کند. در آن شرایط، ADS به اندازه کافی قابل اعتماد است که راننده انسانی نیازی به توجه ندارد.
  • سطح 5: ADS خودرو به عنوان یک راننده مجازی عمل می کند و تمام رانندگی را در هر شرایطی انجام می‌دهد. سرنشینان انسان مسافر هستند و هرگز انتظار نمی رود که وسیله نقلیه را برانند.

نمونه‌های ماشین‌های خودران

ماشین خودران BMW
ماشین خودران BMW
ماشین خودران Audi
ماشین خودران Audi
ماشین خودران Ford
ماشین خودران Ford
ماشین خودران وایمو Google
ماشین خودران وایمو Google

ایمنی ماشین‌های خودران و چالش ها

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

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

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

داستان واقعی

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

تسلا در مقابل بقیه میدان

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

ویژگی های ماشین‌های کاملا خودران (تسلا)

علاوه بر کروز کنترل آگاه از ترافیک Autopilot که سرعت خودرو را با ترافیک اطراف مطابقت می‌دهد و Autosteer که به هدایت در یک خط مشخص کمک می‌کند، خودرانی کامل این قابلیت‌ها را فعال می‌کند:

  • راهبری در حالت Autopilot
  • خط عوض کن خودکار
  • پارک خودکار
  • حالت احضار خودرو
  • احضار هوشمند
  • کنترل علائم ترافیک و توقف

ویژگی های ایمنی (تسلا)

علاوه بر قابلیت‌های خلبان خودکار و خودرانی کامل، تسلا این ویژگی‌های ایمنی فعال را به عنوان تجهیزات استاندارد در تمام خودروهای جدید تسلا اضافه می‌کند:

  • ترمز اضطراری خودکار
  • هشدار برخورد از جلو
  • هشدار برخورد از بغل
  • شتاب‌گیری با آگاهی از موانع
  • هشدار نقاط کور
  • هشدار خروج از خط
  • اجتناب از خروج از خط اضطراری

تکنولوژی‌ها و مباحث تئوری

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

نحوه کار ماشین خودران

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

یک ماشین خودران چگونه می بیند؟

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

  • آشکارسازهای رادار: آشکارسازهای رادار عملکرد سنسورهای دوربین را در شب یا هر زمان که دید ضعیف باشد افزایش می‌دهند. آنها پالس‌هایی از امواج رادیویی را برای مکان یابی یک شی‌می‌فرستند.
  • فوکوس لیزری: حسگرهای لیزری، فاصله را از طریق لیزرهای پالسی شناسایی و با توانمندسازی خودروهای بدون راننده به وسیلۀ تصاویر سه بعدی از محیط اطراف، اطلاعات غنی‌تری درباره شکل و عمق اضافه می‌کنند.
  • دستگاه LiDAR: دستگاه LiDAR یکی از مهم ترین فناوری های مورد استفاده در توسعه وسایل نقلیه خودران است. اساساً، این دستگاهی است که با ارسال پالس های نوری و دریافت بازتاب آن از یک جسم، فاصله‌ها را اندازه‌گیری و تصویری سه بعدی و دیجیتال از محیط اطرف خود می‌سازد.

یک ماشین خودران چگونه تصمیم می‌گیرد؟

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

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

یادگیری ماشینی دو مدل یادگیری دارد:

  • یادگیری بدون نظارت (Unsupervised learning): یک الگوریتم یادگیری ماشین که داده‌ها را بدون برچسب و هیچ دستورالعملی در مورد نحوه پردازش آنها دریافت می‌کند، بنابراین باید به تنهایی بفهمد که چه کاری درباره آن‌ها انجام دهد.
  • یادگیری تحت نظارت (Supervised learning): یک الگوریتم شامل دستورالعمل‌هایی که در مورد نحوه تفسیر داده های ورودی سیستم را راهنمایی می‌کند. این رویکرد ترجیحی برای یادگیری خودروهای خودران است. این به الگوریتم اجازه می‌دهد تا داده های آموزشی را بر اساس یک مجموعه داده کاملاً برچسب گذاری شده ارزیابی کند. می‌توان گفت یادگیری نظارت شده را در مورد مسائل طبقه بندی مفیدتر عمل می‌کند.

الگوریتم‌های هوش مصنوعی مورد استفاده

  • الگوریتم SIFT (scale-invariant feature transform): تبدیل ویژگی مستقل از مقیاس (SIFT) یک الگوریتم های مورد استفاده در در بینایی ماشین است که برای استخراج ویژگی‌های مشخص از تصاویر مورد استفاده قرار می‌گیرد. برای استفاده در الگوریتم‌های کارهایی چون تطبیق نماهای مختلف یک جسم یا صحنه و شناسایی اجسام به کار می‌رود. ویژگی‌های بدست آمده نسبت به مقیاس تصویر و چرخش و نسبت به تغییر دیدگاه و تغییرات نورپردازی تا اندازه‌ای مستقل است و می‌تواند آن را تشخیص دهد.
  • الگوریتم AdaBoost:

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

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

اگر به شبه کد این الگوریتم دقت کنید بهتر می‌توانید شکل بالا و نحوه یکسان کردن نتیجه کلاس‌بندی‌ها را درک کنید. ابندا وزن‌ها بر اساس منطق نقسیماش بر یک برای هر داده آموزشی مقداردهی می‌شود. سپس هر classifier روی داده‌ها صدا زده می‌شود. سپس مقدار error و خطای هر مرحله با توجه وزن‌ها و یکسان نبودن داده‌ها شناسایی و نرمال‌سازی می‌شود. سپس برای مینیمم کردن مقدار خطای classifier در این مرحله، ضریب a از این مقدار خطا محاسبه و مطابق با فرمول نمایی مرحله 2-d در وزن‌ها ضرب شده و وزن‌های جدید را می‌سازد و این روند با وزن‌های متوثر از classifier فرضی m برای classifier فرضی m+1 نیز اعمال می‌شود تا در نهایت boosted classifier ایجاد گردد. لازم به ذکر است مقدار a از یک مسئله بهینه سازی برای مینیمم کردن مقدار خطا و با مشتق گیری به دست آمده است.

  • الگوریتم YOLO (You Only Look Once)

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

این الگوریتم از neural network به شکل مشخص با استفاده از عملگرهای convolution برای تصاویر مورد استفاده قرار می‌گیرد که به Convolutional Neural Network (ConvNet/CNN) نیز معروف است. یک شبکه عصبی کانولوشنال (ConvNet/CNN) یک الگوریتم یادگیری عمیق است که می‌تواند یک تصویر ورودی بگیرد، اهمیت (وزن‌ها و سوگیری‌های قابل یادگیری) را به جنبه‌ها/اشیاء مختلف در تصویر اختصاص دهد و بتواند یکی را از دیگری متمایز کند.

اما چرا این الگوریتم بهینه است. اگر با مقهوم Perceptronها آشنا باشید، می‌دانیم که یک تصویر چیزی نیست جز ماتریسی از مقادیر پیکسل، درست است؟ پس چرا فقط تصویر را مسطح نکنیم (مثلاً ماتریس تصویر 3x3 را به یک بردار 9x1 تبدیل کنیم) و آن را به یک پرسپترون چند سطحی برای اهداف طبقه بندی ندهیم؟ این موضوع در سطوح بزرگی مثل عکس عملا غیر ممکن است!

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

در مرحله بعد عملیات pooling انجام می‌پذیرد. مشابه لایه Convolutional، لایه Pooling مسئول کاهش اندازه فضایی ویژگی Convolved است. دو نوع Pooling وجود دارد: Max Pooling و Average Pooling. Max Pooling حداکثر مقدار را از قسمتی از تصویر که توسط Kernel پوشانده شده است برمی گرداند. از سوی دیگر، Average Pooling میانگین تمام مقادیر را از بخشی از تصویر تحت پوشش Kernel برمی‌گرداند. به شکل زیر از max pooling دقت کنید.

به عنوان مثال به مراحل تشخیص عدد از یک تضویر دقت کنید. در یک CNN به جای داده شدن یک ماتریس 28x28 به neural network یا انجام یک convolution به ماتریس 12X12 و بعد با max pooling به ماتریس 12x12 و سپس با یک convolution دیگر به ماتریس 8x8 و سپس با max pooling به ماتریس‌های 4x4 در کانال‌های مختلف می‌رسیم. سپس از neural network برای کلاس‌یندی کردن این اطلاعات استفاده می‌کنیم.

حال که با CNN آشنا شدیم می‎‌توانیم بگویم که الگوریتم YOLO با استفاده از همین ویژگی با قرار داده بخش‌های مختلف هر تصویر در باکس‌های کوچکتر هر باکس را به CNN داده و تمام objectهای درون تصویر را پیدا و طبقه بندی می‌کند.

نتیجه‌گیری

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


هوش مصنوعیماشین خودران
شاید از این پست‌ها خوشتان بیاید