From: Inki Dae Date: Thu, 14 Nov 2024 04:26:46 +0000 (+0900) Subject: auto_zoom: use runtime pipeline configuration feature X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6cc7ad6d3fc3e116c7ff774f987029239a3e6e91;p=platform%2Fcore%2Fapi%2Fsingleo.git auto_zoom: use runtime pipeline configuration feature Change-Id: I6c6930ba4f17eb68d6ea4fff505b5a7aee2c51fe Signed-off-by: Inki Dae --- diff --git a/services/auto_zoom/src/AutoZoom.cpp b/services/auto_zoom/src/AutoZoom.cpp index 7373175..df9653e 100644 --- a/services/auto_zoom/src/AutoZoom.cpp +++ b/services/auto_zoom/src/AutoZoom.cpp @@ -113,26 +113,23 @@ AutoZoom::AutoZoom() _taskManager = make_unique(); + _taskManager->requestNewNode(NodeType::STARTPOINT, "startpoint"); + auto face_detection_node = _taskManager->requestNewNode(NodeType::INFERENCE, "face_detection"); dynamic_cast(face_detection_node)->setInferenceTask(factory->createFaceDetection()); - auto bridge_node = _taskManager->requestNewNode(NodeType::BRIDGE, "bridge_node"); - bridge_node->addDependency(face_detection_node); - dynamic_cast(bridge_node)->setCb(BridgeNodeCallback); - - auto face_recognition_node = _taskManager->requestNewNode(NodeType::INFERENCE, "face_recognition_node"); - dynamic_cast(face_recognition_node)->setInferenceTask(factory->createFaceRecognition()); - face_recognition_node->addDependency(bridge_node); - - auto endpoint_node = _taskManager->requestNewNode(NodeType::ENDPOINT, "endpoint"); - endpoint_node->addDependency(face_detection_node); - endpoint_node->addDependency(face_recognition_node); + _taskManager->requestNewNode(NodeType::ENDPOINT, "endpoint"); _postprocessor = make_unique(); _preprocessor = make_unique(); // Use Clahe filter to enhance image contrast. _preprocessor->setFilter(make_unique()); + + _taskManager->resetPipeline(); + + _taskManager->addEdge("startpoint", "face_detection"); + _taskManager->addEdge("face_detection", "endpoint"); } void AutoZoom::configure(InputConfigBase &config) @@ -293,16 +290,9 @@ void AutoZoom::updateResult(BaseDataType &in_data) if (output->_is_empty) continue; - if (output->_type != ResultType::OBJECT_DETECTION && output->_type != ResultType::FACE_DETECTION && - output->_type != ResultType::FACE_RECOGNITION) + if (output->_type != ResultType::OBJECT_DETECTION && output->_type != ResultType::FACE_DETECTION) throw InvalidParameter("Invalid result type"); - if (output->_type == ResultType::FACE_RECOGNITION) { - auto &frResult = dynamic_cast(*output); - SINGLEO_LOGD("label : %s", frResult._label.c_str()); - continue; - } - if (output->_type == ResultType::OBJECT_DETECTION || output->_type == ResultType::FACE_DETECTION) { vector &rects = dynamic_cast(*output)._rects;