یادگیری عمیق برای تشخیص اشیای سه‌بعدی با استفاده از Lider در نرم افزار Matlab

بخش ها: 4

سطح: مبتدی تا پیشرفته

سرگروه آموزش و بازبین: دکتر رضا احمدی

حجم فایل: 300 mb

مدت زمان: 70 دقیقه

فایل شبیه سازی: همراه دارد

فایل همراه: اسلایدهای پاورپوینت آموزشی

لینک دانلود ویژه اعضا سایت

دکتر رضا احمدی

دکتر رضا احمدی

بازیین و مدیر ارشد

 

دکترای مهندسی برق از دانشگاه امیرکبیر

کارشناسی ارشد گرایش قدرت از دانشگاه تهران

کارشناسی الکترونیک فردوسی مشهد

اسلاید های آموزشی مدرس

تایید می شود تمام اسلایدی آموزشی همراه آموزش ارسال خواهد شد

فایل های شبیه سازی

تایید می شود تمام فایل های مورد استفاده مدرس همراه آموزش ارسال خواهد شد

از دنیای نقاط سرگردان تا هوش مصنوعی در حرکت: استاد تشخیص اشیاء سه‌بعدی شوید

آیا تا به حال به این فکر کرده‌اید که یک خودروی خودران یا یک ربات چگونه محیط اطراف خود را با دقتی فراتر از چشم انسان درک می‌کند؟ کلید این توانمندی در لایدار (LiDAR) نهفته است؛ تکنولوژی‌ای که جهان را به صورت ابر نقاط (Point Clouds) سه‌بعدی می‌بیند. اما داشتن داده‌های لایدار تنها شروع کار است. چالش اصلی اینجاست: چگونه این میلیون‌ها نقطه پراکنده را به تصمیمی هوشمندانه برای ترمز گرفتن یا دور زدن تبدیل کنیم؟ این ویدیو، نقشه راه جامع شما برای عبور از این چالش است. ارزشی که به دست می‌آورید: فراتر از تئوری، مستقیماً به سوی اجرا بسیاری از دوره‌ها تنها به مفاهیم ریاضی بسنده می‌کنند، اما این ویدیو بر نتیجه‌ نهایی تمرکز دارد. شما یاد می‌گیرید که چگونه یک جریان کاری حرفه‌ای و کامل (End-to-End) را مدیریت کنید.

۱. مدیریت هوشمندانه داده‌ها (صرفه‌جویی در زمان و حافظه)

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

۲. تولید داده‌های آموزشی با سرعت ۱۰ برابر

بزرگترین گلوگاه در یادگیری عمیق، برچسب‌گذاری (Labeling) داده‌هاست که معمولاً زمان‌برترین بخش پروژه است. ما به شما نشان می‌دهیم چگونه با استفاده از الگوریتم‌های خودکارسازی و درونیابی (Interpolation)، صدها فریم را تنها با چند کلیک برچسب‌گذاری کنید. این مهارت، هفته‌ها کار دستی را به چند ساعت کار لذت‌بخش تبدیل می‌کند.

۳. ساخت مدل‌های قدرتمند با داده‌های محدود

نگران کمبود داده هستید؟ شما یاد می‌گیرید چگونه با استفاده از تکنیک Augmentation (تولید داده‌های مصنوعی هوشمند) و Transfer Learning (یادگیری انتقالی)، شبکه‌های عصبی پیچیده‌ای مثل PointPillars را حتی با مجموعه‌ داده‌های کوچک، به دقت بسیار بالایی برسانید. شما می‌آموزید که چگونه هوش مصنوعی خود را در برابر سناریوهای پیش‌بینی نشده دنیای واقعی مقاوم کنید.

۴. تبدیل کد به واقعیت (استقرار روی سخت‌افزار)

ارزش واقعی کار شما زمانی مشخص می‌شود که هوش مصنوعی از محیط متلب خارج شده و روی یک ربات یا برد NVIDIA Jetson اجرا شود. ما به شما می‌آموزیم که چگونه کدهای خود را به C++ بهینه‌سازی شده تبدیل کنید (Code Generation) تا بدون نیاز به نوشتن دستی صدها خط کد پیچیده، خروجی‌های خود را در محیط‌های ROS 2 و پروژه‌های صنعتی پیاده‌سازی کنید. چرا این ویدیو ارزش خرید دارد؟ با مشاهده این ویدیو، شما صرفاً یک دانشجو نخواهید بود، بلکه به مهندسی تبدیل می‌شوید که قادر است یک سیستم تشخیص اشیاء سه‌بعدی را از صفر طراحی، آموزش و بر روی سخت‌افزار واقعی مستقر کند. این مهارتی است که امروز در صنایع پیشرو مانند خودروسازی، نقشه‌برداری هوایی و رباتیک تقاضای بسیار بالایی برای آن وجود دارد. فرصت را از دست ندهید؛ همین حالا این ویدیو را تهیه کنید و از دنیای نقاط به دنیای تصمیمات هوشمند قدم بگذارید!

عناوین و سر فصل های این آموزش

۱. مقدمه: درک دنیای لایدار و ابر نقاط (LiDAR Basics)

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

۲. کاوش و آماده‌سازی داده‌ها با Lidar Viewer
این فصل به آموزش استفاده از اپلیکیشن Lidar Viewer می‌پردازد. شما یاد می‌گیرید چگونه داده‌ها را وارد کنید، نماهای مختلف (مانند Bird’s-eye view) را تنظیم کرده و با ابزارهای اندازه‌گیری، مقیاس اشیاء را در محیط سه‌بعدی بسنجید.
۳. پیش‌پردازش هوشمند: بهینه‌سازی برای پردازش سریع

در این مرحله، تکنیک‌های حیاتی برای کاهش حجم داده و افزایش سرعت پردازش آموزش داده می‌شود. این موارد شامل کراپ کردن (Cropping) برای حذف نقاط دوردست، حذف نویز (Denoising)، نمونه‌کاهی (Downsampling) برای مدیریت حافظه و حذف زمین (Ground Removal) است.

۴. برچسب‌گذاری (Labeling) و مدیریت مجموعه داده
قبل از آموزش، داده‌ها به دو دسته آموزشی و تست تقسیم می‌شوند . سپس با استفاده از اپلیکیشن Lidar Labeler، نحوه ترسیم مکعب‌های سه‌بعدی (Cuboids) پیرامون اشیاء و استفاده از الگوریتم‌های خودکارسازی مانند درونیابی (Interpolation) برای برچسب‌گذاری سریع صدها فریم آموزش داده می‌شود.
۵. مهندسی داده: Datastore و افزایش داده (Augmentation)
برای کار با مجموعه‌داده‌های بزرگ که در حافظه رم جا نمی‌شوند، از مفهوم Datastore استفاده می‌کنیم. همچنین یاد می‌گیرید چگونه با تکنیک Augmentation (مانند نمونه‌برداری مجدد از اشیاء کمیاب)، دقت مدل خود را در مواجهه با سناریوهای نادر تقویت کنید.
۶. آموزش شبکه عصبی با یادگیری انتقالی (Transfer Learning)
در این بخش، معماری شبکه PointPillars معرفی می‌شود. شما می‌آموزید که چگونه به جای شروع از صفر، از یک مدل پیش‌آموزش‌دیده استفاده کرده و آن را با تنظیم پارامترهایی مثل Anchor Boxes و گزینه‌های بهینه‌ساز (Solver) برای پروژه خود شخصی‌سازی کنید .
۷. تحلیل عملکرد و اعتبارسنجی مدل
پس از آموزش، نوبت به تست مدل روی داده‌هایی می‌رسد که شبکه قبلاً آن‌ها را ندیده است . در این فصل، نحوه مشاهده خروجی‌ها، ترسیم Bounding Boxes روی ابر نقاط و روش‌های بهبود دقت مدل به صورت تکرارشونده (Iterative) بررسی می‌شود.
۸. استقرار (Deployment): از متلب به دنیای واقعی و ROS 2
بخش پایانی به تبدیل کدهای متلب به C++ با استفاده از MATLAB Coder اختصاص دارد. شما یاد می‌گیرید چگونه یک کتابخانه استاتیک بسازید یا مدل خود را به عنوان یک گره (Node) در سیستم‌عامل ربات‌ها (ROS 2) بر روی سخت‌افزارهایی مانند NVIDIA Jetson مستقر کنید.

 

نمونه ای از اسلاید های آموزشی که همراه دوره ارسال خواهد شد

با هر بار سر زدن به این صفحه (رفرش صفحه) اسلاید های دیگری را ببنید!

تالیف گروهی ، پشتیبانی تلفنی

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

دانلود آنی/ ارسال سریع

لینک های دانلود بلافاصله پس از ثبت سفارش به پنل کاربری شما اضافه می شود و لینک دانلود به ایمیل شما هم ارسال میشود در صورت خرید پستی ارسال پستی به همراه کد رهگیری مرسوله در اولین ساعت اداری روز انجام می شود

همراه فایل های شبیه سازی

در تمام دوره ها سعی شده تا تمام فایل های شبیه سازی که استاد استفاده می کند (در صورت وجود) همراه فیلم های آموزشی ارسال شود تا دانشجویان امکان شبیه سازی گام به گام همراه استاد را داشته باشند.

%

رضایت کاربران

تعداد پشتیبانان

تعداد دقیقه های آموزش

تعداد بخش ها

۵ حقیقت شگفت‌انگیز درباره تشخیص اشیاء سه‌بعدی؛ جایی که ربات‌ها دنیا را متفاوت می‌بینند!

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

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

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

۱. در دنیای سه‌بعدی، «کمتر» واقعاً «بیشتر» است

بسیاری تصور می‌کنند هرچه داده بیشتری وارد مدل شود، خروجی بهتر خواهد بود؛ اما در پردازش داده‌های لایدار این باور می‌تواند هزینه سنگینی داشته باشد.

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

از طرفی حذف نویزها، مدیریت مقادیر NAN و حذف نقاط غیرضروری، تفاوت میان یک سیستم کند و یک ربات واکنش‌سریع را رقم می‌زند.

در رباتیک، داده کمتر اما هوشمندانه‌تر، اغلب ارزشمندتر از داده بیشتر است.

۲. برچسب‌گذاری هوشمند؛ وقتی هوش مصنوعی دستیار انسان می‌شود

برچسب‌گذاری معمولاً زمان‌برترین بخش پروژه است، اما خوشبختانه لازم نیست همه چیز را دستی انجام دهید.

با استفاده از Temporal Interpolation کافی است فقط فریم‌های کلیدی را برچسب‌گذاری کنید و الگوریتم بقیه مسیر را تخمین بزند.

مدل‌های پیش‌آموزش‌دیده نیز می‌توانند بخش بزرگی از این فرآیند را خودکار کنند.

اما یک اشتباه می‌تواند فاجعه‌آفرین باشد:

اگر فضای خالی را به اشتباه به‌عنوان یک شیء برچسب بزنید، مدل شما یاد می‌گیرد که «هیچ‌چیز» می‌تواند یک مانع واقعی باشد؛ اشتباهی که در خودروهای خودران می‌تواند پیامدهای جدی داشته باشد.

۳. چرا مدل‌ها بعضی اشیاء را نمی‌بینند؟

دنیای واقعی عادلانه نیست.

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

راه‌حل، استفاده از تکنیک Oversampling است.

با ابزارهایی مانند pcBboxOversample می‌توان اشیاء کمیاب را از فریم‌های دیگر استخراج و به‌صورت تصادفی وارد داده‌های آموزشی کرد تا مدل فرصت بیشتری برای یادگیری آن‌ها داشته باشد.

به زبان ساده:

گاهی بهترین راه ساخت داده جدید، استفاده هوشمندانه از داده‌های قدیمی است.

۴. چرا از صفر شروع کنیم وقتی غول‌ها قبلاً این مسیر را رفته‌اند؟

آموزش یک شبکه سه‌بعدی از ابتدا، برای بسیاری از تیم‌ها نه منطقی است و نه اقتصادی.

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

این همان قدرت Transfer Learning است.

برای تیم‌های رباتیک و مسابقات مهندسی، این رویکرد می‌تواند تفاوت میان چند ماه آموزش و چند روز تنظیم مدل باشد.

۵. از ۱۵ خط کد تا صدها خط بهینه‌سازی سخت‌افزاری

یکی از جذاب‌ترین بخش‌های پروژه زمانی است که مدل آماده ورود به دنیای واقعی می‌شود.

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

این کدها از فناوری‌هایی مانند CUDA و MKL-DNN استفاده می‌کنند تا پردازش در زمان واقعی ممکن شود؛ موضوعی که برای خودروهای خودران و ربات‌های صنعتی حیاتی است.

در این مرحله معمولاً دو مسیر وجود دارد:

  • Static Library برای ادغام مستقیم در پروژه‌های C++
  • ROS 2 Node برای سیستم‌های رباتیکی توزیع‌شده و ماژولار

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

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

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

و حالا یک سؤال:

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

18 دیدگاه ها

  1. آیا امکان اجرای این سیستم روی بردهای کوچکی مثل NVIDIA Jetson وجود دارد؟

    پاسخ
    • بله؛ در این دوره فرآیند استقرار مدل به عنوان یک گره (Node) در ROS 2 بر روی سخت‌افزار NVIDIA Jetson آموزش داده می‌شود. شما یاد می‌گیرید چگونه از هسته‌های CUDA برای اجرای سریع‌تر مدل بر روی پردازنده‌های گرافیکی تعبیه شده استفاده کنید

      پاسخ
  2. چطور می‌توانم بفهمم که مدل من واقعاً در دنیای واقعی درست عمل می‌کند؟

    پاسخ
    • شما یاد می‌گیرید که چگونه مدل را روی داده‌های تست (Test Set) که شبکه قبلاً آن‌ها را ندیده، آزمایش کنید با استفاده از ابزارهای بصری‌سازی، می‌توانید جعبه‌های تشخیص (Bounding Boxes) را روی ابر نقاط مشاهده کرده و دقت مدل را قبل از استقرار نهایی بسنجید

      پاسخ
  3. آیا برای استفاده از این مدل روی سخت‌افزارهای واقعی، باید به زبان C++ مسلط باشم؟

    پاسخ
    • خیر؛ یکی از جذاب‌ترین بخش‌های این دوره آموزش کار با MATLAB Coder است که به طور خودکار کدهای متلب شما را به کد C++ بهینه‌سازی شده تبدیل می‌کند. این ابزار حتی به شما اجازه می‌دهد خط به خط کد تولید شده را با کد اصلی خود مقایسه و ردیابی کنید

      پاسخ
  4. شبکه عصبی PointPillars که در دوره تدریس می‌شود چه مزیتی دارد؟

    پاسخ
    • بکه PointPillars یک معماری پیشرو در تشخیص اشیاء سه‌بعدی است که ابر نقاط را به ستون‌های عمودی تبدیل می‌کند تا پردازش آن‌ها توسط پردازنده‌های گرافیکی (GPU) بسیار سریع‌تر انجام شود. این شبکه تعادلی عالی بین دقت و سرعت برای کاربردهای بلادرنگ (Real-time) ایجاد می‌کند.

      پاسخ
  5. این دوره فقط برای داده‌های شبیه‌سازی شده است یا روی داده‌های واقعی هم کار می‌کند؟

    پاسخ
    • این جریان کاری برای هر دو نوع داده طراحی شده استفرقی نمی‌کند داده‌های شما از یک محیط شبیه‌سازی شده باشد یا از یک سنسور لایدار واقعی در خیابان؛ ابزارهای معرفی شده مانند Lidar Viewer تمامی فرمت‌های رایج مثل PCD، LAS و حتی Rosbag را پشتیبانی می‌کنند

      پاسخ
  6. اگر مجموعه داده (Dataset) من کوچک باشد، باز هم می‌توانم یک هوش مصنوعی دقیق بسازم؟

    پاسخ
    • بله؛ شما دو استراتژی کلیدی را یاد می‌گیرید: اول Augmentation برای تولید داده‌های مصنوعی هوشمند از همان داده‌های موجود و دوم Transfer Learning (یادگیری انتقالی) که در آن از یک شبکه پیش‌آموزش‌دیده استفاده کرده و آن را برای نیاز خاص خود بهینه‌سازی می‌کنید، که نیاز به داده‌های بسیار کمتری دارد.

      پاسخ
  7. برچسب‌گذاری (Labeling) هزاران فریم لایدار چقدر زمان می‌برد؟

    پاسخ
    • با استفاده از اپلیکیشن Lidar Labeler و الگوریتم‌های خودکارسازی، این زمان به شدت کاهش می‌یابد. شما یاد می‌گیرید که چگونه با استفاده از Temporal Interpolator، فقط چند فریم کلیدی را برچسب بزنید و اجازه دهید نرم‌افزار موقعیت اشیاء را در فریم‌های میانی به صورت خودکار حدس بزند

      پاسخ
  8. آیا برای پردازش این حجم عظیم از داده‌های سه‌بعدی به سخت‌افزار بسیار گران‌قیمت نیاز دارم؟

    پاسخ
    • خیر؛ در این دوره یاد می‌گیرید چگونه با استفاده از Datastores، داده‌ها را به جای بارگذاری یک‌باره، در قطعات کوچک (Chunks) فراخوانی کنید تا حافظه رم اشغال نشود. همچنین تکنیک‌های پیش‌پردازش مانند Downsampling و Cropping به شما کمک می‌کند تا حجم داده را بدون از دست دادن اطلاعات مهم، برای پردازش سریع‌تر کاهش دهید.

      پاسخ
  9. چرا باید از داده‌های لایدار استفاده کنیم وقتی دوربین‌های معمولی ارزان‌تر هستند؟

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

      پاسخ

ارسال نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *