5

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

एल्गोरिदम की इन शैलियों को क्या कहा जाता है और वे आम तौर पर कैसे पूरा किए जाते हैं?

+0

क्या आप एक विशिष्ट उदाहरण को निकालने का प्रयास कर रहे हैं (उदाहरण के लिए एक विशेष पक्षी जिसे आप हटाने के लिए चिह्नित कर सकते हैं) या सभी गैर स्थैतिक वस्तुओं (उदाहरण के लिए सभी चल रहे लोगों) दृश्य से? – Doug

+0

मैं विशिष्ट उदाहरण लेना चाहता हूं। तो, मुझे लगता है कि एक समय में पर्याप्त है। – amssage

उत्तर

3

Simple Image Object Extraction (SIOX) नामक एक तकनीक है - यह अभी भी और वीडियो छवियों में अग्रभूमि बनाम पृष्ठभूमि वस्तुओं की पहचान करने के लिए एक तकनीक का उपयोग करती है। ओपन सोर्स GIMP संपादक का कार्यान्वयन है, और more information about it here है।

सिंहावलोकन से

:

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

यहां Java Reference Implementation of SIOX का एक लिंक है।

एल्गोरिदम की विविधता के तरीके के बारे में PDF with details का एक लिंक यहां दिया गया है।

आपको आस-पास के फ्रेम से अस्थायी डेटा का उपयोग करके वीडियो के प्रत्येक फ्रेम से एक विशिष्ट अग्रभूमि वस्तु को हटाने के लिए अंतर-फ्रेम इंटरपोलेशन का उपयोग करने के लिए इसे अनुकूलित करने में सक्षम होना चाहिए।

2

यदि कैमरा तय किया गया है और दृश्य में बहुत अधिक गति नहीं है, तो मैं पृष्ठभूमि घटाव के आधार पर एक विधि का सुझाव दूंगा।

चरण 1: वीडियो के प्रत्येक फ्रेम के लिए पृष्ठभूमि की गणना करें। ऐसा करने के लिए जटिल एल्गोरिदम हैं, लेकिन एक बहुत ही सरल और प्रभावी एक छवि में प्रत्येक पिक्सेल के औसत मूल्य को 3 सेकंड की विंडो में गणना करना होगा। यदि प्रश्न में वस्तु धीरे-धीरे बढ़ रही है तो लंबा। संयोग से, यदि आप इस तरह के फ़िल्टरिंग को निष्पादित करते हैं तो यह कैमरे को ठीक होने पर वीडियो से अधिकतर चलती वस्तुओं को हटा देगा, इसलिए मेरे ऑब्जेक्ट बनाम सभी ऑब्जेक्ट्स के बारे में मेरा पहला प्रश्न।

चरण 2: उन क्षेत्रों को चिह्नित करें जिन्हें आप ब्रश टूल के साथ प्रत्येक फ्रेम में निकालना चाहते हैं, और उन्हें पृष्ठभूमि पिक्सल से प्रतिस्थापित करें। किसी भी ब्रश या लासो टूल से परेशान न हों क्योंकि आपके द्वारा चिह्नित किसी भी गैर-ऑब्जेक्ट पिक्सल को केवल उनके फ़िल्टर किए गए संस्करण के साथ बदल दिया जाएगा। आप शायद कई फ्रेम के लिए एक ही ब्रश अंक का उपयोग कर सकते हैं क्योंकि सीमा इतनी महत्वपूर्ण नहीं है। यदि ऑब्जेक्ट दृश्य में एकमात्र चीज है, तो आप बस पूरे फ्रेम को चिह्नित कर सकते हैं और इसे पृष्ठभूमि से बदल सकते हैं।

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

संबंधित मुद्दे