Open mstreit opened 6 years ago
Looks nice.
d3 lib that can possibly by used: https://github.com/jasondavies/d3-parsets
facetted browsing idea, we could create dynamic sets/groups of classes. Would be a little bit more flexible as users could build their own "contrasts"
According to our meeting notes:
Class changer images might be interesting as well This topic gets more and more important, because images representing the algorithm/solution the best can be used for publications Sepp hasn’t looked into that, but he finds it very interesting
One question: When we want to show the track of instances over time, we need to store each instance and its classification for each epoch. This sounds like a huge amount of data. Is my assumption correct? Alternatively, we just store the necessary data for selected sample images.
I was just told that we have the data available. So everything is alright.
We still need to come up with a design / layout for visualizing the class changers.
Also it should be general enough so we can track any type of data (not just images but also numeric vectors, graphs, etc...)
User tasks and possible solutions
Some notes regarding our concept:
Each barchart represents the confusion of one class against all others. The vertical stacking of bar charts forms 1 epoch. For multiple epochs, the vertical stacking of bar charts is extended horizontally.
Alternative approach if we can use relative numbers: Ternary (or Triaxial) Plots
Image from http://ethanfosse.blogspot.co.at/2012/03/triaxial-graphs.html
Next idea:
Each column encodes 1 epoch. The pairs of black/red line segments at the top and bottom encode the predicted class and the rest classes. The red/black/red line segment in the middle encodes the actual class. The line segments are separated by 1 pixel.
The black lines are instances that don't change from epoch e_x to epoch e_x+1 The red lines are either outgoing or incoming (this depends on the definition) instances. That means these are instances that will change classes from e_x to e_x+1.
Multiple Runs:
Interleave the bars:
The nice thing here is that the we can use the color coding of the timelines because each timeline represents a run. Diverging/converging patterns are easily observable with this approach.
Possible "special" effects:
Out of scope for the paper. Hence, moved to icebox.
Based on experiments with a Matplotlib Prototype this approach doesn't work.
Class 1 and 2 will be defined by the user when selecting a cell in the confusion matrix (class 1=column, class 2=row).
Users should be able to select all bands in the parallel sets visualization, allowing them to specify union and intersections between classes. When selecting a band, the selected images should be retrieved from the server and displayed.