Animal AI Project – Progress Report 1

A good number of you have been uploading your images to your shared Google drive folder with us – thank you for this.

Please continue to submit any and all images, but we also now need to focus on acquiring skull images, upon which we can train our neural network to automatically measure biparietal diameter (BPD). The ultimate goal here is to obtain accurate gestational age calculations for as many breeds as possible. Visit the main project page here to see a video of the type of cine loop we need. If your machine only saves still images, feel free to submit these also.

Don’t feel intimidated if you have not measured BPD before – the entire point of this project is to train artificial intelligence to assist with these types of tasks. While we have some very experienced contributors to the project, we also welcome the efforts of beginners, because our AI needs to be able to work with all types of images.


How we train the network

After all of your cine loops are split into their component frames, you will be invited to a training webinar and then to go ahead and label them. Once all of the images have been labelled, the network is then trained. During the training phase, we have to be careful to optimise the number of training epochs. Just like people, the neural network can be given too little or too much training. Too little, and the repercussions are obvious in terms of resulting performance of the neural network. Too much, however, and the neural network becomes unadaptable to new situations (new datasets).

Just like training someone on your soccer team to always clear the ball in defence, or always hold up the ball in attack, they become unable to do anything else, even when presented with a new situation. Even in front of goal, the player trained to hoof the ball out of defence every single time will have a tough time doing anything other than firing off a sky rocket even if the situation required a tap-in.

Luckily, loss and accuracy values can be monitored during the training process, and training can be instructed to stop when a particular level of accuracy is reached or loss values approach a defined threshold.

Training images can also be manipulated between epochs so as to be presented to the neural network slightly differently each time, forcing it to keep its skills more ‘generalisable’ than if it simply saw an identical set of images over and over again. This will allow us to get more ‘mileage’ out of all of your contributed images.