تگزاس اینسترومنتس AM6x در حال توسعه دوربینهای چندگانه است
مشخصات
- نام محصول: خانواده دستگاههای AM6x
- نوع دوربین پشتیبانی شده: AM62A (با یا بدون ISP داخلی)، AM62P (با ISP داخلی)
- دادههای خروجی دوربین: AM62A (Raw/YUV/RGB)، AM62P (YUV/RGB)
- سرویس اینترنت بیسیم (ISP): AM62A (بله)، AM62P (خیر)
- یادگیری عمیق HWA: AM62A (بله)، AM62P (خیر)
- گرافیک سهبعدی HWA: AM3A (خیر)، AM62P (بله)
مقدمهای بر کاربردهای چند دوربینی در AM6x:
- دوربینهای تعبیهشده نقش حیاتی در سیستمهای بینایی مدرن ایفا میکنند.
- استفاده از چندین دوربین در یک سیستم، قابلیتها را افزایش میدهد و انجام کارهایی را که با یک دوربین واحد قابل انجام نیستند، ممکن میسازد.
کاربردهای استفاده از چندین دوربین:
- نظارت امنیتی: پوشش نظارتی، ردیابی اشیا و دقت تشخیص را افزایش میدهد.
- احاطه کنید View: دید استریو را برای کارهایی مانند تشخیص مانع و دستکاری اشیاء فعال میکند.
- سیستم ضبط کابین و آینه دوربین: پوشش گستردهتری را فراهم میکند و نقاط کور را از بین میبرد.
- تصویربرداری پزشکی: دقت بیشتری را در ناوبری جراحی و آندوسکوپی ارائه میدهد.
- پهپادها و تصویربرداری هوایی: تصاویر با وضوح بالا را از زوایای مختلف برای کاربردهای مختلف ضبط کنید.
اتصال چندین دوربین CSI-2 به SoC:
برای اتصال چندین دوربین CSI-2 به SoC، دستورالعملهای ارائه شده در دفترچه راهنمای کاربر را دنبال کنید. از ترازبندی و اتصال صحیح هر دوربین به پورتهای تعیین شده روی SoC اطمینان حاصل کنید.
یادداشت برنامه
توسعه برنامههای چند دوربینه روی AM6x
جیانژونگ خو، قتیبه صالح
چکیده
این گزارش، توسعهی کاربرد با استفاده از چندین دوربین CSI-2 روی خانوادهی دستگاههای AM6x را شرح میدهد. یک طرح مرجع برای تشخیص اشیا با یادگیری عمیق روی ۴ دوربین روی AM4A SoC به همراه تحلیل عملکرد ارائه شده است. اصول کلی این طرح برای سایر SoCهای دارای رابط CSI-62، مانند AM2x و AM62P، نیز قابل اجرا است.
مقدمه
دوربینهای تعبیهشده نقش مهمی در سیستمهای بینایی مدرن ایفا میکنند. استفاده از چندین دوربین در یک سیستم، قابلیتهای این سیستمها را گسترش میدهد و قابلیتهایی را ممکن میسازد که با یک دوربین واحد امکانپذیر نیست. در زیر به برخی از نمونههای آن اشاره شده است.ampتعداد کمی از برنامهها با استفاده از چندین دوربین تعبیه شده:
- نظارت امنیتی: دوربینهای چندگانه که به صورت استراتژیک قرار گرفتهاند، پوشش نظارتی جامعی را فراهم میکنند. آنها امکان دید پانوراما را فراهم میکنند. viewها، نقاط کور را کاهش میدهند و دقت ردیابی و تشخیص اشیا را افزایش میدهند و اقدامات امنیتی کلی را بهبود میبخشند.
- احاطه کنید Viewاز چندین دوربین برای ایجاد یک سیستم بینایی استریو استفاده میشود که امکان دریافت اطلاعات سهبعدی و تخمین عمق را فراهم میکند. این امر برای کارهایی مانند تشخیص مانع در وسایل نقلیه خودران، دستکاری دقیق اشیاء در رباتیک و واقعگرایی بیشتر در تجربیات واقعیت افزوده بسیار مهم است.
- سیستم ضبط کننده کابین و آینه دوربین: یک ضبط کننده کابین خودرو با چندین دوربین میتواند با استفاده از یک پردازنده واحد، پوشش بیشتری را فراهم کند. به طور مشابه، یک سیستم آینه دوربین با دو یا چند دوربین میتواند میدان دید راننده را گسترش دهد. view و نقاط کور را از همه طرف خودرو از بین ببرد.
- تصویربرداری پزشکی: میتوان از چندین دوربین در تصویربرداری پزشکی برای کارهایی مانند ناوبری جراحی استفاده کرد و از این طریق، جراحان میتوانند از زوایای مختلف، دقت عمل بیشتری داشته باشند. در آندوسکوپی، چندین دوربین امکان معاینه کامل اندامهای داخلی را فراهم میکنند.
- پهپادها و تصویربرداری هوایی: پهپادها اغلب به چندین دوربین مجهز هستند تا تصاویر یا ویدیوهای با وضوح بالا را از زوایای مختلف ضبط کنند. این امر در کاربردهایی مانند عکاسی هوایی، نظارت بر کشاورزی و نقشه برداری زمینی مفید است.
- با پیشرفت ریزپردازندهها، میتوان چندین دوربین را در یک سیستم روی تراشه (System-on-Chip) واحد ادغام کرد.
(SoC) برای ارائه راهحلهای فشرده و کارآمد. AM62Ax SoC، با پردازش ویدئو/بینایی با کارایی بالا و شتاب یادگیری عمیق، دستگاهی ایدهآل برای موارد استفاده ذکر شده در بالا است. یکی دیگر از دستگاههای AM6x، AM62P، برای برنامههای نمایش سهبعدی جاسازیشده با کارایی بالا ساخته شده است. AM3P که به شتاب گرافیکی سهبعدی مجهز است، میتواند به راحتی تصاویر را از چندین دوربین به هم بچسباند و یک تصویر پانوراما با وضوح بالا تولید کند. viewویژگیهای نوآورانهی SoC مربوط به AM62A/AM62P در نشریات مختلفی مانند [4]، [5]، [6] و غیره ارائه شده است. این یادداشت کاربردی، توضیحات مربوط به آن ویژگیها را تکرار نمیکند، بلکه در عوض بر ادغام چندین دوربین CSI-2 در برنامههای بینایی تعبیهشده در AM62A/AM62P تمرکز دارد. - جدول 1-1 تفاوتهای اصلی بین AM62A و AM62P را از نظر پردازش تصویر نشان میدهد.
جدول 1-1. تفاوتهای بین AM62A و AM62P در پردازش تصویر
SoC | AM62A | AM62P |
نوع دوربین پشتیبانی شده | با یا بدون ISP داخلی | با ISP داخلی |
دادههای خروجی دوربین | خام/YUV/RG | YUV/RGB |
ارائه دهنده خدمات اینترنت (ISP) | بله | خیر |
یادگیری عمیق (HWA) | بله | خیر |
گرافیک سهبعدی HWA | خیر | بله |
اتصال چندین دوربین CSI-2 به SoC
زیرسیستم دوربین در AM6x SoC شامل اجزای زیر است، همانطور که در شکل 2-1 نشان داده شده است:
- گیرنده MIPI D-PHY: جریانهای ویدیویی را از دوربینهای خارجی دریافت میکند و از حداکثر ۱.۵ گیگابیت بر ثانیه در هر خط داده برای ۴ خط پشتیبانی میکند.
- گیرنده CSI-2 (RX): جریانهای ویدیویی را از گیرنده D-PHY دریافت میکند و یا مستقیماً جریانها را به ISP ارسال میکند یا دادهها را به حافظه DDR منتقل میکند. این ماژول تا 16 کانال مجازی را پشتیبانی میکند.
- SHIM: یک پوشش DMA که امکان ارسال جریانهای گرفته شده به حافظه از طریق DMA را فراهم میکند. این پوشش میتواند چندین زمینه DMA ایجاد کند که هر زمینه مربوط به یک کانال مجازی از گیرنده CSI-2 است.
حتی با وجود اینکه فقط یک رابط CSI-6 RX روی SoC وجود دارد، میتوان از چندین دوربین در AM2x از طریق کانالهای مجازی CSI-2 RX پشتیبانی کرد. برای ترکیب چندین جریان دوربین و ارسال آنها به یک SoC واحد، به یک جزء تجمیعکننده CSI-2 خارجی نیاز است. دو نوع راهحل تجمیعکننده CSI-2 قابل استفاده است که در بخشهای بعدی توضیح داده شدهاند.
تجمیعکننده CSI-2 با استفاده از SerDes
یکی از راههای ترکیب جریانهای چندگانه دوربین، استفاده از راهکار سریالسازی و حذف سریال (SerDes) است. دادههای CSI-2 از هر دوربین توسط یک سریالساز تبدیل شده و از طریق یک کابل منتقل میشوند. deserializer تمام دادههای سریالسازی شده منتقل شده از کابلها (یک کابل برای هر دوربین) را دریافت میکند، جریانها را به دادههای CSI-2 تبدیل میکند و سپس یک جریان CSI-2 درهمتنیده را به رابط واحد CSI-2 RX روی SoC ارسال میکند. هر جریان دوربین توسط یک کانال مجازی منحصر به فرد شناسایی میشود. این راهکار تجمیع، مزیت اضافی امکان اتصال از راه دور تا 15 متر از دوربینها به SoC را ارائه میدهد.
سریالسازها و دیسریالسازهای FPD-Link یا V3-Link (SerDes)، که در AM6x Linux SDK پشتیبانی میشوند، محبوبترین فناوریها برای این نوع راهکار تجمیع CSI-2 هستند. همانطور که در [3] توضیح داده شده است، هر دو دیسریالساز FPD-Link و V7-Link دارای کانالهای پشتی هستند که میتوانند برای ارسال سیگنالهای همگامسازی فریم برای همگامسازی همه دوربینها استفاده شوند.
شکل 2-2 یک نمونه قبلی را نشان می دهدampاستفاده از SerDes برای اتصال چندین دوربین به یک AM6x SoC.
یک سابقampبخشی از این راهکار تجمیعکننده را میتوان در کیت راهکار دوربین Arducam V3Link یافت. این کیت دارای یک هاب deserializer است که ۴ جریان دوربین CSI-4 و همچنین ۴ جفت serializer V2link و دوربینهای IMX4، شامل کابلهای کواکسیال FAKRA و کابلهای ۲۲ پین FPC را تجمیع میکند. طراحی مرجع مورد بحث در ادامه بر اساس این کیت ساخته شده است.
تجمیعکننده CSI-2 بدون استفاده از SerDes
این نوع تجمیعکننده میتواند مستقیماً با چندین دوربین MIPI CSI-2 ارتباط برقرار کند و دادهها را از همه دوربینها در یک جریان خروجی CSI-2 تجمیع کند.
شکل 2-3 یک نمونه قبلی را نشان می دهدampاین نوع راهکار تجمیع از هیچ سریالساز/دیسریالساز استفاده نمیکند، اما با حداکثر فاصله انتقال داده CSI-2 که تا 30 سانتیمتر است، محدود شده است. کیت توسعه نرمافزار لینوکس AM6x از این نوع تجمیعکننده CSI-2 پشتیبانی نمیکند.
فعال کردن چندین دوربین در نرمافزار
معماری نرمافزار زیرسیستم دوربین
شکل 3-1 نمودار بلوکی سطح بالایی از نرمافزار سیستم ضبط دوربین در AM62A/AM62P Linux SDK را نشان میدهد که مربوط به سیستم سختافزاری در شکل 2-2 است.
- این معماری نرمافزاری، SoC را قادر میسازد تا با استفاده از SerDes، همانطور که در شکل 2-2 نشان داده شده است، جریانهای چندگانه دوربین را دریافت کند. FPD-Link/V3-Link SerDes یک آدرس I2C منحصر به فرد و کانال مجازی به هر دوربین اختصاص میدهد. یک پوشش درخت دستگاه منحصر به فرد باید با آدرس I2C منحصر به فرد برای هر دوربین ایجاد شود. درایور CSI-2 RX هر دوربین را با استفاده از شماره کانال مجازی منحصر به فرد تشخیص میدهد و یک زمینه DMA برای هر جریان دوربین ایجاد میکند. برای هر زمینه DMA یک گره ویدیویی ایجاد میشود. سپس دادهها از هر دوربین دریافت و با استفاده از DMA در حافظه ذخیره میشوند. برنامههای فضای کاربر از گرههای ویدیویی مربوط به هر دوربین برای دسترسی به دادههای دوربین استفاده میکنند. مثالampجزئیات استفاده از این معماری نرمافزار در فصل ۴ - طراحی مرجع - ارائه شده است.
- هر درایور حسگر خاصی که با چارچوب V4L2 سازگار باشد، میتواند در این معماری نصب و اجرا شود. برای نحوه ادغام یک درایور حسگر جدید در SDK لینوکس به [8] مراجعه کنید.
معماری نرمافزار خط لوله تصویر
- کیت توسعه نرمافزاری لینوکس AM6x، چارچوب GStreamer (GST) را ارائه میدهد که میتواند در فضای ser برای ادغام اجزای پردازش تصویر برای کاربردهای مختلف مورد استفاده قرار گیرد. شتابدهندههای سختافزاری (HWA) در SoC، مانند شتابدهنده پیشپردازش بینایی (VPAC) یا ISP، رمزگذار/رمزگشای ویدیو و موتور محاسباتی یادگیری عمیق، از طریق GST قابل دسترسی هستند. pluginsخود VPAC (ISP) دارای چندین بلوک از جمله زیرسیستم تصویربرداری بینایی (VISS)، تصحیح اعوجاج لنز (LDC) و چندمقیاسی (MSC) است که هر کدام مربوط به یک افزونه GST هستند.
- شکل 3-2 نمودار بلوکی یک خط لوله تصویر معمولی از دوربین تا رمزگذاری یا پردازش عمیق را نشان میدهد.
برنامههای یادگیری در AM62A. برای جزئیات بیشتر در مورد جریان داده سرتاسری، به مستندات EdgeAI SDK مراجعه کنید.
برای AM62P، خط لوله تصویر سادهتر است زیرا هیچ ISP در AM62P وجود ندارد.
با ایجاد یک گره ویدیویی برای هر یک از دوربینها، خط لوله تصویر مبتنی بر GStreamer امکان پردازش همزمان ورودیهای چندین دوربین (که از طریق رابط CSI-2 RX یکسان متصل شدهاند) را فراهم میکند. یک طرح مرجع با استفاده از GStreamer برای کاربردهای چند دوربینی در فصل بعدی ارائه شده است.
طراحی مرجع
این فصل یک طرح مرجع برای اجرای برنامههای چند دوربینه بر روی AM62A EVM ارائه میدهد که با استفاده از کیت راهکار دوربین Arducam V3Link برای اتصال ۴ دوربین CSI-4 به AM2A و اجرای تشخیص اشیا برای هر ۴ دوربین انجام میشود.
دوربین های پشتیبانی شده
کیت Arducam V3Link با دوربینهای مبتنی بر FPD-Link/V3-Link و دوربینهای CSI-2 سازگار با Raspberry Pi کار میکند. دوربینهای زیر آزمایش شدهاند:
- مهندسی D3 D3RCM-IMX390-953
- تصویربرداری لئوپارد LI-OV2312-FPDLINKIII-110H
- دوربینهای IMX219 در کیت راهکار دوربین Arducam V3Link
راهاندازی چهار دوربین IMX219
برای راهاندازی SK-AM62A-LP EVM (AM62A SK) و راهنمای شروع سریع راهکار دوربین ArduCam V62Link، دستورالعملهای ارائه شده در راهنمای شروع سریع کیت استارتر AM3A EVM (AM62A SK) را دنبال کنید تا دوربینها را از طریق کیت V3Link به AM3A SK متصل کنید. مطمئن شوید که پینهای روی کابلهای منعطف، دوربینها، برد V62Link و AMXNUMXA SK همگی به درستی تراز شدهاند.
شکل 4-1 چیدمان مورد استفاده برای طراحی مرجع در این گزارش را نشان میدهد. اجزای اصلی این چیدمان عبارتند از:
- ۱ عدد برد EVM مدل SK-AM1A-LP
- ۱ عدد برد آداپتور d-ch آردوکام V1Link
- کابل FPC که Arducam V3Link را به SK-AM62A متصل میکند
- ۴ آداپتور دوربین V4Link (سریالایزر)
- ۴ کابل کواکسیال RF برای اتصال سریالایزرهای V4Link به کیت d-ch V3Link
- ۴ دوربین IMX4
- ۴ عدد کابل ۲۲ پین CSI-4 برای اتصال دوربینها به سریالایزرها
- کابلها: کابل HDMI، USB-C برای تغذیه SK-AM62A-LP و منبع تغذیه ۱۲ ولت برای کیت V12Link d-ch
- سایر اجزایی که در شکل ۴-۱ نشان داده نشدهاند: کارت میکرو SD، کابل میکرو USB برای دسترسی به SK-AM4A-LP و اترنت برای پخش جریانی
پیکربندی دوربینها و رابط CSI-2 RX
نرمافزار را طبق دستورالعملهای ارائه شده در راهنمای شروع سریع Arducam V3Link راهاندازی کنید. پس از اجرای اسکریپت راهاندازی دوربین، setup-imx219.sh، فرمت دوربین، فرمت رابط CSI-2 RX و مسیرهای هر دوربین به گره ویدیویی مربوطه به درستی پیکربندی میشوند. چهار گره ویدیویی برای چهار دوربین IMX219 ایجاد میشود. دستور "v4l2-ctl –list-devices" تمام دستگاههای ویدیویی V4L2 را مطابق شکل زیر نمایش میدهد:
6 گره ویدیویی و 1 گره رسانه تحت tiscsi2rx وجود دارد. هر گره ویدیویی مربوط به یک زمینه DMA است که توسط درایور CSI2 RX اختصاص داده شده است. از 6 گره ویدیویی، 4 گره برای 4 دوربین IMX219 استفاده میشوند، همانطور که در توپولوژی لوله رسانه در زیر نشان داده شده است:
همانطور که در بالا نشان داده شده است، موجودیت رسانهای 30102000.ticsi2rx دارای 6 پد منبع است، اما فقط 4 پد اول استفاده میشوند که هر کدام برای یک IMX219 هستند. توپولوژی لوله رسانه را میتوان به صورت گرافیکی نیز نشان داد. دستور زیر را برای تولید یک نقطه اجرا کنید file:
سپس دستور زیر را روی یک کامپیوتر میزبان لینوکس اجرا کنید تا یک فایل PNG تولید شود. file:
شکل ۴-۲ تصویری است که با استفاده از دستورات داده شده در بالا تولید شده است. اجزای موجود در معماری نرمافزار شکل ۳-۱ را میتوانید در این نمودار پیدا کنید.
پخش از چهار دوربین
با تنظیم صحیح سختافزار و نرمافزار، برنامههای چند دوربینه میتوانند از فضای کاربر اجرا شوند. برای AM62A، ISP باید تنظیم شود تا کیفیت تصویر خوبی ایجاد کند. برای نحوه انجام تنظیم ISP به راهنمای تنظیم ISP AM6xA مراجعه کنید. بخشهای زیر موارد قبلی را ارائه میدهند.ampکمتر از پخش دادههای دوربین به یک صفحه نمایش، پخش دادههای دوربین به یک شبکه و ذخیره دادههای دوربین در files.
پخش دادههای دوربین برای نمایش
یک کاربرد اساسی این سیستم چند دوربینه، پخش ویدیوها از همه دوربینها به یک نمایشگر متصل به یک SoC یکسان است. در ادامه، یک نمونه از خط لوله GStreamer را مشاهده میکنید.ampجریان چهار IMX219 به یک نمایشگر (شماره گرههای ویدیویی و شمارههای v4l-subdev در خط لوله احتمالاً از راهاندازی مجدد تا راهاندازی مجدد تغییر خواهد کرد).
انتقال دادههای دوربین از طریق اترنت
به جای پخش به یک نمایشگر متصل به همان SoC، دادههای دوربین میتوانند از طریق اترنت نیز پخش شوند. سمت گیرنده میتواند یک پردازنده AM62A/AM62P دیگر یا یک کامپیوتر میزبان باشد. در ادامه یک مثال آورده شده است.ampجریان دادههای دوربین از طریق اترنت (استفاده از دو دوربین برای سادگی) (به افزونه رمزگذار مورد استفاده در خط لوله توجه کنید):
موارد زیر یک نمونه قبلی استampنحوه دریافت دادههای دوربین و پخش آنها به نمایشگر روی یک پردازنده AM62A/AM62P دیگر:
ذخیره سازی اطلاعات دوربین Files
به جای پخش به یک صفحه نمایش یا از طریق شبکه، دادههای دوربین میتوانند در حافظه محلی ذخیره شوند. files. خط لوله زیر دادههای هر دوربین را در a ذخیره میکند. file (با استفاده از دو دوربین به عنوان دوربین سابقampبرای سادگی).
استنتاج یادگیری عمیق چند دوربینه
AM62A مجهز به یک شتابدهنده یادگیری عمیق (C7x-MMA) با حداکثر دو TOPS است که قادر به اجرای انواع مختلف مدلهای یادگیری عمیق برای طبقهبندی، تشخیص اشیا، تقسیمبندی معنایی و موارد دیگر هستند. این بخش نشان میدهد که چگونه AM62A میتواند همزمان چهار مدل یادگیری عمیق را روی چهار دوربین مختلف اجرا کند.
انتخاب مدل
ابزار EdgeAI-ModelZoo شرکت TI صدها مدل پیشرفته را ارائه میدهد که از چارچوبهای آموزشی اصلی خود به فرمتی سازگار با محیطهای جاسازیشده تبدیل/صادر میشوند تا بتوان آنها را به شتابدهنده یادگیری عمیق C7x-MMA منتقل کرد. ابزار تحلیل مدل Edge AI Studio مبتنی بر ابر، ابزاری آسان برای «انتخاب مدل» ارائه میدهد. این ابزار به صورت پویا بهروزرسانی میشود تا تمام مدلهای پشتیبانیشده در TI EdgeAI-ModelZoo را در بر بگیرد. این ابزار نیازی به تجربه قبلی ندارد و رابط کاربری آسانی برای وارد کردن ویژگیهای مورد نیاز در مدل مورد نظر ارائه میدهد.
مدل TFL-OD-2000-ssd-mobV1-coco-mlperf برای این آزمایش یادگیری عمیق چند دوربینه انتخاب شد. این مدل تشخیص چند شیء در چارچوب TensorFlow با وضوح ورودی 300×300 توسعه داده شده است. جدول 4-1 ویژگیهای مهم این مدل را هنگام آموزش روی مجموعه داده cCOCO با حدود 80 کلاس مختلف نشان میدهد.
جدول ۴-۱. ویژگیهای برجسته مدل TFL-OD-4-ssd-mobV1-coco-mlperf.
مدل | وظیفه | قطعنامه | FPS | نقشه برداری ۵۰٪
دقت در COCO |
تأخیر/فریم (میلیثانیه) | وزن خالص DDR
میزان استفاده (مگابایت/فریم) |
TFL-OD-2000-ssd-
mobV1-coco-mlperf |
تشخیص چند شیء | 300×300 | ~ 152 | 15.9 | 6.5 | 18.839 |
راه اندازی خط لوله
شکل ۴-۳ خط لوله GStreamer یادگیری عمیق ۴ دوربینه را نشان میدهد. TI مجموعهای از GStreamer را ارائه میدهد. plugins که امکان واگذاری بخشی از پردازش رسانه و استنتاج یادگیری عمیق را به شتابدهندههای سختافزاری فراهم میکنند. برخی از موارد مثالampاز اینها plugins شامل tiovxisp، tiovxmultiscaler، tiovxmosaic و tidlinferer میشود. خط لوله در شکل 4-3 شامل تمام موارد مورد نیاز است. plugins برای یک خط لوله GStreamer چندمسیره برای ورودیهای ۴ دوربین، که هر کدام دارای پیشپردازش رسانه، استنتاج یادگیری عمیق و پسپردازش هستند. کپیشده plugins برای هر یک از مسیرهای دوربین، نمودار برای نمایش آسانتر، روی هم قرار گرفته است.
منابع سختافزاری موجود به طور مساوی بین چهار مسیر دوربین توزیع شدهاند. برای مثال، AM62A شامل دو multiscaler تصویر است: MSC0 و MSC1. این خط لوله به صراحت MSC0 را به پردازش مسیرهای دوربین ۱ و دوربین ۲ اختصاص میدهد، در حالی که MSC1 به دوربین ۳ و دوربین ۴ اختصاص داده شده است.
خروجی چهار خط لوله دوربین با استفاده از افزونه tiovxmosaic کوچک شده و به هم متصل میشود. خروجی در یک صفحه نمایش داده میشود. شکل ۴-۴ خروجی چهار دوربین را با یک مدل یادگیری عمیق که تشخیص اشیا را اجرا میکند، نشان میدهد. هر خط لوله (دوربین) با سرعت ۳۰ فریم در ثانیه و در مجموع ۱۲۰ فریم در ثانیه اجرا میشود.
در ادامه، اسکریپت کامل خط لوله برای مورد استفاده یادگیری عمیق چند دوربینی که در شکل 4-3 نشان داده شده است، آمده است.
تجزیه و تحلیل عملکرد
این سیستم با چهار دوربین با استفاده از برد V3Link و AM62A SK در سناریوهای مختلف کاربردی، از جمله نمایش مستقیم روی صفحه نمایش، پخش از طریق اترنت (چهار کانال UDP)، ضبط در ۴ کانال جداگانه، آزمایش شد. fileو با استنتاج یادگیری عمیق. در هر آزمایش، ما نرخ فریم و میزان استفاده از هستههای CPU را برای بررسی قابلیتهای کل سیستم بررسی کردیم.
همانطور که قبلاً در شکل ۴-۴ نشان داده شده است، خط لوله یادگیری عمیق از افزونه tiperfoverlay GStreamer برای نشان دادن بارهای هسته CPU به عنوان یک نمودار میلهای در پایین صفحه استفاده میکند. به طور پیشفرض، این نمودار هر دو ثانیه بهروزرسانی میشود تا بارها را به صورت درصد استفاده نشان دهد.tagه. علاوه بر افزونه tiperfoverlay GStreamer، ابزار perf_stats گزینه دوم برای نمایش مستقیم عملکرد هسته در ترمینال با امکان ذخیره در ... است. fileاین ابزار در مقایسه با tTiperfoverlays دقیقتر است، زیرا دومی بار اضافی بر هستههای ARMm و DDR برای رسم نمودار و نمایش آن روی صفحه اضافه میکند. ابزار perf_stats عمدتاً برای جمعآوری نتایج استفاده از سختافزار در تمام موارد آزمایشی نشان داده شده در این سند استفاده میشود. برخی از هستههای پردازشی و شتابدهندههای مهم مورد مطالعه در این آزمایشها شامل پردازندههای اصلی (چهار هسته A53 Arm با فرکانس ۱.۲۵ گیگاهرتز)، شتابدهنده یادگیری عمیق (C1.25x-MMA با فرکانس ۸۵۰ مگاهرتز)، VPAC (ISP) با VISS و چندمقیاسکنندهها (MSC7 و MSC850) و عملیات DDR هستند.
جدول 5-1 عملکرد و میزان استفاده از منابع را هنگام استفاده از AM62A با چهار دوربین برای سه مورد استفاده نشان میدهد، از جمله پخش چهار دوربین به یک صفحه نمایش، پخش از طریق اترنت و ضبط در چهار دوربین جداگانه fileش. در هر مورد استفاده، دو آزمایش اجرا شده است: فقط با دوربین و با استنتاج یادگیری عمیق. علاوه بر این، ردیف اول در جدول 5-1 میزان استفاده از سختافزار را زمانی نشان میدهد که فقط سیستم عامل روی AM62A بدون هیچ برنامه کاربری اجرا میشد. این به عنوان یک مبنا برای مقایسه با ارزیابی میزان استفاده از سختافزار در سایر موارد آزمایش استفاده میشود. همانطور که در جدول نشان داده شده است، چهار دوربین با یادگیری عمیق و صفحه نمایش، هر کدام با سرعت 30 فریم در ثانیه کار میکردند و در مجموع 120 فریم در ثانیه برای چهار دوربین. این نرخ فریم بالا تنها با 86٪ از ظرفیت کامل شتابدهنده یادگیری عمیق (C7x-MMA) حاصل میشود. علاوه بر این، لازم به ذکر است که شتابدهنده یادگیری عمیق در این آزمایشها به جای 850 مگاهرتز، با سرعت 1000 مگاهرتز تنظیم شده است که تقریباً تنها 85٪ از حداکثر عملکرد آن است.
جدول ۵-۱. عملکرد (FPS) و میزان استفاده از منابع AM5A هنگام استفاده با ۴ دوربین IMX1 برای نمایش صفحه نمایش، پخش اترنت، ضبط Fileو انجام استنتاج یادگیری عمیق
کاربرد n | خط لوله (بهره برداری)
) |
خروجی | FPS میانگین خط لوله | FPS
کل |
MPU های A53s @ 1.25
گیگاهرتز [٪] |
میکروکنترلر R5 [٪] | DLA (C7x- MMA) @ 850
مگاهرتز [٪] |
ویس [٪] | MSC0 [٪] | MSC1 [٪] | DDR
جاده [مگابایت بر ثانیه] |
DDR
W [مگابایت بر ثانیه] |
DDR
مجموع [مگابایت بر ثانیه] |
بدون برنامه | بدون عملیات | NA | NA | NA | 1.87 | 1 | 0 | 0 | 0 | 0 | 560 | 19 | 579 |
دوربین فقط | جریان به صفحه نمایش | صفحه نمایش | 30 | 120 | 12 | 12 | 0 | 70 | 61 | 60 | 1015 | 757 | 1782 |
پخش جریانی از طریق اترنت | PDU: 4
پورتها ۱۹۲۰×۱۰۸۰ |
30 | 120 | 23 | 6 | 0 | 70 | 0 | 0 | 2071 | 1390 | 3461 | |
ضبط کنید به files | 4 file۱۹۲۰×۱۰۸۰ | 30 | 120 | 25 | 3 | 0 | 70 | 0 | 0 | 2100 | 1403 | 3503 | |
دوربین با یادگیری عمیق | یادگیری عمیق: تشخیص شیء MobV1- کوکو | صفحه نمایش | 30 | 120 | 38 | 25 | 86 | 71 | 85 | 82 | 2926 | 1676 | 4602 |
یادگیری عمیق: تشخیص شیء MobV1- کوکو و پخش جریانی از طریق اترنت | PDU: 4
پورتها ۱۹۲۰×۱۰۸۰ |
28 | 112 | 84 | 20 | 99 | 66 | 65 | 72 | 4157 | 2563 | 6720 | |
یادگیری عمیق: تشخیص شیء MobV1- کوکو و ضبط آن files | 4 file۱۹۲۰×۱۰۸۰ | 28 | 112 | 87 | 22 | 98 | 75 | 82 | 61 | 2024 | 2458 | 6482 |
خلاصه
این گزارش کاربردی، نحوه پیادهسازی کاربردهای چند دوربینی را بر روی خانواده دستگاههای AM6x شرح میدهد. یک طراحی مرجع مبتنی بر کیت راهکار دوربین V3Link شرکت Arducam و AM62A SK EVM در این گزارش ارائه شده است که در آن چندین کاربرد دوربین با استفاده از چهار دوربین IMX219، مانند پخش جریانی و تشخیص اشیا، ارائه شده است. به کاربران توصیه میشود کیت راهکار دوربین V3Link را از Arducam تهیه کرده و این موارد را تکرار کنند.ampاین گزارش همچنین تجزیه و تحلیل دقیقی از عملکرد AM62A در هنگام استفاده از چهار دوربین تحت پیکربندیهای مختلف، از جمله نمایش روی صفحه نمایش، پخش از طریق اترنت و ضبط روی ... ارائه میدهد. fileهمچنین قابلیت AM62A را در انجام استنتاج یادگیری عمیق روی چهار جریان دوربین جداگانه به صورت موازی نشان میدهد. اگر در مورد اجرای این نمونههای آزمایشی سؤالی دارید،ampلطفا، درخواست خود را در انجمن TI E2E ارسال کنید.
مراجع
- راهنمای شروع سریع کیت استارت AM62A EVM
- راهنمای شروع سریع راهکار دوربین ArduCam V3Link
- مستندات SDK هوش مصنوعی لبه برای AM62A
- دوربینهای هوشمند Edge AI با استفاده از پردازنده AM62A کممصرف
- سیستمهای آینه دوربین در AM62A
- سیستمهای نظارت بر راننده و حضور در خودرو AM62A
- کاربرد دوربین چهار کاناله برای صدای فراگیر View و سیستمهای دوربین CMS
- آکادمی لینوکس AM62Ax در مورد فعالسازی حسگر CIS-2
- هوش مصنوعی لبهای ModelZoo
- استودیو هوش مصنوعی اج
- ابزار آمار کامل (Perf_stats)
قطعات TI که در این درخواست ذکر شده است:
- https://www.ti.com/product/AM62A7
- https://www.ti.com/product/AM62A7-Q1
- https://www.ti.com/product/AM62A3
- https://www.ti.com/product/AM62A3-Q1
- https://www.ti.com/product/AM62P
- https://www.ti.com/product/AM62P-Q1
- https://www.ti.com/product/DS90UB960-Q1
- https://www.ti.com/product/DS90UB953-Q1
- https://www.ti.com/product/TDES960
- https://www.ti.com/product/TSER953
اطلاعیه مهم و سلب مسئولیت
TI دادههای فنی و قابلیت اطمینان (شامل برگههای داده)، منابع طراحی (از جمله طرحهای مرجع)، کاربرد یا سایر مشاورههای طراحی را ارائه میکند، WEB ابزارها، اطلاعات ایمنی، و سایر منابع "همانطور که هست" و با همه ایرادها، و همه ضمانتها، صریح و ضمنی، از جمله ضمانتنامههای غیرقانونی و ضمانتنامههای ضمانتآمیز و ضمانتنامههای غیرقانونی و ضمانتنامههای تجاری و ضمانتنامههای تجاری را سلب میکند. .
این منابع برای توسعه دهندگان ماهری است که با محصولات TI طراحی می کنند. شما تنها مسئول هستید
- انتخاب محصولات TI مناسب برای برنامه شما،
- طراحی، اعتبارسنجی و آزمایش برنامه شما، و
- اطمینان از اینکه درخواست شما مطابق با استانداردهای مربوطه و هرگونه الزامات ایمنی، امنیتی، نظارتی یا سایر الزامات است.
این منابع ممکن است بدون اطلاع قبلی تغییر کنند. TI به شما اجازه میدهد از این منابع فقط برای توسعه برنامهای که از محصولات TI شرح داده شده در منبع استفاده میکند، استفاده کنید. هرگونه تکثیر و نمایش این منابع ممنوع است. هیچ مجوزی به هیچ حق مالکیت معنوی TI یا هیچ حق مالکیت معنوی شخص ثالثی اعطا نمیشود. TI مسئولیت هرگونه ادعا، خسارت، هزینه، ضرر و زیان ناشی از استفاده شما از این منابع را رد میکند و شما TI و نمایندگان آن را در برابر آن کاملاً بیمه خواهید کرد.
محصولات TI مشروط به شرایط فروش TI یا سایر شرایط قابل اجرا در دسترس هستند ti.com یا در ارتباط با چنین محصولات TI ارائه شده است. ارائه این منابع توسط TI ضمانتهای قابلاجرا یا سلب مسئولیتهای گارانتی محصولات TI را گسترش نمیدهد یا تغییر نمیدهد.
TI با هر گونه شرایط اضافی یا متفاوتی که ممکن است پیشنهاد کرده باشید مخالف است و آن را رد می کند.
اطلاعیه مهم
- آدرس پستی: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
- حق چاپ © 2024، Texas Instruments Incorporated
سوالات متداول
س: آیا میتوانم از هر نوع دوربینی با خانواده دستگاههای AM6x استفاده کنم؟
خانواده AM6x از انواع مختلف دوربین، از جمله دوربینهای دارای ISP داخلی یا بدون آن، پشتیبانی میکند. برای جزئیات بیشتر در مورد انواع دوربینهای پشتیبانی شده، به مشخصات فنی مراجعه کنید.
: تفاوتهای اصلی بین AM62A و AM62P در پردازش تصویر چیست؟
تفاوتهای کلیدی شامل انواع دوربینهای پشتیبانیشده، دادههای خروجی دوربین، وجود HWA ISP، HWA یادگیری عمیق و HWA گرافیک سهبعدی است. برای مقایسه دقیقتر به بخش مشخصات مراجعه کنید.
اسناد / منابع
![]() |
شرکت Texas Instruments AM6x در حال توسعه دوربین چندگانه است [pdfراهنمای کاربر AM62A، AM62P، AM6x در حال توسعه دوربین چندگانه، AM6x، توسعه دوربین چندگانه، دوربین چندگانه، دوربین |