Entry Name: TJU-Jia-MC2

VAST Challenge 2020

Mini-Challenge 2

Team Information

Team Members:

Student team:

Yes

Tools Used:

Approximately how many hours were spent working on this submission in total?

120 hours

May we post your submission in the Visual Analytics Benchmark Repository after VAST Challenge 2020 is complete?

Yes

Video

Watch Video on YouTube

Overview of the Visual Detective

Before we present the answers to the questions, we first explain the basic idea of our system, called the Visual Detective. Our system contains four views: a scatter plot (Fig.0-1 (a)), the BiSet visualization (Fig.0-1(b)), the sparkline viewer (Fig.0-1(c)), and the annotation window (Fig.0-1(d)).

Figure 0-1. Interface of the Visual Detective. (a) The scatter plot shows both the images and sentences in the same space. (b) The BiSet visualizes the relationship between persons and objects. (c) The sparkline viewer presents high-dimensional predictions using parallel coordinates. (d) The annotation window enables the analyst to correct the prediction errors and update the underlying model.

The scatter plot visualizes both the images and text in the same 2D space. It enables the analyst to explore the semantics of images and text simultaneously and discover whether some people have met before. To analyze the two modals of data (images and text) in the same space, we adopt multiple machine learning techniques, as shown in Fig.0-2. We first obtain both the embeddings of images and text from pre-trained neural networks, including the backbone of YOLO v3 (DarkNet) [1,2] and the Transformer [3]. Then we project both the image embeddings and sentence embeddings into the same lower dimensional space using canonical correlation analysis (CCA) [4] technique by maximizing the correlation between the image and sentence pairs (more details will be discussed in question four).

The BiSet visualization shows the relationships between the persons and objects by modeling their relationship as a bipartite graph. The critical feature of BiSet visualization is that it explicitly bundles the edges using the biclustering algorithm. The BiSet enables us to examine the groups of persons who share the same objects.

The sparkline viewer summarizes the results of high-dimensional predictions as a list of parallel coordinates. It enables the analyst to get an overview of the quality of the predictions. Meanwhile, the analyst can click one object to examine the predictions and brush the images that are possiblily misclassified. The selected images will be highlighted in the scatterplot.

The annotation window enables the analyst to fix the prediction errors interactively. Once the analyst saves the corrections, the labeled images will be used as training data to update the underlying object detector. This technique, namely visual active learning[5,6], significantly improves the efficiency of the analyst.

Figure 0-2. The Visual Detective workflow: The Visual Detective enables analysts to discover the clues by exploring the images and text simultaneously. Meanwhile, it allows analysts to improve the underlying object detector with the visual active learning technique.

Questions

Given the images and text files as well as machine learning outputs, use visual analytics to answer the questions below to improve and understand machine learning outputs and track provenance, uncertainty, and confidence in machine learning results. Ultimately, you must link multiple data types to identify the group CGCS is seeking.

1 – Examine the outputs from the model – either from the detection results provided or the results from a model you chose. Which objects were identified well by the model and which were not?

Please limit your answer to 5 images and 250 words.

Figure 1-1. Training and testing stages of YOLO v3. (a) At the training stage, we annotate bounding boxes on the training images and use the images with labels and bounding boxes to train a YOLO v3 model. (b) At the testing stage, the YOLO v3 model detects objects of testing images and outputs the coordinates and score vectors of bounding boxes.

We retrain our model using the provided training data and give the reason in question-5. Specifically, we choose YOLO v3 [1,2], which is the state-of-art of object detection model and an updated version of YOLO v2.

Figure 1-2. (a) An example to demonstrate the process to calculate goodness metric: Suppose the model has detected two objects with bounding boxes A and B. The scores of A is [0.5, 0.49, 0.01], and the scores of B is [0.5, 0.25, 0.25]. The confidence values of A and B are the maximum values of scores. Therefore both A and B have confidence 0.5. However, the two highest scores of A are so close that the model can easily flip the label of A when we provide the image with some noise. In other words, A is more likely to be false-positive than B. Therefore, we quantify this uncertainty using a metric called 1-vs-2 using the highest scoring classes c1 and c2. This metric is intuitive and adopted in active learning research [7]. (b) The parallel coordinate sparkline visualizes the high dimensional scores of all the bounding boxes labeled as blue sunglasses. (c) The histogram sparkline visualizes the distribution of confidence of all the bounding boxes labeled as blue sunglasses. (d) Details of the sparkline in (b).

For easy comparison, we quantify the identification goodness of each object by explicitly differentiating the confidence and uncertainty. The confidence is the maximum value in scores, while the uncertainty is defined using 1-vs-2 value. The reasons for doing so are described in Fig.1-2(a). Now we define that a bounding box is identified well only if the model is confident and certain, namely, goodness value defined in formula (2) in Fig.1-2(a). Then we calculate the object's goodness by averaging the goodness for all the bounding boxes labeled as this object.

Now we visualize each object as one sparkline coupled with a parallel coordinate (Fig.1-2(b)) and a histogram (Fig1-2.(c)). The parallel coordinate visualizes the score distribution of bounding boxes labeled as this class, while the histogram presents the distribution of the confidence values. Fig.1-2 presents the list of objects ranked by the goodness in reverse order (Top objects are identified well while the bottom ones are not). The analyst can select one object to check the parallel coordinate (Fig.1-2(d)). We present the parallel coordinates of top-3 and bottom-3 objects in Fig.1-2 on the left. Notice that the top objects usually have high scores, which result in a sensible peak in parallel coordinates while the objects at the bottom in the list have several low peaks in parallel coordinates.

2 – Demonstrate your process for using visual analytics to correct for classification errors in the results. How do you represent confidence and uncertainty? How could the correction process be made more efficient?

Please limit your answer to 10 images and 500 words.

We leverage the visual active learning [5,6] strategy to correct classification errors. Visual active learning enables analysts to choose images with uncertain and unconfident bounding boxes based on their domain knowledge to correct the errors. Then the underlying model will be retrained using the corrected images. Once the model is updated, the visualization is updated. This strategy significantly improves the efficiency of analysts.

Specifically, the analyst can order the objects based on the goodness discussed in question one. Objects at the bottom in the list are likely to have more classification errors. The analyst can click one sparkline to examine the bounding boxes' classification results in the parallel coordinate righthand. Then the analyst interactively selects bounding boxes that are uncertain with low confidence values using brushes. The confidence of one bounding box is the maximum value of the scores for each class. And the uncertainty can be reflected in the parallel coordinate when there are multiple peaks, which means the object detector confuses between several objects. All the images that contain the selected bounding boxes will be highlighted in the scatterplot. Then the analyst can click the edit button to evoke the annotation window. The annotation window lets the analyst correct the errors by changing the coordinates and labels of bounding boxes, and drawing new bounding boxes or deleting them. Once the correction is saved, this image will be sent to the labeled training set. The underlying model is retrained using the newly added labeled images.

We demonstrate the whole process with an example.

Fig.2-1. The process to select samples to correct errors.

Fig.2-1 is the initial stage of the Visual Detective. The analyst can click one sparkline (Fig.2-1(a)) or a person dot (Fig.2-1(b)) to select a subset of data. The selected samples will be highlighted in the scatterplot (Fig.2-1(c)). After selecting some samples, the analyst can click the edit button to evoke the annotation window (Fig.2-2).

Fig.2-2. The annotation window enables the analyst to correct errors interactively.
Fig.2-3. An example to correct errors in the image.

For example, in Fig.2-2, the model detects the yellow balloon successfully. However, the bounding box is not precise enough. The analyst can directly adjust the bounding box interactively (Fig.2-3(a)). Moreover, the analyst can draw bounding boxes of the noisemaker and the lavender die that the model does not detect (Fig.2-3(b)-(c)). After finishing the correction, the analyst clicks the save button and further to correct other images.

Fig.2-4. The progress bars show different stages of the visual active learning. Blue bars stand for the process to correct images, and yellow bars represent the process to update the model using the corrected images.

In this example, we let each task as the process to correct images, retrain the model, and update the visualization. The number of samples for each task can be changed through the interface. We use a progress bar to reveal the progress of each task. The color of the progress bar indicates the state of the task. The blue color stands for the data correction process (Fig.2-4 (a)). The yellow color stands for the updating process after 20 images are corrected (Fig.2-4 (b)). Tasks can be conducted in parallel.

Fig.2-5. The BiSet visualizations at the initial stage (a) and the final iteration (b).

With several tasks completed until all the images either corrected or examined by the analyst, the final result is shown in Fig.2-5 (b).

3 – Characterize the distribution of objects across the forty people.

(a) Which people have which objects?

Please limit your answer to 8 images and 250 words.

After several iterations of visual active learning, the analyst has checked all the images and makes sure that no errors in the classification. We present the final result using a matrix visualization to show which people have which objects.

Figure 3-1. The person-object matrix visualization: The rows stand for persons, and columns stand for objects. Black rectangles represent the corresponding person has the object.

(b) Identify groups of people that have object(s) in common.

Please limit your answer to 10 images and 500 words.

Figure 3-2. An example of biclusters of a bipartite graph. (a) The bipartite graph presents all connections between three people and four objects. (b) The example presents the result after bundling edges as two biclusters.

We model the relationships between persons and objects as a bipartite graph. Given two entity sets P and O, a (binary) relationship R (P, O) between P and O is a subset of P X O (the Cartesian product of P and O). We define the possibility that a person P1 has an object O1 as the maximum confidence value of all the bounding boxes labeled as object O1 by the object detector for the images of person P1. Meanwhile, let the confidence values of bounding boxes annotated by the analyst be one. Then we model the relationship R by binarizing the possibility. A person P1 has an object O1 only if its possibility is larger than a threshold. In this challenge, we choose the threshold as 0.6. The analyst can select a proper parameter through the interface.

We visualize the bipartite graph using the BiSet [8] technique. The BiSet explicitly groups the links between persons and objects as edge bundles using the biclustering algorithm, which significantly reduces the visual clutter. An edge bundle is a closed bicluster in which all the persons in it share the same objects, and there are no other persons or objects that can be included to maintain this relationship. In this challenge, we choose the BiMax [9] algorithm to mine all the biclusters in the bipartite graph.

Figure 3-3. An example of biclusters of a bipartite graph.

More specifically, we visualize each person and object as one light-blue bar along the two sides. The length of the dark-blue bar at the left of the person bar stands for the number of objects this person has (Fig.3-3). Similarly, the length of the dark-blue bar at the left of the object bar stands for the number of persons this object belongs to (Fig.3-3). As there are more than 200 biclusters of the bipartite graph, we enable analysts to click person bars and object bars to filter the biclusters. For example, If the person P1 and the object O1 are selected, only the biclusters that contain P1 and O1 are displayed. Denote the number of persons and objects inside a bicluster as N1 (length of the light-blue bar at the left side of a bundle) and N2 (length of the light-gray bar at the right side of a bundle). The length of the edge bundle stands for the size of the bicluster (N1+N2). The analyst can hover any person or object bar to highlight the corresponding biclusters and links. Moreover, we draw a gray ruler on the list of objects in the BiSet to indicate the number eight. Objects that belong to eight persons are highlighted with red borders.

For example, the analyst can click the person five to examine all the biclusters containing this person (Fig.3-3(a)). Meanwhile, the analyst can check the specific relationships inside a bicluster by hovering an edge bundle. For example, the edge bundle highlighted in Fig.3-3(b) shows that persons 5, 9, and 28 share the same objects, including the stick box and the pink eraser.

4 – Which group do you think is the most likely group with the “totem”? What is your rationale for that assessment?

Please limit your response to 5 images and 300 words.

We think the eight persons with the rainbow pen (totem) are behind the bug.

After several iterations to correct classification errors and improve the object detector until we are confident about the results, we find four candidate objects (voice recorder, rainbow pen, Canada pencil, and Rubik's cube) each belongs to eight different individuals. Now we want to exclude three objects by checking if persons in the same group have met in person.

Fig.4-1. Evidence that the voice recorder can not be the totem. (a) The BiSet visualization presents all the biclusters containing the voice recorder. (b) The scatter plot after zooming in the space with images 1, 2, and 3. Notice the three images seem to be captured in the same scene.
Fig.4-2. Evidence that the Canada pencil can not be the totem. (a) The BiSet visualization presents all the biclusters containing the Canada pencil. (b) The scatter plot after zooming in the space with images 1 and 2. Notice the same blue shoes appear in both the picture 1 and 2.
  1. We first exclude the voice recorder. Eight persons (3, 8, 10, 15, 24, 26, 36, and 39) share it. However, persons 24, 36, and 39 may have met in person. Evidence is that three images may be taken in the same scene (Fig.4-1).
  2. The Canada pencil can be excluded. Eight persons (4, 7, 14, 15, 22, 25, 35, 39) share it. However, persons 14 and 35 may have met in person as it seems that the same person with the blue shoes appears in different pictures for the two persons (Fig.4-2).
  3. The Rubik's cube can also be excluded. Eight persons (4, 6, 8, 17, 21, 30, 34, 38) share it. However, person 4 and 6 may have met in person as their images have similar scenes shown in Fig4-3.
Fig.4-3. Evidence that the Rubik's cube can not be the totem. (a) The BiSet presents all the biclusters containing the Rubik's cube. (b) The scatter plot after zooming in the space with seven images. Figures 1 and 2 are captured in the same place; figures 3 and 4 share the same dolls and figures 5-7 present the same objects.

Fig.4-4. Other clues that some people may have met in person. (a) Persons 11 and 20 may have met on the beach. Persons 1 and 16 may have met in the same house. (b) These images imply that persons 1 and 8 have met in person, and person 26 and 40 have met in person. (c) These images and text show that person 27 may give the 3D printed black hook to the person 29.

Moreover, we find other similar relationships by exploring the scatterplot (Fig.4-4). This scatterplot is the key to find the clues discussed above, and we explain the technique in detail. Specifically, we project the image features extracted from the backbone of YOLO v3 (DarkNet) and the sentence vectors calculated by the Transformer into the same space using canonical correlation analysis (CCA). CCA learns two linear transforms of the image space and text space that maximize the correlation of image-text pairs. Then we visualize the shared space using the t-SNE [10] algorithm (Fig.4-5). Besides, we show the density contours over the scatterplot using kernel density estimation.

Fig.4-5. The workflow to visualize the images and the text. (a) Extract image features from the backbone (Darknet-53) of the YOLO v3 model. (b) Get the sentence embeddings using a pre-trained Transformer model. (c) Project both the image embeddings and sentence embeddings into the same lower-dimensional space using canonical correlation analysis (CCA). CCA learns a linear transformation W1 for image space and a linear transformation W2 for text space such that the projected image-text pairs have a maximum correlation. (d) Then we visualize the canonical space using the non-linear dimension reduction algorithm t-SNE to project both the images and sentences into 2D space.

5 - Process question: Did you choose to use the object recognition model results provided or use your own machine learning algorithm? Why did you make that choice? What was the biggest challenge you faced? 

Please limit your response to 3 images and 300 words.

We choose to use our model YOLO v3 retrained on the training dataset for two reasons:

1) Model results provided can not support the task to evaluate the model in question one. The reason is that the data only provides one score for each bounding box, which hinders us from reasoning the decision's uncertainty. As the score only represents the detector's confidence that the bounding box contains the specific object, it does not tell us the uncertainty of this decision. Considering that most object detectors also provide the score distribution for each bounding box, we decide to train our model for this task. Specifically, we choose Yolo v3 [1,2], which is the state-of-art of object detection and an updated version of YOLO v2.

2) As shown in question two, we adopt the visual active learning strategy to update the underlying model every time the analyst makes corrections. Only the model results can not support this task.

The biggest challenge we faced is the scalability of visual active learning. In this challenge, we demonstrate the Visual Detective in Ubuntu 16.04 with GPU of GeForce RTX 2080 Ti. It takes about 10-15 minutes every time the YOLO v3 is retrained with 20 corrected images and updates the predictions of the rest images and visualization. A more promising solution is to adopt the strategy of progressive visual analytics [11,12]. That is, the analyst can steer the updating process based on his/her interests progressively. In the future, we will extend our work to progressive visual analytics to improve the scalability further.

Reference

  1. Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 779-788.
  2. Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767
  3. Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008.
  4. Yang X, Weifeng L, Liu W, et al. A survey on canonical correlation analysis[J]. IEEE Transactions on Knowledge and Data Engineering, 2019.
  5. Bernard J, Hutter M, Zeppelzauer M, et al. Comparing visual-interactive labeling with active learning: An experimental study[J]. IEEE transactions on visualization and computer graphics, 2017, 24(1): 298-308.
  6. Bernard J, Zeppelzauer M, Lehmann M, et al. Towards User‐Centered Active Learning Algorithms[C]//Computer Graphics Forum. 2018, 37(3): 121-132.
  7. Settles B. Active learning literature survey[R]. University of Wisconsin-Madison Department of Computer Sciences, 2009.
  8. Sun M, Mi P, North C, et al. Biset: Semantic edge bundling with biclusters for sensemaking[J]. IEEE transactions on visualization and computer graphics, 2015, 22(1): 310-319.
  9. Prelić A, Bleuler S, Zimmermann P, et al. A systematic comparison and evaluation of biclustering methods for gene expression data[J]. Bioinformatics, 2006, 22(9): 1122-1129.
  10. Maaten L, Hinton G. Visualizing data using t-SNE[J]. Journal of machine learning research, 2008, 9(Nov): 2579-2605.
  11. Stolper C D, Perer A, Gotz D. Progressive visual analytics: User-driven visual exploration of in-progress analytics[J]. IEEE Transactions on Visualization and Computer Graphics, 2014, 20(12): 1653-1662.
  12. Pezzotti N, Höllt T, Van Gemert J, et al. Deepeyes: Progressive visual analytics for designing deep neural networks[J]. IEEE transactions on visualization and computer graphics, 2017, 24(1): 98-108.