हिस्टोग्राम समीकरण

हिस्टोग्राम इक्वलाइजेशन छवि के छवि हिस्टोग्राम का उपयोग करके कंट्रास्ट (दृष्टि) समायोजन की छवि प्रसंस्करण में एक विधि है।



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

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

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

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

हिस्टोग्राम समकरण के बारे में सोचने और लागू करने के दो तरीके हैं, या तो छवि परिवर्तन के रूप में या पैलेट (कंप्यूटिंग) परिवर्तन के रूप में। ऑपरेशन को P(M(I)) के रूप में व्यक्त किया जा सकता है जहां I मूल छवि है, M हिस्टोग्राम इक्वलाइज़ेशन मैपिंग ऑपरेशन है और P एक पैलेट है। यदि हम एक नए पैलेट को P'=P(M) के रूप में परिभाषित करते हैं और छवि I को अपरिवर्तित छोड़ते हैं तो हिस्टोग्राम समीकरण को पैलेट (कंप्यूटिंग) परिवर्तन या मैपिंग परिवर्तन के रूप में लागू किया जाता है। दूसरी ओर, यदि पैलेट P अपरिवर्तित रहता है और छवि को I'=M(I) में संशोधित किया जाता है तो कार्यान्वयन छवि परिवर्तन द्वारा पूरा किया जाता है। अधिकांश मामलों में पैलेट परिवर्तन बेहतर होता है क्योंकि यह मूल डेटा को सुरक्षित रखता है।

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

वापस प्रक्षेपण
हिस्टोग्राम की गई छवि का पिछला प्रक्षेपण (या प्रोजेक्ट) मूल छवि पर संशोधित हिस्टोग्राम का पुन: अनुप्रयोग है, जो पिक्सेल चमक मानों के लिए लुक-अप तालिका के रूप में कार्य करता है।

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

कार्यान्वयन
एक असतत ग्रेस्केल {x} पर विचार करें और n देंiग्रे लेवल I की घटनाओं की संख्या हो। छवि में स्तर I के पिक्सेल के घटित होने की प्रायिकता है
 * $$\ p_x(i) = p(x=i) = \frac{n_i}{n},\quad 0 \le i < L $$

$$\ L $$ छवि में ग्रे स्तरों की कुल संख्या (आमतौर पर 256), n छवि में पिक्सेल की कुल संख्या है, और $$p_x(i)$$ वास्तव में पिक्सेल मान i के लिए छवि का हिस्टोग्राम, [0,1] पर सामान्यीकृत है।

आइए हम i के अनुरूप संचयी वितरण फ़ंक्शन को भी परिभाषित करें
 * $$\operatorname{cdf}_x(i) = \sum_{j=0}^i p_x(x=j)$$,

जो छवि का संचित सामान्यीकृत हिस्टोग्राम भी है।

हम स्वरूप में परिवर्तन लाना चाहेंगे $$\ y=T(x) $$ एक सपाट हिस्टोग्राम के साथ एक नई छवि {y} बनाने के लिए। ऐसी छवि में मूल्य सीमा पर एक रैखिक संचयी वितरण फ़ंक्शन (सीडीएफ) होगा, अर्थात।
 * $$\operatorname{cdf}_y(i) = (i+1) K$$ के लिए $$ 0 \le i < L $$

कुछ स्थिरांक के लिए $$\ K $$. सीडीएफ के गुण हमें ऐसा परिवर्तन करने की अनुमति देते हैं (देखें संचयी वितरण फ़ंक्शन#व्युत्क्रम वितरण फ़ंक्शन (क्वांटाइल फ़ंक्शन)); इसे इस प्रकार परिभाषित किया गया है
 * $$\ y = T(k) = \operatorname{cdf}_x(k)$$

कहाँ $$\ k $$ के दायरे में है $$ [0,L-1]) $$. नोटिस जो $$\ T $$ स्तरों को [0,1] श्रेणी में मैप करता है, क्योंकि हमने {x} के सामान्यीकृत हिस्टोग्राम का उपयोग किया है। मानों को उनकी मूल सीमा में वापस मैप करने के लिए, परिणाम पर निम्नलिखित सरल परिवर्तन लागू करने की आवश्यकता है:
 * $$\ y^\prime = y \cdot(\max\{x\} - \min\{x\}) + \min\{x\}= y \cdot(L- 1)$$.

एक अधिक विस्तृत व्युत्पत्ति यहां उपलब्ध कराई गई है है।

$$\ y $$ जबकि एक वास्तविक मूल्य है $$\ y^\prime $$ एक पूर्णांक होना चाहिए. एक सहज और लोकप्रिय तरीका राउंड ऑपरेशन लागू कर रहा है:
 * $$\ y^\prime = \operatorname{round} (y \cdot(L- 1))$$.

हालाँकि, विस्तृत विश्लेषण से थोड़ा अलग सूत्रीकरण निकलता है। मैप किया गया मान $$\ y^\prime $$ की सीमा के लिए 0 होना चाहिए $$0<y \leq1/L$$. और $$\ y^\prime =1$$ के लिए $$1/L < y \leq 2/L$$, $$\ y^\prime = 2 $$ के लिए $$2/L < y \leq 3/L$$, ...., और अंत में $$\ y^\prime =L-1$$ के लिए $$(L-1)/L < y \leq 1$$. फिर परिमाणीकरण सूत्र से $$\ y$$ को $$\ y^\prime $$ होना चाहिए

$$y^\prime=\operatorname{ceil}(L \cdot y)-1 $$.

(टिप्पणी: $$y^\prime=-1 $$ कब $$\ y=0 $$ हालाँकि, यह सिर्फ इसलिए नहीं होता है $$\ y=0 $$ इसका मतलब है कि उस मान के अनुरूप कोई पिक्सेल नहीं है।)

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

उदाहरण
आंकड़ों के उपयोग में स्थिरता के लिए, सीडीएफ (यानी संचयी वितरण फ़ंक्शन) को संचयी हिस्टोग्राम द्वारा प्रतिस्थापित किया जाना चाहिए, खासकर जब से लेख संचयी वितरण फ़ंक्शन से लिंक होता है जो संचयी हिस्टोग्राम में मानों को पिक्सेल की कुल मात्रा से विभाजित करके प्राप्त किया जाता है। समानीकृत सीडीएफ को रैंकिंग के संदर्भ में परिभाषित किया गया है $$rank/pixelcount$$.

छोटी छवि
दिखाई गई 8-बिट ग्रेस्केल छवि में निम्नलिखित मान हैं:

इस छवि का हिस्टोग्राम निम्न तालिका में दिखाया गया है। जिन पिक्सेल मानों की संख्या शून्य है उन्हें संक्षिप्तता के लिए बाहर रखा गया है।
 * {| class="wikitable"

! Value !! Count ! Value !! Count ! Value !! Count ! Value !! Count ! Value !! Count संचयी वितरण फ़ंक्शन (सीडीएफ) नीचे दिखाया गया है। फिर, पिक्सेल मान जो सीडीएफ में वृद्धि में योगदान नहीं करते हैं उन्हें संक्षिप्तता के लिए बाहर रखा गया है।
 * 52 || 1
 * 64 || 2
 * 72 || 1
 * 85 || 2
 * 113 || 1
 * 55 || 3
 * 65 || 3
 * 73 || 2
 * 87 || 1
 * 122 || 1
 * 58 || 2
 * 66 || 2
 * 75 || 1
 * 88 || 1
 * 126 || 1
 * 59 || 3
 * 67 || 1
 * 76 || 1
 * 90 || 1
 * 144 || 1
 * 60 || 1
 * 68 || 5
 * 77 || 1
 * 94 || 1
 * 154 || 1
 * 61 || 4
 * 69 || 3
 * 78 || 1
 * 104 || 2
 * rowspan="3" colspan="2"|
 * 62 || 1
 * 70 || 4
 * 79 || 2
 * 106 || 1
 * 63 || 2
 * 71 || 2
 * 83 || 1
 * 109 || 1
 * }
 * 79 || 2
 * 106 || 1
 * 63 || 2
 * 71 || 2
 * 83 || 1
 * 109 || 1
 * }
 * }
 * {| class="wikitable"

! v, Pixel Intensity !! cdf(v) !! h(v), Equalized v
 * 52||1||0
 * 55||4||12
 * 58||6||20
 * 59||9||32
 * 60||10||36
 * 61||14||53
 * 62||15||57
 * 63||17||65
 * 64||19||73
 * 65||22||85
 * 66||24||93
 * 67||25||97
 * 68||30||117
 * 69||33||130
 * 70||37||146
 * 71||39||154
 * 72||40||158
 * 73||42||166
 * 75||43||170
 * 76||44||174
 * 77||45||178
 * 78||46||182
 * 79||48||190
 * 83||49||194
 * 85||51||202
 * 87||52||206
 * 88||53||210
 * 90||54||215
 * 94||55||219
 * 104||57||227
 * 106||58||231
 * 109||59||235
 * 113||60||239
 * 122||61||243
 * 126||62||247
 * 144||63||251
 * 154||64||255
 * } (कृपया ध्यान दें कि $$h(v)=\operatorname{ceil}(\operatorname{cdf}(v))-1 $$ संस्करण अभी तक सचित्र नहीं है।)
 * 76||44||174
 * 77||45||178
 * 78||46||182
 * 79||48||190
 * 83||49||194
 * 85||51||202
 * 87||52||206
 * 88||53||210
 * 90||54||215
 * 94||55||219
 * 104||57||227
 * 106||58||231
 * 109||59||235
 * 113||60||239
 * 122||61||243
 * 126||62||247
 * 144||63||251
 * 154||64||255
 * } (कृपया ध्यान दें कि $$h(v)=\operatorname{ceil}(\operatorname{cdf}(v))-1 $$ संस्करण अभी तक सचित्र नहीं है।)
 * 94||55||219
 * 104||57||227
 * 106||58||231
 * 109||59||235
 * 113||60||239
 * 122||61||243
 * 126||62||247
 * 144||63||251
 * 154||64||255
 * } (कृपया ध्यान दें कि $$h(v)=\operatorname{ceil}(\operatorname{cdf}(v))-1 $$ संस्करण अभी तक सचित्र नहीं है।)
 * 122||61||243
 * 126||62||247
 * 144||63||251
 * 154||64||255
 * } (कृपया ध्यान दें कि $$h(v)=\operatorname{ceil}(\operatorname{cdf}(v))-1 $$ संस्करण अभी तक सचित्र नहीं है।)
 * 154||64||255
 * } (कृपया ध्यान दें कि $$h(v)=\operatorname{ceil}(\operatorname{cdf}(v))-1 $$ संस्करण अभी तक सचित्र नहीं है।)
 * } (कृपया ध्यान दें कि $$h(v)=\operatorname{ceil}(\operatorname{cdf}(v))-1 $$ संस्करण अभी तक सचित्र नहीं है।)

यह सीडीएफ दर्शाता है कि उपछवि में न्यूनतम मान 52 है और अधिकतम मान 154 है। मान 154 के लिए 64 का सीडीएफ छवि में पिक्सेल की संख्या के साथ मेल खाता है। सीडीएफ को सामान्यीकृत किया जाना चाहिए $$[0,255]$$. सामान्य हिस्टोग्राम समकरण सूत्र है:



h(v) = \mathrm{round} \left(  \frac {\operatorname{cdf}(v) - \operatorname{cdf}_{\min}} {(M \times N) - \operatorname{cdf}_{\min}}   \times (L - 1) \right) $$ जहां सी.डी.एफmin संचयी वितरण फ़ंक्शन का न्यूनतम गैर-शून्य मान है (इस मामले में 1), एम × एन छवि के पिक्सेल की संख्या देता है (64 से ऊपर के उदाहरण के लिए, जहां एम चौड़ाई है और एन ऊंचाई है) और एल की संख्या है ग्रे स्तर का उपयोग किया गया (ज्यादातर मामलों में, इस तरह, 256)।

ध्यान दें कि मूल डेटा में मानों को स्केल करने के लिए जो 0 से ऊपर हैं, रेंज 1 से एल-1 तक, समावेशी, इसके बजाय उपरोक्त समीकरण होगा:



h(v) = \mathrm{round} \left(  \frac {\operatorname{cdf}(v) - \operatorname{cdf}_{\min}} {(M \times N) - \operatorname{cdf}_{\min}}   \times (L - 2) \right) + 1 $$ जहां cdf(v) > 0. 1 से 255 तक स्केलिंग न्यूनतम मान की गैर-शून्यता को संरक्षित करती है।

उदाहरण के लिए 0 से 255 तक स्केलिंग डेटा के लिए समीकरण सूत्र है:



h(v) = \mathrm{round} \left(  \frac {\operatorname{cdf}(v) - 1} {63}   \times 255 \right) $$ उदाहरण के लिए, 78 का सीडीएफ 46 है। (78 का मान 7वें कॉलम की निचली पंक्ति में उपयोग किया जाता है।) सामान्यीकृत मान बन जाता है



h(78) = \mathrm{round} \left(  \frac {46 - 1} {63}   \times 255 \right) = \mathrm{round} \left(  0.714286   \times 255 \right) = 182 $$ एक बार जब यह हो जाता है तो समान मान प्राप्त करने के लिए समतुल्य छवि के मान सीधे सामान्यीकृत सीडीएफ से लिए जाते हैं:

ध्यान दें कि न्यूनतम मान (52) अब 0 है और अधिकतम मान (154) अब 255 है।




 * JPEG example subimage.svg
 * JPEG example subimage - equalized.svg
 * align="center"| Original
 * align="center"| Equalized
 * }
 * align="center"| Equalized
 * }


 * Plot for illustrating histogram equalization.svg
 * Histogram equalization.svg
 * align="center"| Histogram of Original image
 * align="center"| Histogram of Equalized image
 * }
 * align="center"| Histogram of Equalized image
 * }

यह भी देखें

 * हिस्टोग्राम मिलान
 * अनुकूली हिस्टोग्राम समीकरण
 * सामान्यीकरण (छवि प्रसंस्करण)

संदर्भ

 * Acharya and Ray, Image Processing: Principles and Applications, Wiley-Interscience 2005 ISBN 0-471-71998-6
 * Russ, The Image Processing Handbook: Fourth Edition, CRC 2002 ISBN 0-8493-2532-3
 * "Histogram Equalization" at Generation5 (archive)