वास्तव में DFT का उपयोग करके सबपिक्सल इमेज शिफ्टिंग कैसे काम करती है?


12

मैं एक आवेदन के लिए कई छवि प्रक्षेप तरीकों की गुणवत्ता का आकलन करने की कोशिश कर रहा हूं जिसमें उप-शिफ्ट-निर्मित छवियां उत्पन्न करना शामिल है। मैंने सोचा कि मैं इन सभी प्रक्षेप प्रक्षेपों का उपयोग करते हुए कुछ पूरी तरह से स्थानांतरित छवि के साथ एक सबस्पिक्ल शिफ्ट के परिणामों की तुलना कर सकता हूं, लेकिन इसे प्राप्त करना संभव नहीं है (तब प्रक्षेप की आवश्यकता क्या होगी?)।

मैं आवृत्ति डोमेन में डीएफटी + शिफ्टिंग का उपयोग करने के बारे में सोच रहा था, और मैं इस बात से अनिश्चित हूं कि यह वास्तव में छवि को स्पष्ट रूप से प्रक्षेपित करने की तुलना में कैसे काम करता है (बिलिनियर, बाइबिक, आदि ... का उपयोग करके)। मुझे यकीन है कि यह संभवतः पूरी तरह से स्थानांतरित छवि उत्पन्न नहीं कर सकता है , लेकिन मैं इस पर अपनी उंगली नहीं डाल सकता। क्या डीएफ़टी के साथ सबपिक्सल शिफ्टिंग इंटरपोलेशन लागू करने के बराबर है और यदि हां, तो कौन सा? इस पद्धति का उपयोग करके प्राप्त छवियों में पिक्सेल मूल्यों का पूर्वाग्रह क्या है? धन्यवाद!

संपादित करें: इस मामले पर सोचने के बाद, मुझे लगा कि एफएफटी हार्मोनिक्स (साइन फ़ंक्शंस) के मामले में मूल फ़ंक्शन का एक अंदाज़ा (और भी बहुत डीएफटी) है, कि यह किसी प्रकार के त्रिकोणमितीय अवरोधन के बराबर होगा। मुझे असतत डेटा के लिए एक "फूरियर सीरीज़ इंटरपोलेशन" फॉर्मूला याद है जो एक त्रिकोणमितीय इंटरपोलेशन था, लेकिन यह सुनिश्चित नहीं है कि आप कनेक्ट हैं या नहीं।


तेजी से फूरियर रूपांतरण (FFT) असतत फूरियर रूपांतरण के लिए एक एल्गोरिथ्म है। डीएफटी हार्मोनिक्स के संदर्भ में मूल फ़ंक्शन का एक अनुमान नहीं है, बल्कि एक जटिल घातीय ऑर्थोगोनल आधार पर एक संकेत का प्रक्षेपण है।
ब्रायन

ठीक है, लेकिन संकेत ही कुछ तीव्रता के वितरण का नमूना और मात्रात्मक अनुमान है, और डीएफटी उस सैद्धांतिक वितरण की तुलना में हार्मोनिक सामग्री के संबंध में सीमित है। आप आईडीएफटी से सटीक संकेत वापस प्राप्त कर सकते हैं, लेकिन अगर आप इसे वापस करने से पहले सामान (जैसे शिफ्टिंग) करते हैं तो कुछ पूर्वाग्रह होंगे। या क्या मैं कुछ न कुछ भूल रहा हूं?
neuviemeporte

डीएफटी वास्तव में विवेकाधीन इनपुट लेता है, लेकिन यह क्वांटिज़ेटेड इनपुट तक सीमित नहीं है। संकेत क्या मायने नहीं रखता। जैसा कि आपने बताया है, आप सटीक संकेत वापस पा सकते हैं। हालाँकि, मुझे यकीन नहीं है कि "शिफ्टिंग" से आपका क्या मतलब है। फ़्रीक्वेंसी डोमेन में शिफ्टिंग के गुण अच्छी तरह से ज्ञात हैं (टाइम डोमेन में जटिल आवृत्ति अनुवाद)। यदि आपकी इच्छा "समय" डोमेन में स्थानांतरित करने की है, तो आपको उस के डीएफटी दोहरी के बारे में सोचने की आवश्यकता है।
ब्रायन

1
मेरा मतलब है कि अगर मैं सिग्नल के डीएफटी पर कुछ ऑपरेशन करता हूं (जैसे कि मेरे मामले में - फूरियर शिफ्ट प्रमेय का उपयोग करते हुए "पिक्सेल डोमेन" में एक छवि का उप-भाग), तो आईडीएफटी ने @ hotpaw2 के द्वारा समझाया गया परिणाम लौटाया होगा जवाब। यह प्रक्षेप अपूर्ण है क्योंकि सिग्नल को बंद नहीं किया गया है और DFT की गणना परिमाणित (0-255) नमूनों के परिमित सेट से की गई थी।
neuviemeporte

जवाबों:


4

एक डीएफटी / एफएफटी, प्लस को फ़्रीक्वेंसी डोमेन में शून्य-पेडिंग जोड़ा गया, फिर एक लंबा आईडीएफटी / आईएफएफटी, प्रक्षेपित बिंदु देता है। इन बिंदुओं को एक आवधिक Sinc कर्नेल का उपयोग करके प्रक्षेपित किया जाएगा, जो मूल डेटा के लिए एक सही प्रक्षेप है जो कड़ाई से बैंड-मूल नमूना दर के आधे से नीचे तक सीमित है। हालाँकि, डेटा पर कार्य किया जाएगा जैसे कि यह गोलाकार लपेटा गया हो, जो कुछ छवियों के किनारों पर विषम परिणाम उत्पन्न कर सकता है। इसलिए आप मूल स्रोत के किनारों को प्रक्षेप से पहले एक अच्छा भराव या फ्रेमिंग रंग के साथ पैड कर सकते हैं।

यदि आप 2X (IFFT से पहले की लंबाई को दोगुना करने के लिए FFT को शून्य-पैड) करते हैं, तो आप प्रक्षेपित बिंदुओं का उपयोग करके आधा-पिक्सेल बदलाव कर सकते हैं। तीसरे पिक्सेल की शिफ्ट के लिए 3X आदि। शिफ्टिंग के लिए, आप मूल बिंदुओं को दूर कर सकते हैं और आकार में वांछित होने के लिए किसी भी अतिरिक्त प्रक्षेपित बिंदुओं को फेंक सकते हैं।


5
@ hotpaw2: DFT के लिए इंटरपोलिंग कर्नेल अनंत सीमा का एक sinc () नहीं है, वास्तव में DFT एक असतत, परिमित परिवर्तन है। DFT द्वारा अंतर्वेशन, डिरिक्लेट कर्नेल के साथ कनवल्शन के समतुल्य है, जिसे कुछ लेखकों द्वारा समय-समय पर sinc () भी कहा जाता है : en.wikipedia.org/wiki/Dirichlet_kernel
Arrigo

@ अर्रीगो: सहमत हैं। ठीक करने के लिए संपादित उत्तर।
हॉटपावर 2

@ hotpaw2: जब मैं एफएफटी को दो बार आकार देता हूं, तो आईएफएफटी दो बार आकार का पुनर्निर्माण करेगा। सुनिश्चित नहीं है कि अधिशेष के साथ क्या करना है? धन्यवाद
neuviemeporte

उन अधिशेष बिंदुओं को फेंक दें जिनकी आपको आवश्यकता नहीं है। 2X के उत्थान में, हर दूसरे को स्थानांतरित किया जाता है, फिर से संगठित मूल बिंदुओं के साथ बारी-बारी से। 3X अपसाइड में, आपको 2 शिफ्ट किए गए अंक मिलते हैं (1/3 द्वारा और 2/3 द्वारा) मूल के साथ बारी-बारी से। आदि। आप जितना अधिक उथल-पुथल करते हैं, उतना ही आप दूर फेंक देते हैं।
हॉटपावर 2

7

डीएफटी आपको एक छवि को स्थानांतरित करने की अनुमति देता है यह समझने के लिए आपको कई महत्वपूर्ण अंतर्दृष्टि चाहिए।

सबसे पहले, फूरियर का प्रमेय: पहले (यानी, अनुरूप) मामले को देखना आसान है। कल्पना करें कि आपका कोई कार्य है, इसे g (t) कहें। सादगी के लिए, मान लें कि जी (टी) एक एनालॉग ऑडियो रिकॉर्डिंग है, इसलिए यह एक आयामी कार्य है, जो निरंतर है, और समय के कार्य के रूप में तात्कालिक दबाव का प्रतिनिधित्व करता है।

अब, जी (टी) एक तरीका है जिससे हम अपने ऑडियो रिकॉर्डिंग का प्रतिनिधित्व कर सकते हैं। एक और जी (एफ) है। जी (एफ) जी (टी) का फूरियर रूपांतरण है। तो, जी (एफ) == एफटी (जी (टी))। जी (एफ) में जी (टी) के रूप में सभी समान जानकारी है, लेकिन यह समय डोमेन के बजाय आवृत्ति डोमेन में उस जानकारी का प्रतिनिधित्व करता है। फूरियर ट्रांसफॉर्म के बारे में कुछ नाइट-पिकी विवरण हैं, जिनका मैं उल्लेख नहीं करूंगा।

आप जी (च) के बारे में सोच सकते हैं कि जी (टी) में निहित "आवृत्तियों के वितरण" के रूप में। तो, अगर जी (टी) एक साइन-वेव (यानी, एक शुद्ध स्वर) है, तो उस टोन की आवृत्ति को छोड़कर, हर जगह जी (एफ) शून्य होगा। यह शायद यह उल्लेख करने के लिए एक अच्छा बिंदु है कि जी (एफ) सामान्य रूप से एक जटिल कार्य है - यह कहना है कि यह जटिल संख्या देता है, जिसे वास्तविक और काल्पनिक घटक या परिमाण और चरण माना जा सकता है।

δ(w)δ

ठीक है, तो अब हमें अपने बेल्ट के नीचे निरंतर एफटी मिला है।

यहां दूसरी अंतर्दृष्टि है: एक असतत फूरियर ट्रांसफॉर्म एक फूरियर ट्रांसफॉर्म के लिए है जैसा कि एक नमूना सिग्नल एक एनालॉग सिग्नल के लिए है। इस मामले में, "असतत" फ़ंक्शन के डोमेन (समय या आवृत्ति) के परिमाणीकरण को संदर्भित करता है, न कि यह सीमा। (आपके साउंड कार्ड से प्राप्त नमूना डिजिटल सिग्नल को डोमेन और रेंज दोनों में परिमाणित किया जाता है।)

आपके साउंड कार्ड से मिलने वाली डिजिटल बाइट-स्ट्रीम में माइक्रोफोन से मूल निरंतर (एनालॉग) सिग्नल के "नमूने" होते हैं। यदि हम अपने नमूना जी (टी) का डीएफटी लेते हैं, तब भी हमें जी (एफ) मिलता है। जी (एफ), याद रखें, जी (टी) में निहित जानकारी का प्रतिनिधित्व करने का सिर्फ एक अलग तरीका है। यदि हमने Nyquist के प्रमेय का पालन ​​किया है , तो सैंपल सिग्नल जी (t) में मूल निरंतर सिग्नल की सभी "खुफिया" शामिल हैं, इसलिए हमारे असतत G (f) में हमारे मूल निरंतर सिग्नल से सभी जानकारी होनी चाहिए। पैतृक रूप से, G (f) अभी भी एक जटिल कार्य है।

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

eiπ2

इसका मतलब है कि हम अपनी ऑडियो रिकॉर्डिंग को समय पर ( एक नमूना समय के एक अंश सहित, किसी भी राशि से चुन सकते हैं) को जी (टी) के चरण को संशोधित करके बदल सकते हैं। दरअसल, वह बयान शायद थोड़ा बहुत आकस्मिक है। एक अन-क्वांटीकृत, सैंपल्ड सिग्नल के लिए चरण को मनमाने ढंग से समायोजित किया जा सकता है (यह इस कारण का कारण है कि मैंने डोमेन और रेंज के परिमाणीकरण के बीच अंतर किया था)। हालांकि, एक परिमाणित नमूना संकेत (ऑडियो की हमारी बाइट-स्ट्रीम, उदाहरण के लिए) परिमाणीकरण चरण आकार (यानी, बिट्स की संख्या) उस संकल्प को निर्धारित करता है जिसके साथ हम चरण को समायोजित कर सकते हैं। जब हम उलटा ट्रांसफॉर्मर जी (एफ) (या इसे इस सैंपल सिग्नल के लिए डीआईएसटी) करते हैं, तो नमूने जी '(टी) = डीआईएफटी (जी (एफ)) के नए सेट को सभी समय पर हमारे द्वारा चुनी गई राशि से स्थानांतरित कर दिया जाएगा।

इसे अपने पिक्सल पर लागू करने का सीधा मतलब है कि यहां चर्चा किए गए 1-आयामी एफटी के बजाय 2-आयामी एफटी का उपयोग करना।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.