Matt Balkam, rad developer at EyeWire HQ, explains how we get from a seed cube to a completed cell.
How do we get to the final accepted structure of a neuron?
We know that every neuron consists of a few thousand cubes. Every cube has somewhere between one and a few hundred pieces. The question is, how do we find all the pieces in all the cubes? We only start with a single cube as a seed, and we don’t even know which volumes the cell will be in. Every time one of our players finishes a cube we’ve got a clue as to which pieces belong to the cell. We developed a process to combine all those little clues that our players are giving us into a whole complete cell.
The first challenge is establishing the truth for an individual cube. If all of our players were perfect, it would be no problem! Just take the first result that you get and move on. Unfortunately, nobody’s perfect. Some cubes are harder than others. Even the best of our players make mistakes occasionally. So basically, we start with the assumption that no one gives us the right answer, they just give us a clue as to the right answer. That means we need several different users to do the same cube. Because everyone is playing independently, we can assume that if there is a correlation between the pieces that different players pick, odds are, it’s not a coincidence. That is to say, if all our players were playing randomly, the likelihood that multiple players would pick the same pieces are pretty low. In order to filter out some of our more ‘ahem’ random players, we chose a threshold, a required number of players who must agree, before we are willing to include a given piece in the truth that we compiling. We combine all the clues that we get from all the players, and we have the truth for a given cube.
The second challenge is finding all the cubes which include the cell. We do this by looking at the truth that we have established for all the current cubes. If the pieces that we decided belong to the cell in those cubes hit the edge of the volume that they are in, then we look at the neighboring volumes to see if we need to spawn new cubes in them. This creates a dynamic process by which new cubes are added to the neuron, players do those cubes, enough players do the cubes for us to establish the truth, we use that truth to spawn more cubes.
There’s one more slight complication to this picture, and that is that individual cubes are never really ‘done.’ As more people do them, we become more sure of the correctness of the results that we have. However, even after several people have done a cube, it’s still possible that more people will find things that the earlier people missed, or find that something which we earlier considered correct is actually incorrect. This means that the process of spawning new cubes is totally dynamic, and may require removing things that we previously thought were correct.
Now we are finally equipped to answer the question of when we are done. As people work on a cell, it will steadily grow by spawning new cubes. That growth is fairly predictable. However, eventually we get to the end of the branches. As we do, the growth slows down. A decrease in the rate of cubes spawning is a good sign that we are getting close to finishing a cell. The rest is up to the scientists in the lab. They know what the cells are supposed to look like approximately, and they decide when it’s time to move on. We try to make the process as precise as possible, but in the end, we rely on expert human judgement. The goal is to stop it when we’ve reached the point of diminishing returns. There may be more branches in there that we haven’t found yet, but it would require a lot more effort to find a comparatively small part of the cell. In general, that effort is better spent working on new cells.
Hopefully, this explains why accuracy is so important in EyeWire. The more accurate our players are, the faster we achieve a high confidence and therefore complete cells.