ऑनलाइन बाहरी पहचान


10

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

  1. पूर्वनिर्धारित पूर्ण सीमा की आवश्यकता नहीं है (हालाँकि पूर्वनिर्धारित प्रतिशत ठीक हैं);

  2. स्मृति में सभी डेटा होने की आवश्यकता नहीं है, या यहां तक ​​कि सभी डेटा को देखा है; यह अनुकूली होने के लिए विधि के लिए ठीक है, और इसके मापदंड को अपडेट करेगा क्योंकि यह अधिक डेटा देखता है; (जाहिर है, कुछ छोटी संभावना के साथ, विसंगतियां हो सकती हैं इससे पहले कि सिस्टम ने पर्याप्त डेटा देखा है, और याद किया जाएगा, आदि)

  3. समांतर है: पहले राउंड में, समानांतर नोड्स में काम करने वाले कई नोड्स मध्यवर्ती उम्मीदवार विसंगतियों का उत्पादन करते हैं, जो पहले राउंड के पूरा होने के बाद चयन के एक दूसरे दौर से गुजरते हैं।

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

धन्यवाद!


क्या मैं सही हूं कि आपकी समस्या अनिवार्य रूप से एकतरफा है?
user603

1
कुछ डेटा पोस्ट करें, जिससे मुझे आपकी समस्या को "देखने" में मदद मिल सकती है। मैं हिस्टोग्राम को बाहरी रूप से उजागर करने के साथ काफी परिचित हूं और मैं आपको मानव मूल्यांकनकर्ता द्वारा हिस्टोग्राम का निरीक्षण करने के एवज में सांख्यिकीय तरीकों का उपयोग करके इन विषम मामलों का पता लगाने के लिए एक कुशल तरीके के बारे में कुछ मार्गदर्शन प्रदान करने में सक्षम हो सकता हूं। यादृच्छिकता का पता लगाने के बारे में हाल ही में एक चर्चा देखें आँकड़े ।stackexchange.com/questions/12955/… बेशक आप यादृच्छिकता के निर्धारक उल्लंघन का पता लगाने की कोशिश कर रहे हैं।
आयरिशस्टैट

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

जवाबों:


3

क्या आपने वन-क्लास क्लासिफायर जैसा कुछ माना है?

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

प्रशिक्षण सेट की आवश्यकता के अलावा, ऐसा लगता है कि यह आपकी आवश्यकताओं को पूरा करेगा:

  • पैरामीटर डेटा से सीखे जाते हैं (यहां कोई विज्ञापन-पदानुक्रम नहीं)

  • एक बार जब आप मॉडल प्राप्त कर लेते हैं, तो डेटा को मेमोरी में रखने की कोई आवश्यकता नहीं है।

  • इसी तरह, प्रशिक्षित क्लासिफायर को आपके द्वारा प्राप्त किए गए कई नोड्स पर चलाया जा सकता है।

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


2

Http://scholar.google.com/scholar?q=stream+outlier+detection देखें

LOF जैसे स्थापित तरीकों के एक जोड़े को एक स्ट्रीमिंग संदर्भ के लिए अपनाया गया है। पाठ्यक्रम के तरीके भी हैं जो एक स्ट्रीमिंग तरीके से हिस्टोग्राम को अपडेट करते हैं और इस प्रकार स्पष्ट रूप से एक आयामी आउटलेर को ध्वजांकित करते हैं। यह वास्तव में आपके लिए पर्याप्त हो सकता है?


1

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

Rn

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

  • 1,000 (या 1,000,000) पूर्व यादृच्छिक छवियों के फीचर वैक्टर को उनके वर्गीकरण के साथ स्टोर करें। समय-समय पर इस सबमिशन पर एक लर्निंग एल्गोरिदम को प्रशिक्षित करें।

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

  • nccn

    nμnσμiiσix|xiμi|cσiiμσ

    यह दृष्टिकोण मानता है कि गैर-दोषपूर्ण छवि से प्रत्येक पैरामीटर में एक गाऊसी वितरण होता है, और यह कि पैरामीटर स्वतंत्र हैं। वे धारणाएँ आशावादी हो सकती हैं। इस योजना के कई और अधिक परिष्कृत संस्करण हैं जो इन मान्यताओं की आवश्यकता को समाप्त करेंगे या प्रदर्शन में सुधार करेंगे; यह आपको एक विचार देने के लिए एक सरल उदाहरण है।

सामान्य तौर पर, आप ऑनलाइन एल्गोरिदम और स्ट्रीमिंग एल्गोरिदम देख सकते थे।


DW एक ARIMA फ़िल्टर / मॉडल "रनिंग एवरेज" का एक ऑप्टिमाइज़ेशन है जहाँ शब्दों की संख्या (N) और लागू होने वाले विशिष्ट वज़न को समान रूप से पहचाना जाता है। एक विशेष और स्पष्ट रूप से अनुमान लगाने वाला मॉडल "एन" का अनुमान लगाने के लिए "चल औसत" में उपयोग करने के लिए मूल्यों की संख्या है और फिर यह मानते हुए कि वजन एक-दूसरे के बराबर हैं, यौगिक की गणना करें।
आयरिशस्टैट

@IrishStat, अगर मुझे आपकी टिप्पणी समझ में नहीं आती है, तो निश्चित रूप से। यदि मेरा लेखन अस्पष्ट था, तो मैं ARIMA का सुझाव नहीं दे रहा था, हालांकि यह एक ऐसी चीज है जिस पर कोई भी विचार कर सकता है। मैं कुछ अधिक सरल सुझाव दे रहा था: अब तक की सभी टिप्पणियों के औसत और मानक विचलन का ध्यान रखें। हर बार जब आप एक नया अवलोकन देखते हैं, तो आप मानक विधियों के साथ औसत और मानक विचलन (जब तक आपने अब तक देखी गई टिप्पणियों की संख्या पर नज़र रखी है) को अपडेट कर सकते हैं। यह सरलीकृत हो सकता है, लेकिन मैं यह नहीं देखता कि यह अयोग्य क्यों होगा।
डीडब्ल्यू

0

Rn

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

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

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