Entry Name: UKON-Hinderer-MC2

VAST Challenge 2020
Mini-Challenge 2

 

 

Team Members:

Student Team:

Tools Used:

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

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

  • YES

Video

 

 

 

Questions

With your help, the Center for Global Cyber Strategy (CGCS) searched the vast graph of offline records and narrowed its list of possible groups involved in the accidental cyber event. Further analysis of the cyber event has given a strong indication that a subgroup of eight individuals were behind the bug. The CGCS has received a tip that this group rarely meets in person and instead they use a special item - a totem - as a secret signal of their affiliation. This item is unremarkable to those who are not part of the group; it could easily be confused for a free item handed out at a conference. The CGCS gathered all records associated with the group from their offline archives including text and photos that potential group members posted on the Y*INT social media platform. Investigators at the CGCS need your help analyzing the contents of those records to look for clues to the identity of the eight individuals.

Declaration

To adapt the challenge, we have developed a visualization tool named VisMe to fully support the provided dataset. Moreover, it can be used to visual analytics any object recognition dataset that followed the same format of the provided dataset. The tool has two parts: The visualization part and the Correction part. Regarding the Visualization part, we provide from the general to the specific view of objects distribution in people and their important attribute as confidence score. In the Correction part, we concentration on presenting the uncertainty of the classifier results and providing the tool to allow the users to correct the misclassified cases with the active learning approach with machine learning-based algorithm to make the process more efficient.

1. Examine the object classifier you used either from the classifier results provided or the results from a classifier you chose. Which objects classified well and which more poorly by the machine learning algorithm? Please limit your answer to 5 images and 250 words.

  • Both the provided classifier and our classifier use the confidence score to evaluate how confident an object's class is detected by the model at a certain position. Theoretically, an object with a high confidence score should have a higher chance to be classified correctly than the one with a low confidence score. However, as we don't have the ground truth to evaluate the performance of the classifier, they all have a base level of uncertainty. As in the figure below, we show the true negative case, a wrong prediction with high confidence score and the right prediction with a low confidence score:
  • Fig.1 - Uncertainty in confidence score with two typical cases: Wrong prediction with high confidence score on the left and correct prediction with low confidence score on the right
  • Therefore, we assume the following well-classified definition that must satisfy two conditions: Firstly, the object has to be recognized correctly by the classifier (the object is assigned the correct label and its bounding box covers more than 70% of its surface); Secondly, the confidence score which represents the classifier's confidence in its prediction should be larger than 0.5. If all of the objects are not satisfying the above constraints, we will have poorly classified objects. There are two ways to get the desired behaviour:
    • As we have 21 out of 43 recognizable objects, the first method is to go through each object (we can take the object from the top highest confidence score as in figure 2 first) and apply the check process: find the person where the object has the highest appearance frequency -> check with our constraints.
    • The second method is to go through each person and check which object satisfies the constraints.
    • Fig.2 - Top highest confidence score objects
  • As the result, we have the list of well and non-well classified objects as follows:
    • Well classified objects: noise maker, blue sunglasses, pumpkin notes, sign, red whistle, yellow bag, lavender die, eye ball
    • Poorly classified objects: the rest from list of objects referenced to the training corpus
    Fig.2.1 - Well classified objects: noise maker, pumpkin notes
    Fig.2.2 - Well classified objects: sign, red whistle
    Fig.2.3 - Poorly classified objects: bird call, pink eraser

2. Demonstrate your process for correcting classification errors using visual analytics. How do you represent confidence and uncertainty? How could correction process be made more efficient? Please limit your answer to 10 images and 500 words.

  • Confidence score and classifier uncertainty are the two important keywords that we have mentioned in the previous question. To visualize them, we use data mining and visual analytics approaches to draw out their characteristics. Regarding the confidence score, firstly we present the top of the highest and lowest confidence score objects as well as additional information such as their name, the person they belong to quantity and highest / lowest score.
    Fig.3 - Top highest and lowest confidence score objects
    These tables give the user a quick overview of the extreme values of each object (highest and lowest). In addition, to further investigate the confidence score of each object in a certain person, we provide an interactive bar chart section to show the potential "totem" for each person as seen in Figure 4. In this section, we present the distribution of confidence score as a frequency of appearance for each object to get an overview of how confidence score is different between each object in a person and how confidence score is different between each person for a typical object. Moreover, we can arbitrarily select persons from the drop down menu to get a detailed visualization for each person.
  • Fig.4 - Confidence Scores and Appearance Frequency distribution for Person 2 (left image) and Person 1 (right image). On the right hand side of each image, we provide a statistic of the top 5 most appearing objects for the selected person to quickly give users an overview.
    To adapt to the classifier uncertainty, we apply the correction process firstly to check how uncertain the classifier is and secondly to provide the ground truth for further enhancement. At the above-mentioned section at the dashboard page of the application, we provide a "Detail" button which leads to the uncertainty checking and manual annotation page as seen in Figure 5.
    Fig.5 - Annotation Page
    At this page, we check the uncertainty based on checking the label, confidence score of an object and its corresponding bounding boxes. We can either approve or disapprove of the predicted result. In the case of rejection, we can manually annotate and assign the label for the objects. The annotation process is shown in Figure 6.
    Fig.6 - Annotation Process. From left to right, click Reject -> draw bounding boxes -> assign label
    This approach can be used to correct the predicted result as well as to provide new object classes which are not recognized but appear in the training set as in Figure 7 and the new object classes which do not appear in the training set as shown in Figure 8 further below.
    Fig.7 - New object class (Failed to recognize but appears in the trainings set as turtle)
    Fig.8 - New object class (a completely new object which isn't refereced in the training set)
    To make the correction process more efficient, we propose and apply an active learning approach. The structure of this approach is presented in Figure 9 bellow. In this technique, we use the term semi-correction to apply the semi-supervised machine learning algorithm. Instead of annotating the whole dataset, the users can choose to correct a part of the falsely labeled data (in this case the rejected and newly labeled image). The manual annotation will be combined with the training dataset as an input to the model when we click the "train model" button. After an epoch, the predicted results will be updated and the users can then once again evaluate the result and provide annotated samples. This recursive process continues until it satisfies the requirements as the example in Figure 10 shows.
    Fig.9 - Active learning approach
    Fig.10 - Active learning approach result

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

  1. Which people have which objects? Please limit your answer to 8 images and 250 words
    • In our application, we present the distribution of objects in people in the two following ways: On the one hand we have a more general way and on the other hand a more detailed way. In the General way, we present all objects and people in a pairwise table. The row of the table represents a certain person while the column represents a certain object and the cell has the value of appearance frequency value. All values are normalized in the range of [0,1] in their respective local scales. Moreover, all the values are also encoded with the color range from white to red to make it more expressive. An example for this pairwise table is seen in Figure 11. To make the table more interactive, we also make the table sortable by simply clicking on the column you want to sort with. In the example in Figure 12, we have sorted the table in a descending manner for object 2 (canada pencil). With this table we aim to provide a general overview of the object distribution among people and provide some interactivity to look for the most probable person for every object to make further tasks more easy.
    • Fig.11 - Pairwise Table: All values are normalized in local scale and encoded with different shades of red
      Fig.12 - Sorted Pairwise Table by item no. 2 (canada pencil) - Person23 has the highest chance to have the canada pencil
      Fig.13 - Sorted Pairwise Table by item no. 5 (eye ball) - Person23 again has the highest chance to have the eye ball
      Fig.14 - Sorted Pairwise Table by item no. 8 (metal key) - Person23 also has the highest chance to have metal key
    • In the Detailed way, we present the distribution of objects for each specific person. As we are using the results of a machine learning classifier, we indicate the result by using the term "high chance" because this result is always an approximate result instead of an absolute one. The distribution of objects is mentioned as the caption for the following examples:
    • Fig.15 - Person 4 has the highest chance to have the eyeball (item no. 5) - Person 8 has the highest chance to have sign (item no. 15)
      Fig.16 - Person 14 has the highest chance to have sign (item no. 15) - Person 17 has the highest chance to have cloud sign (item no. 3)
  2. Identify groups of people that have object(s) in common. Please limit your answer to 10 images and 500 words.
    • To answer this question, we divide it into two parts. In the first part, we answer the question of identifying the group of common objects given a group of people. To answer this question, we provide an interactive bipartite graph that allows us to arbitrarily select people to show their relationship between objects and other people. Moreover, we also included an example image for every object to make it more recognizable for the users. In the following picture, we show some potential groups of people and their corresponding common objects:
    • Fig.17 - The group of people (1, 6, 9, 12, 14, 17) has the high chance to have the following common objects: bird call, eye ball, pink candle, pumpkin notes, blue sunglasses, yellow bag, cloud sign, red whistle, sign, hair clip, metal key, lavender die, cupcake paper (item no. 0, 1, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15 and 20)
      Fig.18 - The group of people (25, 31, 21, 7, 38, 39) has the high chance to have the following common objects: cloud sign, eye ball, pink candle, hair clip, bird call, pumpkin notes, red whistle, blue sunglasses (item no. 0, 1, 3, 5, 6, 12, 13 and 14)
    • In the second part, we answer the question of identifying the group of peoples given the common objects. As in the first part, we also provide an interactive bipartite graph that allows us to select arbitrary objects to show their relationships to the people. This way you can see a group of people that share the same object. Below are some examples:
    • Fig.19 - All of the following items blue sunglasses, cloud sign, hair clip, cupcake paper, metal key, lavender die, red whistle (items no. 1, 3, 4, 6, 7, 8 and 14) are shared by the following group of people (1,2,3,4,5,6,7,9,11,12,13,14,16,17,18,20,23,24,25,29,32,33,34,37,39)
      Fig.20 - Typical failure cases: catus paper and foam dart have not been recognized by the classifier, therefore there aren't any people sharing this item

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.

  • Theoretically, we could show a group of people that share potential "totems". However, the classifier has a high uncertainty in the predicted results. Therefore, we use a combination of the following methods to figure out the potential group with the "totems". First we select the potential objects from the list of objects that are well classified by the classifier because they have a high chance to be a "totem" used by the people. Then we use the bipartite graph to figure out how many people there are that share this potential "totem". As we don't have absolute ground truth to know the exact objects that belong to each person, we propose the way to predict the objects to have the highest chance to be a "totem" for a certain person is based on their appearance frequency. Therefore, we use the pairwise table one more time as in figure 22 to rank the person. The higher the appearance frequency of an object is, the higher rank of the person increases Therefore, the potential people for the "totems" in order are 23, 17, 34, 5, 37,4,3,2,25,15,36,14,12
Fig.21 - The group of people that share the potential "totems"
Fig.22 - Pairwise object person table for ranking people based on the appearance frequency of the potential "totems"

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 chose our own machine learning model. This is due to the fact that the provided output was more or less random squares in random parts of the picture with random labels. Furthermore, there was only a subset of all classes detected in the whole data set. This way analyzing the data and making (correct) deductions from it becomes impossible. The biggest challenge for building a model is the limited amount of training images that are present (12 images per class). This is by far not enough to build a working image detection model (like YOLO, ..) where one would need at least 1k+ images per class to get a satisfactory result. This is why we chose a One-shot-learning approach in combination with an active learning functionality. The plus side of the One-shot-learning approach is that it needs far less examples per class to function in a sufficient manner. Basically the model just compares two images and gives you a similarity score as an output. By comparing the similarity scores of all the different classes one can easily create their own classifier. As explained earlier, we provide the user with some output, which can be correct or false, and if the user wishes, can correct the output. In this case the user can draw a rectangle around a piece of the image and annotate the class. This is then added to the training images and used in the background training. Therefore the user iteratively increases the performance of the model which in return makes it easier for the user to find the groups and / or totems.
  • Fig.23 - Classical outline of the one shot learning siamese network
    Fig.24 - Proposed interaction between the user and the model