Inki Dae [Tue, 24 Sep 2024 06:35:33 +0000 (15:35 +0900)]
mv_machine_learning: add G_GAZE_ESTIMATION model support
Change-Id: I6202e243f0542911a952a7598b1eb76ee2a2f22d
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Mon, 15 Jul 2024 07:31:47 +0000 (16:31 +0900)]
test: add test case for gaze tracking task group
Change-Id: I7df3dd4160b2e7a33cc98f4d0caf60ba00c658fd
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Mon, 15 Jul 2024 05:07:39 +0000 (14:07 +0900)]
mv_machine_learning: add gaze tracking task group
Change-Id: Ieb2fdd6f599bba70c81849820151cc6a9eb8d087
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Mon, 22 Jul 2024 07:58:09 +0000 (16:58 +0900)]
test: add hand detection model test case
Change-Id: Ia752b12148b672e960e82cf14d8becfc3bba31b8
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Mon, 22 Jul 2024 05:53:14 +0000 (14:53 +0900)]
mv_machine_learning: add hand detection model support
Change-Id: I411852d4cd429aa48ef1ddcee9ae5f1fbb2bb43d
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Thu, 18 Jul 2024 00:35:00 +0000 (09:35 +0900)]
test: add test case for hand landmark task group
Change-Id: I5ce95733d005e07dac3ae31a47d25680a957bda6
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Tue, 16 Jul 2024 07:52:18 +0000 (16:52 +0900)]
mv_machine_learning: add hand landmark detection model support
Change-Id: I997373757edb91bb6ef08dee4a7e3320df4837ba
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Kwanghoon Son [Fri, 13 Sep 2024 04:30:56 +0000 (13:30 +0900)]
doc: update mv_face_detection
Change-Id: Ia58b6a771b07c157d244d8eb88570c949c5f1fed
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Fri, 13 Sep 2024 02:08:45 +0000 (11:08 +0900)]
doc: update common
Change-Id: Ia7ad8c390545f25d7826768f839c93ff5954d465
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Fri, 13 Sep 2024 01:56:15 +0000 (10:56 +0900)]
doc: update barcode
Change-Id: I849fcfe2f0a61aab251b8c5fc09b89df642de447
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Mon, 9 Sep 2024 02:32:28 +0000 (11:32 +0900)]
doc: update barcode
Change-Id: I0795867c79a4f27e11aace789b2cb8c1ae2eb809
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Mon, 2 Sep 2024 23:54:25 +0000 (08:54 +0900)]
Change setup script to copy rpk resources
Change-Id: Ifbdb0d9e7fc69269cde631f1842e79b688a30033
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Thu, 29 Aug 2024 04:17:21 +0000 (13:17 +0900)]
v1.0.8 Merge branch 'tizen_devel' into tizen
Vibhav Aggarwal (3):
mv_machine_learning: fix bug in test case
ImageClassification: introduce _status member
mv_machine_learning: introduce _status member to remaining tasks
Change-Id: I92e4284723a415e01e844e1c51d3b9c54212736c
Vibhav Aggarwal [Wed, 28 Aug 2024 06:37:29 +0000 (15:37 +0900)]
mv_machine_learning: introduce _status member to remaining tasks
[Issue type] bug fix
Introduce _status member to tasks other than ImageClassification
in a way similar to this patch[1].
[1] https://review.tizen.org/gerrit/#/c/platform/core/api/mediavision/+/316729/
Change-Id: Ie80450d4048436cb69c82d7fa79f9c9861ad67f2
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Vibhav Aggarwal [Tue, 27 Aug 2024 09:50:54 +0000 (18:50 +0900)]
ImageClassification: introduce _status member
[Issue type] bug fix
This patch introduces a _status member to keep track
of internal working status of the ImageClassification task.
This helps in catching errors when the user calls the APIs
in the wrong order (for example: calling mv_..._get_label() before
calling mv_..._inference()).
After merging this patch, a similar patch will be introduced
for other tasks as well.
Change-Id: Ifd874d053a834a84e2455a7d999029c774d97762
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Vibhav Aggarwal [Wed, 7 Aug 2024 11:33:30 +0000 (20:33 +0900)]
mv_machine_learning: fix bug in test case
[Issue type] bug fix
This patch fixes a bug in the object detection
and object detection 3d test cases where test_model_input
struct was being incorrectly initialized.
Change-Id: I6819f6fea141e92106530a2b4bc766b1529b01ff
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Kwanghoon Son [Tue, 27 Aug 2024 04:02:43 +0000 (13:02 +0900)]
Fix doc
[Version] 1.0.7
- Switch @section FEATURE <> OVERVIEW
- Wrong function name
Change-Id: I76986d4ccfcdcd766fe8ba7fecd81f8e1079dcc1
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Tue, 30 Jul 2024 03:28:21 +0000 (12:28 +0900)]
v1.0.6 Merge branch 'tizen_devel' into tizen
Change-Id: I0d7486060c5a3a3b44be55e13c16436931ac71e6
Kwanghoon Son [Tue, 30 Jul 2024 01:50:50 +0000 (10:50 +0900)]
Remove logoFrame
Since data pattern is not shown near logo, logo frame is not necessary.
Change-Id: I5c7ad003101cc9018825e390a8586929e8da98f7
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Mon, 29 Jul 2024 12:04:45 +0000 (21:04 +0900)]
Exclude draw data when logo exist
When draw logo, data area should clean.
Also fix circle draw position.
Change-Id: I80d60e6ae8ab3ac427314b493441cc76265e3d38
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Thu, 25 Jul 2024 00:23:26 +0000 (09:23 +0900)]
Support logo in mv_barcode_generate_source
The reason why the logo was not used in mv_barcode_generate_source before is
that the logo does not look normal if the buffer size is too small.
However in the case of design QR, the buffer size is increased (x16),
so the logo quality will not be a problem.
Change-Id: Idfff0a049e5c5fbaeb7eaed018f06f2a15f87619
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Fri, 26 Jul 2024 03:49:51 +0000 (12:49 +0900)]
v1.0.5 Merge branch 'tizen_devel' into tizen
Inki Dae (1):
Revert "machine_learning: fix a bug to handling
MEDIA_VISION_ERROR_NO_DATA"
Kwanghoon Son (7):
barcode_gen: Change parameter to config
Clean up write_buffer_to_img parameter
Add draw_logo check, comment
Clean symbol resource handle
Fix log condition
Change color using opencv instead zint
Draw finder, data using opencv instead zint
Change-Id: I969b50538bd24703c99edad2671166d212cc901e
Kwanghoon Son [Thu, 18 Jul 2024 06:06:19 +0000 (15:06 +0900)]
Draw finder, data using opencv instead zint
Change-Id: I516db8cf79a0ca8c554cb97ef78af5742b8bd2cd
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Tue, 16 Jul 2024 00:01:44 +0000 (09:01 +0900)]
Change color using opencv instead zint
DesignQR finder and data shape handling will be moved to opencv,
so color also should be processed in opencv.
Change-Id: I1462c56aa2d6ffddd3542aa22ec0042fa79e7f7d
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Mon, 15 Jul 2024 05:22:00 +0000 (14:22 +0900)]
Fix log condition
- fix wrong log print
- refactoring for convert
Change-Id: I8181be4fb91c9fb4a599ff665bc36c05cbf27185
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Inki Dae [Mon, 15 Jul 2024 01:19:05 +0000 (10:19 +0900)]
Revert "machine_learning: fix a bug to handling MEDIA_VISION_ERROR_NO_DATA"
This reverts commit
cce581a7642b661cbd2a8d27fa6a2c9ede4ea46a.
_result.is_valid should be kept as false if inference request failed due to
no label because result() will return no data exception if _result.is_valid
is false. If _result.is_valid is true then an error exception will happen
in result() function,
FaceRecognitionResult &FaceRecognition::result()
{
if (!_result.is_valid) //<- if is_valid is true then it is skipped.
throw NoData("Inference result not ready yet.");
if (!_label_manager)
throw NoData("Label file doesn't exist.");
try {
//<- so it will try to access _labels with wrong index.
_label_manager->getLabelString(_result.label, _result.label_idx);
} catch (const BaseException &e) {
LOGE("%s", e.what());
throw e;
}
return _result;
}
Change-Id: Ife004862e72f33eff4bf4ac313abb1823366421e
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Kwanghoon Son [Thu, 11 Jul 2024 02:16:17 +0000 (11:16 +0900)]
Clean symbol resource handle
- ZBarcode_Delete now called once after draw logic
- remove un-necessary API expose
Change-Id: I4dea92cb2678adb5f1dcefa9530dd4ffb3ed3122
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 10 Jul 2024 00:08:07 +0000 (09:08 +0900)]
Add draw_logo check, comment
Change-Id: I1033ff296547ac6490ea4c4148d8de509ea79f70
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Tue, 9 Jul 2024 01:49:20 +0000 (10:49 +0900)]
Clean up write_buffer_to_img parameter
Change-Id: I8446491bd75033dea874c15e5769a3269eeaac40
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Fri, 5 Jul 2024 03:20:53 +0000 (12:20 +0900)]
barcode_gen: Change parameter to config
- Clean up using BarcodeConfig
- Remove _open.{h,cpp}
Change-Id: I9bd1314c995543c2ec89af728973ea7e87c8bfa2
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Fri, 5 Jul 2024 02:06:43 +0000 (11:06 +0900)]
v1.0.4 Merge branch 'tizen_devel' into tizen
Kwanghoon Son (5):
Remove un-used header
Support barcode generation on Ubuntu
Change test resource path
Add BarcodeConfig
BarcodeConfig::update handle more config
Change-Id: I2425cd068ca0c21286d8ef777ed60e08979106e3
Kwanghoon Son [Mon, 1 Jul 2024 05:57:45 +0000 (14:57 +0900)]
BarcodeConfig::update handle more config
This will be replaced getColorFromEngine, prepareMessageToGenerate
Change-Id: I1bb4d8babc946100c72f9aa0fdd1e459dff82e02
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Thu, 27 Jun 2024 03:46:07 +0000 (12:46 +0900)]
Add BarcodeConfig
Collect barcode options to a single structure for the following reasons:
- The common parsing code was scattered in multiple places,
making it difficult to read and understand.
- Since the mv_engine_config was separate,
there was a need to parse it in the middle of the calculation logic.
- function paramter is too long and almost same to next sub-function.
Change-Id: I9bf18ec88ed5bc48aff9ab3aabcb25c5ec0d83cd
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Thu, 27 Jun 2024 01:47:14 +0000 (10:47 +0900)]
Change test resource path
Change-Id: I177394dbd18ad98c878c320a435d886ef6602b6b
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Mon, 24 Jun 2024 05:44:56 +0000 (14:44 +0900)]
Support barcode generation on Ubuntu
Change-Id: Ice8523a648c48da7b9bfaaa69bd685d75c7a63fe
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Mon, 24 Jun 2024 05:45:58 +0000 (14:45 +0900)]
Remove un-used header
Change-Id: Iaf80fbe1157bad6128065011ba15f60456dca886
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Vibhav Aggarwal [Wed, 3 Jul 2024 03:17:11 +0000 (12:17 +0900)]
fix svace nullptr issue
https://analysishub.sec.samsung.net/dm/tizen/sb2/main/review#PRJID=1&WGID=208693
Change-Id: I1497bc333002c8476707bca9f72ce8705ea48c6a
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
kwang son [Mon, 24 Jun 2024 04:50:36 +0000 (04:50 +0000)]
Merge "Fix tizen header checker warn" into tizen
Kwanghoon Son [Mon, 24 Jun 2024 03:53:52 +0000 (03:53 +0000)]
v1.0.3 Merge branch 'tizen_devel' into tizen
Inki Dae (1):
machine_learning: fix a bug to handling MEDIA_VISION_ERROR_NO_DATA
Kwanghoon Son (6):
Add ml task group options
Add cmake header with dependencies
Fix ML task un-catched error
Fix ML task un-catched error
Fix mv_{task}_set_model
Remove cout in test
Tae-Young Chung (1):
Add U2Net based face landmark detection
Change-Id: I0fc873bf7d26b727947f0b6e9cb526195c3ce7cc
Inki Dae [Wed, 5 Jun 2024 00:36:48 +0000 (09:36 +0900)]
machine_learning: fix a bug to handling MEDIA_VISION_ERROR_NO_DATA
issue type : bug fix
Fix a bug to handling MEDIA_VISION_ERROR_NO_DATA.
User can request face recognition inference without no model file.
In this case, an exception is returned. However, this isn't an error case
but just no data. Without this change, it throwed an exception in result()
because _result.is_valid is false.
This isn't a correct behavior. Therefore, this patch makes _result.is_valid
to be true in case that label data doesn't exist so that _result can be
returned correctly.
Change-Id: I435f064260de4f21d6224e72cdcca650b0280384
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Kwanghoon Son [Tue, 7 May 2024 06:03:35 +0000 (15:03 +0900)]
Remove cout in test
When test passed, it just noisy.
Change-Id: I1f4e417a1f37856c712a0e182204032007319583
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Tue, 30 Apr 2024 02:43:27 +0000 (11:43 +0900)]
Fix mv_{task}_set_model
- Missing parameter
- Parameter model_name is optional so move to the end of parameter list
- Test created a std::bad_alloc exception problem because structure
model_info was used in several places under the same name.
Change-Id: I8f1a77bfeff724e5405b5ac54eb3bdbe6a3e1b6c
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Tae-Young Chung [Thu, 25 Apr 2024 05:13:52 +0000 (14:13 +0900)]
Add U2Net based face landmark detection
This patch supports U2Net based face landmark model,
which provides 68 points.
The model is provided from https://github.sec.samsung.net/tizen-vault/open_model_zoo/pull/9
Change-Id: I30cd9ef2d173c9cc05f43c579cc3d2f589bc120a
Signed-off-by: Tae-Young Chung <ty83.chung@samsung.com>
Kwanghoon Son [Fri, 26 Apr 2024 06:03:30 +0000 (15:03 +0900)]
Fix ML task un-catched error
Update missed part of object detection.
Fixes: fae343dae12d583690f24659fa923090470f9483
Change-Id: I1b76e29f5237d121a1503ea375bdc5dd4f676a66
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 24 Apr 2024 10:05:34 +0000 (10:05 +0000)]
Fix ML task un-catched error
In the case of EngineConfig, if there is no json file, the int type is
throw. But BaseException cannot catch it.
So changing the int type to runtime_error and add catch that can catch
all errors.
Change-Id: I7c073ddbd22aa649982a51909370f1c8e3be54ae
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 24 Apr 2024 07:03:23 +0000 (07:03 +0000)]
Add cmake header with dependencies
Change-Id: I4d2ebe3aca8d6775c5d7c8eaf120e7c6fdab5f4b
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 24 Apr 2024 04:52:20 +0000 (04:52 +0000)]
Add ml task group options
ML options was supported only in spec files, but changed to be specified
in cmake.
Change-Id: I05bea2218e59180b21536b224d3575f9c81e154b
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 19 Jun 2024 12:02:05 +0000 (21:02 +0900)]
Fix tizen header checker warn
tizen-native-api-review-script check message,
Please consider changing tabs in comments to spaces.
Tabs may cause aligned comments to be shown incorrectly,
depending on the editor's tab width setting.
Change-Id: Id49bd94502ab5599dcec372fd28c71b2ed7a5646
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Inki Dae [Wed, 19 Jun 2024 02:07:15 +0000 (11:07 +0900)]
drop @ref from function descriptions
[Issue type] : document cleanup
[Version] : 1.0.2
Drop @ref from function descriptions of mv_face_recognition.h and
mv_roi_tracker.h files according to SE team's request.
Change-Id: I9b2bce9e0381887d11128a3a2d010572da575b92
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Kwanghoon Son [Wed, 19 Jun 2024 01:29:10 +0000 (10:29 +0900)]
Fix lint
[Version] 1.0.2
Change-Id: Ie97328e3e55cfec95620b61f024607faa1e07ab2
Fixes: 5ee3a4ba41c4 ("[ACR-1848] Publish machine learning APIs")
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Vibhav Aggarwal [Wed, 12 Jun 2024 09:09:43 +0000 (18:09 +0900)]
[ACR-1848] Publish machine learning APIs
Please refer to the following ACR:
https://jira.sec.samsung.net/browse/ACR-1848
Change-Id: I92c053b3cb1d872735ccd548a091ba9e6b29861f
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Kwanghoon Son [Tue, 16 Apr 2024 01:47:43 +0000 (01:47 +0000)]
Exclude lcov
[Version] 1.0.1
Change-Id: I7ec99578c5fbc9812c7d4cde0c3d9fda25c5a85e
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Fri, 5 Apr 2024 04:57:03 +0000 (13:57 +0900)]
Merge branch 'tizen_devel' into tizen
[Version] 1.0.0
Vibhav Aggarwal (2):
mv_machine_learning: replace PostProcess by Postprocess
mv_machine_learning: introduce machine_learning_native_remove function
mv_machine_learning/common/include/native_capi.h | 1 +
mv_machine_learning/common/meta/include/Postprocess.h | 5 +++--
mv_machine_learning/common/meta/src/Postprocess.cpp | 4 ++--
mv_machine_learning/common/src/native_capi.cpp | 7 +++++++
.../src/ImageClassificationDefault.cpp | 2 +-
5 files changed, 14 insertions(+), 5 deletions(-)
Change-Id: Ic0215c614ab7cb761cf4f898297e66c0a42cca52
Vibhav Aggarwal [Mon, 1 Apr 2024 07:11:23 +0000 (16:11 +0900)]
mv_machine_learning: introduce machine_learning_native_remove function
[Issue type] new feature
Introduce machine_learning_native_remove(handle, task_name) function
to remove task matching `task_name` from the handle which was added
using machine_learning_native_add().
Change-Id: I4c341205737b91995da7992462a85d3655e997e2
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Vibhav Aggarwal [Mon, 5 Feb 2024 05:35:25 +0000 (14:35 +0900)]
mv_machine_learning: replace PostProcess by Postprocess
[Issue type] code refactoring
Use Postprocess class instead of PostProcess since the
latter one is going to be removed.
Change-Id: I82cc9c777fe071d9edc4a5d9e680dd2bdb56385a
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Inki Dae [Tue, 26 Mar 2024 02:06:09 +0000 (11:06 +0900)]
update document for deprecated API
[Version] : 0.35.1
[Issue type] : document update
Update mediavision_doc.h file, which describes Media Vision Inference
has been deprecated.
Change-Id: I4219dfae5a763dec1d1ccf19a87362f8a25d3f45
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Kwanghoon Son [Wed, 6 Mar 2024 02:21:19 +0000 (11:21 +0900)]
Merge branch 'tizen_devel' into tizen
[Version] 0.35.0
Inki Dae (1):
mv_machine_learning: initialize backend type correctly
Kwanghoon Son (8):
Fix compiler warning
clang-format: Turn on SortUsingDeclarations
clang-format: Add missing header
Support ubuntu build
Cmake: Fix wrong dependency
Enable mv_machine_learning build
Apply clang-format sort include
Add mv_test on non-tizen build
Change-Id: I4ed76520d5d85a0161fa7b5cdab2fd9eb3deef15
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 28 Feb 2024 07:43:08 +0000 (07:43 +0000)]
Add mv_test on non-tizen build
Change-Id: Ia700337f4d465e83a31e7fc46af0b6c631e66add
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 28 Feb 2024 08:03:10 +0000 (17:03 +0900)]
Apply clang-format sort include
Change-Id: If9201c73eec2ac6ac09439f8d5ae54e1d202bda0
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Inki Dae [Wed, 28 Feb 2024 00:56:02 +0000 (09:56 +0900)]
mv_machine_learning: initialize backend type correctly
[Issue type] : bug fix
Initialize _backendType member variable correctly with
MV_INFERENCE_BACKEND_NONE.
This patch fixes a issue that loading default backend type from meta config
file is skipped if user doesn't call mv_task_name_set_engine().
See below parseConfigFile function code in MvMlConfig.cpp,
if (_backendType == MV_INFERENCE_BACKEND_NONE) {
ret = config->getIntegerAttribute(MV_BACKEND_TYPE, &_backendType);
if (ret != MEDIA_VISION_ERROR_NONE)
throw InvalidOperation("Fail to get backend engine type.");
}
Change-Id: I1ae23b9893893e63bea36b40f6d9c75e940cc497
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Kwanghoon Son [Wed, 21 Feb 2024 06:25:10 +0000 (06:25 +0000)]
Enable mv_machine_learning build
Change-Id: I1930d577c6541d566ea4a7970f3dc44d3836c73e
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 21 Feb 2024 02:35:02 +0000 (02:35 +0000)]
Cmake: Fix wrong dependency
Change-Id: Ifeafe1de39a4c70c4c88b92840d69a451392621a
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Tue, 20 Feb 2024 06:57:53 +0000 (06:57 +0000)]
Support ubuntu build
- Why
Recently, there are experimental requirements to use mediavision on
other platforms. In addition, if it can be built on the existing pc,
the test, debug, and development speed may be faster because gbs do
not have to be used.
Change-Id: Iae832d9692c19ede33ef76a91bd6ab623fc65121
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 21 Feb 2024 04:17:37 +0000 (04:17 +0000)]
clang-format: Add missing header
clang-format detect missing header.
This Patch is pre-patch for SortIncludes
Sort order will
"local header"
<project header>
<3rd-party header>
<system C header>
<system CPP header>
Change-Id: If54698876bc8fd9016aff1709813932cdb4b8497
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 21 Feb 2024 02:54:42 +0000 (11:54 +0900)]
clang-format: Turn on SortUsingDeclarations
Change-Id: I3d937d6d3c610659dab0264202db7214223c078e
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 14 Feb 2024 05:30:33 +0000 (05:30 +0000)]
Fix compiler warning
.h:
typo
test:
InstantiateTestCase_P_IsDeprecated' is deprecated:
INSTANTIATE_TEST_CASE_P is deprecated, please use
INSTANTIATE_TEST_SUITE_P [-Wdeprecated-declarations]
Change-Id: I7579ea9a63c3029109fcfbaaca1af6c46ac6b910
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Thu, 8 Feb 2024 01:48:52 +0000 (01:48 +0000)]
Fix parameter check
[Issue type] Fix
TCT need INVALID_PATH instead of INVALID_PARAMETER
Fixed:
7c71a2aa35c62247032f9ea0f7771badcf1d23a9
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Change-Id: Ia727988cdabc09092239b5d806905e28662061f8
Kwanghoon Son [Wed, 7 Feb 2024 07:02:07 +0000 (07:02 +0000)]
Fix parameter check
[Issue type] Fix
TCT need INVALID_DATA instead of INVALID_PARAMETER
Fixed:
7c71a2aa35c62247032f9ea0f7771badcf1d23a9
Change-Id: I5a7155513e51d183ea2f221822262d3e1a65064b
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Wed, 7 Feb 2024 04:16:14 +0000 (13:16 +0900)]
Merge branch 'tizen_devel' into tizen
[Version] 0.34.0
Inki Dae (11):
mv_machine_learning: change Tizen version of task API
mv_machine_learning: introduce get_result_count API for object
detection group
mv_machine_learning: change API version of object detection task group
test: fix test case for object detection task group
mv_machine_learning: introduce get_result_count API for image
classification
mv_machine_learning: introduce get_result_count API for landmark
detection
mv_machine_learning: fix typo of test case name
mv_machine_learning: introduce get_result_count API for object
detection 3d
mv_machine_learning: move frame_number to get_result_count API
mv_machine_learning: use explicit API name and code cleanup
deprecate legacy API
Kwanghoon Son (6):
Fix clang-format
Skip test when feature key not supported
mv_barcode: Clean duplicate parameter checker
mv_barcode: Fix enum name conflict
Fix NULL check
mv_barcode: Export zint symbol
Seungbae Shin (3):
fixup! Fix NULL check
[draft] mv_inference: refactoring
mv_machine_learning: fix typo
Vibhav Aggarwal (9):
mv_machine_learning: rename .c to .cpp
mv_machine_learning: memory optimization in loading dataset
mv_machine_learning: merge mv_inference.cpp and mv_inference_open.cpp
mv_machine_learning: small optimization in FaceRecognition
mv_machine_learning: fix memory leak in test
mv_machine_learning: optimize preprocess for ImageClassification
mv_machine_learning: optimize preprocess for other task groups
mv_machine_learning: modify ImageClassificationResult
mv_machine_learning: minor bug fixes
Change-Id: Id1e417b04763922de6895238bfc2bacf12372256
Inki Dae [Fri, 2 Feb 2024 05:20:15 +0000 (14:20 +0900)]
deprecate legacy API
[Issue type] : code deprecate
Deprecate legacy API - non-deep learning based mv_image, mv_face and
mv_surveillance, and deep learning based mv_inference modules.
These API will be replaced with new ones.
Ps. this patch needs ACR(API Change Request)
Changelog v1:
- deprecated defgroup in mediavision_doc.h (from SE team)
Change-Id: Ib124c25ea905d74fe9fc3798c1ba33d0fa98979f
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Thu, 1 Feb 2024 06:08:33 +0000 (15:08 +0900)]
mv_machine_learning: use explicit API name and code cleanup
[Issue type] : code cleanup
Use explicit result API name for task group API to make it easier for users
to understand what kind of information they will receive from the Task Group
API. In addition, this patch cleans up test code for each task group by
dropping console output and unnecessary parameters from task group API and
its test case code.
Change-Id: I3194c50e3b712640034ccd7437c408fb5a6679ab
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Seungbae Shin [Fri, 2 Feb 2024 04:19:37 +0000 (13:19 +0900)]
mv_machine_learning: fix typo
Change-Id: I4861a85fcf43385969c86619f79de1b2fb07d1f9
Vibhav Aggarwal [Thu, 1 Feb 2024 10:36:31 +0000 (19:36 +0900)]
mv_machine_learning: minor bug fixes
[Issue type] bug fix
Use default model name in case no model name is provided.
Also, fix a typo in PostprocessParser.h.
Change-Id: I82abf52e6c3ca582721a69ffabd1745e8b2e8462
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Seungbae Shin [Mon, 22 Jan 2024 10:50:47 +0000 (19:50 +0900)]
[draft] mv_inference: refactoring
Change-Id: I6a564fc04fd7181853025bd089c58d8e8ec1f369
Vibhav Aggarwal [Wed, 31 Jan 2024 04:52:01 +0000 (13:52 +0900)]
mv_machine_learning: modify ImageClassificationResult
[Issue type] code improvement
This patch modifies the ImageClassificationResult struct
to include multiple labels, along with indices and
confidences of each label. This will be useful to
reimplement the legacy APIs using ITask.
Change-Id: Ic57fd77f10f762997b26553843bb43acefb2f114
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Inki Dae [Tue, 30 Jan 2024 06:38:04 +0000 (15:38 +0900)]
mv_machine_learning: move frame_number to get_result_count API
[Issue type] : parameter change
Move frame_number parameter to get_result_count API because frame_number
depends on input data. The frame_number will be used to check if current
result coresponds to which input data. And minor typo fixup.
Change-Id: I0774c0d18b8fde459dda60f7a42763ab4c672651
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Mon, 29 Jan 2024 09:24:41 +0000 (18:24 +0900)]
mv_machine_learning: introduce get_result_count API for object detection 3d
[Issue type] : new feature
Introduce get_result_count API for object detection 3d task group.
In user perspective, this API provides information on how many results exist
so that user can request each result corresponding to a user-given index.
And also, in framework perspective, it provides consistent API behavior -
get_result_count API call updates _current_result of task group by calling
getOutput function of ITask, and other API call returns _current_result
value by calling getOutputCache function of ITask.
get_result_count : return a number of results to detected 3d objectes.
get_point_count : return a number of points to a given 3d object index.
get_points : return x and y positions to a given position index.
And we are enough with these API so so drop existing API.
In addition, this patch cleans up ObjectDetection3d and ObjectDetection3dAdapter
classes by dropping unnecessary code, and getOutput and getOutputCache functions
to Adapter class which was already introduced by other task groups.
Change-Id: I8370bb71fc94cf6109f1fb3e25a9bbee7d39a2bb
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Seungbae Shin [Tue, 30 Jan 2024 08:08:04 +0000 (17:08 +0900)]
fixup! Fix NULL check
Fix the following,
warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
Change-Id: Ib681859dc0173f35595dbea67848a7d3f817e0e1
Kwanghoon Son [Thu, 18 Jan 2024 07:38:36 +0000 (16:38 +0900)]
mv_barcode: Export zint symbol
barcode_generate_{source,image} had a common code but was separated
into completely different codes generateBarcode{ToImage, Mat}.
Also zint symbol copied to mv_source or opencv mat multiple time,
it wasted performance. So just export one symbol and use it
Diagram is,
zint_symbol -> mv_source = mv_barcode_gen_source
\> opencv mat -> post processing = mv_barcode_gen_image
Needs to merge BarcodeGenerator.h and mv_barcode_generate_open.h later
Change-Id: Ie77a3befd01324ecbc6890f0cda3d33845360678
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Fri, 26 Jan 2024 09:26:54 +0000 (18:26 +0900)]
Fix NULL check
Detect callback message could be null.
WID:
62132701 After having been assigned to a NULL value at
mv_barcode_detect_open.cpp:240, pointer '0' is passed as 4th parameter
in call to function 'barcode_detected_cb' at
mv_barcode_detect_open.cpp:240, where it is dereferenced at
test_barcode.cpp:25.
Change-Id: I1f0938300bd39caaadd998ebac9ebc2b5ab39a04
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Inki Dae [Fri, 26 Jan 2024 08:44:12 +0000 (17:44 +0900)]
mv_machine_learning: fix typo of test case name
[Issue type] : bug fix
Change-Id: Ifaa0cf14faea685ab0a4ab6dba604ef435c3164a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Fri, 26 Jan 2024 08:42:01 +0000 (17:42 +0900)]
mv_machine_learning: introduce get_result_count API for landmark detection
[Issue type] : new feature
Introduce get_result_count API for landmark detection task group.
In user perspective, this API provides information on how many results exist
so that user can request each result corresponding to a user-given index.
And also, in framework perspective, it provides consistent API behavior -
get_result_count API call updates _current_result of task group by calling
getOutput function of ITask, and get_result API call returns _current_result
value by calling getOutputCache function of ITask.
And we are enough with get_result_count and get_result API so drop existing
get_pos and get_positions API.
Change-Id: Ifabe8e2c50db58e95ae67bf1a5fd54586e8facc1
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Vibhav Aggarwal [Fri, 26 Jan 2024 04:23:21 +0000 (13:23 +0900)]
mv_machine_learning: optimize preprocess for other task groups
[Issue type] code optimization
This patch optimizes the preprocess performance for tasks
other than ImageClassification. This is in continuation
with this patch[1].
[1] https://review.tizen.org/gerrit/c/platform/core/api/mediavision/+/305058
Change-Id: Ibefd5e4e53bc5d91e3b86358d493dd13841a77b8
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Vibhav Aggarwal [Thu, 25 Jan 2024 10:57:27 +0000 (19:57 +0900)]
mv_machine_learning: optimize preprocess for ImageClassification
[Issue type] code optimization
The config information for ImageClassification::_preprocess was
being set on every call to ImageClassification::perform().
However, the config remains same and needs to be set only once.
This patch makes this optimization by introducing
configurePreprocess() function. If this patch gets approved,
all other task groups will be changed similarly.
Change-Id: Ibdae75766d4a68c45737cc424f7ee4b021f3b5bf
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Inki Dae [Thu, 25 Jan 2024 08:13:15 +0000 (17:13 +0900)]
mv_machine_learning: introduce get_result_count API for image classification
[Issue type] : new feature
Introduce get_result_count API for image classification task group.
In user perspective, this API provides information on how many results exist
so that user can request each result corresponding to a user-given index.
And also, in framework perspective, it provides consistent API behavior -
get_result_count API call updates _current_result of task group by calling
getOutput function of ITask, and get_result API call returns _current_result
value by calling getOutputCache function of ITask.
And we are enough with get_result_count and get_result API so drop existing
get_label API.
Change-Id: I9c1cb9e855494474af1510bbaf94febbdc57f05e
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Vibhav Aggarwal [Tue, 23 Jan 2024 04:47:06 +0000 (13:47 +0900)]
mv_machine_learning: fix memory leak in test
[Issue type] bug fix
Change-Id: I3143991150406be61a2674c1c0c5ecfede14b39e
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Vibhav Aggarwal [Tue, 23 Jan 2024 04:13:18 +0000 (13:13 +0900)]
mv_machine_learning: small optimization in FaceRecognition
[Issue type] code optimization
Change-Id: I1f2967ddf6137c4eef62fa71ed48ba895b89d90e
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Inki Dae [Thu, 25 Jan 2024 06:29:10 +0000 (15:29 +0900)]
test: fix test case for object detection task group
[issue type] : bug fix
Fix test case for object detection task group. In case of using
async API, destroy API can be called prior to exiting from waitforOutputQueue
function of AsyncManager class, and it can return a invalid operation exception.
Therefore, make sure to check the invalid operation exception so that
test case can be existed from user thread loop correctly.
Change-Id: I654a7123d6c88f40e6a17e55c2e374ff6c685017
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Wed, 24 Jan 2024 09:05:50 +0000 (18:05 +0900)]
mv_machine_learning: change API version of object detection task group
[Issue type] : version change
Object detection task groups are targeted to Tizen 9.0
Change-Id: I1e8a5b2977dc9d55dde6c95b8164c458b29db6ac
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Tue, 23 Jan 2024 09:30:35 +0000 (18:30 +0900)]
mv_machine_learning: introduce get_result_count API for object detection group
[Issue type] : new feature
Introduce get_result_cnt API for object detection task group.
In user perspective, this API provides information on how many results exist
so that user can request each result corresponding to a user-given index.
And also, in framework perspective, it provides consistent API behavior -
get_result_count API call updates _current_result of task group by calling
getOutput function of ITask, and get_result API call returns _current_result
value by calling getOutputCache function of ITask.
And we are enough with get_result_count and get_result API so drop existing
get_label API.
Change-Id: I9e5d593d9a1926c504d1ea51272e404b045a6d6b
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Kwanghoon Son [Wed, 24 Jan 2024 02:12:06 +0000 (11:12 +0900)]
mv_barcode: Fix enum name conflict
BarcodeType has same name BARCODE_UPCA member which is defined in zint.h
This conflict compile error when include zint.h.
This originally for mapping zint ABI, so changed to it.
Change-Id: If7e808a0b769eb1853494066807d79f78aa8e592
Link: https://github.com/zint/zint/blob/master/backend/zint.h
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Kwanghoon Son [Thu, 18 Jan 2024 02:04:04 +0000 (11:04 +0900)]
mv_barcode: Clean duplicate parameter checker
Move check position and rename MEDIA_VISION_CHECK_ERR
Change-Id: I1b911b4ad341bc348ceea01f281209f54bb7ed20
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Vibhav Aggarwal [Fri, 19 Jan 2024 07:20:12 +0000 (16:20 +0900)]
mv_machine_learning: merge mv_inference.cpp and mv_inference_open.cpp
[Issue type] code cleanup
Change-Id: Icda88605c20ab7f764588c14a197a6cc5ed5e67e
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Kwanghoon Son [Fri, 12 Jan 2024 09:09:53 +0000 (18:09 +0900)]
Skip test when feature key not supported
Change-Id: I577788343140913473405b7511620ab2914dac3f
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Vibhav Aggarwal [Tue, 9 Jan 2024 12:06:47 +0000 (21:06 +0900)]
mv_machine_learning: memory optimization in loading dataset
[Issue type] code optimization
This patch alters the FaceRecognitionDSM::loadDataSet()
function to minimize memory copy. A small optimization
is also made in addDataSet() function.
Change-Id: I9ac18e38ba3201ff0c122b831904229f524eb4c3
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Vibhav Aggarwal [Thu, 18 Jan 2024 08:10:53 +0000 (17:10 +0900)]
mv_machine_learning: rename .c to .cpp
[Issue type] code cleanup
Change-Id: Ibb8aa92efc7e598ab29acec870354454c80ca707
Signed-off-by: Vibhav Aggarwal <v.aggarwal@samsung.com>
Inki Dae [Wed, 17 Jan 2024 05:55:19 +0000 (14:55 +0900)]
mv_machine_learning: change Tizen version of task API
[Issue type] : code cleanup
Change Tizen version of task API. New Task API support is targeted to
Tizen 9.0 so update the version information on header files.
Change-Id: I1d3147d41db47d99a52a6fedfe4559e67e9474d0
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Kwanghoon Son [Wed, 17 Jan 2024 04:26:07 +0000 (13:26 +0900)]
Fix clang-format
Change-Id: If210c34343b4da5080fea5360ae752705dda635e
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
Inki Dae [Wed, 17 Jan 2024 04:16:21 +0000 (13:16 +0900)]
Merge branch 'tizen_devel' into tizen
[Version] 0.33.0
Kwanghoon Son (4):
barcode: Rename c files to cpp
mv_barcode_gen: Change buffer type to cv::Mat
Skip test when feature key not supported
Vibhav Aggarwal (2):
mv_machine_learning: optimize FaceRecognition taskgroup
mv_machine_learning: make testing more robust
Inki Dae (1):
mv_machine_learning: rename file names
Change-Id: Id444995d0d733e4bd5c21f8bfa334eb6d4adc4ab
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Wed, 10 Jan 2024 06:36:35 +0000 (15:36 +0900)]
mv_machine_learning: rename file names
[Issue type] code clean
Rename file names of mv_machine_learning according to Tizen coding style
document.[1]
Below are rules used in this patch,
- Class module refered by external modules uses "NanespaceClassname.*"
- Class module used internally uses "Classname.*"
. If "Classname" is duplicated with other task group then sub directory
name can be added as a prefix.
- Non class file referred by external modules uses "namespace_filename.*"
- Non class file used internally uses "filename.*"
. If "filename" is duplicated with other task group then sub directory
name can be added as a prefix.
[1] https://wiki.tizen.org/Native_Platform_Coding_Idiom_and_Style_Guide
Change-Id: I0fe3a95a1b5b88b294e2d00ad1fe489143d6cd7d
Signed-off-by: Inki Dae <inki.dae@samsung.com>