हम विज़न और इमेज प्रोसेसिंग में अक्सर एचएसवी कलर स्पेस का उपयोग क्यों करते हैं?


64

मैं देख रहा हूँ कि एचएसवी रंग का स्थान सभी जगह उपयोग किया जाता है: ट्रैकिंग, मानव पहचान, आदि के लिए ... मैं सोच रहा हूँ, क्यों? यह इस रंग स्थान के बारे में क्या है जो इसे RGB उपयोग करने से बेहतर बनाता है?


3
यह एक बहुत अच्छा सवाल है। मेरी राय में, यह थोड़ा और विस्तृत होने से लाभ होगा: एचएसवी क्या है, आरजीबी क्या है। जैसा कि अधिकांश उत्तर एचएसवी की आरजीबी से तुलना कर रहे हैं, इन दो रंग स्थानों की तुलना करने के लिए शीर्षक को फिर से परिभाषित किया जा सकता है।
PhilMacKay

2
एक और अच्छा सवाल यह हो सकता है, "एचएसएल की जगह एचएसवी का उपयोग सभी जगह क्यों किया जा रहा है?"
posfan12

जवाबों:


60

सरल जवाब है कि विपरीत है आरजीबी , एचएसवी अलग करती है लुमा , या छवि तीव्रता, से क्रोमा या रंग जानकारी। यह कई अनुप्रयोगों में बहुत उपयोगी है। उदाहरण के लिए, यदि आप किसी रंग की छवि के हिस्टोग्राम समीकरण को करना चाहते हैं, तो आप संभवतः ऐसा केवल तीव्रता वाले घटक पर करना चाहते हैं, और रंग के घटकों को अकेला छोड़ देते हैं। अन्यथा आपको बहुत अजीब रंग मिलेंगे।

कंप्यूटर विज़न में आप अक्सर विभिन्न कारणों से रंग घटकों को तीव्रता से अलग करना चाहते हैं, जैसे कि प्रकाश परिवर्तन में मजबूती, या छाया को हटाना।

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


42

रंग की जानकारी आमतौर पर एचएसवी सूचना की तुलना में बहुत अधिक शोर है।

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

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

यदि यह स्पष्टीकरण आपको सहज नहीं लगता है, तो मैं सुझाव देता हूं:

  • एचएसवी कलरस्पेस में एक रंग का प्रतिनिधित्व करने के लिए इस्तेमाल किए जाने वाले घटकों को बेहतर ढंग से समझने की कोशिश करें, और आरजीबी के ज्ञान को नवीनीकृत करें
  • कोशिश करते हैं और देखते हैं कारणों क्यों रंग प्रतिनिधित्व के इन प्रकार के लिए विकसित किए गए: यह रंग के मानवीय व्याख्या के कुछ दृश्य पर आधारित किसी तरह से हमेशा होता है,

    उदाहरण के लिए, बच्चे वास्तव में अत्यधिक रंगीन == मूल्यवान वस्तुओं को पसंद नहीं करते हैं, वे अत्यधिक संतृप्त वस्तुओं को पसंद करते हैं, जिन वस्तुओं में रंग तीव्र और गैर-पतला होता है

  • जब आप इसे प्राप्त करते हैं और कुछ अंतर्ज्ञान विकसित करते हैं, तो आपको छवियों के साथ खेलना चाहिए: अपने RGB और HSV घटकों में विभिन्न छवियों को विघटित करने का प्रयास करें

    आपका लक्ष्य उन छवियों के लिए इन डिकम्पोज़िशन में अंतर देखना और समझना होगा , जिनमें छाया, मजबूत रोशनी, प्रकाश प्रतिबिंब शामिल हैं।

  • यदि आपके पास एक विशेष प्रकार की छवियां हैं, जिन्हें आप खेलना पसंद करते हैं, तो उन्हें विघटित करने का प्रयास करें: कौन जानता है, शायद RGB वास्तव में HSV की तुलना में आपकी आवश्यकताओं के लिए अधिक अनुकूल है :)


1
यदि यह एक छाया है, तो इसे केवल चमक को बदलना चाहिए - संतृप्ति नहीं।
एंड्री रूबेशिन

@ जैसा कि मैंने कहा, मैंने खुद रंग-आधारित दृष्टिकोण पर काम नहीं किया, लेकिन मैं यह अनुमान लगा सकता हूं कि अगर केवल छाया नहीं थी - शायद आसपास से कुछ अप्रत्यक्ष प्रकाश या कुछ इसी तरह की भूमिका भी निभाई।
पेनेलोप

1
तुम सही हो। हालाँकि, अप्रत्यक्ष प्रकाश व्यवस्था के मामले में ह्यू बदल सकता है।
एंड्री रुबेश्टिन

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

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

8

केवल ह्यू घटक का उपयोग करने से एल्गोरिथ्म कम संवेदनशील हो जाता है (यदि अपरिवर्तित नहीं है) प्रकाश भिन्नता।

एक अन्य लोकप्रिय विकल्प LAB रंग स्थान है, जहां AB चैनल एबी अंतरिक्ष में रंग और यूक्लिडियन दूरियों का प्रतिनिधित्व करते हैं, रंग की मानवीय धारणा से बेहतर मेल खाते हैं। फिर से, L चैनल (Luminance) की अनदेखी करने से एल्गोरिथ्म प्रकाश व्यवस्था के अंतर को और अधिक मजबूत बनाता है।


7

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

मैं विस्तृत हूँ:

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

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

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

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

उम्मीद है की यह मदद करेगा!


2
मैं असहमत हूँ। तीन डोमेन हैं, दो नहीं: मानव, कंप्यूटर और भौतिकी। RGB मॉडल मानव आंख से लिया गया है, जिसमें तीन रंग रिसेप्टर्स हैं।
MSalters

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

2

एचएसवी का मतलब ह्यू-सैचुरेशन-वैल्यू है। यह वास्तव में एक प्रकार का रंगीन विमान प्रतिनिधित्व (जैसे RGB, YCbCr आदि) है।

यह एक उपकरण स्वतंत्र रंग प्रतिनिधित्व प्रारूप है: एचएसवी रंग प्रतिनिधित्व विशिष्ट रंग प्रकारों का पता लगाने के लिए उपयोगी है, जैसे: त्वचा का रंग, आग का रंग आदि।

Matlabआरजीबी छवि को एचएसवी विमान में बदलने का कार्य है rgb2hsv('/inputimage_name')


1

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


1

ऐसा कुछ भी नहीं है जो मुझे पता है कि YUV या LAB की तुलना में HSV के साथ विशेष रूप से बेहतर है जो कि सुविधा निष्कर्षण और रोशनी के लिए बेहतर होगा या दृश्य या दृश्य। मुझे लगता है कि एचएसवी एक आम तौर पर कन्वेंशन और निरंतरता के कारण अधिक उपयोग किया जाता है: परिणाम की तुलना करना और एक दूसरे के साथ संवाद करना आसान है यदि आप दोनों एक ही रंग स्थान का उपयोग करते हैं।

उस ने कहा, एचएसवी (आरजीबी के विपरीत) का उपयोग कंप्यूटर विज़न में 2 कारणों से किया जाता है जो मुझे पता है:

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

ऑप्टिकल प्रवाह पर मिडिलबरी डीबी से उदाहरण

  1. फ़ीचर निष्कर्षण और रोशनी का अदर्शन , जैसा कि अन्य उत्तरों में बताया गया है।

0

जैसा कि दूसरों ने उल्लेख किया है, लूमा को क्रोमा से अलग करना फायदेमंद है। दृश्य में वस्तु पर पड़ने वाली प्रकाश की मात्रा के आधार पर लूमा बहुत भिन्न होता है। दूसरी ओर, Chroma, वस्तु के आंतरिक गुणों के साथ बेहतर संबंध रखता है, और ठीक से सफेद-संतुलित छवियों के लिए अधिक-या-कम अपरिवर्तनीय है।

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

वहाँ रैखिक रंग रिक्त स्थान के बहुत सारे हैं जो एक ही luma-chroma जुदाई दे जबकि रैखिकता (YCbCr, YUV) या मॉडल मानव दृष्टि को ठीक से (LUV, LAB) मॉडल को संरक्षित करते हैं। उन लोगों के साथ आप उनकी गुणसूत्रों पर यूक्लिडियन L2 मानदंड का उपयोग करके दो रंगों की तुलना कर सकते हैं, जिसके परिणामस्वरूप समग्र रूप से अधिक मजबूत एल्गोरिथ्म हो सकता है।

HSV / HSL का उपयोग इतनी बार क्यों किया जाता है? एक वस्तुनिष्ठ उत्तर देने के लिए कठिन। मेरे अनुभव से यह ज्यादातर अज्ञानता और RGB-> HSV रूपांतरण रूटीन की उपलब्धता के कारण है। उस कोड के साथ काम करना था जिसके लेखक गामा-सुधार को नहीं समझते थे, अकेले ही अलग-अलग रंग-स्थान बनाते हैं। सीन कोड जिसने RGB को HSV में बदल दिया, फिर ह्यू के आधार पर छवि को खंडित किया, इस तथ्य की उपेक्षा करते हुए कि यह एक मॉड्यूलर मात्रा है। मुझे लगता है कि हम सहमत हो सकते हैं कि वे किसी भी कारण से समर्थित सचेत निर्णय नहीं थे।


-1

एचएसवी का रंग मॉडल अधिक सहसंबद्ध है कि मनुष्य रंगीन वस्तुओं को कैसे देखता है, जैसे कि RGB, YUV, Lab आदि।

हम देखते हैं कि वस्तु (ह्यू) किस रंग की है, वह कितनी संतृप्त है (संतृप्ति) और उस पर कितना सफेद प्रकाश पड़ रहा है (मोटापा)।

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