platform/core/api/mediavision.git
10 months agoMerge branch 'tizen_devel' into tizen accepted/tizen_unified_dev accepted/tizen/unified/20230705.063747 accepted/tizen/unified/dev/20230726.115619
Kwanghoon Son [Tue, 4 Jul 2023 05:15:14 +0000 (14:15 +0900)]
Merge branch 'tizen_devel' into tizen

[Version] 0.28.7

Inki Dae (13):
  mv_machine_learning: add async API for object detection task group
  mv_machine_learning: move async relevant code into behavior class
  test: add mobilenet_v2_ssd model support for async API test
  mv_machine_learning: drop *open.cpp files from task groups
  mv_machine_learning: add async API for face detection task group
  mv_machine_learning: drop redundant function declarations
  mv_machine_learning: update authors
  mv_machine_learning: use enum class instead of enum
  mv_machine_learning: introduce a new internal API for face recognition
  mv_machine_learning: drop Mediavision dependency from object detection
    adapter
  mv_machine_learning: introduce IObjectDetection class
  mv_machine_learning: pack header files for plugin support
  mv_machine_learning: introduce ObjectDetectionExternal class

Kwanghoon Son (2):
  mv_machine_learning: Fix members initialize
  Fix Tizen version 7.5 to 8.0

sangho park (2):
  visualizer : fix memory leak issue
  Revert a mis-synced devel patch

Change-Id: I46bfe4414446b5483f43ff5a2f08d6fbc82e6d69

10 months agomv_machine_learning: introduce ObjectDetectionExternal class
Inki Dae [Mon, 12 Jun 2023 08:16:36 +0000 (17:16 +0900)]
mv_machine_learning: introduce ObjectDetectionExternal class

[Issue type] : new feature

Introduce ObjectDetectionExternal class which loads, unloads and manages
external plugin module provided as separate package.

If model name is given as "od_plugin" then object detection task group
will bind external plugin module and use it through ObjectDetectionExternal
class instead of internal behavior class, ObjectDetetion class.

Change-Id: If73ef7bb24e011b4375850100186f7a952ffca99
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: pack header files for plugin support
Inki Dae [Mon, 12 Jun 2023 02:28:52 +0000 (11:28 +0900)]
mv_machine_learning: pack header files for plugin support

[Issue type] : add header

Pack header files for supporting object detection plugin module.

According to plugin support requirement, behavior class of itask
can be implemented as separate package. As a initial support,
this patch packs object detection relevant headers which are needed
by separate plugin module when building.

Change-Id: I2c594440a63877420d4aef44573ebeffab3c5a1f
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: introduce IObjectDetection class
Inki Dae [Fri, 9 Jun 2023 07:40:40 +0000 (16:40 +0900)]
mv_machine_learning: introduce IObjectDetection class

[Issue type] : new feature

Introduce IObjectDetection class which needs to support plugin base behavior
class. With this patch, the internal behavior class, ObjectDetection,
is derived from IObjectDetection.

On top of this patch, I will introduce a wrapper class derived from
IObjectDetection again. The wrapper class will be used to deploy plugin based
behavior class using dlsym function.

Change-Id: I0d66ceab010e66fab6d45bb8e55a042f9f9a1403
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: drop Mediavision dependency from object detection adapter
Inki Dae [Fri, 9 Jun 2023 00:59:11 +0000 (09:59 +0900)]
mv_machine_learning: drop Mediavision dependency from object detection adapter

[Issue type] code refactoring

Drop Mediavision dependency from adapter class of object detection task
group. There is a use case that pre-trained model file is used in private.
Therefore, the model relevant code cannot be opened. And even such users want
to configure the inference or training engines in their way.

In this case, we need to manage it properly by providing plugin approach of
behavior class. And this patch is a first step for supporting plugin based
behavior class which can be delivered as separate package.

Change-Id: I1549e862ed35bf467b2b99e8364b2390e69fe2b0
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: introduce a new internal API for face recognition
Inki Dae [Tue, 23 May 2023 05:31:08 +0000 (14:31 +0900)]
mv_machine_learning: introduce a new internal API for face recognition

[Issue type] : new feature

Introduce new internal API - mv_face_recognition_get_confidence - for
face recognition task group, which provides raw tensor data to user.

Change-Id: I49b61dce7c97b00a16b7f1c49e0a2b96a4a17d2f
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agoRevert a mis-synced devel patch
sangho park [Mon, 22 May 2023 09:00:52 +0000 (18:00 +0900)]
Revert a mis-synced devel patch

[Version] 0.28.7
[Issue type] Fix

'mv3d: add new vector type' should be merged in M2

Change-Id: Ib25794d6b00d9760a5c7046547a226de221fc2f7
Signed-off-by: sangho park <sangho.g.park@samsung.com>
10 months agoFix Tizen version 7.5 to 8.0
Kwanghoon Son [Mon, 22 May 2023 03:57:29 +0000 (12:57 +0900)]
Fix Tizen version 7.5 to 8.0

Change-Id: I402983dbe9509106342772030270fac3feb1d836
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
10 months agomv_machine_learning: Fix members initialize
Kwanghoon Son [Wed, 10 May 2023 04:08:36 +0000 (13:08 +0900)]
mv_machine_learning: Fix members initialize

[Version] 0.28.6
[Issue type] Fix

WGID 540948 warn about members aren't initialized.

Change-Id: I20bc22bfc07a6378e912d43048439573169c974b
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
10 months agovisualizer : fix memory leak issue
sangho park [Tue, 9 May 2023 04:47:51 +0000 (13:47 +0900)]
visualizer : fix memory leak issue

[Version] : 0.28.5
[Issue type] : bug fix

generated texture must be deleted

Change-Id: I15187215561de4a0d7dfc7ec8d973ee47a1ccaf5
Signed-off-by: sangho park <sangho.g.park@samsung.com>
10 months agomv_machine_learning: use enum class instead of enum
Inki Dae [Thu, 18 May 2023 00:32:25 +0000 (09:32 +0900)]
mv_machine_learning: use enum class instead of enum

[Issue type] : code cleanup

Use enum class instead of enum - 'enum status' to 'enum class WorkingStatus'
and 'enum mode' to 'enum class RequestMode'. In addition, it moves facenet
input and output structures to facenet.h file from face_recognition_type.h
which is a header file common to face recognition and facenet.

Change-Id: Ibb1d285f3c2bacce6099d1d3930ad0f1a41ea6b8
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: update authors
Inki Dae [Wed, 17 May 2023 02:32:50 +0000 (11:32 +0900)]
mv_machine_learning: update authors

[Issue type] : Author file update

Change-Id: Ib939ba0fc9e51166ff23ef5963e74d010208801d
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: drop redundant function declarations
Inki Dae [Tue, 16 May 2023 09:25:53 +0000 (18:25 +0900)]
mv_machine_learning: drop redundant function declarations

[Issue type] : code cleanup

Drop redundant function declarations - updateResult.

Change-Id: I5fefea1881effe329457ba7f4018aebdf986d0c6
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: add async API for face detection task group
Inki Dae [Fri, 12 May 2023 07:23:53 +0000 (16:23 +0900)]
mv_machine_learning: add async API for face detection task group

[Issue type] : new feature

Add async API support for face detection task group.

For async API support, it implements '_incoming_queue' to store
input tensors requested by user and '_outgoing_queue' to retrieve
the final result after decoding the inference results obtained
by processing each input tensor from the '_incoming_queue'.

When a user requests the result, the final result is retrieved from
'_outgoing_queue' and stored in '_current_result' for consistency
because user can use two more native API to get the result, which
is maintained until the next inference request is made.

In default, async API has frame skip behavior if previous request is being
performed. And which in turn, it minimizes time delay between input frame
and inference result. There is no longer a need to perform complex tasks
in application code to reduce the time delay with this patch.

Change-Id: If46e7f9a3a8e5ffbe564cea0439ff3dfe762e6c9
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: drop *open.cpp files from task groups
Inki Dae [Thu, 11 May 2023 02:07:58 +0000 (11:07 +0900)]
mv_machine_learning: drop *open.cpp files from task groups

[Issue type] : code cleanup

Drop all *open.cpp files from task groups, which provide just wrapper functions.
Unnecessary code and code duplication.

Change-Id: I021cc16893c405b7425c6d92b1bba646d640cc46
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agotest: add mobilenet_v2_ssd model support for async API test
Inki Dae [Wed, 10 May 2023 07:18:09 +0000 (16:18 +0900)]
test: add mobilenet_v2_ssd model support for async API test

Change-Id: I8bcdf077ccae6df8b7ff2e7da0b6b815acd215e6
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: move async relevant code into behavior class
Inki Dae [Wed, 10 May 2023 02:25:07 +0000 (11:25 +0900)]
mv_machine_learning: move async relevant code into behavior class

[Issue type] : code cleanup

Move async relevant code into behavior class - ObjectDetection - from
adapter class - ObjectDetectionAdapter. By doing this,
we can reduce code duplication because we don't have to implement
behavior logic respectively according to data type.

Change-Id: Ifc193152859736ae146eb47e3a46d3ec39ee98d8
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: add async API for object detection task group
Inki Dae [Fri, 28 Apr 2023 04:07:15 +0000 (13:07 +0900)]
mv_machine_learning: add async API for object detection task group

[Issue type] : new feature

Add async API support for object detection task group.

For async API support, it implements '_incoming_queue' to store
input tensors requested by user and '_outgoing_queue' to retrieve
the final result after decoding the inference results obtained
by processing each input tensor from the '_incoming_queue'.

When a user requests the result, the final result is retrieved from
'_outgoing_queue' and stored in '_current_result' for consistency
because user can use two more native API to get the result, which
is maintained until the next inference request is made.

In default, async API has frame skip behavior if previous request is being
performed. And which in turn, it minimizes time delay between input frame
and inference result. There is no longer a need to perform complex tasks
in application code to reduce the time delay with this patch.

Change-Id: Ia6367afbe421de9b90a483fd47e5da64cfb783b9
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agoFixed the build error using gcc 13 08/295008/1
wchang kim [Thu, 29 Jun 2023 21:16:37 +0000 (06:16 +0900)]
Fixed the build error using gcc 13

Change-Id: I44728aad6cd9391e6ec521f035a342bd2ec33f9e

10 months agoMerge branch 'tizen_devel' into tizen accepted/tizen/unified/20230629.132048
Kwanghoon Son [Wed, 28 Jun 2023 09:52:06 +0000 (18:52 +0900)]
Merge branch 'tizen_devel' into tizen

[Version] 0.28.5

Inki Dae (5):
  mv_machine_learning: drop MV_INFERENCE_TARGET_TYPE definition
  mv_machine_learning: change model path for new task group API
  mv_machine_learning: add pose landmark task API
  test: correct install directory to resource files
  mv_machine_learning: use raw data type instead of mv_source_h

Kwanghoon Son (3):
  Remove unused variable
  Move unittest script
  lcov exclude roi_tracker and surveillance

sangho park (2):
  mv3d: add new vector type
  mv_3d: Add lcov exclude statements for internal

Change-Id: I366110c6fcdab426786b5068b06e8673626b0c2c
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
10 months agomv_machine_learning: use raw data type instead of mv_source_h
Inki Dae [Wed, 3 May 2023 05:07:30 +0000 (14:07 +0900)]
mv_machine_learning: use raw data type instead of mv_source_h

[Issue type] : code refactoring

Use raw data type instead of mv_source. This patch makes Inference class
to use raw data type instead of mv_source_h as input data to perform
a requested inference. mv_source_h is a wrapper of raw buffer which
contains image data so we don't have to use mv_source_h after preprocessing.

Until now, Inference class did preprocessing work before performing an
inference with a given input image. However, preprocessing work is a step that
it can be used commonly for other core modules of Mediavision. Therefore,
it separates the preprocessing step from Inference class by using a new
run member function - the run member function needs raw tensor data.

With this patch, the preliminary work for supporting the async API is completed.

Change-Id: Ieddb3945e564645faf2abd1d93d936012e6f0d86
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agolcov exclude roi_tracker and surveillance
Kwanghoon Son [Thu, 27 Apr 2023 04:08:27 +0000 (13:08 +0900)]
lcov exclude roi_tracker and surveillance

Change-Id: I9a6f425bdfdaed6ca9e21a69e1935afa2f8dc57b
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
10 months agomv_3d: Add lcov exclude statements for internal
sangho park [Thu, 27 Apr 2023 02:23:36 +0000 (11:23 +0900)]
mv_3d: Add lcov exclude statements for internal

[Version] 0.28.4
[Issue type] lcov

Block internal APIs

Change-Id: Id96147a86a1875aea78212fe0a73f513ce0f3358
Signed-off-by: sangho park <sangho.g.park@samsung.com>
10 months agomv3d: add new vector type
sangho park [Mon, 24 Apr 2023 05:22:11 +0000 (14:22 +0900)]
mv3d: add new vector type

[Issue type] : new feature

Add new vector type for 3D and Plane equation

Change-Id: I5bd1145585226d1da0be0379f4e55424395d66ad
Signed-off-by: sangho park <sangho.g.park@samsung.com>
10 months agotest: correct install directory to resource files
Inki Dae [Tue, 25 Apr 2023 05:12:17 +0000 (14:12 +0900)]
test: correct install directory to resource files

[Issue type] : bug fix

Change-Id: I04efbe5405d71fec466dc2814134fe8425a3e0b2
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: add pose landmark task API
Inki Dae [Mon, 24 Apr 2023 04:06:23 +0000 (13:06 +0900)]
mv_machine_learning: add pose landmark task API

[Issue type] : new feature

Add pose landmark task API.

Pose landmark is one of landmark task groups. Therefore,
pose landmark task API is implemented in landmark task group
directory but provides separate task API.

As a initial model support for pose landmark, this patch implements
the CPM(Convolutional Pose Machines) model.

Change-Id: Ic55b673619c04873abb496b6670d15ebc79a9f62
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agoMove unittest script
Kwanghoon Son [Tue, 25 Apr 2023 08:03:03 +0000 (17:03 +0900)]
Move unittest script

It was generated in the spec file, so it was difficult
to know the actual result and track, so move it to file.

Change-Id: I5cbd5e5d70bd049484b5205984709377de5ffd3f
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
10 months agoRemove unused variable
Kwanghoon Son [Tue, 25 Apr 2023 05:40:49 +0000 (14:40 +0900)]
Remove unused variable

Change-Id: I42985738ddb46fbc67148227a7ab1e9911de8e10
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
10 months agomv_machine_learning: change model path for new task group API
Inki Dae [Wed, 12 Apr 2023 08:19:50 +0000 (17:19 +0900)]
mv_machine_learning: change model path for new task group API

[Issue type] : code cleanup

Changed default model path for new task group API.

We have introduced rpk package to release model relevant resource files
for each task group so the model files will be installed to different
path.

Change-Id: I70bfdb217a02c6ca2b5816d63f0ba84157ba3cb2
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: drop MV_INFERENCE_TARGET_TYPE definition
Inki Dae [Mon, 8 May 2023 02:41:15 +0000 (11:41 +0900)]
mv_machine_learning: drop MV_INFERENCE_TARGET_TYPE definition

[Issue type] : code cleanup
[Version] : 0.28.3

Drop MV_INFERENCE_TARGET_TYPE definition. This definition had been deprecated
two years ago so we don't have to keep this one. Instead of it, new definition
, MV_INFERENCE_TARGET_DEVICE_TYPE is used.

Change-Id: I8f9d3f96e87ea256d6ad9f3df59ca0726156644d
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agoMerge branch 'tizen_devel' into tizen accepted/tizen/unified/20230628.155148
Kwanghoon Son [Wed, 14 Jun 2023 02:15:11 +0000 (11:15 +0900)]
Merge branch 'tizen_devel' into tizen

[Version] 0.28.04

Inki Dae (3):
  mv_machine_learning: change model path for new task group API
  mv_machine_learning: include missed header files
  mv_machine_learning: add landmark detection task group

Kwanghoon Son (1):
  Apply clang-format on hpp file

Tae-Young Chung (2):
  mv_3d: bug fix in mv_depth_test_suite and minor changes
  mv_3d: fix bug which gives a base source regardless formats when
    mv_3d_run() invokes callback

Change-Id: I00fab971c683a887e51c34a09d9dbd3ada526779

10 months agomv_machine_learning: add landmark detection task group
Inki Dae [Thu, 13 Apr 2023 08:08:37 +0000 (17:08 +0900)]
mv_machine_learning: add landmark detection task group

[Issue type] : new feature

Add landmark detection task group support.

Landmark detection task group consists of facial landmark and
pose estimation detection task groups internally, and also provides
native API set for each task group.

As initial implemention, this patch adds facial landmark detection task
group API, which uses fld tweak cnn model.

Change-Id: I021bb3e2a3b23edbc7da2805178872ba60c1d0e4
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: include missed header files
Inki Dae [Thu, 13 Apr 2023 05:03:47 +0000 (14:03 +0900)]
mv_machine_learning: include missed header files

[Issue type] : bug fix

Included missed face detection header files.

Face detection task is included in object detection task group
so install the face detection header files also when the object detection
task group is installed.

Change-Id: Ia96e186cee614e35fc3eae4d325a372e075ac839
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agomv_machine_learning: change model path for new task group API
Inki Dae [Wed, 12 Apr 2023 08:19:50 +0000 (17:19 +0900)]
mv_machine_learning: change model path for new task group API

[Issue type] : code cleanup

Changed default model path for new task group API.

We have introduced rpk package to release model relevant resource files
for each task group so the model files will be installed to different
path.

Change-Id: I70bfdb217a02c6ca2b5816d63f0ba84157ba3cb2
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 months agoApply clang-format on hpp file
Kwanghoon Son [Tue, 11 Apr 2023 04:46:29 +0000 (13:46 +0900)]
Apply clang-format on hpp file

Change-Id: Ifd5e02241fcd3aa044a6cb343e10128c490a14d3
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
10 months agomv_3d: fix bug which gives a base source regardless formats when mv_3d_run() invokes...
Tae-Young Chung [Mon, 24 Apr 2023 07:05:29 +0000 (16:05 +0900)]
mv_3d: fix bug which gives a base source regardless formats when mv_3d_run() invokes callback

[Version] 0.28.2
[Issue type] bug fix

in case of side-by-side or top-bottom stereo format is given as a base
source, the only left should be invoked with a callback.

Change-Id: I568df71fc8e20780fd612bdabf2978f1546e65c6
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
10 months agomv_3d: bug fix in mv_depth_test_suite and minor changes
Tae-Young Chung [Mon, 24 Apr 2023 05:56:39 +0000 (14:56 +0900)]
mv_3d: bug fix in mv_depth_test_suite and minor changes

[Version] 0.28.1
[Issue type] bug fix and update

if remote_url isn't given, it throws "an instance of 'std::logic_error'
" with "basic_string::_M_construct null not valid" message. That bug is
fixed. In addition, new command menu is added to select three types stereo formats.

Change-Id: I1fc444bead38dde47754b710a24b31c5d4c85cbe
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
10 months agoAdd {get/set}_{priv_}timestamp 98/293798/3 accepted/tizen/unified/20230608.164349
Kwanghoon Son [Mon, 10 Apr 2023 05:25:45 +0000 (14:25 +0900)]
Add {get/set}_{priv_}timestamp

[Version] 0.28.3
[Issue type] New

mv_source needs timestamp data.
Also put private timestamp data for extension.

Change-Id: I17436fdae2f475f3ad8ab8b359befa8393b8f4d7
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
11 months agoChange tizen version 7.5 to 8.0 55/293555/1 accepted/tizen/unified/20230605.170331
Kwanghoon Son [Wed, 31 May 2023 07:30:11 +0000 (16:30 +0900)]
Change tizen version 7.5 to 8.0

[Version] 0.28.2

Change-Id: Ie548bd295c0b3fdd6d70377193da1e6e503e5040
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
11 months agofix API break 17/293217/3 accepted/tizen/unified/20230528.171039
sangho park [Tue, 23 May 2023 02:02:01 +0000 (11:02 +0900)]
fix API break

[Version] 0.28.1
[Issue type] Fix

Revert api break code in previous commit
commit-id : 7b12e17515d7844448b5a84756bffcaa0e72dcdd

Change-Id: I395b628db5d1572290a3c9ac3e3d6f0867352b92
Signed-off-by: sangho park <sangho.g.park@samsung.com>
12 months agoMerge "Fix invalid qrcode attribute" into tizen accepted/tizen/unified/20230428.155053
kwang son [Mon, 24 Apr 2023 07:02:44 +0000 (07:02 +0000)]
Merge "Fix invalid qrcode attribute" into tizen

12 months agoMerge "Fix false LOGE to proper log level" into tizen
kwang son [Mon, 24 Apr 2023 07:02:34 +0000 (07:02 +0000)]
Merge "Fix false LOGE to proper log level" into tizen

12 months agoFix invalid qrcode attribute 55/291555/3
Kwanghoon Son [Tue, 18 Apr 2023 08:05:07 +0000 (17:05 +0900)]
Fix invalid qrcode attribute

mv_barcode_generate_attr_shape_e for
MV_BARCODE_GENERATE_ATTR_SHAPE_ROUND_RECT should failed to generate.

Change-Id: I9ba27b74910d62bde2fdb757198c11920a5d338b
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
12 months agomv_machine_learning: deprecate armnn backend type 70/291370/4
Inki Dae [Fri, 14 Apr 2023 02:08:19 +0000 (11:08 +0900)]
mv_machine_learning: deprecate armnn backend type

[Version] : 0.28.0
[Issue type] : deprecation

Deprecated ARMNN backend type because not used anymore.

Change-Id: I5eca183df6f74b302fa496368f53dcbdf3d0eb28
Signed-off-by: Inki Dae <inki.dae@samsung.com>
12 months agomv_3d: bug fix 54/291554/1
sangho park [Tue, 18 Apr 2023 07:58:23 +0000 (16:58 +0900)]
mv_3d: bug fix

[Version] : 0.27.14
[Issue type] : bug fix

fix bug for no-stride Y800 image

Change-Id: I6c6671af36303fbf2134b3192cc77d244bbb983a
Signed-off-by: sangho park <sangho.g.park@samsung.com>
12 months agoFix false LOGE to proper log level 52/291452/2
Kwanghoon Son [Mon, 17 Apr 2023 05:53:50 +0000 (14:53 +0900)]
Fix false LOGE to proper log level

Change-Id: I61000853c56f03d6789480567c037960b45a131b
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
12 months agoChange test resource path to owner media 92/291392/2 accepted/tizen/unified/20230420.041535
Kwanghoon Son [Fri, 14 Apr 2023 07:27:15 +0000 (16:27 +0900)]
Change test resource path to owner media

Change resource path /usr/share/capi-media-vision/ to
/opt/usr/home/owner/media/Others/mv_test/.

The problem is that the resource is stored in the location
where the root authority is required, so it's not working
during auto-coverage(user-mode).

Change-Id: Ibfbc8a3fd8d75af8ba75203bb2841795afd04e42
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
12 months agomv_3d: bug fix 08/291308/3
Inki Dae [Thu, 13 Apr 2023 05:44:39 +0000 (14:44 +0900)]
mv_3d: bug fix

[Version] : 0.27.12
[Issue type] : bug fix

Packed missed mv_3d.h file and cleaned up spec file.

Change-Id: Ie2a4c3e6db1c514c4c806112f3a289742edc1de9
Signed-off-by: Inki Dae <inki.dae@samsung.com>
12 months agoCheck std::remove return 91/291091/2 accepted/tizen/unified/20230411.161303
Kwanghoon Son [Mon, 10 Apr 2023 00:23:56 +0000 (09:23 +0900)]
Check std::remove return

Coverity reports 1667814 Unchecked return value from library

Change-Id: I93f661373195ad50ebd4fab5dd4d65e26cc04d3e
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
13 months agoMerge branch 'tizen_devel' into tizen
Kwanghoon Son [Fri, 7 Apr 2023 08:53:37 +0000 (17:53 +0900)]
Merge branch 'tizen_devel' into tizen

[Version] 0.27.11

Inki Dae (6):
  mv_machine_learning: add task group build option
  make capi-media-vision.pc file correctly
  install header files correctly
  code clean to build script and spec files
  mv_machine_learning: drop dead code
  mv_machine_learning: add face detection api support

Kwanghoon Son (7):
  Change MediaSource structure
  Fix format unref and media packet test
  Add shallow copy for media source
  Remove redundant mv3d test
  Add camera packet test
  Add getWidthStride
  Add multiplanar test

Change-Id: I091a56009387cf7de84c5b8348c471e953cb08fd
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
13 months agoAdd multiplanar test
Kwanghoon Son [Thu, 6 Apr 2023 04:48:20 +0000 (13:48 +0900)]
Add multiplanar test

Change-Id: Ifbef5934e6661d07ee1042ed4ddaab4dba3bb939
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
13 months agoAdd getWidthStride
Kwanghoon Son [Mon, 3 Apr 2023 08:02:07 +0000 (17:02 +0900)]
Add getWidthStride

add function and convert memcpy method in order for mv3d to process images with stride

Change-Id: I52a33209cfa74bebcc3e098ad0a24fdf7f3172d6
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
13 months agomv_machine_learning: add face detection api support
Inki Dae [Thu, 30 Mar 2023 08:14:42 +0000 (17:14 +0900)]
mv_machine_learning: add face detection api support

[Issue type] : new feature

Added face detection api support to object detection task group.

Models for face detection same as the ones for object detection.
Only difference between them is label data - face detection model
has a fixed label as "face" so this patch adds face detection API
implementation and its adapter class to object detection task group,
and it makes face detection adapter to share object detection class
and its child classes.

Change-Id: I32eb823e75deac84446316308ccd36ec396b1d7c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agoAdd camera packet test
Kwanghoon Son [Fri, 31 Mar 2023 04:23:04 +0000 (13:23 +0900)]
Add camera packet test

Change-Id: Ie638e8abade419e5b55988549d23650a7c2ca16a
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
13 months agoRemove redundant mv3d test
Kwanghoon Son [Wed, 29 Mar 2023 05:57:59 +0000 (14:57 +0900)]
Remove redundant mv3d test

Change-Id: Idbf8832b364bd0a5d21d0a6dd10073ffedd5458b
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
13 months agoAdd shallow copy for media source
Kwanghoon Son [Tue, 28 Mar 2023 05:59:39 +0000 (14:59 +0900)]
Add shallow copy for media source

- Has media_packet_h for ref count
- zero copy for mv_source_fill_by_media_packet_c

Change-Id: I7c98e89e0eaeef934a67f9b499d0d47983fe04d7
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
13 months agomv_machine_learning: drop dead code
Inki Dae [Mon, 27 Mar 2023 08:31:54 +0000 (17:31 +0900)]
mv_machine_learning: drop dead code

[Issue type] : code cleanup

Change-Id: I79ff20ea558b23f9e0dd52cef37c473bc248ee59
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agoChange MediaSource structure
Kwanghoon Son [Fri, 24 Mar 2023 01:29:04 +0000 (10:29 +0900)]
Change MediaSource structure

- New struct plane
- Change member variable naming
- Remove unnecessary logd

Change-Id: Ibf545039a125894a104a3fb34edebe39798847f7
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
13 months agocode clean to build script and spec files
Inki Dae [Mon, 27 Mar 2023 00:41:10 +0000 (09:41 +0900)]
code clean to build script and spec files

[Issue type] : code clean

Reoarranged build script code in order ofrecently added features and
fixed spec file that only enabled feature test binaries can be tested.

Change-Id: Ifa161bdef9445dc22096544de24c8df7dab37ca7
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agoinstall header files correctly
Inki Dae [Wed, 22 Mar 2023 06:45:51 +0000 (15:45 +0900)]
install header files correctly

[Issue type] : code cleanup

Do not install all header files at once but install only header files
that relevant feature is enabled. And move relevant script code to each
feature directory.

Change-Id: Ibef004115b2acf290e75ade45d9830f27995a605
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agomake capi-media-vision.pc file correctly
Inki Dae [Tue, 21 Mar 2023 10:58:57 +0000 (19:58 +0900)]
make capi-media-vision.pc file correctly

[Issue type] : code cleanup

capi-media-vision.pc file should provide a list to installed packages and
linked libraries correctly.

Without this patch, packages and libraries can be added in capi-media-vision.pc
file even though they aren't enabled. This is definitely a bug.

So this patch makes sure only enabled packages and libraries are added
to the pc file correctly.

Change-Id: Ic2906558637d13905d620e89b75ae089e5caf6ed
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agomv_machine_learning: add task group build option
Inki Dae [Tue, 21 Mar 2023 06:33:45 +0000 (15:33 +0900)]
mv_machine_learning: add task group build option

Change-Id: Icf6ff8816ea7836c7a551a21c5005b4fb343ed1f
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agomv_machine_learning: check if header is valid or not 79/290479/3
Inki Dae [Mon, 27 Mar 2023 08:01:36 +0000 (17:01 +0900)]
mv_machine_learning: check if header is valid or not

[Version] : 0.27.10
[Issue type] : bug fix

Checked if feature vector header is valid or not after reading the feature
vector file. This will fix svace issue, TAINTED_INT.PTR.

Change-Id: I213a52b235468258e4708e38cbc2d800900d0fff
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agoFix format unref and media packet test 08/290308/2
Kwanghoon Son [Wed, 22 Mar 2023 05:01:59 +0000 (14:01 +0900)]
Fix format unref and media packet test

[Issue type] fix
[Version] 0.27.9

Change-Id: Ifa13a2d3745d554c795f5659bc58a30c695917bf
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
13 months agoMerge branch 'tizen_devel' into tizen sandbox/zero_copy
Kwanghoon Son [Wed, 22 Mar 2023 04:10:20 +0000 (13:10 +0900)]
Merge branch 'tizen_devel' into tizen

[Version] 0.27.8

Inki Dae (5):
  mv_machine_learning: add mobilenet v2 ssd model support
  mv_machine_learning: introduce setTaskType interface
  mv_machine_learning: introduce engine configuration task API
  mv_machine_learning: introduce engine configuration api for object
    detection
  mv_machine_learning: introduce engine configuration API for object
    detection 3d

Kwanghoon Son (1):
  Add more designQR test case

Change-Id: I3ccb4dc75163f86cb69a9b09a2a7b61f7f85bd33
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
13 months agomv_machine_learning: introduce engine configuration API for object detection 3d
Inki Dae [Mon, 20 Mar 2023 09:29:25 +0000 (18:29 +0900)]
mv_machine_learning: introduce engine configuration API for object detection 3d

[Issue type] : new feature

Introduced inference engine configuration task API, which allows user to
set user desired inference engine and its device type for inference
request. Regarding this, this patch adds below itask interfaces,
- setEngineInfo
      . Set user desired inference engine and its device type.
    - getNumberOfEngine
      . Get how many inference engines are available for a given task API.
    - getEngineType
      . Get inference engine type to a given index.
    - getNumberOfDevice
      . Get how many device types are available for a given inference engine.
    - getDeviceType
      . Get device type with a given index.

Change-Id: Ic9b1835d0f0024c3b005f905f7bc824bdf956206
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agomv_machine_learning: introduce engine configuration api for object detection
Inki Dae [Fri, 17 Mar 2023 02:20:59 +0000 (11:20 +0900)]
mv_machine_learning: introduce engine configuration api for object detection

[Issue type] : new feature

Introduced inference engine configuration task API, which allows user to
set user desired inference engine and its device type for inference
request. Regarding this, this patch adds below itask interfaces,
- setEngineInfo
      . Set user desired inference engine and its device type.
    - getNumberOfEngine
      . Get how many inference engines are available for a given task API.
    - getEngineType
      . Get inference engine type to a given index.
    - getNumberOfDevice
      . Get how many device types are available for a given inference engine.
    - getDeviceType
      . Get device type with a given index.

Object detection task group supports for various concrete classes which
have specific decoders so strategy pattern is used to change each
concrete class object corresponding to a given model type in runtime.

Change-Id: I91c9b75061fb6019eda8984446906417f2da116f
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agomv_machine_learning: introduce engine configuration task API
Inki Dae [Mon, 13 Mar 2023 03:07:54 +0000 (12:07 +0900)]
mv_machine_learning: introduce engine configuration task API

[Issue type] : new feature

Introduced inference engine configuration task API, which allows user to
set user desired inference engine and its device type for inference
request. Regarding this, this patch adds below itask interfaces,
- setEngineInfo
  . Set user desired inference engine and its device type.
- getNumberOfEngine
  . Get how many inference engines are available for a given task API.
- getEngineType
  . Get inference engine type to a given index.
- getNumberOfDevice
  . Get how many device types are available for a given inference engine.
- getDeviceType
  . Get device type with a given index.

And as an actual task API implementation, this patch introduces
inference engine configuration API for image classification task group.

Change-Id: I8c8a161ea83e851d120bc04290323f2f15103da8
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agomv_machine_learning: introduce setTaskType interface
Inki Dae [Thu, 9 Mar 2023 08:43:25 +0000 (17:43 +0900)]
mv_machine_learning: introduce setTaskType interface

[Issue type] : new feature

Added setTaskType interface to let each task group to know specific
task type for parsing model specific meta data such as anchor
in case of object detection group.

With this interface, finally, we can move model specific code from
PostprocessParser class to each task group.

Change-Id: Ib93dfa20a55ca9ffae6ef7097e34973104be4a7d
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agomv_machine_learning: add mobilenet v2 ssd model support
Inki Dae [Thu, 9 Mar 2023 05:31:55 +0000 (14:31 +0900)]
mv_machine_learning: add mobilenet v2 ssd model support

[Issue type] : new feature

Added mobilenet v2 ssd model support for object detection task group.

Change-Id: If26a33c889e9e2ae9ef91d08174b254aae57def6
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agoAdd more designQR test case
Kwanghoon Son [Mon, 6 Mar 2023 04:42:02 +0000 (13:42 +0900)]
Add more designQR test case

Change-Id: Ief4103fd4e0fec1c30ddb18253c9eb929d864fc0
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
13 months agopackaging: test task group test case 48/290248/3
Inki Dae [Wed, 22 Mar 2023 02:29:50 +0000 (11:29 +0900)]
packaging: test task group test case

Version : 0.27.7
Issue type : new feature

Change-Id: Ib3f9c9dc18d151e8d6e359a408aa50e2f0e1a614
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agoChange unit test script 66/290166/1
Kwanghoon Son [Tue, 21 Mar 2023 05:01:00 +0000 (14:01 +0900)]
Change unit test script

Change-Id: I0412b6bb3fa29a7fbb142d0332f2f3bd66c875a3
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
13 months agomv_machine_learning: fix coverity issues 51/289951/1 accepted/tizen/unified/20230316.174023
Inki Dae [Thu, 16 Mar 2023 04:39:47 +0000 (13:39 +0900)]
mv_machine_learning: fix coverity issues

[Version] : 0.27.5
[Issue type] : bug fix

Fixed coverity issues, DIVIDE_BY_ZERO.

Change-Id: I87311ac7c527ae6ac8d54ef5433b5b591bf6daf3
Signed-off-by: Inki Dae <inki.dae@samsung.com>
13 months agomv_machine_learning: fix svace issues 40/289940/2
Inki Dae [Thu, 16 Mar 2023 01:54:50 +0000 (10:54 +0900)]
mv_machine_learning: fix svace issues

[Version] : 0.27.4
[Issue type] : bug fix

Fixed svace issues, SIGN_EXTENSION.
write function of std::ofstream class and read function
of std::ifstream class need streamsize type as the type of
second parameter so cast existing size_t type to streamsize one.

Change-Id: I54ea59aa9935500242ca7423859a5d158b3743d9
Signed-off-by: Inki Dae <inki.dae@samsung.com>
14 months agoMerge branch 'tizen_devel' into tizen accepted/tizen/unified/20230303.162803
Kwanghoon Son [Fri, 3 Mar 2023 08:12:48 +0000 (17:12 +0900)]
Merge branch 'tizen_devel' into tizen

[Version] 0.27.3

Inki Dae (8):
  mv_machine_learning: code refactoring to object detection task group
  mv_machine_learning: rename 'output' to 'tensor'
  mv_machine_learning: rename 'getResult()' to 'result()'
  mv_machine_learning: use carnel notation
  mv_machine_learning: drop dead code
  mv_machine_learning: separate object detection group
  mv_machine_learning: update mobilenet v1 ssd model support
  mv_machine_learning: fix mutex bug

Kwanghoon Son (2):
  Add DesignQR embed logo image
  Add logo shape

Tae-Young Chung (2):
  Add movenet models to mv_test
  Add LICENSE.BSD-3-Clause

Change-Id: I6e15ea4a172e2382087ce0ebee096605cf6e4630
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
14 months agoAdd LICENSE.BSD-3-Clause
Tae-Young Chung [Thu, 2 Mar 2023 09:16:46 +0000 (18:16 +0900)]
Add LICENSE.BSD-3-Clause

[Issue type] : update

Change-Id: I446e7e0a4248352816c93ba9acfabd01b28bd52f
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
14 months agomv_machine_learning: fix mutex bug
Inki Dae [Tue, 28 Feb 2023 02:25:54 +0000 (11:25 +0900)]
mv_machine_learning: fix mutex bug

[Issue type] : bug fix

Fixed a mutex bug that race condition to context object happens due to using
a mutex per context. Context object should also be protected by mutex so
use a task group specific mutex instead of a mutex per a context.

Change-Id: I468d835f3758a905453c32124a75335de6bc8f8a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
14 months agoAdd logo shape
Kwanghoon Son [Fri, 24 Feb 2023 04:23:10 +0000 (13:23 +0900)]
Add logo shape

The shape of the logo image is changed according to the shape
of the qrcode finder.

Change-Id: Id8020ee208babd9409b099e53912e453245e5810
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
14 months agomv_machine_learning: update mobilenet v1 ssd model support
Inki Dae [Wed, 15 Feb 2023 08:22:18 +0000 (17:22 +0900)]
mv_machine_learning: update mobilenet v1 ssd model support

[Issue type] : new feature

Updated mobilenet v1 ssd model for itask based object detection group.

With this patch, we introduce new three CAPI - using only standard data type -
for getting the object detection result and for setting user-given model, and
renamed mobilenet_ssd.h/cpp to mobilenet_v1_ssd.h/cpp because each child class
of the task group is specific to its model.

Change-Id: I5cae3436be028f9a38813883b8ed0c7836eb25f6
Signed-off-by: Inki Dae <inki.dae@samsung.com>
14 months agoAdd DesignQR embed logo image
Kwanghoon Son [Thu, 16 Feb 2023 09:27:08 +0000 (18:27 +0900)]
Add DesignQR embed logo image

QRcode generate MV_BARCODE_GENERATE_ATTR_EMBED_IMG_PATH and it's size
will be 1/5 of output image. This will 4% of total image size so ok with
qrcode ecc recovery.

Change-Id: I9bf902cada3d7a03d7dff424b676bb7344968b2a
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
14 months agoAdd movenet models to mv_test
Tae-Young Chung [Thu, 16 Feb 2023 07:31:50 +0000 (16:31 +0900)]
Add movenet models to mv_test

[Issue type]: update

Change-Id: I36b698218909a73db54114079f577c9ba1a9fac8
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
14 months agomv_machine_learning: separate object detection group
Inki Dae [Tue, 14 Feb 2023 07:52:47 +0000 (16:52 +0900)]
mv_machine_learning: separate object detection group

[Issue type] : code refactoring

This is a code refactoring patch to separate existing object detection group
into two groups - object detection and object detection 3d groups.

We cannot combine these two groups with one because each group has default
model so in the use case that user uses object detection and object detection
3d model API together, one of them isn't allowed for the use.

So separate them into object detection and object detection 3d groups.
As for the object detection group, this patch provides only skeleton code
for mobilenet ssd model.

Change-Id: I97737ce07a07398a510e1f508608a8bdf24844cc
Signed-off-by: Inki Dae <inki.dae@samsung.com>
14 months agomv_machine_learning: drop dead code
Inki Dae [Tue, 14 Feb 2023 02:25:15 +0000 (11:25 +0900)]
mv_machine_learning: drop dead code

[Issue type] : code cleanup

Change-Id: If8ad0145e30b95776d891477fcebf72afd5150eb
Signed-off-by: Inki Dae <inki.dae@samsung.com>
14 months agomv_machine_learning: use carnel notation
Inki Dae [Tue, 14 Feb 2023 02:19:09 +0000 (11:19 +0900)]
mv_machine_learning: use carnel notation

[Issue type] : code cleanup

Change-Id: If99f9105d95055142a58ffeddc12386689aeb7c2
Signed-off-by: Inki Dae <inki.dae@samsung.com>
14 months agomv_machine_learning: rename 'getResult()' to 'result()'
Inki Dae [Mon, 13 Feb 2023 07:36:44 +0000 (16:36 +0900)]
mv_machine_learning: rename 'getResult()' to 'result()'

[Issue type] : code cleanup

Change-Id: I1f5d90736b7c11e6769f25d82eacd2297294a841
Signed-off-by: Inki Dae <inki.dae@samsung.com>
14 months agomv_machine_learning: rename 'output' to 'tensor'
Inki Dae [Mon, 13 Feb 2023 07:27:27 +0000 (16:27 +0900)]
mv_machine_learning: rename 'output' to 'tensor'

[Issue type] : code cleanup

Change-Id: Id68c76c5ddc46d13036ea163e19a5e52e54b181b
Signed-off-by: Inki Dae <inki.dae@samsung.com>
14 months agomv_machine_learning: code refactoring to object detection task group
Inki Dae [Fri, 10 Feb 2023 10:07:14 +0000 (19:07 +0900)]
mv_machine_learning: code refactoring to object detection task group

[Issue type] : code refactoring

This is a code refactoring patch for making object detection task group
to be more generic by doing,
   - rename internal API from object_detection_3d to object_detection
     excepting below three object detection 3d relevant API,
 mv_object_detection_3d_get_probability,
 mv_object_detection_3d_get_num_of_points,
 and mv_object_detection_3d_get_points_open.
   - use more generic prefix to definitions for configuration.
   - introduce getOutputNames() and getOutputTensors() functions for
     object detection group class, and make objectron class to use them
 instead of implementing there because they can be used commonly for
 other specific classes of the object detection group later.

Change-Id: Ic305d42a8b6fb16cae7d806264dd78499c59ee97
Signed-off-by: Inki Dae <inki.dae@samsung.com>
14 months agoExclude gcov test directory 90/288890/1
Kwanghoon Son [Fri, 24 Feb 2023 06:57:05 +0000 (15:57 +0900)]
Exclude gcov test directory

[Version] : 0.27.2
[Issue type] : Fix

Change-Id: I172fe5dc7b623ccd83a8f1c81d82116dab285bcb
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
14 months agomv_machine_learning: fix coverity issue 31/288731/1
Inki Dae [Wed, 22 Feb 2023 05:56:51 +0000 (14:56 +0900)]
mv_machine_learning: fix coverity issue

[Version] : 0.27.1
[Issue type] : bug fix

CID : 1656602

Drop the use of mutex lock in mv_face_recognition_destroy_open function.

Change-Id: Ib945c352709421891274ce720ed796707ee10a78
Signed-off-by: Inki Dae <inki.dae@samsung.com>
14 months agoMerge tizen_devel and version up to 0.27.0 accepted/tizen/unified/20230220.174431
Kwanghoon Son [Mon, 13 Feb 2023 02:32:50 +0000 (11:32 +0900)]
Merge tizen_devel and version up to 0.27.0

[Version] 0.27.0
[Issue type] sync

Inki Dae (3):
  mv_machine_learning: drop deprecated enum type
  mv_machine_learning: drop backbone model code dependency
  mv_machine_learning: introduce image classification task group

Kwanghoon Son (6):
  mv_barcode: clean duplicate code
  Fix format
  Add Design QR header and test
  Add design QR finder shape
  Add MV_BARCODE_GENERATE_ATTR_EMBED_IMG_PATH
  Add Design qr combination test

Seungbae Shin (1):
  Fix build warnings

Tae-Young Chung (1):
  Support new DFS_DATA_INPUT_FORMAT_COUPLED_TB

Change-Id: I147cddb4a2e1843474a7ff9bf867c4dc754df234
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
14 months agoAdd Design qr combination test
Kwanghoon Son [Fri, 3 Feb 2023 08:00:45 +0000 (17:00 +0900)]
Add Design qr combination test

Change-Id: I081b8495c4e2958cda735b75fb11fd6b537f720c
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
14 months agoAdd MV_BARCODE_GENERATE_ATTR_EMBED_IMG_PATH
Kwanghoon Son [Mon, 6 Feb 2023 03:12:00 +0000 (12:12 +0900)]
Add MV_BARCODE_GENERATE_ATTR_EMBED_IMG_PATH

MV_BARCODE_GENERATE_ATTR_EMBED_IMG_PATH is for embed image in middle of
qr code.

Change-Id: I01b25970344c0fc95e65ce39e12a0a4aa65d9317
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
14 months agoFix build warnings
Seungbae Shin [Tue, 7 Feb 2023 07:54:08 +0000 (16:54 +0900)]
Fix build warnings

[Issue type] : build

Change-Id: Ia1c2bfcdf50d39b61b8154e9bcca7f1dfc061029

14 months agoAdd design QR finder shape
Kwanghoon Son [Fri, 3 Feb 2023 02:33:35 +0000 (11:33 +0900)]
Add design QR finder shape

Change-Id: I9641480cbc213cc9862694d9c57614445a8d7a51
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
14 months agoAdd Design QR header and test
Kwanghoon Son [Thu, 2 Feb 2023 07:09:36 +0000 (16:09 +0900)]
Add Design QR header and test

Design QR is for supporting various shape of finder and anchor pattern.
This patch include
1. MV_BARCODE_GENERATE_ATTR_{DATA,FINDER}_SHAPE
2. header value of mv_barcode_generate_attr_shape_e
3. chain engineCfg parameter to createBarcode function because so many
parameters will increase without engineCfg

Change-Id: Ib931c15e97bbb8439f564fb1826bfa9ca38ebc8e
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
14 months agomv_machine_learning: introduce image classification task group
Inki Dae [Wed, 8 Feb 2023 04:46:51 +0000 (13:46 +0900)]
mv_machine_learning: introduce image classification task group

[Issue type] : new feature

Introduce itask based image classification task group which is just a portion
of code refactoring to the legacy deep learning API set.

As we had a talk internally, I will introduce each task group based on
itask interface which is able to inference existing all image classification
models, and we will deprecate all legacy code as soon as all
task groups are introduced. Until that, we will use "internal" postfix
for all the CAPI.

Below is the new CAPI set,
  mv_image_classification_create
  mv_image_classification_destroy
  mv_image_classification_configure
  mv_image_classification_prepare
  mv_image_classification_inference
  mv_image_classification_get_label
  mv_image_classification_set_model

And its test case application,
test_image_classification

Change-Id: I846fd1685b1185d0cd60409aa45bbb04a9f17ca6
Signed-off-by: Inki Dae <inki.dae@samsung.com>
14 months agoFix format
Kwanghoon Son [Fri, 10 Feb 2023 02:59:41 +0000 (11:59 +0900)]
Fix format

Change-Id: Ice108ec97ca9af1faaef22f3047f2e4cf4f77e99
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
14 months agomv_machine_learning: drop backbone model code dependency
Inki Dae [Thu, 19 Jan 2023 01:25:49 +0000 (10:25 +0900)]
mv_machine_learning: drop backbone model code dependency

[Issue type] code refactoring

Did code refactoring by dropping backbone model code dependency.

With this patch, we can change facenet to other without code modification.
Only what we have to do for the use of new backbone model is to update
each "value" attribute of two types of face_recognition.json file,
    "name"  : "FACE_RECOGNITION_INPUT_TENSOR_SHAPE",
    "type" : "array",
    "subtype" : "integer",
    "value" : [ 512, 1 ] <- input tensor shape of training model which is same
                            as output tensor shape of backbone model.

    "name"  : "FACENET_OUTPUT_TENSOR_NAME",
    "type"  : "string",
    "value" : "normalize/l2_normalize" <- output tensor name of backbone model.

Change-Id: I9e32c73e029d67a1c86e8b2c7b424cb09d614463
Signed-off-by: Inki Dae <inki.dae@samsung.com>
14 months agomv_machine_learning: drop deprecated enum type
Inki Dae [Mon, 16 Jan 2023 07:46:39 +0000 (16:46 +0900)]
mv_machine_learning: drop deprecated enum type

[Issue type] code cleanup

Dropped the deprecated target type enum type and relevant code.

This is a old type which indicates a type on inference target device
but new type is used instead. So drop it to reduce code complexity.
We don't have to consider the old type anymore.

Change-Id: I68b59a334e274af740201c09b8e7f80ce524510a
Signed-off-by: Inki Dae <inki.dae@samsung.com>