From 7be8c1764add4a868fda480693a4eac7848fcd8c Mon Sep 17 00:00:00 2001 From: Howard W Huang <40070840+hhuangMITRE@users.noreply.github.com> Date: Fri, 7 Aug 2020 15:18:37 -0400 Subject: [PATCH 1/2] Updating documentation for new media metadata field in REST API. --- docs/docs/html/REST-API.html | 22 ++++++++++++++++++-- docs/site/html/REST-API.html | 22 ++++++++++++++++++-- docs/site/index.html | 2 +- docs/site/sitemap.xml | 40 ++++++++++++++++++------------------ 4 files changed, 61 insertions(+), 25 deletions(-) diff --git a/docs/docs/html/REST-API.html b/docs/docs/html/REST-API.html index a35f15a9a8ad..a0cf578e0b5b 100644 --- a/docs/docs/html/REST-API.html +++ b/docs/docs/html/REST-API.html @@ -145,7 +145,7 @@
NOTICE
@@ -158,7 +158,7 @@ Version 5.0.0 (build 20200616)
diff --git a/docs/site/html/REST-API.html b/docs/site/html/REST-API.html
index a35f15a9a8ad..a0cf578e0b5b 100644
--- a/docs/site/html/REST-API.html
+++ b/docs/site/html/REST-API.html
@@ -145,7 +145,7 @@
OpenMPF Workflow Manager REST API
- Version 5.0.0 (build 20200616)
+ Version 5.1.0 (build 20200804)
NOTICE
@@ -158,7 +158,7 @@ Version 5.0.0 (build 20200616)
-
+
Introduction
@@ -652,6 +652,18 @@ 1.4. JobCreationRequest
A valid (properly encoded) URI to a single media source for the job.
Yes
diff --git a/docs/site/index.html b/docs/site/index.html index 53c277fcb242..0fdd5e9e6616 100644 --- a/docs/site/index.html +++ b/docs/site/index.html @@ -398,5 +398,5 @@Overview
diff --git a/docs/site/sitemap.xml b/docs/site/sitemap.xml index 07ba218f9b69..a918619d8966 100644 --- a/docs/site/sitemap.xml +++ b/docs/site/sitemap.xml @@ -4,7 +4,7 @@@@ -13,55 +13,55 @@ /index.html -2020-07-29 +2020-08-05 daily /Release-Notes/index.html -2020-07-29 +2020-08-05 daily /Install-Guide/index.html -2020-07-29 +2020-08-05 daily /User-Guide/index.html -2020-07-29 +2020-08-05 daily /Admin-Guide/index.html -2020-07-29 +2020-08-05 daily /Node-Guide/index.html -2020-07-29 +2020-08-05 daily /Object-Storage-Guide/index.html -2020-07-29 +2020-08-05 daily /Contributor-Guide/index.html -2020-07-29 +2020-08-05 daily /Development-Environment-Guide/index.html -2020-07-29 +2020-08-05 daily @@ -71,49 +71,49 @@ /Acknowledgements/index.html -2020-07-29 +2020-08-05 daily /Component-API-Overview/index.html -2020-07-29 +2020-08-05 daily /CPP-Batch-Component-API/index.html -2020-07-29 +2020-08-05 daily /CPP-Streaming-Component-API/index.html -2020-07-29 +2020-08-05 daily /Java-Batch-Component-API/index.html -2020-07-29 +2020-08-05 daily /Python-Batch-Component-API/index.html -2020-07-29 +2020-08-05 daily /GPU-Support-Guide/index.html -2020-07-29 +2020-08-05 daily /Packaging-and-Registering-a-Component/index.html -2020-07-29 +2020-08-05 daily @@ -123,13 +123,13 @@ /Feed-Forward-Guide/index.html -2020-07-29 +2020-08-05 daily /Workflow-Manager/index.html -2020-07-29 +2020-08-05 daily From 8803d5bcff01f359d974931f7c608c3f2046c88f Mon Sep 17 00:00:00 2001 From: Jeff Robble /REST-API/index.html -2020-07-29 +2020-08-05 daily Date: Tue, 17 Nov 2020 11:28:25 -0500 Subject: [PATCH 2/2] Update release notes for R5.1.0. (#121) --- _config.yml | 1 + docs/docs/Release-Notes.md | 153 ++++++++++++++++++++-- docs/docs/index.md | 3 + docs/site/Release-Notes/index.html | 202 +++++++++++++++++++++++++++-- docs/site/index.html | 17 ++- docs/site/mkdocs/search_index.json | 51 +++++++- docs/site/sitemap.xml | 40 +++--- index.html | 5 +- 8 files changed, 431 insertions(+), 41 deletions(-) diff --git a/_config.yml b/_config.yml index c01e6c36add8..5ef65db9b686 100644 --- a/_config.yml +++ b/_config.yml @@ -27,6 +27,7 @@ navbar-links: Home: "" Docs: - Overview: "docs/site/index.html" + - Release Notes: "docs/site/Release-Notes/index.html" - Install: "docs/site/Install-Guide/index.html" - API: "docs/site/Component-API-Overview/index.html" Open Source: diff --git a/docs/docs/Release-Notes.md b/docs/docs/Release-Notes.md index faf870c50054..9630fa6918a0 100644 --- a/docs/docs/Release-Notes.md +++ b/docs/docs/Release-Notes.md @@ -1,12 +1,149 @@ > **NOTICE:** This software (or technical data) was produced for the U.S. Government under contract, and is subject to the Rights in Data-General Clause 52.227-14, Alt. IV (DEC 2007). Copyright 2020 The MITRE Corporation. All Rights Reserved. - OcvDnnDetection (vehicle color) +``` + +- For example: + +``` + "detectionProperties": { + "CLASSIFICATION": "car", + "CLASSIFICATION CONFIDENCE LIST": "0.397336", + "CLASSIFICATION LIST": "car", + "COLOR": "blue", + "COLOR CONFIDENCE LIST": "0.93507; 0.055744", + "COLOR LIST": "blue; gray" + } +``` + +- The OcvDnnDetection component now supports the following properties: + - `CLASSIFICATION_TYPE`: Set this value to change the `CLASSIFICATION*` part of each output property name to something else. For example, setting it to `COLOR` will generate `COLOR`, `COLOR LIST`, and `COLOR CONFIDENCE LIST`. When handling feed-foward detections, the pre-existing `CLASSIFICATION*` properties will be carried over and the `COLOR*` properties will be added to the detection. + - `FEED_FORWARD_WHITELIST_FILE`: When `FEED_FORWARD_TYPE` is provided and not set to `NONE`, only feed-forward detections with class names contained in the specified file will be processed. For, example, a file with only "car" in it will result in performing the exclude behavior (below) for all feed-foward detections that do not have a `CLASSIFICATION` of "car". + - `FEED_FORWARD_EXCLUDE_BEHAVIOR`: Specifies what to do when excluding detections not specified in the `FEED_FORWARD_WHITELIST_FILE`. Acceptable values are: + - `PASS_THROUGH`: Return the excluded detections, without modification, along with any annotated detections. + - `DROP`: Don't return the excluded detections. Only return annotated detections. + + + Updates
+ +- Make interop package work with Java 8 to better support exernal job producers and consumers. + +# OpenMPF 5.0.5: August 2020 + +Updates
+ +- Configure Camel not to auto-acknowledge messages. Users can now see the number of pending messages in the ActiveMQ management console for queues consumed by the Workflow Manager. +- Improve Tesseract OSD fallback behavior. This prevents selecting the OSD rotation from the fallback pass without the OSD script from the fallback pass. + +# OpenMPF 5.0.4: August 2020 + +Updates
+ +- Retry job callbacks when they fail. The Workflow Manager now supports the `http.callback.timeout.ms` and `http.callback.retries` system properties. +- Drop "duplicate paged in from cursor" DLQ messages. + +# OpenMPF 5.0.3: July 2020 + +Updates
+ +- Update ActiveMQ to 5.16.0. + +# OpenMPF 5.0.2: July 2020 + +Updates
-- TODO: This new component detects objects in images and videos by making use of an [NVIDIA TensorRT Inference Server](https://docs.nvidia.com/deeplearning/sdk/tensorrt-inference-server-guide/docs/) (TRTIS), and calculates features that can later be used by other systems to recognize the same object in other media. We provide support for running the server as a separate service during a Docker deployment, but an external server instance can be used instead. By default, the ip_irv2_coco model is supported and will optionally classify detected objects using [COCO labels](https://github.com/openmpf/openmpf-components/blob/master/cpp/trtisdetection/plugin-files/models/ip_irv2_coco.labels). Additionally, features can be generated for whole frames, automatically-detected object regions, and user-specified regions. Refer to the [README](https://github.com/openmpf/openmpf-components/blob/master/cpp/trtisdetection/README.md). ---> +- Disable video segmentation for ACS Speech Detection to prevent issues when generating speaker ids. # OpenMPF 5.0.1: July 2020 @@ -121,7 +258,7 @@ - `[GET] /rest/actions`, `[GET] /rest/tasks`, `[GET] /rest/pipelines` - `[DELETE] /rest/actions`, `[DELETE] /rest/tasks`, `[DELETE] /rest/pipelines` - `[POST] /rest/actions` , `[POST] /rest/tasks`, `[POST] /rest/pipelines` -- All of the endpoints above are new with the exception of `[GET] /rest/pipelines`. The endpoint has changed since the last version of OpenMPF. Some fields in the response JSON have been removed and renamed. Also, it now returns a collection of tasks for each pipelines. Refer to the REST API. +- All of the endpoints above are new with the exception of `[GET] /rest/pipelines`. The endpoint has changed since the last version of OpenMPF. Some fields in the response JSON have been removed and renamed. Also, it now returns a collection of tasks for each pipelines. Refer to the REST API. - `[GET] /rest/algorithms` can be used to get information about algorithms. Note that algorithms are tied to registered components, so to remove an algorithm you must unregister the associated component. To add an algorithm, start the associated component's Docker container so it self-registers with the Workflow Manager.Incomplete Actions, Tasks, and Pipelines
@@ -230,7 +367,7 @@Updates
-- Now silently discarding ActiveMQ DLQ "Suppressing duplicate delivery on connection" messages in addition to "duplicate from store" messages. +- Now silently discarding ActiveMQ DLQ "Suppressing duplicate delivery on connection" messages in addition to "duplicate from store" messages. # OpenMPF 4.1.5: March 2020 @@ -380,7 +517,7 @@ within a Docker container. This isolates the build and execution environment froLate Additions: December 2019
-- Transitioned from using a mySQL persistent database to PostgreSQL to support users that use an external PostgreSQL database in the cloud. +- Transitioned from using a mySQL persistent database to PostgreSQL to support users that use an external PostgreSQL database in the cloud. - Updated the EAST component to support a `TEMPORARY_PADDING` and `FINAL_PADDING` property. The first property determines how much padding is added to detections during the non-maximum suppression or merging step. This padding is effectively removed from the final detections. The second property is used to control the final amount of padding on the output regions. Refer to the [README](https://github.com/openmpf/openmpf-components/blob/master/python/EastTextDetection/README.md#properties). # OpenMPF 4.0.0: February 2019 diff --git a/docs/docs/index.md b/docs/docs/index.md index 95c8a631dc0c..fdebdca2a244 100644 --- a/docs/docs/index.md +++ b/docs/docs/index.md @@ -23,10 +23,13 @@ A list of algorithms currently integrated into the OpenMPF as distributed proces | Detection| Scene | OpenCV | Detection| Classification | OpenCV DNN | Detection/Tracking | Classification | Darknet +| Detection/Tracking | Classification/Features | TensorRT | Detection| Text Region | EAST | Detection| Text (OCR) | Apache Tika | Detection| Text (OCR) | Tesseract OCR | Detection| Text (OCR) | Azure Cognitive Services +| Detection| Form Structure (with OCR) | Azure Cognitive Services +| Detection| Keywords | Boost Regular Expressions | Detection| Image (from document) | Apache Tika The OpenMPF exposes data processing and job management web services via a User Interface (UI). These services allow users to upload media, create media processing jobs, determine the status of jobs, and retrieve the artifacts associated with completed jobs. The web services give application developers flexibility to use the OpenMPF in their preferred environment and programming language. diff --git a/docs/site/Release-Notes/index.html b/docs/site/Release-Notes/index.html index fa929da414a6..1833ef184eaf 100644 --- a/docs/site/Release-Notes/index.html +++ b/docs/site/Release-Notes/index.html @@ -64,6 +64,33 @@+
- OpenMPF 5.1.0: November 2020
+ + +- OpenMPF 5.0.9: October 2020
+ + +- OpenMPF 5.0.8: October 2020
+ + +- OpenMPF 5.0.7: September 2020
+ + +- OpenMPF 5.0.6: August 2020
+ + +- OpenMPF 5.0.5: August 2020
+ + +- OpenMPF 5.0.4: August 2020
+ + +- OpenMPF 5.0.3: July 2020
+ + +- OpenMPF 5.0.2: July 2020
+ +- OpenMPF 5.0.1: July 2020
@@ -313,14 +340,173 @@- +NOTICE: This software (or technical data) was produced for the U.S. Government under contract, and is subject to the Rights in Data-General Clause 52.227-14, Alt. IV (DEC 2007). Copyright 2020 The MITRE Corporation. All Rights Reserved.
+
+- The
+TEMPORARY_PADDINGproperty has been separated intoTEMPORARY_PADDING_XandTEMPORARY_PADDING_Yso that X and Y padding can be configured independently.- The
+MERGE_MIN_OVERLAPproperty has been renamed toMERGE_OVERLAP_THRESHOLDso that setting it to a value of 0 will merge all regions that touch, regardless of how small the amount of overlap.- Refer to the README for details.
+MPFVideoCapture and MPFImageReader Tool Improvements
+ ++
+- These tools now support a
+ROTATION_FILL_COLORproperty for setting the fill color for pixels near the corners and edges of frames when performing non-orthogonal rotations. Previously, the color was hardcoded toBLACK. That is still the default setting for most components. Now the color can be set toWHITE, which is the default setting for the Tesseract component.- These tools now support a
+ROTATION_THRESHOLDproperty for adjusting the threshold at which the frame transformer performs rotation. Previously, the value was hardcoded to 0.1 degrees. That is still the default value. Rotation is not performed on anyROTATIONvalue less than that threshold. The motivation is that some algorithms detect small rotations (for example, on structured text) when there is no rotation. In such cases rotating the frame results in fewer detections.- OpenMPF now uses FFmpeg when counting video frames. Refer to the Bug Fixes section below.
+Azure Cognitive Services (ACS) Form Detection Component
++
+- This new component utilizes the Azure Cognitive Services Form Detection REST endpoint to extract formatted text from documents (PDFs) and images. Refer to the README for details.
+- This component is capable of performing detections using a specified ACS endpoint URL. For example, different endpoints support receipt detection, business card detection, layout analysis, and support for custom models trained with or without labeled data.
+- This component may output the following detection properties depending on the endpoint, model, and media being processed:
+TEXT,TABLE_CSV_OUTPUT,KEY_VALUE_PAIRS_JSON, andDOCUMENT_JSON_FIELDS.Keyword Tagging Component
+ ++
+- This new component performs the same keyword tagging behavior that was previously part of the Tesseract component, but does so on feed-forward tracks that generate detections with
+TEXTandTRANSCRIPTproperties. Refer to the README for details.- In addition to the Tesseract component, keyword tagging behavior has been removed from the Tika Text component and ACS OCR component.
+- Example pipelines have been added to the following components which make use of a final Keyword Tagging component stage:
++
+- Tesseract
+- Tika Text
+- ACS OCR
+- Sphinx
+- ACS Speech
+Optionally Skip Media Inspection
+ ++
+- The Workflow Manager will skip media inspection if all of the required media metadata is provided in the job request. The
+MEDIA_HASHandMIME_TYPEfields are always required. Depending on the media data type, other fields may be required or optional:+
+- Images
++
+- Required:
+FRAME_WIDTH,FRAME_HEIGHT- Optional:
+HORIZONTAL_FLIP,ROTATION- Videos
++
+- Required:
+FRAME_WIDTH,FRAME_HEIGHT,FRAME_COUNT,FPS,DURATION- Optional:
+HORIZONTAL_FLIP,ROTATION- Audio files
++
+- Required:
+DURATIONUpdates
+ ++
+- Update OpenMPF Python SDK exception handling for Python 3. Now instead of raising an
+EnvironmentError, which has been deprecated in Python 3, the SDK will raise anmpf.DetectionErroror allow the underlying exception to be thrown.Bug Fixes
+ ++
+- [#1028] OpenMPF can now properly handle Apple-optimized PNGs, which have a non-standard data chunk named CgBI before the IHDR chunk. The Workflow Manager uses pngdefry to convert the image into a standard PNG for processing. Before this fix, Tika would throw an error when trying to determine the MIME type of the Apple-optimized PNG.
+- [#1130] OpenMPF can now properly handle HEIC images. The Workflow Manager uses libheif to convert the image into a standard PNG for processing. Before this fix, the HEIC image was sometimes falsely identified as a video and the Workflow Manager would fail to count the number of frames.
+- [#1171] The MIME type in the JSON output object is no longer null when there is a frame counting exception.
+- [#1192] When processing videos, the frame count is now obtained from both OpenCV and FFmpeg. The lower of the two is used. If they don't match, a
+FRAME_COUNTwarning is generated. Before this fix, on some videos OpenCV would return frame counts that were magnitudes higher than the frames that could actually be read. This resulted in failing to process many video segments with aBAD_FRAME_SIZEerror.OpenMPF 5.0.9: October 2020
+Bug Fixes
+ ++
+- [#1200] The MPFVideoCapture and MPFImageReader tools now properly handle cropping to frame regions when the region coordinates fall outside of the frame boundary. There was a bug that would result in an OpenCV error. Note that the bug only occurred when cropping was not performed with rotation or flipping.
+OpenMPF 5.0.8: October 2020
+Updates
+ ++
+- The Tesseract component now supports a
+TESSDATA_MODELS_SUBDIRECTORYproperty. The component will look for tessdata files in<MODELS_DIR_PATH>/<TESSDATA_MODELS_SUBDIRECTORY>. This allows users to easily switch betweentessdata,tessdata_best, andtessdata_fastsubdirectories.Bug Fixes
+ ++
+- [#1199] Added missing synchronized to InProgressBatchJobsService, which was resulting in some jobs staying
+IN_PROGRESSindefinitely.OpenMPF 5.0.7: September 2020
+TensorRT Inference Server (TRTIS) Object Detection Component
+ ++
+- This new component detects objects in images and videos by making use of an NVIDIA TensorRT Inference Server (TRTIS), and calculates features that can later be used by other systems to recognize the same object in other media. We provide support for running the server as a separate service during a Docker deployment, but an external server instance can be used instead.
+- By default, the ip_irv2_coco model is supported and will optionally classify detected objects using COCO labels. Additionally, features can be generated for whole frames, automatically-detected object regions, and user-specified regions. Refer to the README.
+OpenMPF 5.0.6: August 2020
+Enable OcvDnnDetection to Annotate Feed-forward Detections
+ ++
+- The OcvDnnDetection component can now by configured to operate only on certain feed-forward detections and annotate them with supplementary information. For example, the following pipeline can be configured to generate detections that have both
+CLASSIFICATIONandCOLORdetection properties:+ +DarknetDetection (person + vehicle) --> OcvDnnDetection (vehicle color) ++
+- For example:
++ +"detectionProperties": { + "CLASSIFICATION": "car", + "CLASSIFICATION CONFIDENCE LIST": "0.397336", + "CLASSIFICATION LIST": "car", + "COLOR": "blue", + "COLOR CONFIDENCE LIST": "0.93507; 0.055744", + "COLOR LIST": "blue; gray" + } ++
+- The OcvDnnDetection component now supports the following properties:
++
+- +
CLASSIFICATION_TYPE: Set this value to change theCLASSIFICATION*part of each output property name to something else. For example, setting it toCOLORwill generateCOLOR,COLOR LIST, andCOLOR CONFIDENCE LIST. When handling feed-foward detections, the pre-existingCLASSIFICATION*properties will be carried over and theCOLOR*properties will be added to the detection.- +
FEED_FORWARD_WHITELIST_FILE: WhenFEED_FORWARD_TYPEis provided and not set toNONE, only feed-forward detections with class names contained in the specified file will be processed. For, example, a file with only "car" in it will result in performing the exclude behavior (below) for all feed-foward detections that do not have aCLASSIFICATIONof "car".- +
FEED_FORWARD_EXCLUDE_BEHAVIOR: Specifies what to do when excluding detections not specified in theFEED_FORWARD_WHITELIST_FILE. Acceptable values are:+
+- +
PASS_THROUGH: Return the excluded detections, without modification, along with any annotated detections.- +
DROP: Don't return the excluded detections. Only return annotated detections.Updates
+ ++
+- Make interop package work with Java 8 to better support exernal job producers and consumers.
+OpenMPF 5.0.5: August 2020
+Updates
+ ++
+- Configure Camel not to auto-acknowledge messages. Users can now see the number of pending messages in the ActiveMQ management console for queues consumed by the Workflow Manager.
+- Improve Tesseract OSD fallback behavior. This prevents selecting the OSD rotation from the fallback pass without the OSD script from the fallback pass.
+OpenMPF 5.0.4: August 2020
+Updates
+ ++
+- Retry job callbacks when they fail. The Workflow Manager now supports the
+http.callback.timeout.msandhttp.callback.retriessystem properties.- Drop "duplicate paged in from cursor" DLQ messages.
+OpenMPF 5.0.3: July 2020
+Updates
+ ++
+- Update ActiveMQ to 5.16.0.
+OpenMPF 5.0.2: July 2020
+Updates
+ ++
- Disable video segmentation for ACS Speech Detection to prevent issues when generating speaker ids.
+OpenMPF 5.0.1: July 2020
Updates
@@ -462,7 +648,7 @@REST Endpoints
- [POST] /rest/actions,[POST] /rest/tasks,[POST] /rest/pipelinesAll of the endpoints above are new with the exception of +[GET] /rest/pipelines. The endpoint has changed since the last version of OpenMPF. Some fields in the response JSON have been removed and renamed. Also, it now returns a collection of tasks for each pipelines. Refer to the REST API.All of the endpoints above are new with the exception of [GET] /rest/pipelines. The endpoint has changed since the last version of OpenMPF. Some fields in the response JSON have been removed and renamed. Also, it now returns a collection of tasks for each pipelines. Refer to the REST API.[GET] /rest/algorithmscan be used to get information about algorithms. Note that algorithms are tied to registered components, so to remove an algorithm you must unregister the associated component. To add an algorithm, start the associated component's Docker container so it self-registers with the Workflow Manager.Incomplete Actions, Tasks, and Pipelines
@@ -590,7 +776,7 @@OpenMPF 4.1.6: April 2020
Updates
-
- Now silently discarding ActiveMQ DLQ "Suppressing duplicate delivery on connection" messages in addition to "duplicate from store" messages.
+- Now silently discarding ActiveMQ DLQ "Suppressing duplicate delivery on connection" messages in addition to "duplicate from store" messages.
OpenMPF 4.1.5: March 2020
Bug Fixes
@@ -760,7 +946,7 @@Late Additions: November 2019
Late Additions: December 2019
-
- Transitioned from using a mySQL persistent database to PostgreSQL to support users that use an external PostgreSQL database in the cloud.
+- Transitioned from using a mySQL persistent database to PostgreSQL to support users that use an external PostgreSQL database in the cloud.
- Updated the EAST component to support a
TEMPORARY_PADDINGandFINAL_PADDINGproperty. The first property determines how much padding is added to detections during the non-maximum suppression or merging step. This padding is effectively removed from the final detections. The second property is used to control the final amount of padding on the output regions. Refer to the README.OpenMPF 4.0.0: February 2019
diff --git a/docs/site/index.html b/docs/site/index.html index 0fdd5e9e6616..8198537435c5 100644 --- a/docs/site/index.html +++ b/docs/site/index.html @@ -322,6 +322,11 @@Overview
Darknet