Task chaining#

Note

Many image recognition systems require analyses more complex than that of any single task described on previous pages. In such cases, the Intel® Geti™ platform can chain several tasks to be performed in a specified order.

Task chaining#

Task Chaining is the combining of multiple tasks into one complex task. Currently, the platform supports two predefined task chains:

  • Detection >> Classification

  • Detection >> Segmentation

Why Task Chaining#

Task chaining is useful in situations in which you do not clearly know how to solve a problem from start to finish. In many real-world applications, you cannot predict all the problems that will occur while preparing a model. Luckily, the Intel® Geti™ platform gives you a high level of flexibility.

Frequently, annotating a dataset constitutes a stumbling block. A part of the dataset usually contains images requiring expert knowledge to be annotated. Devoting the work of experts for annotating the whole dataset would be extremely expensive and time-consuming. That is where task chaining comes to your aid. You can work on the same dataset by splitting the workload into sub-tasks. This feature allows people of various backgrounds and expertise to annotate different portions of the same dataset.

Remember the example of classifying dog breeds we used in hierarchical classification? Now, using task chaining we can create a more complex model.

One of the scenarios in which you should consider employing task chaining is detecting dogs and classifying two similar breeds. Almost everyone can spot a dog in an image, allowing anyone to train the first part of the chain, a dog detector. However, telling the difference between a Boston Terrier and a French Bulldog is not an easy task for all of us. The second task, in this case, is classifying these two breeds. So, we need specialists who will be able to correctly classify the breeds. Once the dataset is annotated and trained on a model, you will have a dog detector and a dog classifier all in the same task.

Task chaining vs object detection#

Object detection consists of two sub-tasks, localization and classification. Similarly, you can use task chaining to combine two or more sub-tasks into one task that solves a complex problem. However, the two differ and serve different use cases.

Object detection works on one neural network where the calculations of localization and classification occur. As you might have guessed, overloading the network could constitute a problem. So, for simple object detection tasks, you don’t need to worry about the performance of your neural network.

When faced with multiplex problems, you should consider employing task chaining. Offloading localization and classification sub-tasks of the object detection project from one detection network to one classification and one detection network offers more computing power and opportunities to solve complex problems.

Note

Object detection with multiple labels can solve many problems but it requires all class information at the time of labelling. While task chaining does not require all class information at the time of labelling. You can extend your model as you gather new information.

Similarity of hierarchical classification with task chaining#

The reasons for using hierarchical classification and task chaining are akin one distinguishable difference. Hierarchical classification can help you distribute your workforce of annotators who have various degrees of knowledge only for the task of classifying. Task chaining cuts across types of tasks and allows annotators to label the same dataset for other types of tasks.