विज़ुअल ट्रैकिंग और प्लानर मार्करों के लिए चरण कैमरा पोज अनुमान द्वारा चरण


21

मैं थोड़ी देर के लिए संवर्धित वास्तविकता और दृश्य ट्रैकिंग अनुप्रयोगों के लिए कैमरा पोज अनुमान के विषय पर काम कर रहा हूं और मुझे लगता है कि हालांकि कार्य पर बहुत अधिक विस्तृत जानकारी है, फिर भी बहुत सारे भ्रम और गलतफहमी हैं।

मुझे लगता है कि अगले सवालों के जवाब चरणबद्ध तरीके से दिए गए हैं।

  • कैमरा इंट्रिनिक्स क्या हैं?
  • कैमरा एक्सट्रिंसिक्स क्या हैं?
  • मैं एक प्लानर मार्कर से होमोग्राफी की गणना कैसे करूं?
  • अगर मेरे पास होमोग्राफी है तो मुझे कैमरा पोज कैसे मिलेगा?

मैं आपके द्वारा किए गए रेनोवेशन पर फ़र्ज़ी हूं: 1. एच कुछ प्रक्रिया (एसवीडी कहते हैं) का उपयोग करते हुए डेटा से मिली होमोग्राफी है। 2. inv (K) * H = A वह चीज है जो आप यहां काम करते हैं। फिर आप एक घूर्णन मैट्रिक्स के orthonormal कॉलम के रूप में q1 = a1 / norm (a1) और q2 = a2 / norm (a2) बनाते हैं, और अनुवाद वेक्टर प्राप्त करने के लिए q3 = q1xq2 बनाते हैं ... फिर आप t / (कुछ) लेते हैं। यह कैसे हो सकता है कि आप q1 और q2 को संभवतः अलग-अलग चीजों से विभाजित कर सकते हैं, और आप किस तरह से विभाजित कर सकते हैं? या विचार है कि एसवीडी प्रक्रिया और गुणा (के) द्वारा गुणा (कुछ) करीब कुछ नहीं बल्कि ऑर्थोगोनल /
ऑर्थोनॉलिक

लेकिन मैं 3 डी पॉइंट (एक्स, वाई, 1) कैसे प्राप्त कर सकता हूं?
10

जवाबों:


19

यह समझना महत्वपूर्ण है कि यहां एकमात्र समस्या बाहरी मापदंडों को प्राप्त करना है। कैमरा इंट्रिनिक्स को ऑफ-लाइन मापा जा सकता है और उस उद्देश्य के लिए बहुत सारे अनुप्रयोग हैं।

कैमरा इंट्रिनिक्स क्या हैं?

कैमरा आंतरिक मानकों आमतौर पर कैमरा अंशांकन मैट्रिक्स कहा जाता है, । हम लिख सकते हैK

K=[αusu00αvv0001]

कहा पे

  • और α v , u और v समन्वय दिशाओंमें स्केल फैक्टरहैं, औरकैमरेकी फोकल लंबाई f केआनुपातिक हैं: α u = k u f और α v = k v fk u और k v , u और v दिशाओंमें प्रति इकाई दूरी पर पिक्सेल की संख्या हैं।αuαvuvfαu=kufαv=kvfkukvuv

  • को मुख्य बिंदु कहा जाता है, आमतौर पर छवि केंद्र के निर्देशांक।c=[u0,v0]T

  • तिरछा है, केवल गैर-शून्य है यदि u और v गैर-लंबवत हैं।suv

एक कैमरा कैलिब्रेट किया जाता है जब आंतरिक ज्ञान ज्ञात होता है। यह आसानी से किया जा सकता है, इसलिए इसे कंप्यूटर-दृष्टि में एक लक्ष्य नहीं माना जाता है, लेकिन एक ऑफ-लाइन तुच्छ कदम है।

कैमरा एक्सट्रिंसिक्स क्या हैं?

कैमरा एक्सट्रिंसिक्स या बाहरी पैरामीटर एक 3 × 4 मैट्रिक्स है जो एक विश्व समन्वय प्रणाली से कैमरा समन्वय प्रणाली के यूक्लिडियन परिवर्तन से मेल खाती है। आर एक का प्रतिनिधित्व करता है 3 × 3 रोटेशन मैट्रिक्स और टी एक अनुवाद।[R|t]3×4R3×3t

कंप्यूटर-दृष्टि अनुप्रयोग इस मैट्रिक्स का आकलन करने पर ध्यान केंद्रित करते हैं।

[R|t]=[R11R12R13TxR21R22R23TyR31R32R33Tz]

मैं एक प्लानर मार्कर से होमोग्राफी की गणना कैसे करूं?

होमोग्राफी एक समरूप मैट्रिक्स है जो 3 डी विमान और इसकी छवि प्रक्षेपण से संबंधित है। अगर हमारे पास एक प्लेन Z = 0 है तो होमोग्राफी H जो कि इस प्लेन पर एक बिंदु M = ( X , Y , 0 ) T को मैप करती है और प्रोजेक्शन P = K [ R] के अंतर्गत इसके संबंधित 2D पॉइंट m है t ] है3×3Z=0HM=(X,Y,0)TmP=K[R|t]

m~=K[R1R2R3t][XY01]

=K[R1R2t][XY1]

H=K[R1R2t]

होमोग्राफी की गणना करने के लिए हमें बिंदु युग्मों की आवश्यकता है। यदि हमारे पास एक प्लांटर मार्कर है, तो हम सुविधाओं को निकालने के लिए इसकी एक छवि को संसाधित कर सकते हैं और फिर मैच प्राप्त करने के लिए दृश्य में उन विशेषताओं का पता लगा सकते हैं।

हमें डायरेक्ट लिनियर ट्रांसफॉर्म का उपयोग करके होमोग्राफी की गणना करने के लिए सिर्फ 4 जोड़े की आवश्यकता है।

अगर मेरे पास होमोग्राफी है तो मुझे कैमरा पोज कैसे मिलेगा?

होमोग्राफी और कैमरा पोज़ K [ R | t ] में समान जानकारी है और एक से दूसरे में पास करना आसान है। दोनों का अंतिम स्तंभ अनुवाद वेक्टर है। होमोग्राफी के कॉलम एक एच 1 और दो एच 2 भी कैमरा पोज मैट्रिक्स के एक आर 1 और दो आर 2 हैं। यह केवल छोड़ दिया है स्तंभ तीन आर 3 की [ आर | टी ] , और जैसा कि यह ऑर्थोगोनल होना चाहिए, यह एक और दो कॉलम के क्रॉसप्रोडक्ट के रूप में गणना की जा सकती है:HK[R|t]H1H2R1R2R3[R|t]

R3=R1R2

अतिरेक के कारण इसे सामान्य करने के लिए आवश्यक है द्वारा विभाजित, उदाहरण के लिए, मैट्रिक्स के तत्व [3,4]।[R|t]


4
मुझे लगता है कि यह कहना भ्रामक है कि अंशांकन "आसान और सीवी का लक्ष्य नहीं है"। सामान्य स्थिति में हमें विरूपण मापदंडों का अनुमान लगाने की भी आवश्यकता होती है। स्व-अंशांकन के बजाय मैं प्लानर अंशांकन (झांग - कैमरा लचीलेपन के लिए एक लचीली नई तकनीक) की सिफारिश करूंगा क्योंकि यह अलग-अलग है अगर अलग-अलग अंशांकन प्रक्रिया की जा सकती है। "अगर मेरे पास होमोग्राफी है तो मुझे कैमरा पोज कैसे मिलेगा?" जैसा कि आप खाते में अंशांकन (H_ {calib} = K ^ -1H) नहीं लेते हैं।
buq2

3
होमोग्राफी से कैमरा पोज देना गलत है। ऐसा करने के कई तरीके हैं 'उनमें से कुछ अत्यधिक गैर-तुच्छ हैं।
मिरर 2image

मैं देखता हूं कि यह गलत क्यों है। मैं इसे इस तरह से गणना करता हूं और काम करता हूं। आप इसे गलत क्यों कहते हैं?
Jav_Rock

3
आपने अंतिम खंड में लिखा है कि H ^ 1 और R ^ 1 और बराबर है, लेकिन 3 भाग में आप कहते हैं कि H = K [RT] जिसका अर्थ होगा कि R ^ 1 वास्तव में K ^ -1H ^ 1 है। लेकिन यह कड़ाई से सच नहीं है क्योंकि एच की अनंत संख्या है जो समीकरणों को संतुष्ट करेगी और आर ^ 1, आर ^ 2 और टी (अज्ञात पैमाने) को हल करते समय समस्याएं पैदा करेगी। आपका उत्तर मजबूत आंतरिक और विकृति अंशों की अवहेलना करता है और कुछ समीकरण गलत हैं जिस कारण से यह प्रश्न का अच्छा उत्तर नहीं है।
buq2

हां, मुझे चरण तीन में कलालिब्रेशन मैट्रिक्स याद आ रहा था क्योंकि मैंने इसे अपने कोड से लिया था और मैं कोड के एक अलग फ़ंक्शन में K से गुणा करता हूं।
Jav_Rock

3

द्वि-आयामी मामले को बहुत अच्छी तरह से समझाते हुए, Jav_Rock द्वारा प्रस्तावित उत्तर तीन आयामी स्थान में कैमरा पोज के लिए एक वैध समाधान प्रदान नहीं करता है। ध्यान दें कि इस समस्या के लिए कई संभावित समाधान मौजूद हैं।

यह पेपर होमोग्राफी को विघटित करने के लिए बंद सूत्र प्रदान करता है, लेकिन सूत्र कुछ जटिल हैं।

OpenCV 3 पहले से ही वास्तव में इस अपघटन ( decomposeHomographyMat ) को लागू करता है । एक होमोग्राफी और एक सही ढंग से स्केल किए गए आंतरिक मैट्रिक्स को देखते हुए, फ़ंक्शन चार संभावित घुमावों और अनुवाद का एक सेट प्रदान करता है।

इस मामले में आंतरिक मैट्रिक्स को पिक्सेल इकाइयों में दिए जाने की आवश्यकता है, इसका मतलब है कि आपका मुख्य बिंदु आमतौर पर है (imageWidth / 2, imageHeight / 2)और आपकी फोकल लंबाई आमतौर पर है focalLengthInMM / sensorWidthInMM * imageHeight


एक सही ढंग से बढ़ा हुआ आंतरिक मैट्रिक्स क्या है?
गुइग

1
मैंने अपना उत्तर अपडेट कर दिया है। कृपया ऊपर देखें।
एमिसवेल्ट

अरे @Emwwelt, फोकल लंबाई नहीं है focalLengthInMM / sensorWidthInMM * imageWidth? इसके बजाय आप ऊंचाई क्यों चुनते हैं?
एल मार्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.