شناسایی مخازن در یک جریان ویدیویی با استفاده از روش‌های یادگیری ماشینی (+2 ویدیو در سکوهای البروس و بایکال)

شناسایی مخازن در یک جریان ویدیویی با استفاده از روش‌های یادگیری ماشینی (+2 ویدیو در سکوهای البروس و بایکال)

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

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

بیانیه مشکل

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

تصمیم

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

شناسایی مخازن در یک جریان ویدیویی با استفاده از روش‌های یادگیری ماشینی (+2 ویدیو در سکوهای البروس و بایکال)

اهداف مورد نظر 4 مدل تانک جنگی بودند: T-90 (روسیه)، M1A2 Abrams (ایالات متحده آمریکا)، T-14 (روسیه)، Merkava III (اسرائیل). اجسام در موقعیت‌های مختلف چند ضلعی قرار گرفتند و بدین ترتیب فهرست زوایای قابل‌مشاهده جسم گسترش یافت. موانع مهندسی، درختان، بوته ها و سایر عناصر منظره نقش بسزایی داشتند.

شناسایی مخازن در یک جریان ویدیویی با استفاده از روش‌های یادگیری ماشینی (+2 ویدیو در سکوهای البروس و بایکال)

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

آنها تصمیم گرفتند که خود شناسایی را به دو بخش تقسیم کنند: محلی سازی شی و طبقه بندی شی. محلی‌سازی با استفاده از طبقه‌بندی‌کننده ویولا و جونز آموزش‌دیده انجام شد (به هر حال، یک تانک یک شیء سفت و سخت معمولی است، بدتر از یک صورت نیست، بنابراین روش "جزئیات کور" ویولا و جونز به سرعت شی هدف را بومی‌سازی می‌کند). اما ما طبقه بندی و تعیین زاویه را به یک شبکه عصبی کانولوشن سپرده ایم - در این کار برای ما مهم است که آشکارساز با موفقیت آن ویژگی هایی را شناسایی کند که مثلاً T-90 را از Merkava متمایز می کند. در نتیجه، امکان ساخت ترکیب موثری از الگوریتم ها وجود داشت که با موفقیت مشکل محلی سازی و طبقه بندی اشیاء از همان نوع را حل می کند.

شناسایی مخازن در یک جریان ویدیویی با استفاده از روش‌های یادگیری ماشینی (+2 ویدیو در سکوهای البروس و بایکال)

در مرحله بعد، ما برنامه به دست آمده را در تمام پلتفرم های موجود خود (Intel، ARM، Elbrus، Baikal، KOMDIV) راه اندازی کردیم، الگوریتم های محاسباتی دشوار را برای افزایش کارایی بهینه سازی کردیم (قبلاً چندین بار در این مورد در مقالات خود نوشته ایم، به عنوان مثال در اینجا https://habr.com/ru/company/smartengines/blog/438948/ یا https://habr.com/ru/company/smartengines/blog/351134/) و به عملکرد پایدار برنامه بر روی دستگاه در زمان واقعی دست یافت.


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

تانک خوان هوشمند

بنابراین، ما توسعه جدید خود را به شما ارائه می دهیم - برنامه ای برای تشخیص تصاویر تانک ها در یک جریان ویدیویی تانک خوان هوشمند، که:

شناسایی مخازن در یک جریان ویدیویی با استفاده از روش‌های یادگیری ماشینی (+2 ویدیو در سکوهای البروس و بایکال)

  • مشکل "دوست یا دشمن" را برای یک مجموعه معین از اشیاء در زمان واقعی حل می کند.
  • پارامترهای هندسی را تعیین می کند (فاصله تا جسم، جهت گیری ترجیحی شی).
  • در شرایط آب و هوایی کنترل نشده و همچنین در صورت مسدود شدن جزئی جسم توسط اجسام خارجی کار می کند.
  • عملکرد کاملاً مستقل بر روی دستگاه مورد نظر، از جمله در صورت عدم وجود ارتباط رادیویی؛
  • لیست معماری های پردازنده پشتیبانی شده: Elbrus، Baikal، KOMDIV، و همچنین x86، x86_64، ARM.
  • لیست سیستم عامل های پشتیبانی شده: Elbrus OS، AstraLinux OS، Atlix OS، و همچنین MS Windows، macOS، توزیع های مختلف لینوکس که gcc 4.8، Android، iOS را پشتیبانی می کنند.
  • توسعه کاملا داخلی.

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

منبع: www.habr.com

اضافه کردن نظر