algorithm - करन - चेहरे पर काले दाग का इलाज




इस छवि में धब्बे की संख्या कैसे गिनें? (4)

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

पीएस उत्तर में से एक के अनुसार, मैंने ImageJ का उपयोग करके स्पॉट निकालने का प्रयास किया, लेकिन परिणाम पर्याप्त संतोषजनक नहीं था:

  1. मैंने here गैर-उलटा छवि खोला ( चेतावनी ! यह खूनी और घृणास्पद देखने के लिए है!)।
  2. चैनलों को विभाजित (छवि> रंग> विभाजन चैनल)। और जारी रखने के लिए नीले चैनल का चयन किया।
  3. इन मूल्यों के साथ एप्लाइड Closing फ़िल्टर (प्लगइन्स> फास्ट मॉर्फोलॉजी> मॉर्फोलॉजिकल फ़िल्टर): ऑपरेशन: क्लोजिंग, एलिमेंट: स्क्वायर, त्रिज्या: 2 पीएक्स
  4. इन मूल्यों के साथ एप्लाइड White Top Hat फ़िल्टर (प्लगइन्स> फास्ट मॉर्फोलॉजी> मॉर्फोलॉजिकल फ़िल्टर): ऑपरेशन: व्हाइट टॉप हैट, एलिमेंट: स्क्वायर, त्रिज्या: 17 पीएक्स

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

जैसा कि आप देख सकते हैं, कुछ सफेद धब्बेों को नजरअंदाज कर दिया गया है और कुछ सफेद क्षेत्र जो वास्तव में बाल प्रत्यारोपण स्पॉट नहीं हैं, को चिह्नित किया गया है।

स्पॉट्स को सटीक रूप से ढूंढने के लिए आप किस प्रकार के फ़िल्टर की सलाह देते हैं? ImageJ का उपयोग करना एक अच्छा विकल्प लगता है क्योंकि यह हमें आवश्यक अधिकांश फ़िल्टर प्रदान करता है। हालांकि, अन्य उपकरणों, पुस्तकालयों (ओपनसीवी जैसे) आदि का उपयोग करने के लिए क्या करना है, यह सलाह देने के लिए किसी भी मदद की अत्यधिक सराहना की जाएगी!


अनशर्पेन त्रिज्या 22, राशि 5, थ्रेसहोल्ड 2 को अपनी छवि में लागू करने के बाद आपको यही मिलता है।

यह बिंदुओं और आस-पास के क्षेत्रों के बीच का अंतर बढ़ाता है । मैंने बॉलपार्क धारणा का उपयोग किया कि बिंदु कहीं भी व्यास में 18 और 25 पिक्सल के बीच हैं।

अब आप "डॉट" के रूप में सफेद की स्थानीय अधिकतमता ले सकते हैं और डॉट के गोलाकार पड़ोस (त्रिज्या 10-12 का एक चक्र) तक डॉट को मिटाते समय इसे काले सर्कल से भर सकते हैं । इससे आपको 2 से अधिक समूहों में एक-दूसरे से जुड़े बिंदुओं को "चुनना" चाहिए। फिर स्थानीय मैक्सिमा को दोबारा देखें। धोये और दोहराएं।

वास्तविक "डॉट" क्षेत्र आस-पास के क्षेत्रों के विपरीत हैं, इसलिए इससे आपको उन्हें चुनने के साथ-साथ आप उन्हें चुनने दें।


आप निम्नलिखित कर सकते हैं:

  1. सीवी :: थ्रेसहोल्ड का उपयोग कर छवि को थ्रेसहोल्ड करें
  2. सीवी :: findcontour का उपयोग कर जुड़े घटकों को खोजें
  3. एक निश्चित आकार से बड़े आकार के जुड़े घटकों को अस्वीकार करें क्योंकि आप केवल छोटे परिपत्र क्षेत्रों के बारे में चिंतित हैं।
  4. सभी मान्य जुड़े घटकों की गणना करें।
  5. उम्मीद है कि आपके पास स्पॉट की वास्तविक संख्या का मूल अनुमान है।
  6. सांख्यिकीय रूप से अधिक सटीक होने के लिए, आप सीमाओं की एक श्रृंखला के लिए 1-4 दोहरा सकते हैं और औसत ले सकते हैं।

मुझे लगता है कि आप समस्या को थोड़ा गलत तरीके से हल करने की कोशिश कर रहे हैं। यह जमीनहीन लग सकता है, इसलिए मैं अपने परिणामों को पहले बेहतर दिखाऊंगा।

नीचे मेरे पास बाईं ओर छवि की एक फसल है और दाईं तरफ प्रत्यारोपण की खोज की गई है। एक से अधिक प्रत्यारोपण वाले क्षेत्रों को हाइलाइट करने के लिए ग्रीन रंग का उपयोग किया जाता है।

समग्र दृष्टिकोण बहुत बुनियादी है (बाद में इसका वर्णन करेगा), लेकिन फिर भी यह सटीक परिणाम होने के करीब प्रदान करता है। कृपया ध्यान दें, यह पहली कोशिश थी, इसलिए एन्हांसमेंट के लिए बहुत सी जगह है।

वैसे भी, चलिए प्रारंभिक बयान पर वापस आते हैं कि आप गलत हैं। कई प्रमुख मुद्दे हैं:

  1. आपकी छवि की गुणवत्ता भयानक है
  2. आप कहते हैं कि आप स्पॉट ढूंढना चाहते हैं, लेकिन वास्तव में आप बाल प्रत्यारोपण objects
  3. आप पूरी तरह से अनदेखा करते हैं कि तथ्य औसत सिर फ्लैट होने से बहुत दूर है
  4. ऐसा लगता है कि फ़िल्टर आपके प्रारंभिक छवि में कुछ महत्वपूर्ण विवरण जोड़ देंगे
  5. आप एल्गोरिदम आपके लिए जादू करने की उम्मीद करते हैं

आइए इन सभी वस्तुओं को एक-एक करके समीक्षा करें।

1. छवि की गुणवत्ता

यह बहुत स्पष्ट बयान हो सकता है, लेकिन वास्तविक प्रसंस्करण से पहले आपको यह सुनिश्चित करने की आवश्यकता है कि आपके पास प्रारंभिक डेटा संभवतः सर्वोत्तम हो। आप किसी भी महत्वपूर्ण उपलब्धियों के बिना आपके पास फ़ोटो को संसाधित करने का तरीका ढूंढने के लिए सप्ताहों का खर्च कर सकते हैं। यहां कुछ समस्याग्रस्त क्षेत्र हैं:

मुझे लगता है कि आपके मस्तिष्क में सबसे उन्नत ऑब्जेक्ट मान्यता एल्गोरिदम होने के बावजूद, उन फसलों को "पढ़ना" मुश्किल है।

इसके अलावा, आपका समय महंगा है और आपको अभी भी सर्वोत्तम संभव सटीकता और स्थिरता की आवश्यकता है। इसलिए, किसी भी उचित मूल्य के लिए प्राप्त करने का प्रयास करें: उचित विपरीत, तेज किनारों, बेहतर रंग और रंग अलगाव।

2. पहचानने के लिए वस्तुओं की बेहतर समझ

आम तौर पर, आपके पास 3 डी ऑब्जेक्ट्स की पहचान की जा सकती है। तो आप शुद्धता में सुधार के लिए छाया का विश्लेषण कर सकते हैं। बीटीडब्ल्यू, यह लगभग मंगल ग्रह की सतह विश्लेषण की तरह है :)

3. सिर के रूप को नजरअंदाज नहीं किया जाना चाहिए

सिर के रूप में आप विकृतियां हैं। फिर, उचित सटीकता प्राप्त करने के लिए उन विकृतियों को वास्तविक विश्लेषण से पहले ठीक किया जाना चाहिए। असल में, आपको विश्लेषण क्षेत्र को फ़्लैट करना होगा।

3 डी मॉडल स्रोत

4. फ़िल्टर मदद नहीं कर सकते हैं

फ़िल्टर जानकारी नहीं जोड़ते हैं, लेकिन वे आसानी से कुछ महत्वपूर्ण विवरण निकाल सकते हैं। आपने हफ़ ट्रांसफॉर्म का उल्लेख किया है, इसलिए यहां दिलचस्प सवाल है: आकार में रेखाएं खोजें

मैं इस प्रश्न का एक उदाहरण के रूप में उपयोग करूंगा। असल में, आपको किसी दिए गए चित्र से ज्यामिति निकालने की आवश्यकता होती है। आकार में रेखाएं थोड़ा जटिल लगती हैं, इसलिए आप कंकालकरण का उपयोग करने का निर्णय ले सकते हैं

एक सद्भावना, आपके पास सौदा करने के लिए और अधिक जटिल ज्यामिति है और वास्तव में मूल तस्वीर पर वास्तव में क्या समझने की कोई संभावना नहीं है।

5. क्षमा करें, यहां कोई जादू नहीं है

कृपया निम्नलिखित से अवगत रहें:

बेहतर सटीकता और स्थिरता प्राप्त करने के लिए आपको बेहतर डेटा प्राप्त करने का प्रयास करना चाहिए। मॉडल भी बहुत महत्वपूर्ण है।

परिणाम समझाया

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

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

वैसे भी, बेहतर छवि गुणवत्ता आपको सरल विधि का उपयोग करने और उचित परिणाम प्राप्त करने देगी।

आखिरकार

क्लिनिक ने Yondu को क्लाइंट के रूप में कैसे प्रबंधित किया? :)

अद्यतन (उपकरण और तकनीक)

  • पोस्टरराइजेशन - जीआईएमपी (डिफ़ॉल्ट सेटिंग्स, न्यूनतम रंग)
  • प्रत्यारोपण पहचान और विज़ुअलाइजेशन - जावा प्रोग्राम, कोई पुस्तकालय या अन्य निर्भरताएं नहीं
  • पहचानने वाले क्षेत्रों को औसत आकार ढूंढना आसान है, फिर अन्य क्षेत्रों की तुलना करें और कई प्रत्यारोपण के रूप में महत्वपूर्ण क्षेत्रों को चिह्नित करें।

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

विचार बहुत स्पष्ट और अच्छी तरह से समझाया गया है (कम से कम मुझे ऐसा लगता है)। यहां इस्तेमाल किए गए विभिन्न स्कैन चरण के साथ अतिरिक्त उदाहरण दिया गया है:


मैंने ImageJ का उपयोग करके इस समाधान का परीक्षण किया है, और यह अच्छा प्रारंभिक परिणाम दिया है:

  1. प्रत्येक छवि के लिए, मूल छवि पर
  2. बाल से छुटकारा पाने के लिए छोटे (त्रिज्या 1 या 2) बंद (सफेद के बीच में काला हिस्सा)
  3. प्रत्येक काले बाल के चारों ओर सफेद भाग का पता लगाने के लिए त्रिज्या 5 की सफेद टॉप-टोपी।
  4. थोड़ी सी छवि को साफ करने के लिए छोटे बंद / खोलने (आप एक औसत फ़िल्टर का भी उपयोग कर सकते हैं)
  5. शेष सफेद ब्लॉब की संख्या गिनने के लिए अंतिम ईरोड। आप निश्चित रूप से एक LoG (Gaussian के Laplacian) या एक दूरी का नक्शा भी उपयोग कर सकते हैं।

[संपादित करें] आप maxima फ़ंक्शन का उपयोग करके सभी सफेद धब्बे का पता नहीं लगाते हैं, क्योंकि बंद होने के बाद, कुछ जोन फ्लैट होते हैं, इसलिए अधिकतममा एक बिंदु नहीं है, बल्कि एक क्षेत्र है। इस बिंदु पर, मुझे लगता है कि एक अंतिम उद्घाटन या एक अंतिम क्षीण आपको केंद्र या प्रत्येक सफेद स्थान प्रदान करेगा। लेकिन मुझे यकीन नहीं है कि ImageJ में ऐसा कोई फ़ंक्शन / प्लगइन कर रहा है। आप मम्बा या एसएमआईएल को देख सकते हैं।

एच-मैक्सिमा (सफेद टॉप-टोपी के बाद) आपके परिणामों को थोड़ा और साफ कर सकता है और सफेद धब्बे के बीच के विपरीत में सुधार कर सकता है।





imagej