For the complete documentation index, see llms.txt. This page is also available as Markdown.

फ़्रेम विलंब

उसी वीडियो स्ट्रीम के किसी पहले फ़्रेम (N-k, अतीत में) से एक मान का संदर्भ लें।

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

केवल अतीत (गैर-धनात्मक) ऑफ़सेट समर्थित हैं। वास्तविक भविष्य की ओर देखना पूरे वर्कफ़्लो आउटपुट में देरी करने की मांग करेगा, जो समकालिक रनटाइम (WebRTC/webexec, single-image HTTP) पर संभव नहीं है, इसलिए इसे यहाँ जानबूझकर उपलब्ध नहीं कराया गया है।

यह ब्लॉक कैसे काम करता है

  1. पढ़ता है video_metadata जुड़े हुए छवि से प्राप्त करने के लिए video_identifier (प्रति-स्ट्रीम स्थिति को पृथक रखने के लिए उपयोग किया जाता है) और एकरूपी frame_number (N).

  2. आने वाले को संग्रहीत करता है डेटा को फ़्रेम संख्या द्वारा कुंजीबद्ध प्रति-वीडियो रिंग बफ़र में।

  3. सुलझाता है target_frame = N + offset (के साथ offset <= 0) और लौटाता है data[target_frame] जब बफ़र में हो, अन्यथा default_value.

  4. रिपोर्ट करता है is_available (क्या लक्ष्य फ़्रेम बफ़र किया गया था) और reference_frame_number (हमेशा वर्तमान फ़्रेम N).

सामान्य उपयोग के मामले

  • वर्तमान फ़्रेम की तुलना किसी पिछले फ़्रेम (-1, -5) का उपयोग परिवर्तन/प्रवृत्ति पहचान के लिए करें।

  • एक धीमे, विलंबित सिग्नल को उस फ़्रेम के साथ संरेखित करें जिससे वह संबंधित है।

  • याद रखें कि N फ़्रेम पहले कोई मान क्या था (जैसे, 10 फ़्रेम पहले प्रमुख रंग)।

आवश्यकताएँ और सीमाएँ

  • ऑफ़सेट होना चाहिए <= 0. धनात्मक ऑफ़सेट अस्वीकार किए जाते हैं।

  • |offset| 256 से अधिक नहीं हो सकता। प्रत्येक बफ़र किया गया फ़्रेम मेमोरी में रखा जाता है, इसलिए किसी इमेज स्ट्रीम को बड़े ऑफ़सेट से विलंबित करना महंगा है (~1080p पर प्रति फ़्रेम ~6 MB, ~4K पर ~25 MB)। जहाँ संभव हो, पूर्ण छवि की बजाय किसी छोटे व्युत्पन्न मान को विलंबित करना बेहतर है।

  • पिछले ऑफ़सेट हर निष्पादन संदर्भ में काम करते हैं; कोई आउटपुट विलंब नहीं जोड़ा जाता।

  • स्थिति प्रोसेस मेमोरी में द्वारा कुंजीबद्ध रखी जाती है video_identifier; यह स्टेटलेस/मल्टी-रेप्लिका रिमोट HTTP रनटाइम पर कमजोर पड़ती है।

  • अधिकतम 16 स्ट्रीमों को एक साथ ट्रैक किया जाता है; उसके बाद सबसे कम हाल में देखी गई स्ट्रीम का बफ़र हटा दिया जाता है।

  • एक स्ट्रीम जिसकी frame_number पुनः आरंभ होती है (जैसे reconnect पर) उसका बफ़र साफ़ कर दिया जाता है।

  • स्थिति वर्कफ़्लो के जीवनकाल तक बनी रहती है और पुनः आरंभ पर रीसेट हो जाती है।

  • मान उपलब्ध नहीं होते (लौटाते हुए default_value) जब तक कि अनुरोधित तक पहुँचने के लिए पर्याप्त फ़्रेम संसाधित न हो जाएँ |offset| गहराई।

  • जब ऑफ़सेट को एक रनटाइम चयनकर्ता से जोड़ा जाता है, तो बफ़र का आकार सबसे बड़े के अनुसार तय किया जाता है |offset| जो अब तक स्ट्रीम पर देखा गया है, इसलिए उथले और गहरे ऑफ़सेट के बीच अदला-बदली करने से गहरा इतिहास उपलब्ध बना रहता है। स्ट्रीम के बीच में ऑफ़सेट बढ़ाने पर गहरे फ़्रेम केवल तभी उपलब्ध होते हैं जब पर्याप्त नए फ़्रेम बफ़र हो जाएँ।

प्रकार पहचानकर्ता

स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फ़ील्ड: roboflow_core/frame_delay@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।

गुण

नाम

प्रकार

विवरण

संदर्भ

name

str

इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..

ऑफ़सेट

int

अतीत में सापेक्ष फ़्रेम ऑफ़सेट। <= 0 होना चाहिए: जैसे -1 पिछला फ़्रेम है, -10 दस फ़्रेम पहले है, 0 वर्तमान फ़्रेम है। -256 तक सीमित, क्योंकि प्रत्येक बफ़र किया गया फ़्रेम मेमोरी में रखा जाता है..

default_value

Optional[bool, float, int, str]

जब अनुरोधित फ़्रेम बफ़र में (अभी तक) उपलब्ध न हो, तब लौटाया जाने वाला मान..

यह संदर्भ स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है वर्कफ़्लो रनटाइम। देखें बाइंडिंग्स अधिक जानकारी के लिए।

रनटाइम संगतता

सॉफ्ट - रनटाइम hosted_serverless, dedicated_deployment; निष्पादन दूरस्थ; इनपुट वीडियो : ब्लॉक प्रति-वीडियो स्थिति को प्रक्रिया मेमोरी में बनाए रखता है (video_metadata.video_identifier द्वारा कुंजीबद्ध)। स्टेटलेस या मल्टी-रिप्लिका HTTP रनटाइम्स पर दूरस्थ स्टेप निष्पादन के साथ, क्रमिक अनुरोधों को अलग-अलग वर्कर प्रक्रियाएँ सर्व कर सकती हैं, इसलिए कॉल्स के बीच स्थिति रीसेट हो जाती है और आउटपुट ट्रैकिंग / काउंटिंग / एग्रीगेशन के लिए अर्थहीन हो जाता है। स्थिर फ़्रेम-से-फ़्रेम परिणामों के लिए एक स्थायी WebRTC सत्र में स्थानीय स्टेप निष्पादन का उपयोग करें।

सॉफ्ट - इनपुट छवि : ब्लॉक वीडियो या दोहराए गए-फ़्रेम वर्कफ़्लो से समयगत संदर्भ पर निर्भर करता है। एक स्थिर छवि/फ़ोटो के साथ, ट्रैक करने, तुलना करने, समेकित करने या दृश्यीकृत करने के लिए कोई अर्थपूर्ण इतिहास नहीं होता, इसलिए ब्लॉक बहुत कम या कोई लाभ नहीं देता।

इनपुट और आउटपुट बाइंडिंग्स

उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार फ़्रेम विलंब संस्करण v1 है।

इनपुट और आउटपुट बाइंडिंग्स
  • इनपुट

    • छवि (छवि): बफ़र को अनुक्रमित करने के लिए उपयोग किए जाने वाले वीडियो मेटाडेटा (फ़्रेम संख्या और स्ट्रीम पहचानकर्ता) प्रदान करने वाला छवि / वीडियो फ़्रेम..

    • डेटा (Union[list_of_values, छवि, instance_segmentation_prediction, *, keypoint_detection_prediction, object_detection_prediction]): विलंबित किया जाने वाला मान। यह डिटेक्शन, संख्याएँ, स्ट्रिंग्स, चित्र, या कोई अन्य वर्कफ़्लो आउटपुट हो सकता है..

    • ऑफ़सेट (पूर्णांक): अतीत में सापेक्ष फ़्रेम ऑफ़सेट। <= 0 होना चाहिए: जैसे -1 पिछला फ़्रेम है, -10 दस फ़्रेम पहले है, 0 वर्तमान फ़्रेम है। -256 तक सीमित, क्योंकि प्रत्येक बफ़र किया गया फ़्रेम मेमोरी में रखा जाता है..

  • आउटपुट

    • आउटपुट (*): किसी भी तत्व का समतुल्य।

    • is_available (boolean): बूलियन फ़्लैग.

    • reference_frame_number (पूर्णांक): पूर्णांक मान।

उदाहरण JSON परिभाषा

अंतिम अपडेट

क्या यह उपयोगी था?