{'fraction_non_alphanumeric': 0.03244932099980319, 'fraction_numerical': 0.01439185199763826, 'mean_word_length': 4.855517142033996, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 0, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
CLAD: A realistic Continual Learning benchmark for Autonomous Driving

In this paper we describe the design and the ideas motivating a new Continual Learning benchmark for Autonomous Driving (CLAD), that focuses on the problems of object classification and object detection. The benchmark utilises SODA10M, a recently released large-scale dataset that concerns autonomous driving related problems. First, we review and discuss existing continual learning benchmarks, how they are related, and show that most are extreme cases of continual learning. To this end, we survey the benchmarks used in continual learning papers at three highly ranked computer vision conferences. Next, we introduce CLAD-C, an online classification benchmark realised through a chronological data stream that poses both class and domain incremental challenges; and CLAD-D, a domain incremental continual object detection benchmark. We examine the inherent difficulties and challenges posed by the benchmark, through a survey of the techniques and methods used by the top-3 participants in a CLAD-challenge workshop at ICCV 2021. We conclude with possible pathways to improve the current continual learning state of the art, and which directions we deem promising for future research.


Introduction
Today, if a team of engineers were given the task to develop a new machine learning system for autonomous driving, they would start by defining the situations a car might encounter and should be able to handle. Data that fits the problem description is gathered and annotated, and a model is trained. Soon after deployment, reports of failure cases come in, e.g. the system fails in snowy weather, does not detect tricycles and misses passing cars on the right-hand side. In good faith, the engineers collect new data to include these situations, and retrain the model from scratch. Yet soon after the second version, reports come in of malfunctioning systems in cities for which no training data was collected, and the cycle starts again. Knowing how and where a model is going to be used, and how it will fail, is a nearly impossible task. While avoiding all possible failures is unattainable, decreasing the cost of incorporating new knowledge into a system is a much more feasible goal.
When trying to develop such systems, the assumption is made that there exists a complete set of all the object-label pairs in the world, which includes those of interest. Observing these objects does not happen randomly, but depends on the context in which they are observed. For instance, the geo-location, the time of the day (e.g. day vs. night) and the time period or era (e.g. 1970's vs. now) influence the probability with which a certain type of vehicle is observed. Besides appearance, context also influences the frequency with which certain types of objects appear (e.g. fewer pedestrians on a highway). This is also true for machine learning datasets, where data is gathered within a context that ultimately determines which objects of the complete set are included in the machine learning process.
Recognising that contexts are rarely constant, Continual Learning (CL) studies how we can enable neural networks to include new knowledge from changing contexts, at the lowest cost possible. Without continual learning, solving failure cases and extending to new domains requires retraining and tuning models from scratch. Given the increasing sizes of contemporary models, this has a significant energy and time cost [1]. A simple and straight-forward idea is optimising the model on the new data only. In 1989, McCloskey et al. [2] were among the first that observed that this tech-nique, finetuning, leads to rapid performance decreases on the old data. Today, this is referred to as catastrophic forgetting, and represents the largest challenge for continual learning: forgetting old knowledge cannot be the consequence of incorporating new knowledge in a system.
With growing interest in continual learning, there is an increasing need for rigorous benchmarks and routes to reliably assess the progress that is being made. The earliest benchmarks focused on classification problems and split versions of popular datasets like MNIST [3] and CIFAR10 [4]. In a typical split-dataset, all available classes are artificially (and often randomly) divided into different tasks (or contexts). Then, a model is trained task-by-task, without access to past or future data. The performance of a CL-algorithm is assessed by the final accuracy on each task. While they are useful for early methodological development, these benchmarks pose an artificial challenge. Randomly chosen distribution shifts are not assured to be aligned with real-world context shifts, which are the result of changing environments and model requirements. Additionally, datasets in image classification (e.g. CIFAR10) are often designed and simplified to only have a single object in the foreground, with a relatively small range of object scales. In Section 2, we describe how these benchmarks are only a small fraction of all possible CL-problems, and how other settings might be more realistic.
In this paper we describe the design and the ideas motivating a new Continual Learning benchmark for Autonomous Driving (CLAD). CLAD-C tests a continual classification model on naturally occurring context shifts along the time dimension, and CLAD-D focuses on the more realistic problem of continual object detection. Both settings have been introduced as part of the ICCV SSLAD 2 workshop in October 2021, for which we will present the top-3 submissions in this work. We start with a discussion on the principles we followed during the design of this challenge. We continue with a introduction of naive baselines, which highlight the difficulties and pitfalls of the proposed benchmarks. Then we discuss the solutions proposed by challenge participants and their results. Finally, we conclude with further details and experiments on the most promising submission ideas, discussion on future research directions to improve on the benchmarks, 2 https://sslad2021.github.io/pages/challenge.html and continual learning in general. Our contributions include: • A review of current CL-benchmarks and their relations to one-another and shortcomings.
• Introduction of two new CL-benchmarks, with the goal of moving closer to CL-scenarios encountered in real-world problems. For both benchmarks code is made publicly available 3 .
• Review of the top performing methods on the proposed benchmarks, from the SSLAD ICCV '21 challenge entries, highlighting concrete pathways to progress the current state of continual learning.

A Continual Learning Framework
Research interest in Continual Learning has increased substantially in recent years, resulting in the introduction of a growing number of benchmarks and desiderata. In this section we review the tasks and datasets that have been proposed and highlight those we deem most popular in terms of adoption at top tier Computer Vision focused conference venues.

Continual Tasks
Starting from the complete set S = {X, Y} of objects X and their ground-truth labels Y, a machine learning dataset is defined as a subset D ⊆ S , and characterised by the probability distribution P(X, Y|C). The context C determines which object-label pair have nonzero probability of being in the dataset. In i.i.d. training, this context stays constant and therefore the probability with which samples are observed by the model also remain constant. In contrast, continual learning is characterised by a changing context c, which induces a shift in P(X, Y|C = c). Often, each of these context changes is referred to as a task. While in theory all kinds of context switches are a part of continual learning, only two types of context variations are commonly used to assess CL performance. In Class-incremental learning, a new context causes P(X) to shift, which induces a shift in P(Y), and typically supp (Y n ) ∩ supp (Y m ) = ∅ if context-ID m n, meaning each class only occurs (has non-zero probability) during a single context. Domainincremental learning considers shifts in P(X) that do not affect P(Y), thus only the environment in which a class is observed changes. In some settings, the model has access to the context variable or context-ID during training and testing, which is referred to as task-incremental learning. Finally, in this work we assume that P(Y|X) is not subject to change, i.e. the label y of a sample x never changes [5,6]. See Figure 1 for an overview and stratification of common benchmarks, including those proposed here.

Contemporary CL for Computer Vision
In theory, continual learning is concerned with any kind of distribution change in the training data. Given the many possible choices, many different benchmarks have been proposed and used. To understand which ones are currently popular in computer vision, we surveyed CVPR, ICCV and NeurIPS of 2021; three highly ranked computer vision and machine learning conferences. From their proceedings, we selected all papers with the words continual, lifelong, sequential, incremental or forget in their titles. These keywords were defined using a manually collected list of 50 papers concerning CL, spanning publication year 2017-2022, of which 98% had positive matches with our keywords. After filtering for false positives, 60 relevant papers remain. Of these works, 73% included at least one classification problem, 10% a semantic segmentation problem, 7% a generative problem, 3% an object detection problem and 10% various other problems. In the papers that focused on classification, 188 experiments (excluding ablations etc. ) were conducted. Of these, 90% used a non-continual dataset, and randomly change P(X) at discrete intervals, such that each class has only non-zero probability in a single context (strictly class-incremental). 8.5% changed P(X) without affecting P(Y) (strictly domain incremental), and only 1.5% included more gradual context switches, see Section 2.3. See Figure 1 for the distribution of datasets used. While the random and discrete context switches in these benchmarks are only a small part of the space of CL-problems, they are currently used to assess the quality of almost all new CL-algorithms.

Towards more realistic benchmarks
While discrete and random distribution shifts are an interesting tool to study continual learning, they are, as previously discussed, not necessarily representative of the changing context in which continual learning systems can be used. In fact, as shown in Figure 1, there is a whole continuum of context changes between strict class and domain incremental learning. To aid progress towards applicable continual learning, Lomonaco et al. introduced CORe50 [7], and claim that realistic CL-benchmarks should have access to multiple views of the same object. This coincides with a more gradual changing context of the data distribution P(X), an idea shared by [8,9,10], whom introduce iCub World, Toys-200 and Stream-51, respectively. Cossu et al. are critical of the lack of class repetition in continual learning benchmarks, and claim that this makes CL artificially difficult, and unlike real-world scenarios [11]. They consider it realistic that a class has non-zero probability during multiple contexts, albeit with different frequencies. Additional support for this hypothesis can be found in related works [12,7]. Repetition occurs naturally in benchmarks leveraging temporal meta-data of images, an idea implemented by the benchmarks Wanderlust [13], Clear [14] and CLOC [15]. Using time of day as a context variable, both the data and label distributions change gradually and non-randomly, which comes closest to a real-world setting, see Figure 1 for how they compare to more traditional benchmarks. Regardless of context changes, some benchmarks only allow for online learning, where only a single pass over the data within a context is allowed [16]. This is regarded a realistic scenario in other works [17,15,18,19]. Finally, using the context as an input variable, such that the model knows the context of a sample (task-incremental learning), has been critiqued as too restricting [16]. Despite these critiques and proposals to work towards more natural benchmarks, Section 2.2 indicated that they are seldom adopted in papers proposing new methods.
Most of these benchmarks focus on classification problems, as are most papers surveyed in Section 2.2. Despite its prevalence, classification is likely not the only scenario where CL will be applied in practice, since it often requires having a single (centered) object per image. Recent works [20,21] started exploring object detection and semantic segmentation in CL; two problems that are more likely to practically benefit from CL.

Evaluation of Continual Learning
Besides good benchmarks, metrics that accurately reflect the goals of continual learning are indispensable. CL-methods are commonly evaluated using the average accuracy of each task at the end of training and average backward transfer (BWT); the difference between the accuracy of a task directly after it was trained and after all tasks were trained [22]. These metrics are not necessarily aligned with the CL-goal of including new knowledge to an already working system. According   Figure 1: Overview of proposed and common benchmarks for continual learning in computer vision, with a focus on classification problems. We depict how data distributions X and the available labels Y change during training. The yellow circles areas are proportional to how many papers published in ICCV '21, CVPR '21 and NeurIPS '21 used each benchmark, see Section 2.2 for details. Black circles are recently proposed, more realistic benchmarks that are currently less popular. '*' indicates a 'split' version of the dataset. 'Others' refers to a set of benchmarks that were only used in a single paper and 'sequences' refers to benchmarks where multiple datasets with the same labels are used. For more details and explanation of dataset placements, see Appendix.
to [22], the best algorithm is one that has the highest final accuracy, however we note that the BWT metric is also able to benefit from low accuracy during training (i.e. this effect improves the metric). Instead, we believe the best CL-algorithm is one that has high accuracy, which can be improved by including new data, without sudden performance drops. Ideally, this would be measured continuously during training, and the area below the accuracy curve used as a metric. Yet practically this has a high computational cost, and testing at well-chosen discrete intervals is a reasonable approximation. For further discussions, see [23,24,12].

Continual Learning Benchmark for Autonomous Driving
In this section, we describe the design and development of our continual learning benchmark, using SODA10M [25], an industry-scale dataset for autonomous driving. Self-driving vehicles can change urban mobility significantly, but there are still challenges to overcome. One such challenge is demonstrating the versatility of AI-based automated driving systems to cope with challenging and dynamic real-world scenarios. Several corporations are now driving many thousands of miles a day autonomously, creating streams of sensor measurements that form a natural source of continual learning data. This problem setting leads to natural and gradually changing distribution shifts, an excellent benchmark for CL-algorithms. Next, we introduce the SODA10M dataset, and provide a detailed overview of our two challenge benchmarks that utilise the available data.

SODA10M Dataset
Both tracks build on the SODA10M dataset [25], which contains 10M unlabelled images and 20k labelled images. Image data consists of dash-camera recorded footage, obtained from vehicles driving through four Chinese cities, with images recorded at 10 second intervals. Ordering images chronologically largely entails visual footage of a car exploring the city and its neighbourhoods. The image label set has bounding box annotations for 6 object classes and covers different 'domains' (cities, weather conditions, time of day and road type) -see Figure 2. See Figure 4 for some examples images (arranged in tasks for CLAD-D, as will be discussed in Sec. 3.4). While self-and semi-supervised learning are interesting research directions [26], we leave incorporating the unlabelled images for future work, and make use of the labelled dataset portion exclusively for our benchmark challenges.

Challenge Subtracks
As our goal involves working towards more realistic, real-world settings for continual learning, we approach the design of the challenge benchmarks with this mindset. As referred to in Section 2.1, there currently exist two main axes along which continual learning realworld task realism increases: firstly, the problem formulation itself and secondly, more realistic context shifts. Ideally, we combine these aspects into a single comprehensive benchmark. Yet, given that continual object detection is still in its infancy, we deem it more useful to make two separate benchmarks; along each axis, yet retain the potential to be combined in future. In the CLAD-C benchmark we firstly focus on naturally occurring distribution shifts using timestamps as a context variable, and in the CLAD-D benchmark we focus on continual object detection.

CLAD-C: Online Continual Classification
Setup. Following Aljundi et al. [16], our first design principle covers the online setting, where explicit task boundaries are absent. Using the temporal meta-data of the images in SODA10M, we can construct an online stream of data spanning three days and nights. This stream exhibits domain shifts at different frequencies: changes from highway to city streets happen regularly and almost suddenly, while shifts from day to night are less frequent and more gradual. Finally the weather may change unpredictably and quickly. Gradually changing the data distribution causes gradual, but drastic, changes in the frequency with which different classes appear in the image stream (e.g. at night and on the highway there are significantly few(er) pedestrians). The multi-view argument for benchmarks like CORe50, apply here as well. Since the images are at regular 10 second intervals, objects in the directly previous image and scene have a high likelihood to be present in the current image, likely from a different viewing angle. As Cossu et al. [11] argue, repetition of past categories poses a realistic environment and scenario, which is reflected in the available chronological stream. Yet, aside from car objects, there are periods that all object classes disappear from the stream. At such moments, we conjecture that catastrophic forgetting can be prevented through the use of appropriate CL-strategies. See Figure 2 for an overview of how the discussed domain phases switch and the corresponding categories most present during each phase.
To create the stream of object instances, we start from the chronologically ordered images and cut the target objects from their bounding boxes. We then change their aspect ratio to 1 : 1 (padding along the shortest axis), add extra padding, and re-scale to 32×32. Occluded and too small (< 1024 pixels) objects are removed. The final training stream consists of three alternating days and night domains, with a total of 22, 249 objects in 3841 images. The test and validation set are from different days and nights, spanning all domains. The validation set contains 6305 objects in 1590 images, the test set has 69, 881 objects in 10, 000 images. For further details, see Appendix.
Evaluation. As discussed in Section 2.4, we evaluate using the average accuracy of each class at given points during the stream. This also accounts for class imbalance; highly prevalent, ubiquitous classes (e.g. cars) should not exhibit a higher weight in the final accuracy. Particularly, we test the model whenever there is a switch from day to night. If A t,c is the accuracy of class c at time t, we define the Average Mean Class Accuracy (AMCA) as: with T the set of all test times and C the number of classes.
Baselines. To assess the difficulty of the CLAD-C benchmark, we instantiate two baseline strategies. Naive finetuning is subject to catastrophic forgetting, where class accuracy's closely follow the class distribution present in the stream, as well as the shifts between night and day; see Fig. 3. To overcome the large class imbalance, we implement an oversampling replay strategy. We allow 1000 samples to be stored, divided equally among all classes. Before updating the model, each incoming batch is extended with samples from the memory such that the number of samples of each class is at least equal to 2b C , with b the batch size and C the number of classes. The finetune and oversampling benchmark reach respectively 36.8 and 53.5 AMCA. Both benchmarks were trained with an ImageNet pretrained Resnet50, using SGD and a batchsize of 10 (new samples).

CLAD-D: Continual Object Detection
Setup. In Continual Object Detection (COD), class incremental benchmarks based on VOC and Microsoft COCO are common [20,27,28]. An exception is Wang et al. [13], whom introduce a benchmark similar to CLAD-C but for continual object detection, using first person videos. Given the dependence on large amounts of data in object detection, and the limited amount of labeled data in SODA10M, we designed a domain incremental benchmark for autonomous driving, which complements alternative pre-existing CL benchmarks. Our initial experiments (see Appendix) identify that highway, night and rainy constitute domains that cause interference with the clear weather, daytime citycenter domain, which has the most available data. We split the labeled data in four contexts: (1) clear weather, daytime on citystreets, (2) clear weather, daytime on the highway, (3) night, (4) daytime rainy. See Figure 4 for canonical examples of each task. We emphasise that the model does not know to which domain or task an image belongs at test time, but we do allow multiple epochs on each task, making the problem more feasible.
Evaluation. We use the average mAP of each task at the end of training. Another option would involve measurement of accuracy after each task and take a mean, as in the CLAD-C benchmark, over all test times. We opted not to do this here, in order to both (1) retain alignment with current COD evaluation standards and (2) give each task equal weight. We report mAP at IOU level 0.5, directly following the VOC benchmark [29].
Baselines. We test the difficulty of the CLAD-D benchmark by finetuning each task on a FasterRCNN network, with an ImageNet Resnet50 backbone. The model is updated using SGD with a learning rate 0.01, momentum 0.9 and batch size 8. The learning rate is decayed by a factor 10 at epochs 8 and 11. The final task-average mAP is 59.8. In Figure 5 the result after training each task is shown, exposing task forgetting after learning. Although forgetting is not as catastrophic as typically observed in incremental classification settings, it may be observed that making effective use of all data in this setting poses a challenge.

ICCV SSLAD challenge results
Both the CLAD-C and CLAD-D were part of the ICCV SSLAD workshop in October 2021, for which respectively 49 and 55 teams participated. In this section we will summarise the techniques and ideas of the top three participants for each benchmark. For individual reports of each challenge, see the challenge's website.

CLAD-C
The top three submissions were G. Graffieti's team from the University of Bologna in Italy, A. Sabyrbayev of BTS Digital in Kazakhstan, and M.R. Kurniawan's team from Xi'an Jiaotong University in China. They respectively reached 68.6, 65.5, and 64.5 AMCA. All three have differences on multiple aspects, so a direct comparison of which techniques, choices or tricks made the difference is not possible. Instead, we make a qualitative analysis of their similarities and differences in this      Table 1: AMCA on CLAD-C for the baselines and top 3 participants section. We refer to the top three submissions as C1, C2 and C3, see Table 1. During the challenge some limitations were imposed: model sizes could not exceed the 105% of the parameters of a ResNet50, pretraining was only allowed on Imagenet, batch sizes could be no larger than 10 new samples and any kind of exemplar memory is limited to 1000 samples.
Architectures. Both C1 and C2 use a standard Resnet50 [30], while C3 uses a Resnet50-D. This was introduced in [31] and improves ImageNet Top-1 classification with about 1%-point, without adding more pa-rameters. C2 also tested DenseNet169 [32] and Effi-cientNetV2 [33], but reported worse results on those networks, yet both perform better in non-sequential setups on CIFAR10 (which has the same image size). All models were pretrained on Imagenet.
Optimizers. C1 and C3 use stochastic gradient descent (SGD) with learning rate 0.01. C2 uses Adam [34] with learning rate 0.0002. C1 doesn't use momentum, weight decay or learning rate scheduling. C2 and C3 do not mention weight decay or momentum, but use multi-step learning rate schedulers.
Data Augmentations. All three use horizontal flips. C1 adds upscaling to 224 × 224, which is the original Imagenet size. They report that this had a large influence on the final result, even though no information is added by doing this. They hypothesise this is due to the convolutional filters of the Imagenet-pretrained Resnet being calibrated to this size. C2 adds perspective transform and random erasing, and C3 adds random rotation and colour jitter. C2 also tested mixup [35], but mention that this did not help. The original mixup paper only reports a very modest improvement for a Resnet50 after 90 epochs, with larger improvements for larger networks and more iterations.
Replay. All three winning submissions use some form of replay, but differ in the details of how the samples are stored and used. Replay is a very effective and efficient continual learning technique [36], but also the only one that was explicitly mentioned (and restricted) in the rules of the challenge. C1 reserves 100 samples per class in its memory, and selects samples using reservoir sampling [37] per class. C2 uses oversampling on the input stream, with manually set weights. This approximates reservoir sampling, but has fixed probabilities for samples entering/leaving the memory, while those of reservoir sampling are dynamically updated based on the number of samples seen of each class. C3 uses ideas from Rainbow Memory [38].  [39], which stores the weights of the head after each task and restarts with randomly initialised ones. After each task, old and new weights are merged using an exponential moving average. This technically requires task boundaries, which were not meant to be used in the challenge. However, one could also use arbitrary intervals or detect task boundaries while training and then apply this technique. C2 uses a label smoothed version of the CE-loss, which has been hypothesised to create a better structured feature space [40]. They have also tested CWR [39] and LWF (Learning Without Forgetting) [41], but report worse results using both methods (while C1 does mention that CWR is important in their setup). C3 splits its training in two parts. The first part learns a metric space, using unsupervised and supervised contrastive losses [42]. On top of this space, a classification head is trained using focal loss [43], which is typically used in dense object detection to more easily learn hard classes (e.g. classes with few samples). Together with the focal loss, they use a distillation loss on the past and current predicted logits for samples in the memory, which are, like the label smoothing in C2, temperature scaled.

CLAD-D
The top three participants were D. Li's team from the AML Group in the Hikivison Research Institute in China, M. Acharya's team from the Rochester Institute of Technology in the US, and J. Zhai's team from Nankai University in China. They respectively reached a task average of 74.7, 61.5, and 59.0 mAP, see Table 2.
Hereafter, we will refer to these submissions as D1, D2 and D3. In CLAD-C the differences in the architectures used were relatively small, while their methods differed more. In contrast, D1 used a vastly different architecture than D2 and D3, while the method of D1 and D2 differ only in, nevertheless important, details.
Architectures. D2 and D3 used the default torchvision implementation of a FasterRCNN [44] model, with a Resnet50 feature pyramid backbone [45], pre-trained on Microsoft COCO [46]. D1 changes the region proposal network to Cascade R-CNN [47], which has regression blocks trained at multiple IOU levels. With a Resnet101 backbone, this only gave marginal improvement. D1 then swapped the convolutional backbone to a transformer based one, a Swin Transformer [48], which increased their results by more than 15 mAP points and almost completely alleviated forgetting (from 14.3 for Resnet101 to 1.7 mAP for the Swin Transformer). The baseline Swin Transformer has about 4 times the number of parameters than a Resnet50, yet the improvement is larger than expected from non-sequential results in [48], where only a 6 mAP points gain was observed (on Microsoft COCO).
Optimization and augmentation. D1 pretrained its backbone on ImageNet1K, with various augmentations, and then trained on the challenge's data for 50 epochs with a multistep learning rate scheduler. D2 and D3 use provided backbones from torchvision, which are pretrained on Microsoft COCO. They also use multistep schedulers but use a cyclic schedule that restarts after each task.
Distillation. Both D1 and D2 use additional distillation losses [49] to transfer knowledge from a teacher network trained on a past task to a student network, trained on the new task. D2 only distills the output of the network, as in Shmelkov et al. [27]. D1 is similar to Faster-ILOD [20] using distillation losses on the output of the backbone and RPN. Both use replayed images for distillation, while originally Faster-ILOD relies on the presence of unlabelled old samples in the new images.
Replay. Submission D1 stores 250 images and uses those for distilling the backbone and the RPN of the teacher. They do not mention how they select which samples they store. D2 stores for each task the images with the most pedestrians, cyclists and tricycles. They do not specify how they use replay exactly. D3 replays 2 old samples for each 2 new ones, and stores random images. They mention to also have tested balanced sampling, where they store images with the most tricycles, but this lead to worse results.
Other. In D2, the outputs of the network are temperature scaled, which results in less confident predictions. According to the authors this results in better calibration and higher mAP.

Discussion
An important feature of a working continual learning solution will be the generality of the high-level features it can extract from an image. Simply optimizing a model to classify the available task data can lead a model down the garden path to a shortcut solution [50]. Such a solution only learns a, possibly meaningless, difference between the instances that are part of the current context. These differences might not suffice to discriminate current instances from future objects [51]. Learning as many high-level concepts as possible from an instance, facilitates learning new instances, since the model has already learned concepts about past features that distinguish them from the new objects. If a first task consist of learning to classify lemons and limes, extracting the color of these fruits is probably sufficient. Yet, if the next task includes bananas, the model has to learn about the shape of lemons and bananas to tell the difference. This requires access to the past data which doesn't comply with the CL-setting. Among the techniques used by the participants we noticed that those that improve the generality of the extracted features had a large influence, which we'll discuss below.
In CLAD-C all top three submission started from an Imagenet pretrained model, which has been shown to reduce forgetting in CL-systems due to its greater stability and better initial features [52,53,54]. Even though they help, C1 shows that blindly using pretrained models can be suboptimal. Although the pretrained convolutional filters are scale invariant across a considerably large window, their performance degrades rapidly for objects below 100 pixels [55]. Therefore it is useful to upscale the 32 by 32 objects of CLAD-C to the average 224 by 224 of ImageNet, not because it adds information, but because the model is tuned to those sizes (99% of all ImageNet bounding boxes are larger than 100 by 100 pixels).
The influence of having good general features might be most notably demonstrated by D1 on CLAD-D. Simply by employing a transformer based backbone, they show an impressive improvement. Intrinsically, vision transformers not only outperform convolutional based networks, they are also empirically more robust to changing input distributions and outliers, and less sensitive to high-frequency perturbations [56]. The potential for transformers in continual learning has recently been validated in several works [57,58,59,60], but the slow convergence and need for large sets of (pre-)training data poses a serious challenge.
Besides building upon pretrained models and better architectures, CL-systems should learn as much as possible from the available data, a limit that has not been reached in contemporary solutions [61]. C3 most explicitly tackles this challenge, optimising directly for a good feature embedding, on top of which a classifier is trained, similar to other works that use contrastive losses to build good representations [62,63]. Features learned this way have been shown to be more robust and better structured [64,65], validated by the results in those works. Using a label smoothed loss, like C2 and C3, is also helpful in this regard. According to Müller et al. [40], label smoothing creates a better conditioned features space: "label smoothing encourages the activations of the penultimate layer to be close to the template of the correct class and equally distant to the templates of the incorrect classes". An observation that is empirically validated in Dark ER [66], who use a label smoothed version of the popular rehearsal strategy, which improves vastly over the standard approach. Finally, we note that the use of data augmentation, used by all top three participants, can decrease the number of shortcuts and lead to better representations [66,67].
Finally, we want to point out the prevalence of rehearsal in CLAD-C and distillation in CLAD-D. Rehearsal has been the dominant approach in continual classification, leading to many variants [22,36,68,66], yet there is no clear answer to which samples are best in CL and how exactly they have to be used. GDUMP [61] even shows that it is a possibility the model is just re-learning to classify old classes by extracting all the information it needs from the memory. In detection, all methods rely on distillation of the model during training of new tasks. This is possibly influenced by SOTA methods like [20], who focus largely on distillation.

Conclusion
In this work we started with an evaluation of benchmarks that are currently used in Continual Learning, and how they relate to real-world scenarios where continual learning is most likely applied. We devised two benchmarks that increase the realism of CL-benchmarks, using less random and more gradual context shifts and by moving from classification to object detection. Both tracks were part of a challenge at ICCV '21, for which the top three participants gave us useful insights into the challenges and possible solutions for real-world CL applications. Finally, we discussed future directions of CL-research, including building better feature representations from the start and gaining a better understanding of CL's most important techniques, rehearsal and distillation, towards inspiring future improvement. We believe these to provide promising directions for future work.

Appendix A. Context and Continual Learning Benchmarks
Here we will elaborate on how different changes in the data context lead to different kinds of continual learning, and how we conducted the survey on used benchmarks in continual learning benchmarks in ICCV, CVPR and NEURIPS '21, and a justification of the placements of the benchmarks in Figure 1.
Appendix A.1. Context as a framework for CL Assuming that the ground truth probability of observing a object-label pair (x, y) is constant, the context c in which they are observed can change the likelihood of observing samples. In i.i.d. training c remains constant, and therefore P(X, Y|C) as well. In continual learning, changing contexts are studied. In the two most used settings (class and domain incremental learning), these changes are artificially defined. In the former, each context only has non-zero probability for certain classes, and each class is only observed during a single context. For instance, split-CIFAR10 often starts with planes and cars, to be followed by deer and cats. In the latter, all classes are observed with the same frequency during each context, but their appearance changes. For instance, in MNIST-rotated, the probability of seeing each label does not change when the context change, but the images of the digits themselves are rotated. This means P(X) has changed, but P(Y) remained constant. Although both are interesting to study continual learning, they are only a small part of all possible context changes. More so, they are artificially designed, and therefore not necessarily the context changes that a model would encounter when it is applied on real-world problems.
In contrast to artificially designed contexts, it is possible to use real-world contexts. For instance, in CLAD-C, by 'observing' the available data chronologically, the context depends on the place where the picture was taken, the time of the day, and the weather. These variables have an influence on the appearance of the objects of interest, as well as the frequency with which they appear, see Figure 1. Starting from non-random contexts, this blurs the boundaries between strict class incremental and domain incremental learning, as shown in Figure 2. Next, we describe how each of the benchmarks in Figure 2 can be interpreted in the setting of changing contexts. have similar changing contexts. Each class in the dataset only has a non-zero probability during a single context, and the context in which this happens is usually assigned randomly. The benchmarks do differ in the actual number of classes per context, e.g. some papers use CIFAR10 with 5, 10 or 20 classes per context, while some include 50% of all classes in the first context and then divide the others equally.
• Permuted and Rotated MNIST. Both have been used since the first CL-papers (e.g. [22]) to assess domain incremental scenario's. They include all MNIST digits during each context, but respectively apply a pixel permutation or a rotation that changes, at discrete intervals (i.e. tasks), with each new context.
• Sequences. Sequences are sequences of datasets that include the same labels, but contain images from different domains. One example is the PACS benchmark [69], which has photos, art paintings, cartoons and sketches of the same classes, another is to use the shared classes in, for instance, Ima-geNet, CIFAR and VOC.
• CORe50 [7] includes images from objects from different points of view. When these are observed by the model sequentially, this represents a gradual changing context: the appearance of the current object will first change slightly, before moving to the next object, which will again start gradually changing appearance. In the New Class (NC) scenario of CORe50, there is a broader context that determines which labels are included at what time. The New Instances (NI) scenario has every class in all contexts, but the surroundings in which the objects are observed change.
• Toys200 and iCUB-world. Both benchmarks are similar to CORe50 new classes scenario. They include multiple views of the same object, which are observed sequentially. In Toys200 these are computer generated images from children's toys and in iCUB-world they are images from the point-ofview of a robot manipulating them.