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>
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>
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>
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
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>
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>
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>
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>
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
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)
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>
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>
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>
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
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>
Tae-Young Chung [Wed, 1 Jul 2020 04:12:57 +0000 (04:12 +0000)]
Merge "[Barcode] Add new barcode types" into tizen
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
kwang son [Wed, 13 May 2020 07:17:44 +0000 (07:17 +0000)]
Merge "Revert "Missing pc file in common-devel"" into tizen
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
kwang son [Wed, 13 May 2020 07:08:20 +0000 (07:08 +0000)]
Merge "Missing pc file in common-devel" into tizen
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Inki Dae [Tue, 11 Feb 2020 05:54:32 +0000 (14:54 +0900)]
mv_inference: Detect model file fomat and notify a backend the format
This patch detects a given model file, and contains proper model file
information a given vector. And then it notifies the model file format
a backend engine with the vector so that the backend engine handles
the model file correctly.
Change-Id: Id1fa75ee5553e099ff3d2800912aa41fb5f3ef90
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Mon, 10 Feb 2020 06:26:35 +0000 (15:26 +0900)]
mv_inference: Check for inference target devices
This patch checks if a given backend engine supports a given
interface target device/devices for the inference by calling
GetBackendCapacity callback.
Change-Id: Ifd5eaa2fbbc5aeb9af0769fb5f7bfb16c2525dbe
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Fri, 7 Feb 2020 06:47:29 +0000 (15:47 +0900)]
mv_inference: Consider one more inference target devices
This patch makes inference to be performed on one more devices.
And also it separates getting backend type and target device types
so that unnecessary configuration isn't requested.
Change-Id: I3bacefa7e8495c90c278df8dcc0241123f6d325f
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Fri, 7 Feb 2020 02:48:07 +0000 (11:48 +0900)]
mv_inference: separate binding a backend engine and loading model files
This patch makes model files to be changed in runtime without reloading
a backend engine library.
With this patch, behavior of the two C-API, mv_inference_configure() and
mv_inference_prepare(), will be changed like below,
mv_inference_configure()
. Create inference-engine-common class object, pass a backend type
to the inference-engine-common object, and then load its corresponding
backend library.
mv_inference_prepare()
. Pass configuration values required for inference engine backend to load
given model files, and request the inference engine backend to load
the model files.
Change-Id: Ibe2bde17c9aae71c8e0850b5901e963368fed00f
Signed-off-by: Inki Dae <inki.dae@samsung.com>