Hello everyone, I have a little conceptual question, maybe someone can help with that. I am creating a small computer vision project using Kedro. At the moment it consists of 3 main parts which are preprocessing, object detection and object tracking. I make a pipeline for each part, but my initial idea was that the output of the object detection pipeline would be used as input in the tracking pipeline, but my only node that has a tracking pipeline performs detection and tracking at the same time, so the detection pipeline becomes unnecessary.
So my doubt is what can be the correct flow. I'm thinking of these approaches:
1. Leave them as they are with a pipeline for each part and find a way that the tracking pipeline only does the tracking part and not the detection at the same time.
2. Have a single pipeline with one node for detection and one node for tracking.
3. Have a single pipeline with a single node that performs detection and tracking on the same node.
If anyone has a suggestion or says what is the best flow to follow. Thank you!!
Nok Lam Chan
11/05/2022, 6:34 PM
My question will be does the tracking depends on detection or they are dependent? Is it just because you have a large node and they are aggregated or your model actually perform both at one step?
11/06/2022, 7:19 AM
Right now the tracking depends on detection. The original idea was to use the output of the detection on the tracking pipeline but right now. The tracking makes the detection and tracking in the same node.
My question is like if it is good to leave it like that in a single node. Or by "best practices" is better to separate them?
Nok Lam Chan
11/06/2022, 1:19 PM
Regardless of them being a node, it should be at least 2 functions, one for tracking one for detection. This is the more important part. If they are already separate function I think spliting them into pipelines should be a trivial job.
The decision of is something should be a node or not depends on a couple of things.
Do you need to cache the intermediate output? Do you often need to run only the detection pipeline but not the tracking?