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>
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>
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>
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>
kwang son [Mon, 24 Apr 2023 07:02:44 +0000 (07:02 +0000)]
Merge "Fix invalid qrcode attribute" 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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Seungbae Shin [Tue, 7 Feb 2023 07:54:08 +0000 (16:54 +0900)]
Fix build warnings
[Issue type] : build
Change-Id: Ia1c2bfcdf50d39b61b8154e9bcca7f1dfc061029
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>
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>
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>
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>
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>
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>
Tae-Young Chung [Mon, 19 Dec 2022 05:21:22 +0000 (14:21 +0900)]
Support new DFS_DATA_INPUT_FORMAT_COUPLED_TB
[Issue type] new feature
This commit is to support new feature
https://review.tizen.org/gerrit/#/c/platform/core/multimedia/dfs-adaptation/+/285723/
Change-Id: Iaeb2faa55cbdebac5bfef5272fbfa132384356f1
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
Kwanghoon Son [Fri, 6 Jan 2023 10:15:40 +0000 (19:15 +0900)]
mv_barcode: clean duplicate code
mv_barcode_generate_{source,image}_open share duplicate code
Change-Id: Icf22352e4225de141d54c1a677f52dff958cbc23
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Inki Dae [Wed, 8 Feb 2023 01:46:58 +0000 (10:46 +0900)]
test: correct object detection test image patch
Change-Id: If3bab3f36aaa790871079a1620097364e46e2fd8
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Wed, 8 Feb 2023 01:25:26 +0000 (10:25 +0900)]
mv_machine_learning: correct tensor buffer size
[Version] : 0.26.7
[Issue type] : bug fix
Correct output tensor buffer size.
In original code, we set the size of inference_engine_tensor_buffer to
the one of inference_engine_tensor_info, and this incurs seg. fault
in case of not using float data type. These sizes are different each other
like below,
Size of inference_engine_tensor_info : tensor element count
Size of inference_engine_tensor_buffer : tensor element count * bytes per
an element.
So this patch calculates the size of inference_engine_tensor_buffer correctly
by checking actual bytes per an tensor element.
Change-Id: I21733fb341e93f325f6d4a3bb4df66ff69e15413
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Tue, 7 Feb 2023 04:24:05 +0000 (13:24 +0900)]
mv_machine_learning: bug fix to tensor buffer allocation
[Version] : 0.26.6
[Issue type] : bug fix
Fixed a bug to wrong tensor buffer allocation since commit-id
ee852016683c6fed53fdddcc54ebea2c9212e4ff
For the output tensor, we have to allocate the output tensor buffer
not input tensor one.
Change-Id: I0653e7726666ae122e42e52d6ced8874d2b1ac3c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Tue, 10 Jan 2023 08:56:03 +0000 (17:56 +0900)]
merge tizen_devel to tizen
Inki Dae (5):
mv_machine_learning: code refactoring to face recognition
mv_machine_learning: face recognition: consider multiple threads
mv_machine_learning: face recognition: allow 5 set per a label
mv_machine_learning: tc: fix bugs
mv_machine_learning: face recognition: drop nntrainer dependency
Kwanghoon Son (4):
Fix json_to_string memory leak
Fix LOGE to LOGI
Fix QRcode error handle
Delete null check before free
mv_3d/3d/src/mv_3d_open.cpp | 12 +-
.../src/mv_barcode_generate_open.cpp | 8 +-
mv_machine_learning/common/include/context.h | 4 +-
.../face_recognition/CMakeLists.txt | 2 +-
.../include/face_recognition.h | 45 ++--
.../include/face_recognition_adapter.h | 35 +--
...nntrainer_dsm.h => face_recognition_dsm.h} | 11 +-
...nntrainer_fvm.h => face_recognition_fvm.h} | 11 +-
.../include/face_recognition_type.h | 82 +++++++
.../face_recognition/include/facenet.h | 64 ++++++
.../include/facenet_adapter.h | 52 +++++
.../{face_net_info.h => facenet_parser.h} | 31 +--
.../face_recognition/include/simple_shot.h | 4 +-
.../meta/face_recognition.json | 26 ++-
.../face_recognition/src/face_net_info.cpp | 61 ------
.../face_recognition/src/face_recognition.cpp | 204 ++++--------------
.../src/face_recognition_adapter.cpp | 37 ++--
...ainer_dsm.cpp => face_recognition_dsm.cpp} | 21 +-
...ainer_fvm.cpp => face_recognition_fvm.cpp} | 27 +--
.../face_recognition/src/facenet.cpp | 147 +++++++++++++
.../face_recognition/src/facenet_adapter.cpp | 71 ++++++
.../face_recognition/src/facenet_parser.cpp | 49 +++++
.../src/mv_face_recognition_open.cpp | 106 ++++++---
.../face_recognition/src/simple_shot.cpp | 19 +-
.../inference/include/Inference.h | 12 +-
.../inference/src/Inference.cpp | 22 +-
.../inference/src/InputMetadata.cpp | 8 +-
.../inference/src/OutputMetadata.cpp | 4 +-
.../inference/src/mv_inference_open.cpp | 18 +-
mv_machine_learning/meta/src/MetaParser.cpp | 8 +-
.../training/include/data_set_manager.h | 3 +
.../training/include/feature_vector_manager.h | 5 +-
.../training/include/training_model.h | 6 +-
.../training/src/data_set_manager.cpp | 1 +
.../training/src/training_model.cpp | 7 +-
.../surveillance/src/EventTrigger.cpp | 8 +-
.../src/EventTriggerPersonRecognition.cpp | 24 +--
.../surveillance/src/mv_surveillance.c | 6 +-
packaging/capi-media-vision.spec | 1 +
test/CMakeLists.txt | 4 +-
.../surveillance/assessment_surveillance.cpp | 12 +-
test/testsuites/barcode/barcode_test_suite.c | 40 ++--
test/testsuites/barcode/test_barcode.cpp | 52 ++++-
.../visualizer/src/mv_util_render_2d.cpp | 3 +-
.../face_recognition/CMakeLists.txt | 9 +-
.../test_face_recognition.cpp | 23 +-
.../test_face_recognition_multi_threads.cpp | 196 +++++++++++++++++
47 files changed, 1067 insertions(+), 534 deletions(-)
rename mv_machine_learning/face_recognition/include/{nntrainer_dsm.h => face_recognition_dsm.h} (80%)
rename mv_machine_learning/face_recognition/include/{nntrainer_fvm.h => face_recognition_fvm.h} (78%)
create mode 100644 mv_machine_learning/face_recognition/include/face_recognition_type.h
create mode 100644 mv_machine_learning/face_recognition/include/facenet.h
create mode 100644 mv_machine_learning/face_recognition/include/facenet_adapter.h
rename mv_machine_learning/face_recognition/include/{face_net_info.h => facenet_parser.h} (56%)
delete mode 100644 mv_machine_learning/face_recognition/src/face_net_info.cpp
rename mv_machine_learning/face_recognition/src/{nntrainer_dsm.cpp => face_recognition_dsm.cpp} (83%)
rename mv_machine_learning/face_recognition/src/{nntrainer_fvm.cpp => face_recognition_fvm.cpp} (64%)
create mode 100644 mv_machine_learning/face_recognition/src/facenet.cpp
create mode 100644 mv_machine_learning/face_recognition/src/facenet_adapter.cpp
create mode 100644 mv_machine_learning/face_recognition/src/facenet_parser.cpp
create mode 100644 test/testsuites/machine_learning/face_recognition/test_face_recognition_multi_threads.cpp
Change-Id: I5e2748553886ab196412b0420f83d686ea5731c0
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Thu, 5 Jan 2023 00:37:18 +0000 (09:37 +0900)]
mv_machine_learning: face recognition: drop nntrainer dependency
[Issue type] code refactoring
Did code refactoring to face recognition by dropping NNTrainer dependency.
With this patch, Face recognition framework uses only NNTrainer backend
type for inference and training. And also did code cleanup by
dropping redundant code.
Change-Id: Idb1ec527f9f08b5f18a6c647325a99092d0ed4ff
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Tue, 3 Jan 2023 10:02:09 +0000 (19:02 +0900)]
mv_machine_learning: tc: fix bugs
[Issue type] : Bug fix
Fixed two bugs,
- fix a issue that mv source can be destroyed in duplucation.
- fix a issue that mv_face_recognition_prepare function is called
several times.
Change-Id: I432b9ce3f0fa1432054b3f3c2f8e0caeb5a60316
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Tue, 3 Jan 2023 09:43:01 +0000 (18:43 +0900)]
mv_machine_learning: face recognition: allow 5 set per a label
[Issue type] New feature
Added a new feature that it allows maximum 5 set of feature vector
per a label. In case of few-shot leanring based on KNN algorthm,
Feature vector set more than 5 aren't needed.
This is a temporary solution so I will introduce a feature vector priority
based solution if NNTrainer is ready for this later.
Change-Id: I57d24f36101b354ea2e0fed8134f99a31e32307e
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Tue, 3 Jan 2023 06:27:57 +0000 (06:27 +0000)]
Merge "mv_machine_learning: face recognition: consider multiple threads" into tizen_devel
Inki Dae [Fri, 30 Dec 2022 02:21:50 +0000 (11:21 +0900)]
mv_machine_learning: face recognition: consider multiple threads
[Issue type] : new feature
Considered multiple threads to face recognigion task API.
In application, it can request an inference and register even unregister
by each thread context. So make sure to guarantee such requests using mutex.
And also this patch introduces test_face_recognition_multi_threads app
which adds two test cases, InferenceAndRegisterShouldBeOk
and InferenceAndRegisterAndUnregisterShouldBeOk, to test multiple threads.
Change-Id: I9217a572f6746591eeda774f113e9f2b23c82a8a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
kwang son [Tue, 3 Jan 2023 02:23:22 +0000 (02:23 +0000)]
Merge "Delete null check before free" into tizen_devel
kwang son [Tue, 3 Jan 2023 02:18:31 +0000 (02:18 +0000)]
Merge "Fix QRcode error handle" into tizen_devel
Kwanghoon Son [Thu, 29 Dec 2022 08:58:25 +0000 (17:58 +0900)]
Delete null check before free
C standards 7.20.3.2/2 from ISO-IEC 9899 note free check null, so it's all dummy code.
Change-Id: Iec43e9040ce7d26c6ee45d388e66cf3f8f670b0e
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Inki Dae [Mon, 12 Dec 2022 09:37:29 +0000 (18:37 +0900)]
mv_machine_learning: code refactoring to face recognition
[Issue type] : code refactoring
Did code refactoring by doing,
- Rework facenet inference using itask. With this change,
facenet inference is handled by face recognition task API
implementation. And this is a main purpose of this patch.
- Update meta file for face recognition task by adding several
meta parameters.
- and code cleanup.
This is a step for introducing new feature vector manager.
Change-Id: Ia38c4dc9c45b3216d88acf5f80befd2c02da2aad
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Kwanghoon Son [Wed, 28 Dec 2022 06:52:38 +0000 (15:52 +0900)]
Fix QRcode error handle
Change default error MEDIA_VISION_ERROR_NONE to
MEDIA_VISION_ERROR_INTERNAL.
[Issue type] Fix
Change-Id: I61bfa695f98341b979be5d91646831763b9f6298
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 28 Dec 2022 01:57:18 +0000 (10:57 +0900)]
Fix LOGE to LOGI
[Issue type] Fix
Change-Id: I7828d3dc85a64e6879371b2385fa9afcf2e931cb
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Thu, 22 Dec 2022 03:35:13 +0000 (12:35 +0900)]
Fix json_to_string memory leak
[Issue type] Bug fix
Change-Id: Ia0785b256f9323f8388c22cb7f2526f220b3cf3a
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 14 Dec 2022 06:33:45 +0000 (15:33 +0900)]
Merge branch 'tizen_devel' into tizen
Inki Dae (2):
mv_machine_leanring: code refactoring to face recognition
mv_machine_learning: fix build error
Kwanghoon Son (4):
Add yolo5s model on SNPE
Change rpm name testsuite to unittests
setup and teardown for line coverage
Force clang-format to version 9
Seungbae Shin (3):
mv3d: pass raw pointer to g_async_queue instead to make code simple
mv3d: keep pointcloud as a shared_ptr form instead of raw void*
Fix build warnings
Tae-Young Chung (4):
mv3d: get the latest in mDfsAsyncQueue
Update parts of getting the latest in mDfsAsyncQueue
mv3d: fix vision.3d feature check
mv3d: create DfsAdaptor and call bind() when mDfsAdaptor is nullptr
Change-Id: I357659abe8f57d8777b1c780bb463f8f6f62e7bf
Seungbae Shin [Thu, 8 Dec 2022 11:16:56 +0000 (20:16 +0900)]
Fix build warnings
[Issue type] : build
[Version] 0.26.4
Change-Id: Ie7b0eb67be7f298e76225d93a2217d5e53fcc5b6
Seungbae Shin [Fri, 23 Sep 2022 05:37:53 +0000 (14:37 +0900)]
mv3d: keep pointcloud as a shared_ptr form instead of raw void*
The shared_ptr is exactly what we got from geometry::PointCloud::CreateFrom RGBDImage(),
eventually, this change gives us better readability and safety.
[Issue type] refactoring
[Version] 0.26.3
Change-Id: I20e4f95e272dbd8a05ce18c267c1dc84539387d0
Seungbae Shin [Thu, 22 Sep 2022 11:58:24 +0000 (20:58 +0900)]
mv3d: pass raw pointer to g_async_queue instead to make code simple
[Issue type] refactoring
[Version] 0.26.2
In addition, make g_async_queue to cleanup automatically for the remained items.
Change-Id: Ibab33c79bd520d2d8acbdfdebca07628c8b2edc7
Kwanghoon Son [Wed, 14 Dec 2022 00:13:31 +0000 (09:13 +0900)]
Force clang-format to version 9
[Issue type] lint
Output from clang-format varies by clang-format version, for the best
result we force it to version 9.
Could run with ./script/excute_format.sh for all formatting. Also
jenkins bot will test it.
Change-Id: Id9e2ef4e9d74cf0e518f0a04efd1c49e4502b97c
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Tae-Young Chung [Tue, 6 Dec 2022 04:59:44 +0000 (13:59 +0900)]
mv3d: create DfsAdaptor and call bind() when mDfsAdaptor is nullptr
[Issue type] bug fix
Change-Id: Id0642bb9f17b3be2522b6cacad8a5feb5750a5fb
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
Tae-Young Chung [Tue, 6 Dec 2022 03:34:05 +0000 (12:34 +0900)]
mv3d: fix vision.3d feature check
[Issue type] bug fix
Change-Id: I9022dcecaf812bc866ee36ee7cff758fb413f7c9
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
Inki Dae [Tue, 6 Dec 2022 05:03:29 +0000 (14:03 +0900)]
mv_machine_learning: fix build error
[Issue type] : bug fix
Fixed a build error due to using not supported interface - GetWeightWithLayer
- of training engine interface by dropping the relevant code.
This code will be revisited after updating training engine interface later.
Change-Id: Id50415de47022b189933477cd69495639907690a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Wed, 30 Nov 2022 01:22:18 +0000 (10:22 +0900)]
mv_machine_leanring: code refactoring to face recognition
[Issue type] : code refactoring
Did code refactoring to face recognition framework by doing,
- Change feature vector file format to reduce unnecessary iteration
overhead.
[before]
|feature vector|one-hot-encoding-table|...|header|
[after]
[feature vector|label index|...|header|
- Store data set to feature vector file after training because
we need to consider feature vector priority based data set
management policy later - this patch is just a step for it.
- Several code cleanups.
On top of this patch, I will add the new data set management policy.
Change-Id: Ibaa866533a2f3187c353f6fb543821bb79ddfa98
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Kwanghoon Son [Wed, 23 Nov 2022 03:03:13 +0000 (22:03 -0500)]
setup and teardown for line coverage
[Issue type] New
[Version] 0.26.1
Script will install resources for test and delete.
Change-Id: Ica9b7f0c9522863b3cc04f558b24c21dda0fbcae
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Tae-Young Chung [Mon, 28 Nov 2022 07:06:18 +0000 (16:06 +0900)]
Update parts of getting the latest in mDfsAsyncQueue
Change-Id: Ica5b2236ca869f9a415143f1737fbced9321157e
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
Kwanghoon Son [Tue, 22 Nov 2022 01:37:18 +0000 (20:37 -0500)]
Change rpm name testsuite to unittests
[Issue type] New
[Version] 0.26.0
For auto linecoverage, this require explicit package name and script to
run.
Change-Id: I2610021585e4ae1f337cb7f810be31a00dcc24c2
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Tae-Young Chung [Mon, 14 Nov 2022 06:44:16 +0000 (15:44 +0900)]
mv3d: get the latest in mDfsAsyncQueue
[Issue type] update
Change-Id: I5c38a52b2bdfe439e01d1027ca30742a7486c34f
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
Kwanghoon Son [Fri, 18 Nov 2022 05:48:56 +0000 (00:48 -0500)]
Add yolo5s model on SNPE
[Issue type] new
Change-Id: If3209125970b1e8e2cce9cda9000f89c6617ce2b
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
sangho park [Wed, 14 Dec 2022 05:22:19 +0000 (14:22 +0900)]
call glClear before rendering 3D
[Version] 0.25.4
[Issue type] bug fix
Change-Id: Ice1483919e7c8cd886736217e787addedeb59a4b
Signed-off-by: sangho park <sangho.g.park@samsung.com>
sangho park [Fri, 9 Dec 2022 08:57:12 +0000 (17:57 +0900)]
Change GL_RGB to GL_RGBA for rendering 2D visualizer
[Version] 0.25.3
[Issue type] bug fix
Change-Id: I4ec4482056dcdd74a6e7972de8a2515e87f978d0
Signed-off-by: sangho park <sangho.g.park@samsung.com>
Kwanghoon Son [Thu, 17 Nov 2022 07:34:00 +0000 (02:34 -0500)]
Apply clang-format
[Issue type] refactoring
[Version] 0.25.2
Change-Id: Ib9ef6823873bc452ac48257615fc6e61977f4247
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Thu, 17 Nov 2022 06:57:44 +0000 (01:57 -0500)]
Merge branch 'tizen_devel' into tizen
[Issue type] sync
[Version] 0.25.1
Inki Dae (2):
mv_machine_learning: add new meta file approach
mv_machine_learning: add postprocess support
Kwanghoon Son (2):
Fix nested condition and formatting
Add postprocess for letterbox
Tae-Young Chung (1):
Change default value of MV_3D_DEPTH_MODE in json to '1', and add error
return when the mode is MV_3D_DEPTH_MODE_NONE
Change-Id: I22a3ca06b5f2ad6101977a5d37351aec21cf9d1f