Cow In Love

Increase your cattle by automatically detecting the very short time of fertility in cows.

Knowing when the on heat window for a cow would allow the farmer to organize the insemination quickly to maximize the chances to get a calf.


  1. Install solar-powered cameras connected to a mobile network, like Telstra, on the fields. We could extend the functionality of the camera to a device that could do the detection on site depending on the price of devices
  2. Capture a cattle shot every x seconds. x ~ to be customized according to real life experience.
  3. Send each shot to the server as a query request.
  4. The server will detect among this 2 possibilities: "On heat", "Non heat". The system uses a trained model over previous images to recognize the patterns inside the new query image in order to perform classification.
  5. If "On heat" is detected, the farmer gets immediately notified through his preferred method: sms, alarm, etc.
  6. The farmer organizes the insemination and soon very likely gets a baby calf.


You can check the used dataset here.
Data augmentation techniques were used to increase the quantity of images in order to improve the accuracy of the classification.
Credits for images in the dataset:,,, diverse news portals, own pics.


The system has been developed through jupyter notebooks in python. Please check: Code Training in python training.ipynb and htmltraining.html
Code for Query in python querying.ipynb and html querying.html


You can download it here presentation.pdf


Check on youtube or here:

Also, you can check a longer video here or here.


  • Deep learning was used for recognition.
  • The well-know architecture VGG16 architecture pretrained before over Image Net during a long time so we can take advantage of the acquired learning.
  • We created a small architecture on top in order to fine tune that learning to our domain.