बफ़र
इसे पास किए गए अंतिम `length` मानों का एक ऐरे लौटाता है।
FIFO (प्रथम-इन-प्रथम-आउट) क्यू में हाल के इनपुट संग्रहीत करके अंतिम N मानों का स्लाइडिंग-विंडो बफ़र बनाए रखें, जिसमें नए तत्व शुरुआत में जोड़े जाते हैं और बफ़र निर्दिष्ट लंबाई से अधिक होने पर सबसे पुराने तत्व स्वतः हटा दिए जाते हैं, जिससे समय-आधारित डेटा संग्रह, फ्रेम इतिहास ट्रैकिंग, बैच प्रोसेसिंग तैयारी, और स्लाइडिंग-विंडो विश्लेषण वर्कफ़्लो संभव होते हैं।
यह ब्लॉक कैसे काम करता है
यह ब्लॉक एक रोलिंग बफ़र बनाए रखता है जो इसमें पास किए गए सबसे हाल के मानों को संग्रहीत करता है, और समय के साथ डेटा की एक स्लाइडिंग विंडो बनाता है। यह ब्लॉक:
किसी भी प्रकार का इनपुट डेटा (इमेज, डिटेक्शन, मान, आदि) और कॉन्फ़िगरेशन पैरामीटर (बफ़र लंबाई और पैडिंग विकल्प) प्राप्त करता है
एक आंतरिक बफ़र बनाए रखता है जो वर्कफ़्लो निष्पादन के बीच बना रहता है:
जब ब्लॉक पहली बार बनाया जाता है, तब बफ़र को एक खाली सूची के रूप में आरंभ किया जाता है
बफ़र की स्थिति वर्कफ़्लो निष्पादन की पूरी अवधि तक बनी रहती है
बफ़र ब्लॉक का प्रत्येक इंस्टेंस अपना अलग बफ़र बनाए रखता है
बफ़र में नया डेटा जोड़ता है:
नवीनतम मान को बफ़र ऐरे की शुरुआत (इंडेक्स 0) में सम्मिलित करता है
सबसे हाल के मान बफ़र में पहले दिखाई देते हैं
पुराने मान ऐरे में बाद की स्थितियों पर खिसक जाते हैं
बफ़र आकार का प्रबंधन करता है:
जब बफ़र लंबाई निर्दिष्ट से अधिक हो जाती है
लंबाईपैरामीटर, सबसे पुराने तत्वों को हटाता हैकेवल सबसे हाल के
लंबाईमानस्लाइडिंग-विंडो आकार को स्वतः बनाए रखता है
वैकल्पिक पैडिंग लागू करता है:
यदि
पैडTrue होने पर: बफ़र कोNoneमानों से भरता है, जब तक वह ठीकलंबाईतत्वोंभले ही इससे कम
लंबाईमान प्राप्त हुए हों, तब भी बफ़र आकार को सुसंगत रखता हैयदि
पैडFalse होने पर: बफ़र आकार 0 सेलंबाईतक बढ़ता है, जैसे-जैसे मान जोड़े जाते हैं, फिरलंबाई
बफ़र किया गया ऐरे लौटाता है:
बफ़र किए गए मानों को क्रम में (नवीनतम पहले) शामिल करने वाली एक सूची आउटपुट करता है
सूची की लंबाई बराबर होती है
लंबाई(यदि पैडिंग सक्षम है) या वर्तमान बफ़र आकार (यदि पैडिंग अक्षम है)मान सबसे हाल के (इंडेक्स 0) से लेकर सबसे पुराने (अंतिम इंडेक्स) तक क्रमबद्ध होते हैं
बफ़र एक स्लाइडिंग-विंडो पैटर्न लागू करता है, जिसमें नया डेटा सामने से प्रवेश करता है और क्षमता पूरी होने पर पुराना डेटा पीछे से बाहर निकलता है। इससे हाल के मानों का एक समयगत इतिहास बनता है, जो उन कार्यों के लिए उपयोगी है जिन्हें पिछले फ्रेम, डिटेक्शन या मापों को देखना होता है। बफ़र किसी भी डेटा प्रकार के साथ काम करता है, जिससे यह इमेज, डिटेक्शन, संख्यात्मक मानों, या अन्य वर्कफ़्लो आउटपुट के लिए लचीला बनता है।
सामान्य उपयोग के मामले
फ्रेम इतिहास ट्रैकिंग: समयगत विश्लेषण के लिए हाल के वीडियो फ्रेमों का इतिहास बनाए रखें (जैसे, फ्रेम अनुक्रमों को ट्रैक करना, हाल का इमेज इतिहास बनाए रखना, तुलना के लिए फ्रेम एकत्र करना), जिससे समयगत फ्रेम विश्लेषण वर्कफ़्लो सक्षम होते हैं
डिटेक्शन इतिहास: प्रवृत्ति विश्लेषण या तुलना के लिए हाल के डिटेक्शन बफ़र करें (जैसे, समय के साथ डिटेक्शन में बदलाव ट्रैक करना, वर्तमान बनाम पिछले डिटेक्शन की तुलना करना, डिटेक्शन पैटर्न का विश्लेषण करना), जिससे डिटेक्शन इतिहास वर्कफ़्लो सक्षम होते हैं
बैच प्रोसेसिंग तैयारी: उन्हें साथ में प्रोसेस करने से पहले कई मान एकत्र करें (जैसे, हाल की इमेजों को बैच में प्रोसेस करना, कई डिटेक्शन को एकत्रित करना, बैच ऑपरेशनों के लिए डेटा तैयार करना), जिससे बैच प्रोसेसिंग वर्कफ़्लो सक्षम होते हैं
स्लाइडिंग विंडो विश्लेषण: डेटा की एक रोलिंग विंडो पर विश्लेषण करें (जैसे, हाल के फ्रेमों पर रुझानों का विश्लेषण करना, मूविंग एवरेज की गणना करना, अनुक्रमों में बदलाव पहचानना), जिससे स्लाइडिंग-विंडो विश्लेषण वर्कफ़्लो सक्षम होते हैं
विज़ुअलाइज़ेशन अनुक्रम: एनीमेशन या अनुक्रम विज़ुअलाइज़ेशन के लिए हाल का डेटा बनाए रखें (जैसे, फ्रेम अनुक्रम बनाना, समयगत बदलावों को विज़ुअलाइज़ करना, हाल का इतिहास दिखाना), जिससे समयगत विज़ुअलाइज़ेशन वर्कफ़्लो सक्षम होते हैं
समयगत तुलना: वर्तमान मानों की हाल के ऐतिहासिक मानों से तुलना करें (जैसे, वर्तमान फ्रेम की पिछले फ्रेमों से तुलना करना, समय के साथ बदलाव पहचानना, समयगत पैटर्न का विश्लेषण करना), जिससे समयगत तुलना वर्कफ़्लो सक्षम होते हैं
अन्य ब्लॉक्स से कनेक्ट करना
यह ब्लॉक किसी भी प्रकार का डेटा प्राप्त करता है और एक बफ़र किया गया आउटपुट ऐरे उत्पन्न करता है:
किसी भी ब्लॉक के बाद जो बफ़र के लिए मान उत्पन्न करता है (जैसे, इमेज स्रोतों से इमेज बफ़र करना, डिटेक्शन मॉडलों से डिटेक्शन बफ़र करना, एनालिटिक्स ब्लॉकों से मान बफ़र करना), जिससे डेटा बफ़रिंग वर्कफ़्लो सक्षम होते हैं
ऐरे को प्रोसेस करने वाले ब्लॉकों से पहले बैच किए गए या ऐतिहासिक डेटा प्रदान करने के लिए (जैसे, बफ़र की गई इमेजों को प्रोसेस करना, डिटेक्शन ऐरे का विश्लेषण करना, मान अनुक्रमों के साथ काम करना), जिससे ऐरे प्रोसेसिंग वर्कफ़्लो सक्षम होते हैं
विज़ुअलाइज़ेशन ब्लॉकों से पहले अनुक्रमों या समयगत डेटा को प्रदर्शित करने के लिए (जैसे, फ्रेम अनुक्रमों को विज़ुअलाइज़ करना, डिटेक्शन इतिहास दिखाना, समयगत पैटर्न दिखाना), जिससे समयगत विज़ुअलाइज़ेशन वर्कफ़्लो सक्षम होते हैं
विश्लेषण ब्लॉकों से पहले ऐतिहासिक डेटा की आवश्यकता वाले (जैसे, समय के साथ रुझानों का विश्लेषण करना, वर्तमान बनाम ऐतिहासिक की तुलना करना, समयगत अनुक्रमों को प्रोसेस करना), जिससे समयगत विश्लेषण वर्कफ़्लो सक्षम होते हैं
एग्रीगेशन ब्लॉकों से पहले एग्रीगेशन के लिए कई मान प्रदान करने के लिए (जैसे, बफ़र किए गए मानों का एग्रीगेट करना, कई डिटेक्शन प्रोसेस करना, हाल का डेटा संयोजित करना), जिससे एग्रीगेशन वर्कफ़्लो सक्षम होते हैं
समयगत प्रोसेसिंग पाइपलाइनों में जहाँ हाल का इतिहास बनाए रखना आवश्यक है (जैसे, समय के साथ बदलाव ट्रैक करना, फ्रेम अनुक्रम बनाए रखना, समयगत विश्लेषण के लिए डेटा एकत्र करना), जिससे समयगत प्रोसेसिंग वर्कफ़्लो सक्षम होते हैं
आवश्यकताएँ
यह ब्लॉक किसी भी डेटा प्रकार (इमेज, डिटेक्शन, मान, आदि) के साथ काम करता है। बफ़र उसी वर्कफ़्लो इंस्टेंस के भीतर वर्कफ़्लो निष्पादनों के बीच अपनी स्थिति बनाए रखता है। द लंबाई पैरामीटर बफ़र में रखने के लिए मानों की अधिकतम संख्या निर्धारित करता है। जब पैड सक्षम होता है, तो बफ़र हमेशा ठीक लंबाई तत्व लौटाएगा (पैड किया हुआ None यदि आवश्यक हो)। जब पैड अक्षम होता है, तो बफ़र 0 से लंबाई तत्वों तक बढ़ता है, जैसे-जैसे मान जोड़े जाते हैं, फिर लंबाई तत्वों को बनाए रखता है, सबसे पुराने मानों को हटाकर। बफ़र वर्कफ़्लो निष्पादन की पूरी अवधि तक बना रहता है और वर्कफ़्लो पुनः आरंभ होने पर रीसेट हो जाता है।
प्रकार पहचानकर्ता
स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फ़ील्ड: roboflow_core/buffer@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।
गुण
नाम
प्रकार
विवरण
संदर्भ
name
str
इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..
❌
लंबाई
int
बफ़र में रखने के लिए तत्वों की अधिकतम संख्या। जब बफ़र इस लंबाई से अधिक हो जाता है, तो सबसे पुराने तत्व स्वतः हटा दिए जाते हैं। स्लाइडिंग विंडो का आकार निर्धारित करता है। 0 से अधिक होना चाहिए। सामान्य मान फ्रेम अनुक्रमों के लिए 2-10 के बीच होते हैं, या लंबी इतिहासों के लिए इससे अधिक।
❌
पैड
bool
सुसंगत बफ़र आकार बनाए रखने के लिए पैडिंग सक्षम करें। यदि True है, तो बफ़र को None मानों से भरता है, जब तक वह ठीक लंबाई तत्वों से पैड किया जाता है, यह सुनिश्चित करते हुए कि आउटपुट में हमेशा लंबाई आइटम होते हैं, भले ही कम मान प्राप्त हुए हों। यदि False है, तो बफ़र 0 से लंबाई तक बढ़ता है, जैसे-जैसे मान जोड़े जाते हैं, फिर बनाए रखता है लंबाई सबसे पुराने मानों को हटाकर। जब डाउनस्ट्रीम ब्लॉकों को निश्चित आकार के ऐरे की आवश्यकता हो, तब पैडिंग का उपयोग करें।
❌
यह संदर्भ स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है वर्कफ़्लो रनटाइम। देखें बाइंडिंग्स अधिक जानकारी के लिए।
रनटाइम संगतता
सॉफ्ट - रनटाइम hosted_serverless, dedicated_deployment; निष्पादन दूरस्थ; इनपुट वीडियो : ब्लॉक प्रति-वीडियो स्थिति को प्रक्रिया मेमोरी में बनाए रखता है (video_metadata.video_identifier द्वारा कुंजीबद्ध)। स्टेटलेस या मल्टी-रिप्लिका HTTP रनटाइम्स पर दूरस्थ स्टेप निष्पादन के साथ, क्रमिक अनुरोधों को अलग-अलग वर्कर प्रक्रियाएँ सर्व कर सकती हैं, इसलिए कॉल्स के बीच स्थिति रीसेट हो जाती है और आउटपुट ट्रैकिंग / काउंटिंग / एग्रीगेशन के लिए अर्थहीन हो जाता है। स्थिर फ़्रेम-से-फ़्रेम परिणामों के लिए एक स्थायी WebRTC सत्र में स्थानीय स्टेप निष्पादन का उपयोग करें।
सॉफ्ट - इनपुट छवि : ब्लॉक वीडियो या दोहराए गए-फ़्रेम वर्कफ़्लो से समयगत संदर्भ पर निर्भर करता है। एक स्थिर छवि/फ़ोटो के साथ, ट्रैक करने, तुलना करने, समेकित करने या दृश्यीकृत करने के लिए कोई अर्थपूर्ण इतिहास नहीं होता, इसलिए ब्लॉक बहुत कम या कोई लाभ नहीं देता।
इनपुट और आउटपुट बाइंडिंग्स
उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार बफ़र संस्करण v1 है।
इनपुट और आउटपुट बाइंडिंग्स
इनपुट
डेटा(Union[list_of_values,छवि,*]): बफ़र में जोड़ने के लिए किसी भी प्रकार का इनपुट डेटा। यह इमेज, डिटेक्शन, मान, या कोई अन्य वर्कफ़्लो आउटपुट हो सकता है। नवीनतम मान बफ़र ऐरे की शुरुआत में जोड़े जाते हैं। बफ़र सबसे हाल के मानों की एक स्लाइडिंग विंडो बनाए रखता है।
आउटपुट
आउटपुट(list_of_values): किसी भी प्रकार के मानों की सूची।
अंतिम अपडेट
क्या यह उपयोगी था?