Skip to content

Commit adccc0d

Browse files
authored
Update release notes for R9.0.0. (#185)
1 parent ca5e201 commit adccc0d

7 files changed

Lines changed: 508 additions & 34 deletions

File tree

docs/docs/Release-Notes.md

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,218 @@
11
**NOTICE:** This software (or technical data) was produced for the U.S. Government under contract, and is subject to the
22
Rights in Data-General Clause 52.227-14, Alt. IV (DEC 2007). Copyright 2023 The MITRE Corporation. All Rights Reserved.
33

4+
# OpenMPF 9.0.x
5+
6+
<h2>9.0.0: May 2024</h2>
7+
8+
<h3>Documentation</h3>
9+
10+
- Created a new [Quality Selection Guide](Quality-Selection-Guide/index.html).
11+
12+
<h3>Quality Selection</h3>
13+
14+
- Can now specify a `QUALITY_SELECTION_PROPERTY` and `QUALITY_SELECTION_THRESHOLD` for choosing exemplars, artifacts,
15+
and controlling feed-forward behavior.
16+
- The following old job properties and old system properties are no longer supported. The tables show the new properties
17+
that should be used instead:
18+
19+
| Old Job Property | New Job Properties |
20+
| - | - |
21+
| `CONFIDENCE_THRESHOLD` | `QUALITY_SELECTION_PROPERTY`<br>`QUALITY_SELECTION_THRESHOLD` |
22+
| `ARTIFACT_EXTRACTION_POLICY_TOP_CONFIDENCE_COUNT` | `ARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT` |
23+
| `FEED_FORWARD_TOP_CONFIDENCE_COUNT` | `FEED_FORWARD_TOP_QUALITY_COUNT` |
24+
25+
| Old System Property | New System Properties |
26+
| - | - |
27+
| <span style="font-size:0.82em;">`detection.confidence.threshold`</span> | <span style="font-size:0.82em;">`detection.quality.selection.prop`<br>`detection.quality.selection.threshold`</span> |
28+
| <span style="font-size:0.82em;">`detection.artifact.extraction.policy.top.confidence.count`</span> | <span style="font-size:0.82em;">`detection.artifact.extraction.policy.top.quality.count`</span> |
29+
30+
- By default, `QUALITY_SELECTION_PROPERTY` is set to the value of `detection.quality.selection.prop` system property,
31+
which, by default, is `CONFIDENCE`. In most cases this preserves the previous behavior.
32+
- By default, `QUALITY_SELECTION_THRESHOLD` is set to the value of `detection.quality.selection.threshold` system
33+
property, which, by default, is `-Infinity`. This setting disables the threshold. Previously, the default value of
34+
`detection.confidence.threshold` was -1, which disabled the threshold for most components.
35+
- Components that previously used `CONFIDENCE_THRESHOLD` now have `QUALITY_SELECTION_PROPERTY=CONFIDENCE`. Also,
36+
`QUALITY_SELECTION_THRESHOLD` is set to the previous value of `CONFIDENCE_THRESHOLD`. For example, see [this
37+
commit](https://github.com/openmpf/openmpf-components/commit/b8e0bdd2a454790f344fa62364b9c97ea2c10bb1#diff-3ece8e4ec55d097df5f58aff2dc217770be3c868910fc13639bae296b9938961)
38+
for changes made to the OcvYoloDetection component.
39+
- `EXEMPLAR_POLICY` is now set to `QUALITY` by default. This setting results in choosing the detection within each track
40+
with the maximum quality according to the `QUALITY_SELECTION_PROPERTY`. Previously, the selection was always made
41+
based on highest detection confidence.
42+
- Similarly, the new `FEED_FORWARD_TOP_QUALITY_COUNT` and `ARTIFACT_EXTRACTION_POLICY_TOP_QUALITY_COUNT` properties use
43+
`QUALITY_SELECTION_PROPERTY` and `QUALITY_SELECTION_THRESHOLD`.
44+
- Refer to the [Quality Selection Guide](Quality-Selection-Guide/index.html) for details.
45+
46+
<h3>Transformer Tagging Component</h3>
47+
48+
- This component uses a user-specified corpus JSON file to match known phrases against each sentence in the input text
49+
data.
50+
- The input text sentences that generate match scores above the threshold are called "trigger sentences". These
51+
sentences are grouped by "tag" based on which entry in the corpus they matched against.
52+
- The underlying [all-mpnet-base-v2 model](https://huggingface.co/sentence-transformers/all-mpnet-base-v2) was trained
53+
on a variety of text data in order to understand the commonalities in phrasing, subject, and context.
54+
- Refer to the [README](https://github.com/openmpf/openmpf-components/blob/master/python/TransformerTagging/README.md)
55+
for details.
56+
57+
<h3>Keyword Tagging Component Output</h3>
58+
59+
- Updated the Keyword Tagging Component to generate output in the same format as the Transformer Tagging Component. For
60+
example, the output properties used to take the form `<INPUT> TRIGGER WORDS` and `<INPUT> TRIGGER WORDS OFFSET`:
61+
62+
```text
63+
TEXT TRIGGER WORDS
64+
TEXT TRIGGER WORDS OFFSET
65+
TRANSLATION TRIGGER WORDS
66+
TRANSLATION TRIGGER WORDS OFFSET
67+
```
68+
69+
- Now the output properties take the form `<INPUT> <TAG> TRIGGER WORDS` and `<INPUT> <TAG> TRIGGER WORDS OFFSET`:
70+
71+
```text
72+
TEXT TRAVEL TRIGGER WORDS
73+
TEXT TRAVEL TRIGGER WORDS OFFSET
74+
TRANSLATION TRAVEL TRIGGER WORDS
75+
TRANSLATION TRAVEL TRIGGER WORDS OFFSET
76+
```
77+
78+
- Notice that in the above example the new output properties include the word `TRAVEL`. If trigger words are detected
79+
for other tags, such as `FINANCIAL` and `VEHICLE`, those words will be used in separate `TRIGGER WORDS` and
80+
`TRIGGER WORDS OFFSET` output properties.
81+
- This change enables the job consumer to determine which trigger words are associated with each entry in the `TAGS`
82+
output property.
83+
- Refer to the "Outputs" section of the
84+
[README](https://github.com/openmpf/openmpf-components/blob/master/cpp/KeywordTagging/README.md#outputs) for details.
85+
86+
<h3>Reporting Component Processing Time</h3>
87+
88+
- The JSON output object contains a new section for reporting component processing time in milliseconds. For example:
89+
90+
```json
91+
"timing": {
92+
"processingTime": 1514,
93+
"actions": [
94+
{
95+
"name": "OCV YOLO VEHICLE DETECTION ACTION",
96+
"processingTime": 1431
97+
},
98+
{
99+
"name": "TENSORFLOW VEHICLE COLOR DETECTION (WITH FF REGION) ACTION",
100+
"processingTime": 83
101+
}
102+
]
103+
},
104+
```
105+
106+
- This does not include the time sub-jobs spent waiting in queues, or processing time by the Workflow Manager, such as
107+
the time to perform media inspection.
108+
- Also, the above JSON is reported in the TiesDB job record within the `dataObject` field.
109+
110+
<h3>NLP Text Splitter Utility</h3>
111+
112+
- The new NLP Text Splitter utility uses spaCy or [Where's the Point (WtP)](https://github.com/bminixhofer/wtpsplit)
113+
models for determining how to break up text into sentences.
114+
- Supports both CPU processing and optional GPU processing.
115+
- Updated the Azure Translation Component to use this utility to ensure that translation requests are within the 50,000
116+
character limit.
117+
- Refer to the
118+
[README](https://github.com/openmpf/openmpf-python-component-sdk/blob/master/detection/nlp_text_splitter/README.md)
119+
for details.
120+
121+
<h3>CLIP Component Video Support</h3>
122+
123+
- The CLIP Component now supports processing videos in addition to the previous ability to process images. Specify the
124+
batch size using `DETECTION_FRAME_BATCH_SIZE`.
125+
- The component also supports a new, larger, and more accurate `ViT-L/14` model in addition to the previous `ViT-B/32`
126+
model. Both models are supported via the optional Triton server as well as within the component itself for non-Triton
127+
deployments.
128+
- Refer to the
129+
[README](https://github.com/openmpf/openmpf-components/blob/master/python/ClipDetection/README.md#non-triton-performance)
130+
for performance metrics.
131+
- The `NUMBER_OF_TEMPLATES` property has been renamed to `TEMPLATE_TYPE` and now accepts one of the following values:
132+
`openai_1`, `openai_7`, `openai_80`.
133+
134+
<h3>Import Root Certificates for Components</h3>
135+
136+
- Can now specify a `MPF_CA_CERTS` environment variable for component Docker services to import root certificates.
137+
- May be useful when components need to communicate with external web services.
138+
- Refer to the [README](https://github.com/openmpf/openmpf-docker/blob/master/README.md#optional-import-root-certificates-for-additional-certificate-authorities) for details.
139+
140+
<h3>Docker Secrets for Environment Variables</h3>
141+
142+
- Can now use Docker secrets for environment variables in the Docker compose file.
143+
- This prevents exposing information as plain text in `docker-compose.yml`.
144+
- May be useful for environment variables like:
145+
- Workflow Manager username and password: `WFM_USER` and `WFM_PASSWORD`
146+
- Keystore password when enabling Workflow Manager HTTPS: `KEYSTORE_PASSWORD`
147+
- Azure credentials: `MPF_PROP_ACS_URL` and `MPF_PROP_ACS_SUBSCRIPTION_KEY`
148+
- Refer to the
149+
[README](https://github.com/openmpf/openmpf-docker/blob/master/README.md#optional-use-secrets-for-environment-variables)
150+
for details.
151+
152+
<h3>Features</h3>
153+
154+
- [[#1692](https://github.com/openmpf/openmpf/issues/1692)] Create a TransformerTagging component
155+
- [[#1718](https://github.com/openmpf/openmpf/issues/1718)] Support a `QUALITY_SELECTION_PROP` to specify how the WFM should choose an exemplar
156+
- [[#1754](https://github.com/openmpf/openmpf/issues/1754)] Report amount of time components spent executing a job
157+
- [[#1756](https://github.com/openmpf/openmpf/issues/1756)] Support `MPF_CA_CERTS` for components
158+
- [[#1771](https://github.com/openmpf/openmpf/issues/1771)] Azure Translation: Identify character limits. Split text using NLP Text Splitter.
159+
- [[#1798](https://github.com/openmpf/openmpf/issues/1798)] Add NLP Text Splitter to Python Component SDK
160+
161+
<h3>Updates</h3>
162+
163+
- [[#1694](https://github.com/openmpf/openmpf/issues/1694)] Update CLIP component to support videos
164+
- [[#1706](https://github.com/openmpf/openmpf/issues/1706)] Update KeywordTagging to work with TransformerTagging
165+
- [[#1745](https://github.com/openmpf/openmpf/issues/1745)] Support using docker secrets for environment variables in `docker-compose.yml`
166+
- [[#1769](https://github.com/openmpf/openmpf/issues/1769)] Upgrade to proto3 and clean up `.proto` files
167+
- [[#1774](https://github.com/openmpf/openmpf/issues/1774)] Update how TransformerTagging tokenizes sentences
168+
- [[#1785](https://github.com/openmpf/openmpf/issues/1785)] Upgrade to OpenCV 4.9
169+
- [[#1786](https://github.com/openmpf/openmpf/issues/1786)] Modify the behavior of Markup when `CONFIDENCE` is the bounding box label to be displayed
170+
- [[#1797](https://github.com/openmpf/openmpf/issues/1797)] Further update Azure Translation and STT language maps
171+
- [[#1803](https://github.com/openmpf/openmpf/issues/1803)] Upgrade Postgres client used by Workflow Manager
172+
173+
<h3>Bug Fixes</h3>
174+
175+
- [[#1781](https://github.com/openmpf/openmpf/issues/1781)] Markup boxes are not drawn when animation is disabled and there are gaps in a track
176+
- [[#1799](https://github.com/openmpf/openmpf/issues/1799)] Keyword Tagging removes newlines so character offsets don't line up with original text
177+
4178
# OpenMPF 8.0.x
5179

180+
<h2>8.0.4: May 2024</h2>
181+
182+
<h3>Bug Fixes</h3>
183+
184+
- [[#1805](https://github.com/openmpf/openmpf/issues/1805)] Workflow Manager incorrectly detects whether certain videos
185+
are constant or variable frame rate
186+
187+
<h2>8.0.3: April 2024</h2>
188+
189+
<h3>Bug Fixes</h3>
190+
191+
- [[#1788](https://github.com/openmpf/openmpf/issues/1788)] Azure Speech and Translation: Update supported language
192+
mappings
193+
194+
<h2>8.0.2: March 2024</h2>
195+
196+
<h3>Documentation</h3>
197+
198+
- Updated the [REST API](REST-API/index.html) with new `[GET] /rest/queues` and `[GET] /rest/queues/{name}` endpoints.
199+
200+
<h3>Updates</h3>
201+
202+
- [[#1776](https://github.com/openmpf/openmpf/issues/1776)] Add REST endpoint for retrieving the ActiveMQ message counts
203+
for each queue
204+
205+
<h2>8.0.1: March 2024</h2>
206+
207+
<h3>Updates</h3>
208+
209+
- [[#1768](https://github.com/openmpf/openmpf/issues/1768)] Add Option to Merge Text Sections in TikaTextDetection
210+
211+
<h3>Bug Fixes</h3>
212+
213+
- [[#1763](https://github.com/openmpf/openmpf/issues/1763)] Media inspections fails when ffprobe does not specify a
214+
stream "codec_type"
215+
6216
<h2>8.0.0: December 2023</h2>
7217

8218
<h3>Documentation</h3>

docs/docs/html/REST-API.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@
170170
<body>
171171
<div style='page-break-after:always'>
172172
<h1>OpenMPF Workflow Manager REST API</h1>
173-
<h2>Version 8.0</h2>
173+
<h2>Version 9.0</h2>
174174
<br/>
175175
<p><i><font size="3">NOTICE</font></i></p>
176176
<p><i><font size="3">

0 commit comments

Comments
 (0)