auto_zoom: use runtime pipeline configuration feature 59/320359/5
authorInki Dae <inki.dae@samsung.com>
Thu, 14 Nov 2024 04:26:46 +0000 (13:26 +0900)
committerVibhav Aggarwal <v.aggarwal@samsung.com>
Thu, 28 Nov 2024 06:37:29 +0000 (15:37 +0900)
Change-Id: I6c6930ba4f17eb68d6ea4fff505b5a7aee2c51fe
Signed-off-by: Inki Dae <inki.dae@samsung.com>
services/auto_zoom/src/AutoZoom.cpp

index 73731752e372a160c882c5b2c18d9cbf75bae124..df9653e8900c907b927531a3c5a330b7bcbaed59 100644 (file)
@@ -113,26 +113,23 @@ AutoZoom::AutoZoom()
 
        _taskManager = make_unique<TaskManager>();
 
+       _taskManager->requestNewNode(NodeType::STARTPOINT, "startpoint");
+
        auto face_detection_node = _taskManager->requestNewNode(NodeType::INFERENCE, "face_detection");
        dynamic_cast<InferenceNode *>(face_detection_node)->setInferenceTask(factory->createFaceDetection());
 
-       auto bridge_node = _taskManager->requestNewNode(NodeType::BRIDGE, "bridge_node");
-       bridge_node->addDependency(face_detection_node);
-       dynamic_cast<BridgeNode *>(bridge_node)->setCb(BridgeNodeCallback);
-
-       auto face_recognition_node = _taskManager->requestNewNode(NodeType::INFERENCE, "face_recognition_node");
-       dynamic_cast<InferenceNode *>(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<Postprocessor>();
        _preprocessor = make_unique<ImagePreprocessor>();
 
        // Use Clahe filter to enhance image contrast.
        _preprocessor->setFilter(make_unique<ClaheFilter>());
+
+       _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<FrResultType &>(*output);
-                       SINGLEO_LOGD("label : %s", frResult._label.c_str());
-                       continue;
-               }
-
                if (output->_type == ResultType::OBJECT_DETECTION || output->_type == ResultType::FACE_DETECTION) {
                        vector<Rect> &rects = dynamic_cast<FdResultType &>(*output)._rects;