ফিল্টারিং রানস্যাক আনুমানিক হোমোগ্রাফিজ


10

আমি ক্যামেরাগুলি নিয়ে নেওয়া জোড়া জোড়া ছবিগুলির মধ্যে হোমোগ্রাফি অনুমানের জন্য রানস্যাক অ্যালগরিদম ব্যবহার করছি যাগুলির মধ্যে কোনও শুদ্ধ ঘূর্ণন এবং স্কেল / জুমের পরিবর্তন) নেই। এটি অর্ধেক ক্ষেত্রে ভাল কাজ করে। সঠিক আউটপুটটি এর মতো দেখাচ্ছে:

এখানে চিত্র বর্ণনা লিখুন

লাল রেখাগুলি ফিল্টার করা চিঠিপত্র এবং চতুর্ভুজগুলি বর্ণনা করে যে কীভাবে হোমোগ্রাফি দৃষ্টিভঙ্গিকে বিকৃত করে।

কখনও কখনও, তবে অনেকগুলি খারাপ ঘটনা ঘটে থাকে, যেমন:

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

আমার ইতিমধ্যে আরএনএসএসি লুপে একটি সাধারণ পরীক্ষা আছে। এটি একটি সাধারণ চতুষ্কোণ (একটি ইউনিট বর্গক্ষেত্র) তৈরি করে এবং এটি নমুনা ট্রান্সফর্মের সাথে রূপান্তর করে। তারপরে দেখা যাচ্ছে যে রূপান্তরটি তার গতিবেগকে রক্ষা করেছে।

তবুও, অবতল চতুর্ভুজগুলির গুচ্ছগুলি বেরিয়ে আসে।

হোমোগ্রাফিটি কীভাবে সঠিকভাবে পরীক্ষা করতে হয়, যদি এটি "সুন্দরভাবে" আচরণ করে এবং ভুল সমাধানগুলি ফিল্টার করে তবে আপনার কী ধারণা আছে?

আমি এমন কিছু কোড পেয়েছি যেখানে তারা পরীক্ষা করে দেখেছে যে তিনটি রূপান্তরিত পয়েন্টের কোনওটিই কলিনিয়ার নয়। তবে এটি পর্যাপ্ত বলে মনে হচ্ছে না কারণ এটি ডেল্টয়েড এবং অন্যান্য "অবৈধ" চতুর্ভুজগুলি ফিল্টার করে না ...

উত্তর:


1

এই বিষয়টিতে একটি আকর্ষণীয় কাগজ রয়েছে: http://link.springer.com/chapter/10.1007%2F978-3-642-17691-3_19#

আরএনএসএসি অ্যালগরিদমে হোমোগ্রাফির গণনা করার আগে কাগজটি কিছু ভুল চিঠিপত্র ফিল্টার করার একটি পদ্ধতি বর্ণনা করে।


4

হোমোগ্রাফি ঠিক আছে কিনা তা যাচাই করতে সমস্যা আছে।

সঠিক হোমোগ্রাফিগুলি পরীক্ষা করার জন্য অ্যালগরিদম কারও আগ্রহী হতে পারে, তাই আমি এটি এখানে লিখব:

ABDC

A:(w/2,h/2,1.0)B:(w/2,h/2,1.0)C:(w/2,h/2,1.0)D:(w/2,h/2,1.0)

w,h

ABDCC=HC

uv

d1:A+(DA)s=A+usd2:B+(CB)t=B+vt

d1=d2

t=1d[(ByAy)ux(BxAx)uy]

s=1d[(AxBx)vy(AyBy)vx]

s,t(0,1)

s,t(λ,1.0λ)λ=0.01

পুরানো সমস্যা, উপরের অ্যালগোরিথে স্থির:

আমি এখানে সমস্যাটি পেয়েছি - একটি নির্দিষ্ট হোমোগ্রাফি থাকার কারণে পরীক্ষাটি একটি ছোট চতুর্ভুজের জন্য পাস হতে পারে তবে বড়টির জন্য নয়। এ কারণেই কিছু "অসুস্থ" হোমোগ্রাফির মধ্য দিয়ে গেছে।

সবুজ বর্গক্ষেত্র একটি উত্স চিত্র উপস্থাপন করে, কমলা একটি রূপান্তরিত। আপনি দেখতে পাচ্ছেন, বাম হাতের একটি উত্তল, তবে উত্সটি বৃহত্তর হিসাবে বিকৃত হওয়া শুরু করে:

এখানে চিত্র বর্ণনা লিখুন

অবশেষে আরও বড় উত্স ফলন নন রূপান্তর চতুর্ভুজ:

এখানে চিত্র বর্ণনা লিখুন

(x,y,w)xyw

আমি সেই অনুযায়ী অ্যালগরিদম সংশোধন করেছি।


1

x_i \sim Hx_i^'\sum_{j=1\dots n}\|x_j - Hx_j^'\|H^'x^' = H^'x\sum_{j=1\dots n}\|x_j - Hx_j^'\| + \|x_j^' - H^'x\|

হার্টলি এবং জিসারম্যান - কম্পিউটার ভিশন অধ্যায় ৪.২ এবং বিশেষত ৪.২.৩ এবং সমীকরণ (৪.৮) এর একাধিক দেখুন জ্যামিতি দেখুন।


প্রদর্শিত চতুর্ভুজগুলি কেবল সেখানে areোকানো হয়েছে। আমি ফিটফাট খুব ভাল হিসাবে চিঠিপত্র সম্পর্কে নিশ্চিত। আমি হার্টলি ও জিসারম্যান প্রস্তাবিত ডিএলটি অ্যালগরিদম ব্যবহার করেছি এবং তারপরে আপনি যেমন উল্লেখ করেছেন তেমন পুনঃসংশোধন এবং গাইডেড ম্যাচিং ব্যবহার করেছেন।
Libor

কিন্তু Homography উপযোগীতা হতে পারে না যে ভাল প্রথম ছবিতে সেখানে পয়েন্ট দুই দলের হল: (গাছ বেশী অ্যাপার্টমেন্ট বিল্ডিং এ (যা সম্ভবত একটি একই প্লেনে হয়) এবং বেশী সম্ভবত এমনকি না তাদের নিজস্ব দলের ভিতরে একই বিমান)। আপনি কি নিশ্চিত যে আপনি মৌলিক ম্যাট্রিক্স ব্যবহার করতে চাইছেন নি?
buq2

লাইনগুলি সংশ্লিষ্ট পয়েন্টগুলিতে সংযুক্ত হয় এবং আমি সেগুলি সবগুলি পরীক্ষা করেছিলাম - যখন চিত্রগুলি সারিবদ্ধ হয়, তখন তারা সমস্ত মিলিত হয়। আমি যখন খারাপ মিলে যাওয়া চিত্রের জোড়গুলি বাদ দিই, তখন এটি একটি দুর্দান্ত প্যানোরোমাতে আসে।
Libor

চিত্রগুলি একটি ঘোরানো ক্যামেরা ব্যবহার করে তৈরি করা হয়েছে, সুতরাং মনে হতে পারে বিমানগুলি বদলে গেছে, তবে যেহেতু ক্যামেরাগুলি অপটিকাল কেন্দ্রের দিকে ঘুরছে, আমি নিশ্চিতভাবে নিশ্চিত যে হোমোগ্রাফিটি অনুমান করা হয়েছে। আমি এটি থেকে ফোকাল দৈর্ঘ্য এবং ঘূর্ণন ম্যাট্রিক্স গণনা করতে পারেন। তবে সমস্যাটি অন্য কোথাও, আমার সফ্টওয়্যারটির একটি চটজলদি আমার সন্ধান করতে হবে ...
Libor

আহ, আপনি ক্যামেরাগুলির মধ্যে কোনও অনুবাদ নেই এমন তথ্য অন্তর্ভুক্ত করেননি। তারপরে আপনি ঠিক বলেছেন এবং হোমোগ্রাফি চিত্রগুলির মধ্যে রূপান্তর বর্ণনা করে।
buq2
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.