platform/core/api/mediavision.git
3 years agoRemove unnecessary variables 13/244213/1 accepted/tizen/unified/20200918.123714 submit/tizen/20200916.055038
Tae-Young Chung [Wed, 16 Sep 2020 02:38:17 +0000 (11:38 +0900)]
Remove unnecessary variables

Change-Id: I3063d82902e6024022a22dd821a999eaaf9e0e37
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
3 years agoMoCap mapping value should be added -1 12/244212/1
Tae-Young Chung [Wed, 16 Sep 2020 01:50:39 +0000 (10:50 +0900)]
MoCap mapping value should be added -1

mv_inference_human_pose_landmark_e starts with value 1.
The MoCap mapping value should start with 1. So,
values should be added -1 to handle the values internally.

Change-Id: I32538230ff8ce85a3709cbdffd0587cdf511c0a9
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
3 years agoRemove label parameter from mv_inference_pose_landmark_detected_cb 40/244040/3
Tae-Young Chung [Mon, 14 Sep 2020 08:07:16 +0000 (17:07 +0900)]
Remove label parameter from mv_inference_pose_landmark_detected_cb
and add mv_inference_pose_get_label()

In the callback, the label paramter is a type of integer which is
for only one pose. But, depending on models, it can detect multi poses
and provide multi labels for corresponding poses.
So, remove the parameter. Instead, provide new api
mv_inference_pose_get_label().

Change-Id: Ifa1aa2d1c3782c6cefc58560eb08226189a449ea
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
3 years agoFix description for html link 23/243523/1 accepted/tizen/unified/20200914.131443 submit/tizen/20200911.033103
Tae-Young Chung [Tue, 8 Sep 2020 01:51:03 +0000 (10:51 +0900)]
Fix description for html link

'#' is used for html link of enum item

Change-Id: I3472999c294a504fe37c0223b26b4eafc91b0010
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
3 years agoFix division or modulo by float zero
Tae-Young Chung [Tue, 25 Aug 2020 09:24:22 +0000 (18:24 +0900)]
Fix division or modulo by float zero

Change-Id: I857aa3fc409ebb1fbaa35262eb771ebb6c92a700
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
3 years agomv_inference: Add two tensor buffer types support 69/242369/1 accepted/tizen/unified/20200831.002550 submit/tizen/20200828.025650 submit/tizen/20200828.100528
Inki Dae [Wed, 26 Aug 2020 00:26:58 +0000 (09:26 +0900)]
mv_inference: Add two tensor buffer types support

This patch adds uint32 and int64 types for tensor data allocation.
And also it fixes an issue which allocates tensor buffer with wrong type

Change-Id: I209b23176cc666a8e3417275baad8d8e3a91eaae
Signed-off-by: Inki Dae <inki.dae@samsung.com>
3 years agomv_inference: set tensor size of tensor info structure correctly 68/242368/1
Inki Dae [Tue, 25 Aug 2020 23:54:37 +0000 (08:54 +0900)]
mv_inference: set tensor size of tensor info structure correctly

size member of inference_engine_tensor_info structure should contain
tensor element count which can be calculated with height * width * channel count

Change-Id: Ia0eaf676bf996caa26dca58f02d26bc2818eff55
Signed-off-by: Inki Dae <inki.dae@samsung.com>
3 years ago[Release] capi-media-vision-0.6.0-3 accepted/tizen/unified/20200820.133523 submit/tizen/20200820.044303
Tae-Young Chung [Thu, 20 Aug 2020 04:40:21 +0000 (13:40 +0900)]
[Release] capi-media-vision-0.6.0-3

Merge branch 'tizen_devel' into tizen

3 years ago[doc] Fix typos in header files 41/241341/3
Tae-Young Chung [Wed, 19 Aug 2020 09:17:23 +0000 (18:17 +0900)]
[doc] Fix typos in header files

Remove @ref tags in front of API. @ref tag should be used
for GROUP_NAME in documentation.
API should be ended with parenthesis and
handle should be started with '#'

Change-Id: I129aebf548b82091b073108ecafe59aabb8e8967
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
3 years ago[Testsuite] replace constant number with ARRAY_SIZE() 36/241136/2
Tae-Young Chung [Mon, 17 Aug 2020 23:56:53 +0000 (08:56 +0900)]
[Testsuite] replace constant number with ARRAY_SIZE()

Change-Id: I86615bd708f1a26a7b5463b0db06b2ee6239ebbe
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
3 years ago[Inference] Fix label type of mv_inference_landmark_s from char* to int 35/241135/2
Tae-Young Chung [Fri, 14 Aug 2020 07:42:06 +0000 (16:42 +0900)]
[Inference] Fix label type of mv_inference_landmark_s from char* to int

Change-Id: I1e88e884c164d402391c43214bf9d04d7a463715
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
3 years ago[Inference] Fix bug to faultily parse pose and mocap mapping files 34/241134/1
Tae-Young Chung [Fri, 14 Aug 2020 07:23:17 +0000 (16:23 +0900)]
[Inference] Fix bug to faultily parse pose and mocap mapping files

Change-Id: If2d4de98ae9d626c9939d009e6df2b7a9d6eda4a
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
3 years agoSync to tizen branch
Tae-Young Chung [Wed, 12 Aug 2020 04:36:49 +0000 (13:36 +0900)]
Sync to tizen branch

Release capi-media-vision-0.6.0

Change-Id: I5202d678a2a949d25a34500179135cf82046522f

3 years ago[Inference] Add new api mv_inference_pose_landmark_detect() and mv_pose_compare(... 29/240829/1 accepted/tizen/unified/20200813.015352 submit/tizen/20200812.013733
Tae-Young Chung [Wed, 8 Jul 2020 07:26:25 +0000 (16:26 +0900)]
[Inference] Add new api mv_inference_pose_landmark_detect() and mv_pose_compare() APIs

Change-Id: Ib17ebcd8ea506ebaa84c610bf7c0bbeeb6d27656
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
(cherry picked from commit 6a7f392fed10c1e7d982540fa76d93d4b5a04d9e)

3 years ago[Inference] Add new api mv_inference_pose_landmark_detect() and mv_pose_compare(... 80/238080/8
Tae-Young Chung [Wed, 8 Jul 2020 07:26:25 +0000 (16:26 +0900)]
[Inference] Add new api mv_inference_pose_landmark_detect() and mv_pose_compare() APIs

Change-Id: Ib17ebcd8ea506ebaa84c610bf7c0bbeeb6d27656
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
3 years agoUpdate backend type description 62/238962/3 submit/tizen/20200810.091902
Inki Dae [Mon, 20 Jul 2020 23:57:15 +0000 (08:57 +0900)]
Update backend type description

Change-Id: I2958ba0638e234a3d0582199f8650de81b03be14
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years ago[testsuite] Remove code block of no use 93/237993/2 submit/tizen/20200713.035755 submit/tizen/20200805.080420
Hyunsoo Park [Tue, 7 Jul 2020 07:57:52 +0000 (16:57 +0900)]
[testsuite] Remove code block of no use

Change-Id: Ic3ae378576cdc3af828eff014bff6c76848b0276
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
4 years agoMerge "mv_inference: Check if backend and device types are valid or not" into tizen
Inki Dae [Fri, 3 Jul 2020 00:18:13 +0000 (00:18 +0000)]
Merge "mv_inference: Check if backend and device types are valid or not" into tizen

4 years agoFix to return invalid parameter when MV_BARCODE_UNDEFINED is given 17/237617/1 accepted/tizen/unified/20200708.125320 submit/tizen/20200702.015201 submit/tizen/20200706.003724 submit/tizen/20200708.035054
Tae-Young Chung [Thu, 2 Jul 2020 01:37:52 +0000 (10:37 +0900)]
Fix to return invalid parameter when MV_BARCODE_UNDEFINED is given

MV_BARCODE_UNDEFINED is between valid enumeration range, resulting in
generating unexpected barcode image. So, this patch is to prevent the case
and return error when MV_BARCODE_UNDEFINED is used.

Change-Id: I3df9e5069fdd46fa50d1841a1acad5d863b25fc6
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agoMerge "[Barcode] Add new barcode types" into tizen submit/tizen/20200701.041707
Tae-Young Chung [Wed, 1 Jul 2020 04:12:57 +0000 (04:12 +0000)]
Merge "[Barcode] Add new barcode types" into tizen

4 years agomv_inference: Check if backend and device types are valid or not 34/237534/1
Inki Dae [Tue, 30 Jun 2020 07:06:23 +0000 (16:06 +0900)]
mv_inference: Check if backend and device types are valid or not

Change-Id: I1b94f4c4ea73d5f6a8d75448011e85bdef56e099
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Revert Pose Estimation API support 91/237191/2 accepted/tizen/unified/20200628.221638 submit/tizen/20200626.050805 submit/tizen/20200626.060446 submit/tizen/20200626.070253
Inki Dae [Fri, 26 Jun 2020 01:25:49 +0000 (10:25 +0900)]
mv_inference: Revert Pose Estimation API support

Pose Estimation API may be changed so this patch
reverts this API support. Pose Estimation API support
will be posted later.

Change-Id: I1aa2bf4bd3cb46a1cf70943e53be47326c79a8e0
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years ago[Barcode] Add new barcode types 40/235640/13
Tae-Young Chung [Mon, 8 Jun 2020 09:01:28 +0000 (18:01 +0900)]
[Barcode] Add new barcode types

Add EAN_2, EAN_5, CODE93, CODABAR, DATABAR, DATABAR_EXPAND types
Note that EAN_2 and EAN_5 are add-on type of EAN_8/13.

Change-Id: I479326775e418460c00e663ffe16ccb9c413712a
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agomv_inference: Change in-house runtime backend name
Inki Dae [Tue, 16 Jun 2020 01:30:43 +0000 (10:30 +0900)]
mv_inference: Change in-house runtime backend name

Official name of NNFW is ONE(On-device Neural Engine)
so use it instead of NNFW.

Change-Id: If6b6351d312607c3864d1b1817cc8dcbbd019fb7
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Do not set array size explictly
Inki Dae [Tue, 16 Jun 2020 01:18:46 +0000 (10:18 +0900)]
test: Do not set array size explictly

Change-Id: Ia8b4c081d74bcb3f36e2469dad96df9d64f0ed62
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Fix tensor data type
Inki Dae [Mon, 15 Jun 2020 08:23:37 +0000 (17:23 +0900)]
mv_inference: Fix tensor data type

Output tensor type of Inception v3 model converted to Vivante NPU
is UINT16.

Change-Id: Ic9b568aa42b6e77e63d404688efc59cfa8038266
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add NNFW backend test case
Inki Dae [Thu, 11 Jun 2020 09:08:39 +0000 (18:08 +0900)]
test: Add NNFW backend test case

Change-Id: I779467941a3cf5c4fc260e4ad7edb4a97f4558e7
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Do not check a config file in case of NNFW backend
Inki Dae [Thu, 11 Jun 2020 09:07:52 +0000 (18:07 +0900)]
mv_inference: Do not check a config file in case of NNFW backend

NNFW backend doesn't need a config file so skip checking this file.

Change-Id: Ia18b2dee23326a2f07398c69829f80eb48cf8553
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: fix coding style based on Tizen C++ Coding Rule
Inki Dae [Thu, 4 Jun 2020 05:24:39 +0000 (14:24 +0900)]
mv_inference: fix coding style based on Tizen C++ Coding Rule

Tizen C++ Coding Rule:
https://wiki.tizen.org/Native_Platform_Coding_Idiom_and_Style_Guide#C.2B.2B_Coding_Style

Change-Id: Ifdb19e21f9ec67784213218a3f2465312aa43dbe
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Change MLAPI backend string to "mlapi"
Inki Dae [Tue, 2 Jun 2020 09:35:36 +0000 (18:35 +0900)]
mv_inference: Change MLAPI backend string to "mlapi"

Change-Id: If2d9490d42b575e4fb8eb3fc0c425ba60ce7680c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Change a backend type from VIVANTE to MLAPI
Inki Dae [Tue, 2 Jun 2020 09:11:36 +0000 (18:11 +0900)]
test: Change a backend type from VIVANTE to MLAPI

Change-Id: I7de30aa2ac3dfdd728ceea000b1977106dead403
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: introduce ARRAY_SIZE macro for code cleanup
Inki Dae [Tue, 2 Jun 2020 05:04:37 +0000 (14:04 +0900)]
test: introduce ARRAY_SIZE macro for code cleanup

Change-Id: I8fe39ea830d22fb80efe2c607c6fd6fcf2d846a4
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: move tensor buffer declaration to just before used
Inki Dae [Tue, 2 Jun 2020 04:49:18 +0000 (13:49 +0900)]
mv_inference: move tensor buffer declaration to just before used

Change-Id: I6551c9e280c72a30e08e41872908273aa2541df4
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: use static_cast instead of normal cast
Inki Dae [Tue, 2 Jun 2020 04:44:08 +0000 (13:44 +0900)]
mv_inference: use static_cast instead of normal cast

Change-Id: Ie39903c4e85338e2d6b3fa38a692496854747010
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoConsider tensor filter plugin type for NNFW
Inki Dae [Wed, 27 May 2020 07:19:23 +0000 (16:19 +0900)]
Consider tensor filter plugin type for NNFW

This patch adds a new backend type for NNFW support via NNStreamer.

MediaVision will support Vivante NPU and NNFW(in-house NN Runtime)
through ML Single API of NNStreamer.

For this, this patch also adds a new member, backend_type, in
inference_engine_config, which is used to let ML Single API of
NNStreamer know which tensor filter - Vivante NPU or NNFW - should be used.

Change-Id: I5d67fcc36d8999513c05590cccb290d07539ab33
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Consider float16 type of tensor.
Inki Dae [Mon, 1 Jun 2020 01:41:33 +0000 (10:41 +0900)]
mv_inference: Consider float16 type of tensor.

This patch adds float tensor buffer support.
float tensor buffer should be allocated with short type
and release it properly according to the tensor buffer ownership.

Change-Id: I1461ae25e9d6dc5915f72267ea56eac5c4a17f54
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add Vivante NPU test case
Inki Dae [Mon, 1 Jun 2020 01:39:40 +0000 (10:39 +0900)]
test: Add Vivante NPU test case

Change-Id: Idad920f41a08ceed59cf2900db17aa96971e5f5c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Add Vivante NPU type
Inki Dae [Thu, 21 May 2020 07:38:54 +0000 (16:38 +0900)]
mv_inference: Add Vivante NPU type

This patch adds a new type for Vivante NPU support.

On MediaVision, Vivante NPU will be controlled by
inference-engine-mlapi backend which interfaces with
ML Single API of NNStreamer.

Ps. Vivante NPU needs two binaries for the inference.
    One is Vivante NPU specific model file(xxx.nb), and
other is so library which implements graph creation API
specific to Vivante NPU.

Change-Id: I1ec157d533b70b93953d25b2f74bbbd9adde7a05
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoRevert "Revert "mv_inference: Add Post Estimation feature support""
Inki Dae [Mon, 1 Jun 2020 02:13:46 +0000 (11:13 +0900)]
Revert "Revert "mv_inference: Add Post Estimation feature support""

This reverts commit ddfddc6f6a0a1730558f0874ae3d44a7cbaf5d00.

Change-Id: I8586fe69d258f04b1b6bd0a26085366509c5514d
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoRevert "test: drop pose estimation test"
Inki Dae [Tue, 21 Apr 2020 02:50:00 +0000 (11:50 +0900)]
Revert "test: drop pose estimation test"

This reverts commit 72b730ed61c69b4a4957b2173776023e71218b13.

Change-Id: I8a14aaaf9f0cb1505a0cb7f33323524e71b9230b

4 years agowait for displaying barcode detection result 55/235855/1
sangho park [Wed, 10 Jun 2020 08:47:43 +0000 (17:47 +0900)]
wait for displaying barcode detection result

Change-Id: I1549ff8f5b18a9732ce85c553febccff715301d0
Signed-off-by: sangho park <sangho.g.park@samsung.com>
4 years agoChange that default value is one of MV_INFERENCE_DATA_TYPE 59/234059/2 accepted/tizen/unified/20200603.150123 submit/tizen/20200602.011936 submit/tizen/20200602.084841
Tae-Young Chung [Thu, 21 May 2020 09:48:57 +0000 (18:48 +0900)]
Change that default value is one of MV_INFERENCE_DATA_TYPE

MV_INFERENCE_DATA_TYPE supports MV_INFERENCE_DATA_FLOAT32 and
MV_INFERENCE_DATA_UINT8. But in media-vision-config.json,
its default value is '-1'.
It should be one of MV_INFERENCE_DATA_TYPE.
In addition, add the description of MV_INFERENCE_DATA_TYPE

Change-Id: I5debd73de3073715657aed25405d5098bf41a0ed
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agoFix typo 61/233661/1 submit/tizen/20200518.054646
Tae-Young Chung [Mon, 18 May 2020 05:29:59 +0000 (14:29 +0900)]
Fix typo

@since_tizem -> @since_tizen

Change-Id: Idfeaf338ad0b8b1f82f81a10429a3cf03b48f422
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agoDelete capi-media-vision.so 78/233378/3 submit/tizen/20200515.042825 submit/tizen/20200518.045832 submit/tizen/20200525.012135 submit/tizen/20200528.003104
Kwang Son [Thu, 14 May 2020 07:44:40 +0000 (16:44 +0900)]
Delete capi-media-vision.so

- remove duplicate sources
- change capi-media-vision.rpm to meta pacakge

Problem
capi-media-vision.so is contain duplicate libraries from
sub-packages like libmv_common, libmv_face. So each files
are already included own libraries.
e.g. src/mv_common.c, mv_common/src/mv_common.c are exactly same code.

Change-Id: Id0095e4e64cbafb964d471efd285f2f32ec73711
Signed-off-by: Kwang Son <k.son@samsung.com>
4 years agoAdd capi-media-vision-common.pc 52/233252/1 submit/tizen/20200514.015807
Kwang Son [Wed, 13 May 2020 07:57:17 +0000 (16:57 +0900)]
Add capi-media-vision-common.pc

capi-media-vision-common.pc was not exist

Change-Id: Ida62970d0dc22c0f20fec4b2d708c956a59bbab0
Signed-off-by: Kwang Son <k.son@samsung.com>
4 years agoMerge "Revert "Missing pc file in common-devel"" into tizen
kwang son [Wed, 13 May 2020 07:17:44 +0000 (07:17 +0000)]
Merge "Revert "Missing pc file in common-devel"" into tizen

4 years agoRevert "Missing pc file in common-devel" 39/233239/1
kwang son [Wed, 13 May 2020 07:17:27 +0000 (07:17 +0000)]
Revert "Missing pc file in common-devel"

This reverts commit 511f7c502f13f558b810db83de337bb73c9576e9.

Change-Id: I819969a3ffde681b19344e076522830a9897ce65

4 years agoMerge "Missing pc file in common-devel" into tizen
kwang son [Wed, 13 May 2020 07:08:20 +0000 (07:08 +0000)]
Merge "Missing pc file in common-devel" into tizen

4 years agoMissing pc file in common-devel 29/233229/1
Kwang Son [Wed, 13 May 2020 06:51:57 +0000 (15:51 +0900)]
Missing pc file in common-devel

add pc file

Change-Id: I3acc73a5bcf0eabaaf1bd9f991e0df2e2581c368
Signed-off-by: Kwang Son <k.son@samsung.com>
4 years agoDelete redundant pc.in files 08/233208/1
Kwang Son [Wed, 13 May 2020 04:46:14 +0000 (13:46 +0900)]
Delete redundant pc.in files

pc.in file is template and not modified.
cmake CONFIGURE_FILE copy to own pc files, so pc.in is enough with one file.

Change-Id: I78cbd414ca55e9875a7e95ea552bcb1536246d91
Signed-off-by: Kwang Son <k.son@samsung.com>
4 years agomv_inference: handle an exception case to class creation correctly 06/232906/2
Inki Dae [Fri, 8 May 2020 08:08:11 +0000 (17:08 +0900)]
mv_inference: handle an exception case to class creation correctly

Change-Id: Iafaecb467c149479eabdc218eab2e3223c6a374c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: clean up class member initialization 05/232905/2
Inki Dae [Fri, 8 May 2020 07:56:05 +0000 (16:56 +0900)]
mv_inference: clean up class member initialization

Change-Id: Ic8626debc2149fdc4b09e38b2d004e3728cf7e7a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: use basic constructor function 91/232891/1
Inki Dae [Fri, 8 May 2020 06:32:24 +0000 (15:32 +0900)]
mv_inference: use basic constructor function

InferenceEngineCommon class doesn't provide parameter
required constructor functions anymore so use basic
constructor function.

Change-Id: I58be39c2a7e70e362b375d54548e142847787092
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: use initializer list 90/232890/1
Inki Dae [Fri, 8 May 2020 06:05:06 +0000 (15:05 +0900)]
mv_inference: use initializer list

This patch just cleans up a member initialization of Inference
class by using initializer list.

Change-Id: Ib9dc6470fdfef271101316a34f8f18caa29d6f2c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: drop deprecated internal API 69/232869/1
Inki Dae [Fri, 8 May 2020 05:02:11 +0000 (14:02 +0900)]
mv_inference: drop deprecated internal API

This patch drops deprecated internal API below,
 - mv_inference_configure_input_node_name_open
 - mv_inference_configure_output_node_names_open
 - and relevant callback functions.

No users to use these API anymore.

Change-Id: Id77b44c8ce781ee3b8fed2e44c8c6311180de2db
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoFix UNINIT.CTOR svace issue 78/232778/2 accepted/tizen/unified/20200510.220411 submit/tizen/20200508.021019
Hyunsoo Park [Thu, 7 May 2020 11:06:07 +0000 (20:06 +0900)]
Fix UNINIT.CTOR svace issue

Change-Id: I6363096e866de0b2b214235e57d2af069d0fa61f
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
4 years agomv_inference: consider backward compatibility 86/232686/4
Inki Dae [Thu, 7 May 2020 06:50:20 +0000 (15:50 +0900)]
mv_inference: consider backward compatibility

This patch guarantees backward compatibility of Mediavision C-API.

In new inference engine framework, inference target device types
can be combined together. So to keep backward compatibility with
Tizen 5.5, it adds a new definition, MV_INFERENCE_TARGET_DEVICE_TYPE
and check if Tizen app uses old type of inference target device
or not by checking default values of MV_INFERENCE_TARGET_TYPE
and MV_INFERENCE_TARGET_DEVICE_TYPE.

Change-Id: I31b2fee05ac74265569f3cdac3875879d349dc5d
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: unbind only if a backend instance exists 38/232038/2
Inki Dae [Mon, 27 Apr 2020 06:52:59 +0000 (15:52 +0900)]
mv_inference: unbind only if a backend instance exists

Change-Id: I622cb586594ba8513423ffdd22ff51588553461f
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoSync mv_inference.c code 56/231756/1 submit/tizen/20200424.055009
Inki Dae [Fri, 24 Apr 2020 05:34:13 +0000 (14:34 +0900)]
Sync mv_inference.c code

capi-media-vision library is refered by dcm-service so
make sure to keep same code as mv_inference framework
which uses a new inference engine framework interfaces.

Change-Id: Ic73ba6b237c04a226cbb3ee9b0276fbfeabac2a5
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agofix build error on aarch64 36/231736/1 submit/tizen/20200424.041307
Inki Dae [Fri, 24 Apr 2020 04:08:00 +0000 (13:08 +0900)]
fix build error on aarch64

Use %u instead of %zu.

Change-Id: Idc7588935ddc1562caa0eaabadf9c29783c26864
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agofix build error on aarch64 26/231726/2 submit/tizen/20200424.035635
Inki Dae [Fri, 24 Apr 2020 03:28:01 +0000 (12:28 +0900)]
fix build error on aarch64

On aarch64, size_t is 64bit data so make sure to use correct
format specifier.

Change-Id: I4e22b46ada58ea520900fcd6271d7582a31347e9
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Clean up ABI header file 30/231630/2 submit/tizen/20200423.063253 submit/tizen/20200423.064104 submit/tizen/20200423.083755
Inki Dae [Thu, 23 Apr 2020 05:57:30 +0000 (14:57 +0900)]
mv_inference: Clean up ABI header file

Responsed to ACR-1545 review comments.
- just correct header description formats.

Change-Id: Ie3fabe70177cdbd65d9d0f730190b0a6e0ee3604
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: clean up ABI header files 70/231270/2
Inki Dae [Tue, 21 Apr 2020 00:45:03 +0000 (09:45 +0900)]
mv_inference: clean up ABI header files

This patch cleans up the ABI header files,
mv_inference.h and mv_inference_type.h according to
ACR(ACR-1545) review comments below,
- Add a description to each constant of mv_inference_data_type_e
- Change constant names of mv_inference_target_device_e.
- Clean up some descriptions.
- Revive @since_tizen 5.5 tag
- Fixed description of #define MV_INFERENCE_TARGET_TYPE

Change-Id: Icd893710a04a550205c64a99f355ebf48825a584
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: clean up mv_inference_type header sandbox/inki.dae/working
Inki Dae [Fri, 17 Apr 2020 08:40:23 +0000 (17:40 +0900)]
mv_inference: clean up mv_inference_type header

Change-Id: I4eacc53f2b6d96b4f55b77a642b58cbcbe49ace3
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: change enumeration values to new ones
Inki Dae [Fri, 17 Apr 2020 08:08:19 +0000 (17:08 +0900)]
mv_inference: change enumeration values to new ones

some enumeration values of inference-engine-interface have been
updated so change them.

Change-Id: Iea466768e7ffe4089dc63938c8c9be921628d654
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: keep backward compatibility
Inki Dae [Fri, 17 Apr 2020 04:16:17 +0000 (13:16 +0900)]
mv_inference: keep backward compatibility

This patch keeps backward compatibility with Tizen 5.5
by adding new mv_inference_target_device_e enumeration
instead of modifying existing one.

Change-Id: I40df1dacc6b9a74ba438d0767d84ff1f25133584
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: drop pose estimation test
Inki Dae [Tue, 14 Apr 2020 00:20:12 +0000 (09:20 +0900)]
test: drop pose estimation test

Drop pose estimation test code because pose
estimation isn't not a feature targeted on
M1 release but M2.

This code will be moved to tizen_devel branch.

Change-Id: Ifaab03fed0f510e7c1a854c3c5dfe9696a1dc90c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoRevert "mv_inference: Add Post Estimation feature support"
Inki Dae [Mon, 13 Apr 2020 08:23:10 +0000 (17:23 +0900)]
Revert "mv_inference: Add Post Estimation feature support"

This feature will be added to tizen 6.0 m2 so revert it
from tizen branch and move it to tizen_devel branch.

This reverts commit 68d2d47e71302f563f24555ce1cce4ca10d908a2.

Change-Id: Iec73032301d724ba549560564c529b26e46515dd

4 years agomv_inference: drop data types not supported
Inki Dae [Mon, 13 Apr 2020 07:40:40 +0000 (16:40 +0900)]
mv_inference: drop data types not supported

Mediavision doesn't support float16 and uint16/32bit model
so drop these data types. They can be added later with actual
use case.

Change-Id: Iebe7511326f45c39b09a4429f8de361ca8fe354c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoChange type of 'tensor_info.shape' to size_t
Hyunsoo Park [Mon, 13 Apr 2020 06:22:57 +0000 (15:22 +0900)]
Change type of 'tensor_info.shape' to size_t

Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
4 years agoinference testsuite: add opencv with caffe model
Tae-Young Chung [Fri, 3 Apr 2020 03:05:54 +0000 (12:05 +0900)]
inference testsuite: add opencv with caffe model

Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agomv_inference: add post-process step to GetObjectDetectionResults()
Tae-Young Chung [Thu, 2 Apr 2020 05:10:56 +0000 (14:10 +0900)]
mv_inference: add post-process step to GetObjectDetectionResults()

To handle model data (SSD) which doesn't have post-process layer,
add the post process step.
SSD generally provides an one output with 1x1xNx7 shape and the last dimension
includes 'image id, class id, confidence, coordinates(left-top (x,y),
and right-bottom(x,y))'

Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agoRevert "mv_inference: Get layer propery only in required case"
Inki Dae [Tue, 31 Mar 2020 08:14:50 +0000 (17:14 +0900)]
Revert "mv_inference: Get layer propery only in required case"

This reverts commit 756a6d9c297b7c756a1090ded0287795b5f12665.

4 years agotest: Add input tensor data type support
Inki Dae [Tue, 10 Mar 2020 06:52:30 +0000 (15:52 +0900)]
test: Add input tensor data type support

This patch passes user-given input data type to
Inference framework so that each inference engine backend
can know the input tensor data type before kicking up inference.

Change-Id: I762d7f76444d5b6656b019501321ca3c90c6919a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Add inference data type support
Inki Dae [Tue, 10 Mar 2020 06:50:33 +0000 (15:50 +0900)]
mv_inference: Add inference data type support

This patch adds inference input data type support for
Mediavision. With this, we can use user-given input tensor
data type for OpenCV backend.

Change-Id: I681f203f4cbe9b3cc7b59a746cfab650009f65c1
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Fix wrong menu index
Inki Dae [Mon, 9 Mar 2020 06:12:42 +0000 (15:12 +0900)]
test: Fix wrong menu index

Change-Id: Ie05fa559637e3b63317e1fd0b1b78800936aeeef
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Use data type of buffer structure instead of property one
Inki Dae [Fri, 6 Mar 2020 00:25:07 +0000 (09:25 +0900)]
mv_inference: Use data type of buffer structure instead of property one

This patch fixes a problem that it cannot get tensor data type from
mInputLayerProperty in case that a backend provides tensor buffers.

As for this, this patch makes data type from tensor buffer structure
to be used instead of property one because if a backend provided
tensor buffers then tensor data type must also be there.

With this change, WORK-TO-DO, "TODO. Consider multiple tensors.",
is solved also.

Change-Id: Idcd55514da206edfb9d9f9b04cdc84d14ee53691
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: set owner_is_backend member properly
Inki Dae [Thu, 5 Mar 2020 04:30:01 +0000 (13:30 +0900)]
mv_inference: set owner_is_backend member properly

owner_is_backend of inference_engine_tensor_buffer structure
is used to check if owner is the tensor buffers is backend or
not, to clarify who should release the tensor buffers.

This patch sets owner_is_backend member according to
tensor buffer's owner properly.

Change-Id: I23457837960712c4979f5ebb3b71fae98e1dcbb4
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Update actual tensor buffer size
Inki Dae [Thu, 5 Mar 2020 01:05:12 +0000 (10:05 +0900)]
mv_inference: Update actual tensor buffer size

This patch updates actual tensor buffer size(in bytes)
to size member of inference_engine_tensor_buffer structure
so that the actual size can be used by other.

Change-Id: Ifa3688c33f45e105dd2f8c0c173b7003998c6432
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agoModify mv_inferen_prepare()'s internal implementation
Tae-Young Chung [Wed, 4 Mar 2020 05:23:01 +0000 (14:23 +0900)]
Modify mv_inferen_prepare()'s internal implementation

Internally, set input and output information (layer names,
tensor information), and give them to inference-engine-interface.

Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agomv_inference: do not allow invalid target device type
Inki Dae [Thu, 27 Feb 2020 04:44:53 +0000 (13:44 +0900)]
mv_inference: do not allow invalid target device type

Change-Id: I760c2547780db368b3a84097ffc56c2b65042201
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Get layer propery only in required case
Inki Dae [Thu, 27 Feb 2020 04:27:53 +0000 (13:27 +0900)]
mv_inference: Get layer propery only in required case

We don't have to get input/output layer property from a backend
always so get the property only in case input/output tensor buffer
vectors are empty.

Change-Id: Iaa38105a283bd768a9e392ee537621f19662c11d
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Measure inference performance
Inki Dae [Thu, 27 Feb 2020 04:19:26 +0000 (13:19 +0900)]
test: Measure inference performance

Change-Id: I217ac9b61890757a0f073007f95703f69e341209
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agopackaing: Add BuildRequires: pkgconfig(inference-engine-interface-common)
Tae-Young Chung [Wed, 26 Feb 2020 07:59:20 +0000 (16:59 +0900)]
packaing: Add BuildRequires: pkgconfig(inference-engine-interface-common)

Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
4 years agopackaging: Drop inference-engine-interface-vision from build requirement
Inki Dae [Tue, 25 Feb 2020 03:07:04 +0000 (12:07 +0900)]
packaging: Drop inference-engine-interface-vision from build requirement

inference-engine-inference-vision relevant code have been removed
so drop the build requirement.

Change-Id: I893ba0c86f439a55695de312d1d6617b367b2487
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add Post Estimation test
Inki Dae [Tue, 25 Feb 2020 02:52:37 +0000 (11:52 +0900)]
test: Add Post Estimation test

This patch adds post estimation test code,
and ARMNN backend support of post estimation inference.

Change-Id: I1d433e36ba18b19678b87e0315ea4a21cff56f54
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Add Post Estimation feature support
Inki Dae [Tue, 25 Feb 2020 02:51:53 +0000 (11:51 +0900)]
mv_inference: Add Post Estimation feature support

Change-Id: Ic7308d722e649d96bb29ed65e28808b101dc2c11
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add face detection with ARMNN
Inki Dae [Mon, 24 Feb 2020 07:03:21 +0000 (16:03 +0900)]
test: Add face detection with ARMNN

Change-Id: I66ad64dcc3861e37362422a5609ac798b04dd705
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agotest: Add object detection test with ARMNN
Inki Dae [Mon, 24 Feb 2020 06:35:23 +0000 (15:35 +0900)]
test: Add object detection test with ARMNN

Change-Id: I29af9639a5b5ccae7bc67acae6cb7a74cfe437b5
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Introduce FillOutputResult function
Inki Dae [Mon, 24 Feb 2020 05:36:44 +0000 (14:36 +0900)]
mv_inference: Introduce FillOutputResult function

This patch introduces FillOutResult function which gets result from
output tensor buffers. This function is used commonly for all other
scenarios - image classification, object detection, face detection,
and facial landmark detection.

Change-Id: I494f2924094d409939053753324a6a8485673664
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Handle exception cases to tensor buffer allocations
Inki Dae [Thu, 20 Feb 2020 06:57:25 +0000 (15:57 +0900)]
mv_inference: Handle exception cases to tensor buffer allocations

Change-Id: Iaf95468c07ba6b80f175f57d7c674c6385bff6b8
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Add quantized model inference support
Inki Dae [Thu, 20 Feb 2020 06:08:53 +0000 (15:08 +0900)]
mv_inference: Add quantized model inference support

This patch adds quantized model inference support.
In case of quantized model, output tensor buffer contains uint8 values
between 0 and 255 so we need to convert the values to floating point ones
between 0 and 1.

Change-Id: I814b236370608d29c9b0f82f298d221851721921
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Add the use of user desired input and output layers
Inki Dae [Tue, 18 Feb 2020 01:55:38 +0000 (10:55 +0900)]
mv_inference: Add the use of user desired input and output layers

Change-Id: I3472071e96df8ffde2cf5a6c6b6af45e1dbd9e66
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Call Run callback with output tensor buffers
Inki Dae [Fri, 14 Feb 2020 04:26:58 +0000 (13:26 +0900)]
mv_inference: Call Run callback with output tensor buffers

This patch passes output tensor buffers - which will be
allocated by either a backend engine if the backend engine is able
to allocate output tensor buffers or Inference framework if
the backend engine isn't able to allocate the buffers - to
the backend engine at Run callback for the inference.

Change-Id: I9fd55db1c6c413b7e139733f1e39ccde1100011a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Pass input tensor buffers and consider multiple tensors
Inki Dae [Thu, 13 Feb 2020 07:37:30 +0000 (16:37 +0900)]
mv_inference: Pass input tensor buffers and consider multiple tensors

This patch sends input tensor buffers allocated by Inference layer
to a backend engine for the inference, and considers using multiple
tensors. As for this, it calls new callbacks and drops old ones.

Change-Id: I4156c88bd5f18b0ba36b186ca08e3d4c04ceada3
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: fix undefined reference error
Inki Dae [Thu, 13 Feb 2020 06:47:51 +0000 (15:47 +0900)]
mv_inference: fix undefined reference error

Change-Id: I09bdc03989a7f361ae5753771c0a09e369fae3bc
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Pass a generic channel value to backend engine
Inki Dae [Wed, 12 Feb 2020 04:35:44 +0000 (13:35 +0900)]
mv_inference: Pass a generic channel value to backend engine

mMatType has OpenCV specific value so we shouldn't pass
the specific value to a backend engine but a generic one, mCh, instead.

Change-Id: I3d92a0f636b55c2529202d57f7ded63c6225e37b
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Use model_format instead of key->second
Inki Dae [Wed, 12 Feb 2020 04:18:29 +0000 (13:18 +0900)]
mv_inference: Use model_format instead of key->second

Change-Id: Ib306b0dddc945ad43effa3b7eef3eaebc3e2901c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Use InferenceEngineCommon instead of InferenceEngineVision
Inki Dae [Wed, 12 Feb 2020 02:51:34 +0000 (11:51 +0900)]
mv_inference: Use InferenceEngineCommon instead of InferenceEngineVision

With this patch, we can remove everything about InferenceEngineVision.

Change-Id: If2edac9e6113a55c89bbd4535b131b55a8dbb3f5
Signed-off-by: Inki Dae <inki.dae@samsung.com>
4 years agomv_inference: Place OpenCV dependent code from inference-engine-vision
Inki Dae [Wed, 12 Feb 2020 02:35:21 +0000 (11:35 +0900)]
mv_inference: Place OpenCV dependent code from inference-engine-vision

This patch moves OpenCV dependent code from inference-engine-vision layer
to Inference layer. Now we can remove all inference-engine-vision relevent
files - inference_engine_vision_impl.cpp and inference_engine_vision_impl.h

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