Video Annotation
Video में temporal segment एनोटेट करें, frame वर्गीकृत करें, keyframe चिह्नित करें, और object ट्रैक करें।
Video Annotation
Potato व्यापक video annotation क्षमताएँ प्रदान करता है जिसमें temporal segmentation, frame classification, keyframe marking, और object tracking शामिल हैं।
Annotation मोड
| मोड | विवरण | उपयोग का मामला |
|---|---|---|
segment | Temporal रेंज चिह्नित करें | Scene detection, स्पीकर मोड़ |
frame | व्यक्तिगत frame वर्गीकृत करें | Frame-स्तरीय लेबलिंग |
keyframe | महत्वपूर्ण क्षण चिह्नित करें | Highlight detection |
tracking | Frame में object ट्रैक करें | Object tracking |
combined | एक interface में सभी मोड | जटिल annotation कार्य |
बुनियादी कॉन्फ़िगरेशन
annotation_schemes:
- name: "video_segments"
description: "Mark segments where the speaker changes"
annotation_type: "video_annotation"
labels:
- name: "Speaker A"
color: "#FF6B6B"
- name: "Speaker B"
color: "#4ECDC4"कॉन्फ़िगरेशन विकल्प
| फ़ील्ड | प्रकार | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
name | string | आवश्यक | एनोटेशन के लिए अद्वितीय पहचानकर्ता |
description | string | आवश्यक | एनोटेटर्स को दिखाए जाने वाले निर्देश |
annotation_type | string | आवश्यक | "video_annotation" होना चाहिए |
labels | list | आवश्यक | उपलब्ध annotation लेबल |
mode | string | "segment" | Annotation मोड |
min_segments | integer | 0 | न्यूनतम आवश्यक annotation |
max_segments | integer | null | अधिकतम अनुमत annotation |
timeline_height | integer | 70 | Pixel में timeline ऊँचाई |
overview_height | integer | 40 | Pixel में overview bar ऊँचाई |
zoom_enabled | boolean | true | Timeline zoom सक्षम करें |
playback_rate_control | boolean | true | Playback speed चयनकर्ता दिखाएँ |
frame_stepping | boolean | true | Frame-by-frame नेविगेशन सक्षम करें |
show_timecode | boolean | true | Frame number और time प्रदर्शित करें |
video_fps | integer | 30 | गणना के लिए video frame rate |
लेबल कॉन्फ़िगरेशन
लेबल सरल स्ट्रिंग या रंग और कीबोर्ड शॉर्टकट के साथ विस्तृत ऑब्जेक्ट हो सकते हैं:
labels:
- name: "intro"
color: "#4ECDC4"
key_value: "1"
- name: "content"
color: "#3B82F6"
key_value: "2"
- name: "outro"
color: "#8B5CF6"
key_value: "3"मोड के अनुसार उदाहरण
Segment मोड (डिफ़ॉल्ट)
प्रारंभ और अंत समय के साथ temporal रेंज चिह्नित करें:
annotation_schemes:
- name: "scene_detection"
description: "Mark each scene in the video"
annotation_type: "video_annotation"
mode: "segment"
labels:
- name: "indoor"
color: "#3B82F6"
key_value: "1"
- name: "outdoor"
color: "#22C55E"
key_value: "2"
- name: "transition"
color: "#F59E0B"
key_value: "3"
zoom_enabled: true
playback_rate_control: trueFrame मोड
व्यक्तिगत frame वर्गीकृत करें:
annotation_schemes:
- name: "frame_quality"
description: "Classify each frame's quality"
annotation_type: "video_annotation"
mode: "frame"
labels:
- name: "good"
color: "#22C55E"
- name: "blurry"
color: "#F59E0B"
- name: "occluded"
color: "#EF4444"
frame_stepping: true
show_timecode: trueKeyframe मोड
महत्वपूर्ण क्षण चिह्नित करें:
annotation_schemes:
- name: "highlights"
description: "Mark key moments in the video"
annotation_type: "video_annotation"
mode: "keyframe"
labels:
- name: "goal"
color: "#22C55E"
- name: "foul"
color: "#EF4444"
- name: "highlight"
color: "#F59E0B"
frame_stepping: trueTracking मोड
Bounding box के साथ frame में object ट्रैक करें:
annotation_schemes:
- name: "object_tracking"
description: "Track the ball throughout the video"
annotation_type: "video_annotation"
mode: "tracking"
labels:
- name: "ball"
color: "#3B82F6"
- name: "player"
color: "#22C55E"
frame_stepping: true
video_fps: 30Combined मोड
एक interface में कई annotation प्रकारों का उपयोग करें:
annotation_schemes:
- name: "comprehensive"
description: "Full video annotation"
annotation_type: "video_annotation"
mode: "combined"
labels:
- name: "action"
color: "#3B82F6"
- name: "dialogue"
color: "#22C55E"
- name: "transition"
color: "#F59E0B"
zoom_enabled: true
playback_rate_control: true
frame_stepping: true
show_timecode: trueVideo प्रदर्शन
annotation के बिना साधारण video playback के लिए (जैसे, अन्य annotation प्रकारों के साथ), video प्रकार का उपयोग करें:
annotation_schemes:
- name: "video_player"
description: "Watch the video clip"
annotation_type: "video"
video_path: "{{video_url}}"
controls: true
autoplay: false
loop: false
muted: falseकीबोर्ड शॉर्टकट
| कुंजी | क्रिया |
|---|---|
Space | चलाएँ/रोकें |
, / . | पिछला/अगला frame |
[ | Segment प्रारंभ चिह्नित करें |
] | Segment अंत चिह्नित करें |
Enter | Segment बनाएँ |
K | Keyframe चिह्नित करें |
C | वर्तमान frame वर्गीकृत करें |
Delete | चयनित annotation हटाएँ |
1-9 | लेबल चुनें |
+ / - | ज़ूम इन/आउट |
डेटा फॉर्मेट
इनपुट डेटा
आपकी डेटा फ़ाइल में video पाथ या URL शामिल होने चाहिए:
[
{
"id": "video_1",
"video_url": "https://example.com/videos/sample1.mp4",
"description": "Meeting recording - identify speakers"
},
{
"id": "video_2",
"video_url": "/data/videos/sample2.mp4",
"description": "Activity video - label actions"
}
]आउटपुट फॉर्मेट
आउटपुट मोड के अनुसार भिन्न होता है:
Segment मोड:
{
"id": "video_1",
"annotations": {
"scene_detection": [
{
"start": 0.0,
"end": 5.2,
"start_frame": 0,
"end_frame": 156,
"label": "indoor"
}
]
}
}Frame मोड:
{
"id": "video_1",
"annotations": {
"frame_quality": [
{
"frame": 120,
"time": 4.0,
"label": "good"
}
]
}
}Keyframe मोड:
{
"id": "video_1",
"annotations": {
"highlights": [
{
"frame": 450,
"time": 15.0,
"label": "goal",
"note": "First goal of the match"
}
]
}
}Tracking मोड:
{
"id": "video_1",
"annotations": {
"object_tracking": [
{
"id": "track_1",
"label": "ball",
"frames": [
{"frame": 0, "bbox": {"x": 100, "y": 200, "w": 30, "h": 30}},
{"frame": 1, "bbox": {"x": 105, "y": 198, "w": 30, "h": 30}}
]
}
]
}
}समर्थित Video फॉर्मेट
- MP4 (अनुशंसित)
- WebM
- MOV
- OGG
Keyframe Interpolation के साथ Video Object Tracking
v2.2.0 में नया
Tracking मोड अब keyframe interpolation का समर्थन करता है, जो एनोटेटर्स को key frame पर object स्थितियाँ चिह्नित करने और मध्यवर्ती frame को स्वचालित रूप से interpolate करने की अनुमति देता है। यह object tracking कार्यों को काफी तेज़ करता है।
annotation_schemes:
- name: "tracking"
description: "Track objects with keyframe interpolation"
annotation_type: "video_annotation"
mode: "tracking"
labels:
- name: "person"
color: "#3B82F6"
- name: "vehicle"
color: "#22C55E"
frame_stepping: true
video_fps: 30कार्यप्रवाह
- एक keyframe पर नेविगेट करें और object के चारों ओर bounding box खींचें
- कई frame आगे जाएँ और bounding box को पुनः स्थित करें
- सिस्टम स्वचालित रूप से मध्यवर्ती frame के लिए स्थितियाँ interpolate करता है
- आवश्यकतानुसार interpolated स्थितियों की समीक्षा करें और समायोजित करें
वैध annotation मोड का पूरा सेट है: segment, frame, keyframe, tracking, और combined।
तकनीकी नोट
- Timeline विज़ुअलाइज़ेशन के लिए Peaks.js का उपयोग करता है
- मानक HTML5 video element (कोई अतिरिक्त सर्वर dependencies नहीं)
- Timeline segment निर्माण के लिए drag-to-select का समर्थन करता है
सर्वोत्तम प्रथाएँ
- Compressed video का उपयोग करें - बड़ी फ़ाइलें लोडिंग धीमी करती हैं
- उचित FPS निर्धारित करें -
video_fpsको अपनी वास्तविक video frame rate से मिलाएँ - Frame stepping सक्षम करें - सटीक frame-स्तरीय annotation के लिए आवश्यक
- Playback rate नियंत्रण का उपयोग करें - Slow motion विस्तृत कार्य में मदद करता है
- स्पष्ट segment परिभाषाएँ प्रदान करें - परिभाषित करें कि segment सीमाएँ क्या हैं
- विशिष्ट रंगों का उपयोग करें - लेबल को दृश्य रूप से अलग बनाएँ
- Timeline ऊँचाई पर विचार करें - जटिल segmentation कार्यों के लिए बढ़ाएँ