mv_machine_learning: add new meta file approach 83/283983/9
authorInki Dae <inki.dae@samsung.com>
Tue, 1 Nov 2022 01:42:54 +0000 (10:42 +0900)
committerInki Dae <inki.dae@samsung.com>
Wed, 9 Nov 2022 02:23:51 +0000 (11:23 +0900)
commit089dc019bb01a8a5e1e2553ba1b603bd2228c644
tree5c6a5a508ce49ab9873917960ed711851fda9ce8
parent02961609bb9e5d6e0fab3e32a11be9715b0d4ccf
mv_machine_learning: add new meta file approach

[Version] : 0.25.0-0
[Issue type] : new feature

Add a new meta file approach.

The purpose of this new approach is to drop the Inference class dependency
from existing meta file approach, and instead to move the dependency to
each task framework so that Inference class can focus on only inference
work. As a initial work, this new approach is applied to object detection
3d task framework first, and then later for other task frameworks.

With this new approach, meta file is managed like below,
- Each model has two meta objects, one is for input and other is for output.
- Each meta object has its own decoding_info object which includes
  decoding_info objects for preprocess or postprocess according to
  a given meta object - input meta or output meta object.
- Introduce MetaParser class which is a base class to parse tensor
  and preprocess information from a given meta file, and its derived class
  to each task framework, which parses only postprocess node.
  MetaParser class is used commonly for all task frameworks, and
  each task framework has to implement the derivied class which has
  only one virtual function to parse postprocess node specific to each
  task framework.

On top of this patch, I will do code refactoring to other task frameworks.
And finally, existing old one will be dropped after the completion of the code
refactoring.

Change-Id: I0932024d16bf3275f8f1d25449a461f4fe362265
Signed-off-by: Inki Dae <inki.dae@samsung.com>
18 files changed:
mv_machine_learning/face_recognition/CMakeLists.txt
mv_machine_learning/inference/CMakeLists.txt
mv_machine_learning/inference/include/Inference.h
mv_machine_learning/inference/src/Inference.cpp
mv_machine_learning/meta/include/MetaParser.h [new file with mode: 0644]
mv_machine_learning/meta/include/Preprocess.h [new file with mode: 0644]
mv_machine_learning/meta/include/common.h [new file with mode: 0644]
mv_machine_learning/meta/include/types.h [new file with mode: 0644]
mv_machine_learning/meta/src/MetaParser.cpp [new file with mode: 0644]
mv_machine_learning/meta/src/Preprocess.cpp [new file with mode: 0644]
mv_machine_learning/object_detection/CMakeLists.txt
mv_machine_learning/object_detection/include/ObjectDetectionParser.h [new file with mode: 0644]
mv_machine_learning/object_detection/include/object_detection.h
mv_machine_learning/object_detection/include/objectron.h
mv_machine_learning/object_detection/src/ObjectDetectionParser.cpp [new file with mode: 0644]
mv_machine_learning/object_detection/src/object_detection.cpp
mv_machine_learning/object_detection/src/objectron.cpp
packaging/capi-media-vision.spec