ক্যামেরার ক্রমাঙ্কন / পিন হোল ক্যামেরা মডেল এবং 3 ডি অবস্থানের কাজ করছে


10

আমার কাছে ক্যালিব্রেট ক্যামেরা রয়েছে এবং অভ্যন্তরীণ পরামিতি রয়েছে have বাস্তব বিশ্বের পরিকল্পনাকারী পৃষ্ঠের বিন্দু (বিশ্ব উত্স) এর সাথে সম্পর্কিত আমারও বহিরাগত প্যারামিটার রয়েছে। এই বিন্দুটিকে আমি আসল বিশ্বের স্থিতি হিসাবে সেট করেছি [0,0,0] এর সাথে একটি স্বাভাবিক [0,0,1]।

এই বহির্মুখী পরামিতিগুলি থেকে আমি এখানে বিশ্বব্যাপী 3 ডি স্থানাংকগুলিতে ক্যামেরার অবস্থান এবং আবর্তনের কাজ করতে পারি: http://en.wikedia.org/wiki/Camera_resectioning

এখন আমার একটি দ্বিতীয় পয়েন্ট রয়েছে যা আমি [x, y] এর জন্য চিত্রের স্থানাঙ্কগুলি বের করেছি। আমি কীভাবে এখন বিশ্বের সমন্বয় ব্যবস্থায় এই পয়েন্টের 3 ডি অবস্থান পেতে পারি?

আমি মনে করি যে এখানে অন্তর্নিহিততাটি হ'ল আমাকে ক্যামেরার অপটিকাল কেন্দ্র থেকে পাওয়া একটি রশ্মির সন্ধান করতে হবে (যা এখন উপরে বর্ণিত হিসাবে 3 ডি পজিশন নিয়েছে), ক্যামেরার চিত্র বিমান [x, y] এর মাধ্যমে এবং তারপরে আমার বাস্তব বিশ্বের বিমানের মাধ্যমে যা আমি শীর্ষে সংজ্ঞায়িত করেছি।

আমি এখন একটি প্লেনের সাথে 3 ডি রশ্মিকে একটি ওয়ার্ল্ড কোঅর্ডিনেট ছেদ করতে পারি কারণ আমি জানি এবং সেই বিমানটিতে আমি জানি। আমি যা পাই না তা হ'ল আমি যখন পিক্সেলের মাধ্যমে চিত্র বিমানটি ছেড়ে যাই তখন আমি কীভাবে 3 ডি অবস্থান এবং দিক খুঁজে পাই। এটি আমাকে বিভ্রান্ত করছে এমন বিভিন্ন স্থানাঙ্ক ব্যবস্থার মাধ্যমে রূপান্তর।


এই উত্তরটি পরীক্ষা করুন, এটি সাহায্য করতে পারে। আপনার যদি মনে হয় কিছু / সম্পূর্ণ হতে পারে তবে কেবল আমাকে বলুন। dsp.stackexchange.com/a/2737/1473
জাভ_রক

উত্তর:


6

আপনার যদি এক্সটার্নিক্স থাকে তবে এটি খুব সহজ। এক্সট্রিনসিক্স থাকা "ক্যামেরা পোজ" থাকা এবং হোমোগ্রাফি থাকার সমতুল্য। এই পোস্টটি স্ট্যাকওভারফ্লোতে পরীক্ষা করুন ।

আপনার কাছে এক্সট্রিনসিকস রয়েছে, একে ক্যামেরা পোজও বলা হয়, যা অনুবাদ এবং ঘূর্ণন হিসাবে বর্ণনা করা হয়:

Pose=[R|t]=[R11R12R13txR21R22R23tyR31R32R33tz]

আপনি পোজ থেকে এইভাবে হোমোগ্রাফি পেতে পারেন :

H=1tz[R1xR2xtxR1yR2ytyR1zR2ztz]

তারপরে আপনি হোমোগ্রাফিটিকে পয়েন্টগুলি দ্বারা গুণ করে আপনার 2 ডি পয়েন্টগুলি সংশ্লিষ্ট 3 ডি পয়েন্টগুলিতে প্রজেক্ট করতে পারেন:

p2D=[xy1] যোগ করুন তাদের একজাতীয় করতেz=1

p3D=Hp2D

p=p/p(z) পয়েন্টগুলি স্বাভাবিক করুন


এখানে পি (জেড) বলতে কী বোঝ?
বেলাল হোমাইদান

3

আপনার দুটি বিকল্প রয়েছে, দুটি প্লেন (হোমোগ্রাফি) এর মধ্যে ফিরে প্রক্ষেপণ বা প্রক্ষেপণ ব্যবহার করুন।

ব্যাক প্রক্ষেপণের সাথে আপনি ক্যামেরা ম্যাট্রিক্স এর একটি সিউডো ইনভার্স নেন এবং আপনার ইমেজ পয়েন্টের একজাতীয় উপস্থাপনা দিয়ে ফলাফলকে গুণান:P

P=K[RRC]Xreprojected=P+x

এখন আপনি একটি 3D লাইন যা ক্যামেরা কেন্দ্র নালা ভ্রমণ আছে এবং বিন্দু । আপনি যদি চান, আপনি উপস্থাপনা সঙ্গে ডিল আরও কিছু এ রূপান্তর করতে পারেন। উদাহরণস্বরূপ, একটি বিন্দু এবং দিকনির্দেশক ভেক্টর সহ (সমজাতীয় স্থানাঙ্কগুলি যেমন স্কেল ফ্যাক্টর আসল গণনার আগে):CXV=ω[XYZ1]Tω=1

u=XreprojectedCv=uuL(t)=C+tv

আপনার যদি প্লেন থাকে আপনি সমীকরণটি সমাধান করতে পারেন জন্য ।Π=[π1π2π3π4]T,π1X+π2Y+π3Z+π4=0L(t)=Πt

আপনি যদি হোমোগ্রাফি ব্যবহার করার সিদ্ধান্ত নেন, আপনাকে হোমোগ্রাফি ম্যাট্রিক্স গণনা করতে হবে যা চিত্রযুক্ত প্লেন এবং ক্যামেরা সেন্সরের বিমানের মধ্যে অভিক্ষেপ হিসাবে সংজ্ঞায়িত হয়েছে:3×3H

Xplane=[XY01]Tx=PXplane=H[XY1]T

এখন আপনি যদি : এক্স পি একটি এন = এইচ - 1 এক্সx

Xplane=H1x

আপনি গনা না করে থাকেন তাহলে যখন ক্যামেরা ক্রমাঙ্কন (সম্ভবত সরাসরি রৈখিক রূপান্তর, DLT ব্যবহার করে), আপনি নিম্নলিখিত সূত্র ব্যবহার করতে পারেন:H

H=R+1dTNT

কোথায় সমতল থেকে ক্যামেরার dinstance এবং । (মা, সোয়াটো, কোসেকি, সাস্ট্রি - জ্যামিতিক মডেলগুলিতে চিত্রগুলি থেকে 3-ডি ভিশনের একটি আমন্ত্রণ, পৃষ্ঠা 132)টি = - আর সিdT=RC


2

আপনি দ্বিতীয় পয়েন্টের 3 ডি অবস্থান জানতে পারবেন না। এটি আপনার ক্যামেরার কেন্দ্র থেকে অসীমতা অবধি রশ্মির যে কোনও পয়েন্ট হতে পারে।

আপনি নিম্নলিখিতটি করতে পারেন:

  • একটি পূর্বনির্ধারিত 3 ডি স্থান তৈরি করুন যা বাস্তব জীবনের দৃশ্যের সাথে সাদৃশ্যপূর্ণ
  • বিভিন্ন কোণ থেকে রশির ছেদ ব্যবহার করে কোনও ভিন্ন কোণ থেকে চিত্রের আরও পয়েন্ট পান, আপনি 3 ডি পয়েন্টের একটি সন্নিবেশ পেতে পারেন।

লেগে থাকা. আমি 3 ডি ওয়ার্ল্ড পয়েন্ট পেতে পারি যে 3 ডি রশ্মি প্ল্যানার পৃষ্ঠকে ছেদ করে, অবশ্যই? যেহেতু আমি জানি যে 3 ডি ওয়ার্ল্ড কোঅর্ডিনেট এবং সেই বিমানের 3 ডি ওয়ার্ল্ড নরমাল ..... আমি যে থ্রিডি পয়েন্টটি সন্ধান করার চেষ্টা করছি তা হল সেই প্ল্যানার পৃষ্ঠকে ছেদ করে পয়েন্ট !! (দুঃখিত আমি মনে করি আমার ব্যাখ্যা যথেষ্ট ভাল ছিল না)
চিতা

প্ল্যানার পৃষ্ঠের সাথে আপনি কী বোঝাতে চাইছেন? ইমেজ প্লেন, নাকি শূন্য বিশ্বের বিমান সমন্বয় করে? পরেরটির ক্ষেত্রে, আপনি ছেদটি গণনা করতে পারবেন, তবে এর অর্থ আপনার 3 ডি দৃশ্যটি 3 ডি নয়, তবে 2 ডি :) (কারণ এটি একটি বিমান)।
Geerten

হ্যাঁ দুঃখিত, এটি আমার কাছে ঘটেনি। আপনি যা বলছেন তা আমি বুঝতে পেরেছি, এটি কেবল আমার দৃষ্টিভঙ্গি করে। সুতরাং, হ্যাঁ আমার দৃশ্যটি আসলে "2 ডি" কারণ আমার কাছে চিত্র বিমান রয়েছে এবং আমার কাছে আসল বিশ্ব বিমান রয়েছে, যা আসল বিশ্বের উত্স [0,0,0] এর মধ্যে রয়েছে এবং এটি একটি বাস্তব বিশ্বের স্বাভাবিক [0,0, 1], সুতরাং এই বাস্তব বিশ্বের বিমানের উপরে যে প্রতিটি পয়েন্ট রয়েছে তা [x, y, 0] আকারে। আমি জানি যে আমি কুড়াল + বাই + সিজেড + ডি = ০ হলেও ছেদটি গণনা করতে পারি, তবে এটিই আমার সমস্যা হচ্ছে। (পরবর্তী মন্তব্যে অব্যাহত রাখতে)
চিতা

আমার একটি রশ্মি রয়েছে যা আমার ক্যামেরা সেন্টার / উত্স থেকে শুরু হয় যা আমার কাছে আসল বিশ্ব [x, y, z] এবং একটি বাস্তব বিশ্বের স্বাভাবিক [এনএক্স, এনওয়াই, এনজেড] রয়েছে। আমাকে এই বিন্দু থেকে একটি রশ্মি ফায়ার করতে হবে যা [ইউ, ভি] এ চিত্র বিমানটি ছেদ করে এবং তারপরে [x, y, 0] এ সত্যিকারের বিমানটিকে ছেদ করে (এটি আমি এই এক্স, ওয়াই পেতে চাই)। আমার যে সমস্যাটি হচ্ছে তা হ'ল প্রথমটি, চিত্র বিমানের সাথে ছেদ the আমি দেখতে পাচ্ছি না আমি কীভাবে করব?
চিতা

: আপনি তাকান করতে চাইবেন en.wikipedia.org/wiki/Line-plane_intersection
Geerten
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.