پیش‌نویس:تخمین وضعیت سه بعدی

تخمین وضعیت در یک سیستم ضبط حرکت

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

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

از یک دوربین 2 بعدی کالیبره نشده

ویرایش

اگر یک مدل تقریبی سه بعدی از شی و نقاط مربوطه در تصویر دو بعدی مشخص باشد، می توان چرخش و ترجمه سه بعدی یک شی سه بعدی را از روی یک عکس دو بعدی تخمین زد. یک تکنیک رایج برای حل این موضوع اخیراً وجود داشته است  "POSIT" بود، [۱] که در آن ژست سه بعدی مستقیماً از نقاط مدل سه بعدی و نقاط تصویر دو بعدی تخمین زده می شود و اشتباهات را به طور مکرر تصحیح می کند تا زمانی که یک تخمین خوب از یک تصویر پیدا شود. [۲] اکثر پیاده‌سازی‌های POSIT فقط روی نقاط غیرهمسطح کار می‌کنند (به عبارت دیگر، با اجسام یا سطوح مسطح کار نمی‌کند). [۳]

روش دیگر ثبت یک مدل سه بعدی CAD بر روی عکس یک شی شناخته شده با بهینه سازی اندازه گیری فاصله مناسب با توجه به پارامترهای وضعیت است. اندازه گیری فاصله بین جسم در عکس و طرح ریزی مدل 3D CAD در یک حالت مشخص محاسبه می شود. طرح ریزی پرسپکتیو یا طرح ریزی متعامد بسته به نمایش وضعیت استفاده شده امکان پذیر است. این رویکرد برای برنامه هایی مناسب است که در آن یک مدل CAD سه بعدی از یک شی شناخته شده (یا دسته بندی شی) در دسترس است.

از یک دوربین 2 بعدی کالیبره شده

ویرایش

ببا داشتن یک تصویر دو‌بعدی از یک جسم و دوربینی که نسبت به سیستم مختصات جهانی کالیبره شده است، می‌توان وضعیتی را یافت که جسم سه‌بعدی را در سیستم مختصات جسم نشان دهد. [۴] این به صورت زیر عمل می‌کند:

استخراج سه بعدی از دو بعدی

ویرایش

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

شبه کد

ویرایش

الگوریتم برای تعیین تخمین وضعیت بر اساس الگوریتم تکراری نزدیکترین نقطه است. ایده اصلی تعیین تناظر بین ویژگی های تصویر دو بعدی و نقاط روی منحنی مدل سه بعدی است.

(الف) پرتوهای برآمده را از نقاط تصویر بازسازی کنید
(ب) نزدیکترین نقطه هر پرتوی برونتابی را به نقطه ای در کانتور سه بعدی تخمین بزنید
(ج) موقعیت کانتور را با استفاده از این مجموعه مکاتبات تخمین بزنید
(د) رفتن (ب)

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

(الف) پرتوهای برآمده را از نقاط تصویر بازسازی کنید
(ب) برای هر پرتو برآمده R:
   (ج) برای هر کانتور سه بعدی:
     (c1) نزدیکترین نقطه P1 پرتو R را به نقطه ای از کانتور تخمین بزنید
     (c2) اگر (n == 1) P1 را به عنوان P واقعی برای مطابقت خط نقطه انتخاب کنید
     (c3) P1 را با P مقایسه کنید:
          اگر dist (P1, R) کوچکتر از dist (P, R) باشد
            P1 را به عنوان P جدید انتخاب کنید
(د) از (P, R) به عنوان مجموعه مکاتبات استفاده کنید.
(ه) ژست را با این مجموعه مکاتبات تخمین بزنید
(f) تبدیل خطوط، رفتن (ب)

تخمین وضعیت از طریق مقایسه

ویرایش

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

نرم افزار

ویرایش
  • postest ، یک کتابخانه GPL C / C++ برای تخمین پوز 6DoF از مکاتبات 3D-2D.
  • diffgeom2pose ، حلگر سریع Matlab برای تخمین ژست 6DoF تنها از دو تناظر 3D-2D نقاط با جهت (بردار)، یا نقاط در منحنی ها (نقطه مماس). نقاط را می توان SIFT با جهت های ویژگی نسبت داد.
  • MINUS : بسته C++ برای تخمین پوز (نسبی) سه نما. شامل مواردی از سه نقطه متناظر با خطوط در این نقاط (مانند موقعیت ها و جهت گیری های مشخصه، یا نقاط منحنی با مماس)، و همچنین برای سه نقطه متناظر و یک خط مطابقت.

جستارهای وابسته

ویرایش

پانویس

ویرایش
  1. Javier Barandiaran (28 December 2017). "POSIT tutorial". OpenCV.
  2. Daniel F. Dementhon; Larry S. Davis (1995). "Model-based object pose in 25 lines of code". International Journal of Computer Vision. 15 (1–2): 123–141. doi:10.1007/BF01450852. Retrieved 2010-05-29.
  3. Javier Barandiaran. "POSIT tutorial with OpenCV and OpenGL". Archived from the original on 20 June 2010. Retrieved 2010-05-29.
  4. Bodo Rosenhahn. "Foundations about 2D-3D Pose Estimation". CV Online. Retrieved 2008-06-09.
  5. Vassilis Athitsos; Stan Sclarof (April 1, 2003). Estimating 3D Hand Pose from a Cluttered Image (PDF) (Technical report). Boston University Computer Science Tech. Archived from the original (PDF) on 2019-07-31.

منابع

ویرایش