Skip to content

Commit 4e9624e

Browse files
author
clams-bot
committed
adding metadata of swt-detection.v6.0
1 parent d7b22c6 commit 4e9624e

File tree

5 files changed

+386
-51
lines changed

5 files changed

+386
-51
lines changed
+156
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
---
2+
layout: posts
3+
classes: wide
4+
title: "Scenes-with-text Detection (v6.0)"
5+
date: 2024-07-25T16:11:42+00:00
6+
---
7+
## About this version
8+
9+
- Submitter: [keighrim](https://github.com/keighrim)
10+
- Submission Time: 2024-07-25T16:11:42+00:00
11+
- Prebuilt Container Image: [ghcr.io/clamsproject/app-swt-detection:v6.0](https://github.com/clamsproject/app-swt-detection/pkgs/container/app-swt-detection/v6.0)
12+
- Release Notes
13+
14+
> - updated to the latest SDK (adding some runtime recording params)
15+
> - added `usePosModel` param to toggle positional encoding
16+
> - general re-implementation and bugfix for positional encoding
17+
18+
## About this app (See raw [metadata.json](metadata.json))
19+
20+
**Detects scenes with text, like slates, chyrons and credits.**
21+
22+
- App ID: [http://apps.clams.ai/swt-detection/v6.0](http://apps.clams.ai/swt-detection/v6.0)
23+
- App License: Apache 2.0
24+
- Source Repository: [https://github.com/clamsproject/app-swt-detection](https://github.com/clamsproject/app-swt-detection) ([source tree of the submitted version](https://github.com/clamsproject/app-swt-detection/tree/v6.0))
25+
26+
27+
#### Inputs
28+
(**Note**: "*" as a property value means that the property is required but can be any value.)
29+
30+
- [http://mmif.clams.ai/vocabulary/VideoDocument/v1](http://mmif.clams.ai/vocabulary/VideoDocument/v1) (required)
31+
(of any properties)
32+
33+
34+
35+
#### Configurable Parameters
36+
(**Note**: _Multivalued_ means the parameter can have one or more values.)
37+
38+
- `startAt`: optional, defaults to `0`
39+
40+
- Type: integer
41+
- Multivalued: False
42+
43+
44+
> Number of milliseconds into the video to start processing
45+
- `stopAt`: optional, defaults to `9223372036854775807`
46+
47+
- Type: integer
48+
- Multivalued: False
49+
50+
51+
> Number of milliseconds into the video to stop processing
52+
- `sampleRate`: optional, defaults to `1000`
53+
54+
- Type: integer
55+
- Multivalued: False
56+
57+
58+
> Milliseconds between sampled frames
59+
- `minFrameScore`: optional, defaults to `0.01`
60+
61+
- Type: number
62+
- Multivalued: False
63+
64+
65+
> Minimum score for a still frame to be included in a TimeFrame
66+
- `minTimeframeScore`: optional, defaults to `0.5`
67+
68+
- Type: number
69+
- Multivalued: False
70+
71+
72+
> Minimum score for a TimeFrame
73+
- `minFrameCount`: optional, defaults to `2`
74+
75+
- Type: integer
76+
- Multivalued: False
77+
78+
79+
> Minimum number of sampled frames required for a TimeFrame
80+
- `modelName`: optional, defaults to `convnext_lg`
81+
82+
- Type: string
83+
- Multivalued: False
84+
- Choices: `convnext_tiny`, **_`convnext_lg`_**
85+
86+
87+
> model name to use for classification
88+
- `usePosModel`: optional, defaults to `true`
89+
90+
- Type: boolean
91+
- Multivalued: False
92+
- Choices: `false`, **_`true`_**
93+
94+
95+
> Use the model trained with positional features
96+
- `useStitcher`: optional, defaults to `true`
97+
98+
- Type: boolean
99+
- Multivalued: False
100+
- Choices: `false`, **_`true`_**
101+
102+
103+
> Use the stitcher after classifying the TimePoints
104+
- `allowOverlap`: optional, defaults to `true`
105+
106+
- Type: boolean
107+
- Multivalued: False
108+
- Choices: `false`, **_`true`_**
109+
110+
111+
> Allow overlapping time frames
112+
- `map`: optional, defaults to `['B:bars', 'S:slate', 'I:chyron', 'N:chyron', 'Y:chyron', 'C:credits', 'R:credits', 'W:other_opening', 'L:other_opening', 'O:other_opening', 'M:other_opening', 'E:other_text', 'K:other_text', 'G:other_text', 'T:other_text', 'F:other_text']`
113+
114+
- Type: map
115+
- Multivalued: True
116+
117+
118+
> Mapping of a label in the input annotations to a new label. Must be formatted as IN_LABEL:OUT_LABEL (with a colon). To pass multiple mappings, use this parameter multiple times. By default, all the input labels are passed as is, including any negative labels (with default value being no remapping at all). However, when at least one label is remapped, all the other "unset" labels are discarded as a negative label.
119+
- `pretty`: optional, defaults to `false`
120+
121+
- Type: boolean
122+
- Multivalued: False
123+
- Choices: **_`false`_**, `true`
124+
125+
126+
> The JSON body of the HTTP response will be re-formatted with 2-space indentation
127+
- `runningTime`: optional, defaults to `false`
128+
129+
- Type: boolean
130+
- Multivalued: False
131+
- Choices: **_`false`_**, `true`
132+
133+
134+
> The running time of the app will be recorded in the view metadata
135+
- `hwFetch`: optional, defaults to `false`
136+
137+
- Type: boolean
138+
- Multivalued: False
139+
- Choices: **_`false`_**, `true`
140+
141+
142+
> The hardware information (architecture, GPU and vRAM) will be recorded in the view metadata
143+
144+
145+
#### Outputs
146+
(**Note**: "*" as a property value means that the property is required but can be any value.)
147+
148+
(**Note**: Not all output annotations are always generated.)
149+
150+
- [http://mmif.clams.ai/vocabulary/TimeFrame/v5](http://mmif.clams.ai/vocabulary/TimeFrame/v5)
151+
- _timeUnit_ = "milliseconds"
152+
153+
- [http://mmif.clams.ai/vocabulary/TimePoint/v4](http://mmif.clams.ai/vocabulary/TimePoint/v4)
154+
- _timeUnit_ = "milliseconds"
155+
- _labelset_ = a list of ["B", "S", "W", "L", "O", "M", "I", "N", "E", "P", "Y", "K", "G", "T", "F", "C", "R"]
156+
+169
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
{
2+
"name": "Scenes-with-text Detection",
3+
"description": "Detects scenes with text, like slates, chyrons and credits.",
4+
"app_version": "v6.0",
5+
"mmif_version": "1.0.5",
6+
"app_license": "Apache 2.0",
7+
"identifier": "http://apps.clams.ai/swt-detection/v6.0",
8+
"url": "https://github.com/clamsproject/app-swt-detection",
9+
"input": [
10+
{
11+
"@type": "http://mmif.clams.ai/vocabulary/VideoDocument/v1",
12+
"required": true
13+
}
14+
],
15+
"output": [
16+
{
17+
"@type": "http://mmif.clams.ai/vocabulary/TimeFrame/v5",
18+
"properties": {
19+
"timeUnit": "milliseconds"
20+
}
21+
},
22+
{
23+
"@type": "http://mmif.clams.ai/vocabulary/TimePoint/v4",
24+
"properties": {
25+
"timeUnit": "milliseconds",
26+
"labelset": [
27+
"B",
28+
"S",
29+
"W",
30+
"L",
31+
"O",
32+
"M",
33+
"I",
34+
"N",
35+
"E",
36+
"P",
37+
"Y",
38+
"K",
39+
"G",
40+
"T",
41+
"F",
42+
"C",
43+
"R"
44+
]
45+
}
46+
}
47+
],
48+
"parameters": [
49+
{
50+
"name": "startAt",
51+
"description": "Number of milliseconds into the video to start processing",
52+
"type": "integer",
53+
"default": 0,
54+
"multivalued": false
55+
},
56+
{
57+
"name": "stopAt",
58+
"description": "Number of milliseconds into the video to stop processing",
59+
"type": "integer",
60+
"default": 9223372036854775807,
61+
"multivalued": false
62+
},
63+
{
64+
"name": "sampleRate",
65+
"description": "Milliseconds between sampled frames",
66+
"type": "integer",
67+
"default": 1000,
68+
"multivalued": false
69+
},
70+
{
71+
"name": "minFrameScore",
72+
"description": "Minimum score for a still frame to be included in a TimeFrame",
73+
"type": "number",
74+
"default": 0.01,
75+
"multivalued": false
76+
},
77+
{
78+
"name": "minTimeframeScore",
79+
"description": "Minimum score for a TimeFrame",
80+
"type": "number",
81+
"default": 0.5,
82+
"multivalued": false
83+
},
84+
{
85+
"name": "minFrameCount",
86+
"description": "Minimum number of sampled frames required for a TimeFrame",
87+
"type": "integer",
88+
"default": 2,
89+
"multivalued": false
90+
},
91+
{
92+
"name": "modelName",
93+
"description": "model name to use for classification",
94+
"type": "string",
95+
"choices": [
96+
"convnext_tiny",
97+
"convnext_lg"
98+
],
99+
"default": "convnext_lg",
100+
"multivalued": false
101+
},
102+
{
103+
"name": "usePosModel",
104+
"description": "Use the model trained with positional features",
105+
"type": "boolean",
106+
"default": true,
107+
"multivalued": false
108+
},
109+
{
110+
"name": "useStitcher",
111+
"description": "Use the stitcher after classifying the TimePoints",
112+
"type": "boolean",
113+
"default": true,
114+
"multivalued": false
115+
},
116+
{
117+
"name": "allowOverlap",
118+
"description": "Allow overlapping time frames",
119+
"type": "boolean",
120+
"default": true,
121+
"multivalued": false
122+
},
123+
{
124+
"name": "map",
125+
"description": "Mapping of a label in the input annotations to a new label. Must be formatted as IN_LABEL:OUT_LABEL (with a colon). To pass multiple mappings, use this parameter multiple times. By default, all the input labels are passed as is, including any negative labels (with default value being no remapping at all). However, when at least one label is remapped, all the other \"unset\" labels are discarded as a negative label.",
126+
"type": "map",
127+
"default": [
128+
"B:bars",
129+
"S:slate",
130+
"I:chyron",
131+
"N:chyron",
132+
"Y:chyron",
133+
"C:credits",
134+
"R:credits",
135+
"W:other_opening",
136+
"L:other_opening",
137+
"O:other_opening",
138+
"M:other_opening",
139+
"E:other_text",
140+
"K:other_text",
141+
"G:other_text",
142+
"T:other_text",
143+
"F:other_text"
144+
],
145+
"multivalued": true
146+
},
147+
{
148+
"name": "pretty",
149+
"description": "The JSON body of the HTTP response will be re-formatted with 2-space indentation",
150+
"type": "boolean",
151+
"default": false,
152+
"multivalued": false
153+
},
154+
{
155+
"name": "runningTime",
156+
"description": "The running time of the app will be recorded in the view metadata",
157+
"type": "boolean",
158+
"default": false,
159+
"multivalued": false
160+
},
161+
{
162+
"name": "hwFetch",
163+
"description": "The hardware information (architecture, GPU and vRAM) will be recorded in the view metadata",
164+
"type": "boolean",
165+
"default": false,
166+
"multivalued": false
167+
}
168+
]
169+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"time": "2024-07-25T16:11:42+00:00",
3+
"submitter": "keighrim",
4+
"image": "ghcr.io/clamsproject/app-swt-detection:v6.0",
5+
"releasenotes": "- updated to the latest SDK (adding some runtime recording params)\n- added `usePosModel` param to toggle positional encoding\n- general re-implementation and bugfix for positional encoding\n\n"
6+
}

0 commit comments

Comments
 (0)