केवल चोटी के डेटा को कम करके मैं फ़िल्टर को कैसे कम कर सकता हूं?


16

मेरी एक 2 डी छवि है, जिसे मैं इन बाधाओं / गुणवत्ता मीट्रिक के साथ फ़िल्टर को कम करना चाहता हूं:

  1. मैं छवि में प्रकाश को "जोड़" नहीं सकता, इसलिए परिणाम में प्रत्येक पिक्सेल इनपुट में <= संबंधित पिक्सेल होना चाहिए।
  2. प्रयोग करने के लिए, लोपास कटऑफ आवृत्ति एक पैरामीटर होनी चाहिए
  3. इस फ़िल्टर को बार-बार लगाने से परिणाम महत्वपूर्ण रूप से नहीं बदलना चाहिए।
  4. इस एल्गोरिथ्म को चलाने में लगने वाला समय (5 मिनट के लिए 5 मिनट की छवि उचित लगती है)
  5. फ़िल्टर किए गए प्रकाश की मात्रा को कम से कम करना।

नीचे कुछ दृष्टिकोण दिए गए हैं, जिन्हें मैंने उनकी कमियों के साथ आज़माया है:

  1. सामान्य की तरह गॉसियन फ़िल्टर, फिर परिणाम को कसना के अनुपालन के लिए नीचे खींचें। यह पहले 3 बिंदुओं के साथ बहुत अच्छी तरह से अनुपालन करता है, लेकिन आवश्यकता से बहुत अधिक प्रकाश को कम करता है।

  2. "ऊपर" परवलियों को "निम्न" बिंदुओं के माध्यम से और नीचे की ओर "नीचे की ओर" परवलियों को चिकना करने के लिए छोड़ दें। यह 1 डी में बहुत अच्छा काम करता है, लेकिन इसे पहले क्षैतिज रूप से लागू करता है, फिर 2 डी में खराब परिणाम पैदा करता है। इसमें बहुत समय लगता है, लेकिन मेरे आवेदन के लिए बहुत लंबा नहीं है। हालांकि, बार-बार इस फ़िल्टर को लागू करने से परिणाम में काफी बदलाव आएगा। यदि 1 डी (1 डी) इनपुट एक संपूर्ण "डाउनवर्ड" परबोला है (जिसे बिल्कुल भी फ़िल्टर नहीं किया जाना चाहिए), तो इसे स्टार्ट / एंड पर बैठे 2 "ऊर्ध्वगामी" परवलयों द्वारा प्रतिस्थापित किया जाएगा।

  3. 2 डी "बुनियादी" कार्यों के कुछ अन्य रूप का उपयोग करना और इष्टतम मापदंडों को खोजने के लिए रैखिक समाधान। यह वर्तमान में केवल एक विचार है, जिसे अभी तक कार्यान्वित / परीक्षण नहीं किया गया है।

सिग्नल प्रोसेसिंग में मेरे अनुभव का डोमेन लगभग विशेष रूप से इमेज प्रोसेसिंग है, इसलिए मुझे सिग्नल प्रोसेसिंग के अन्य क्षेत्रों में सक्रिय विशेषज्ञों के इनपुट के साथ इस समस्या के विकल्प खोजने की उम्मीद है।

अद्यतन 2011/08/18

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

इनपुट डेटा: इनपुट डेटा

गाऊसी फ़िल्टर + आवश्यकता (1) का अनुपालन करने के लिए इसे नीचे लाते हैं।
आप देख सकते हैं कि इसे नीचे लाने से दाएं हाथ पर अनावश्यक प्रकाश में कमी आती है। गॉसियन फ़िल्टर किया गया

Parabolas
जहाँ तक मेरा सवाल है, यह बहुत उत्कृष्ट है, दुख की बात है कि यह 2 डी में पूरी तरह से पहले क्षैतिज, फिर ऊर्ध्वाधर लागू करके अनुवाद नहीं करता है। इस मामले में, आप यह भी देख सकते हैं कि मैं फ़्लोटिंग पॉइंट रिज़ॉल्यूशन में फिट किए गए परवलों का मूल्यांकन कर सकता हूं, जो एक छोटा लाभ है, लेकिन बिल्कुल आवश्यक नहीं है। पेराबोला फिटिंग

ग्रेस्केल अपरदन
रवांग के सुझाव के आधार पर, मैंने ग्रेस्केल अपरदन की कोशिश की। मैंने अपने "फिट" परवल के रूप में एक ही परवलयिक आकार के साथ एक संरचनात्मक तत्व का उपयोग किया। परिणाम लगभग बिल्कुल समान है, इसलिए यह आशाजनक लगता है। हालाँकि, अभी भी कुछ समस्याएं हैं: 1. मेरा ढांचा तत्व "काफी बड़ा" नहीं था (हालांकि यह पहले से ही 801 पिक्सेल चौड़ा था) 1. मेरे पास केवल "ऊपर की ओर" परबोलस है, एक "परबोला से किसी भी परवल को संक्रमण को सुचारू करने के लिए नहीं" अगला। ग्रेस्केल का क्षरण

मेडियन फ़िल्टरिंग
केवल पूर्णता के लिए शामिल है, यह वास्तव में नहीं है जो मुझे चाहिए। माध्य फ़िल्टर

कच्चा डेटा
I ने कच्चे इनपुट डेटा + विभिन्न अजगर आदेशों को पेस्टीबिन पर चिपकाया, ताकि आप उसी डेटा के साथ भी प्रयोग कर सकें।
http://pastebin.com/ASnJ9M0p


1
क्या आप प्रतिबंध 1 और 5 के बारे में कुछ और बता सकते हैं? वे (पहली नजर में) विरोधाभासी प्रतीत होते हैं।
पीटर के.एच.

मुझे शायद गलतफहमी हो रही है कि आप "इस एल्गोरिथ्म" से क्या मतलब है, लेकिन 5 एमपी के लिए 5 मिनट एक लोअर फिल्टर को लागू करने के लिए बहुत कुछ लगते हैं।
11

जवाबों:


8

आपके प्रयास # 2 के लिए वास्तव में एक 2D संस्करण है - यह सिद्धांत में समान है, लेकिन इसे दो 1D संचालन में विघटित नहीं किया जा सकता है। कृपया "2D ग्रेस्केल रूपात्मक फ़िल्टरिंग" के बारे में पढ़ें। यह कर्व फिटिंग से तेज है।

यदि आप धब्बों को हटाने की कोशिश कर रहे हैं तो मेडियन फ़िल्टरिंग भी उपयोगी हो सकती है। माध्य फ़िल्टरिंग का एक और अधिक उन्नत रूप "ऑर्डिनल फ़िल्टरिंग" है।

सभी मामलों में, आवश्यकता # 1 आउटपुट और इनपुट के बीच पिक्सेलव्यू न्यूनतम लेकर तुच्छ रूप से पूरी की जा सकती है। यह एक महत्वपूर्ण गुणवत्ता मानदंड है, लेकिन यह एल्गोरिदम की पसंद को सीमित नहीं करेगा।


गाऊसी फ़िल्टरिंग (और कई अन्य उपयोगी फ़िल्टर) को विघटित किया जा सकता है (पहले 2 डी से 1 डी संचालन के लिए, फिर फूरियर ट्रांसफॉर्म के माध्यम से), लेकिन कई अन्य उपयोगी छवि प्रसंस्करण तकनीकें हैं जो डीकोमोरा नहीं हैं, जो धीमा कर देती हैं लेकिन कम नहीं होती हैं उनकी उपयोगिता।


नमस्ते, सूचक के लिए ग्रेस्केल रूपात्मक फ़िल्टरिंग के लिए धन्यवाद। विकिपीडिया पर वर्णन दिलचस्प लगता है और मैं इसकी जाँच करूँगा। हालाँकि, OpenCV प्रलेखन के आपके लिंक में, मुझे केवल सामान्य रूपात्मक फ़िल्टर दिखाई देते हैं, न कि ग्रेस्केल वाले। मैं निश्चित रूप से इस विकल्प की जांच करूंगा और आपको परिणाम बताऊंगा। धन्यवाद।
पीटर-जान बुस्चर्ट

6
क्या माध्य फ़िल्टरिंग का रवांग का सुझाव बिल्कुल मदद करता है? डेटा के बारे में एक सरल उदाहरण और जो आप बाहर निकलना चाहते हैं उसका एक "नकली" उदाहरण पेश करके आप क्या हासिल करने की कोशिश कर रहे हैं, इसके बारे में कुछ और बताना।
पीटर के.एच.

मैंने विभिन्न प्रश्नों के नमूने डेटा + परिणामों के साथ अपने प्रश्न को अपडेट किया। मुझे उम्मीद है कि चीजें अभी और स्पष्ट हैं।
पीटर-जान बुस्चर्ट

2

मैं एक चौरसाई तख़्ता का उपयोग करने का सुझाव देता हूं।

यहाँ आप मजबूत पट्टी समरेखण समारोह के साथ इस मैटलैब का उपयोग कर सकते तरीका बताया गया है SMOOTHN मैटलैब फ़ाइल एक्सचेंज से (जो पूर्ण स्रोत कोड होता है, ताकि आप कर सकते हैं इसे कहीं और फिर से लागू यदि आवश्यक)। ध्यान दें कि यह n- आयामी डेटा के साथ भी कार्य करता है:

%# - get inputlist from pastebin

%# - smoothen data. Lower factor means less smooth
smoothingFactor = 1000;
smoothData = smoothn(inputlist,smoothingFactor);

%# - shift down
smoothData = smoothData - max(inputlist-smoothData);

%# - show results
plot(inputlist,'b'),hold on,plot(smoothData,'r')

यहाँ छवि विवरण दर्ज करें


आपके सुझाव के लिए धन्यवाद, मैं इसकी जांच करूंगा। आपके ग्राफ से, ऐसा लगेगा कि मुझे आपके उदाहरण की तुलना में बहुत अधिक चौरसाई करने की आवश्यकता है। X = 700 के आस-पास खड़ी बढ़त को हटाया नहीं गया है और स्पष्ट रूप से दिखाई देगा। इसके अलावा x = [0, 400] में शुरुआती टक्कर बिल्कुल नहीं हटाई गई है। क्या आपको नहीं लगता कि इससे वैसी ही समस्या होगी जैसी किसी अन्य (लो-पास फिल्टर + मूव डाउन) एप्रोच में? आप दो ग्राफ़ों के बीच वैश्विक ऑफ़सेट देख सकते हैं, जो संभवत: तब भी बढ़ेगा जब मैं एक उच्च चौरसाई फ़ेक्टर का उपयोग करूंगा।
पीटियर-जान बुस्चर्ट 16

@ पीटर-जानबस्चर्ट: ओह, मैंने सोचा था कि पहली चोटी किसी तरह आपके लिए उपयोगी थी। वैसे भी, सभी कम-पास-फ़िल्टर + मूव-डाउन में खड़ी वृद्धि के साथ मुश्किलें होंगी ~ 650: वे इस हिस्से को चापलूसी करेंगे, और इस तरह वक्र को बहुत नीचे ले जाना होगा। मेडियन फ़िल्टर के बाद एक स्मूदिंग स्पलाइन थोड़ा मदद करता है।
जोनास
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.