# Audio, Image, Video, and Weather Datasets for Continuous Electronic Beehive Monitoring
## 3 Image Datasets
We refer to a video as 1-super when it is captured by a BeePi monitor mounted on a hive that consists of one deep Langstroth super. We refer to a video as 2-super when it is captured by a BeePi monitor mounted on a hive that consists of two deep Langstroth supers. All videos had a 1920 \(\times\) 1080 resolution. The 1-super videos were acquired from 5 May 2018 to the first week of June 2018 when the second supers were mounted on all four beehives and the BeePi monitors started acquiring videos from the second supers. All  
Figure 3: Bee motion counting in 2 TA: tier 1 does motion region generation; tier 2 does motion region classification. 2-super videos were captured from the first week of June 2018 to the end of the first week of July 2018. We randomly selected 50 1-super videos and 50 2-super videos. We obtained the ground truth classification using the MOG2 algorithm to automatically extract 58,201 150 \(\times\) 150 detected motion regions from the 1-super videos and 54,678 90 \(\times\) 90 detected motion regions from the 2-super videos. We manually labeled each region as BEE (if it contained at least one complete bee) or NO_BEE (if it contained no complete bees or only a small part of a complete bee). Figures 6 and 7 show samples of 1-super and 2-super images, respectively, in BEE2. We called the 1-super image dataset as BEE2_1S and the 2-super image dataset as BEE2_2S. Table 8 gives the exact numbers of labeled images in BEE2_1S and BEE2_2S used for training, testing, and validation. In both BEE2_1S and BEE2_2S,  
Figure 4: 49 sample images from BEE1 dataset used for experiments in [9]; first 4 rows are images manually labeled as BEE; last 3 rows are images manually labeled as NO_BEE. Figure 5: BeePi monitor’s camera looks down on hive’s landing pad (**a**) and is protected along five sides against elements with custom wooden box (**b**). the images used for training and testing, on the one hand, and validation, on the other, came from different hives. We used BEE1 to train, test and validate on several hundred automatically and manually designed ConvNets in Python 3.4 with TFlearn [28] on an Ubuntu 16.04.S LTS computer with an AMD Ryzen 7 1700X Eight-Core Processor with 16 GiB of DDR4 RAM and a GeForce GTX 1080 Ti GPU with 11 GB of onboard memory. All ConvNets were trained for 50 epochs with a batch size of 50 and normalized all images to have pixel values on each channel to be \([0,1]\). We compared the performance of the ConvNets, RFs,  
Figure 6: Sample of 1-super images from BEE2 (BEE2_1S) we used in [9]; the first four rows include images classified as BEE; the last three rows consist of images classified as NO_BEE. Figure 7: Sample of 2-super images from BEE2 (BEE2_2S) we used in [9]; first four rows include images classified as BEE; last three rows consist of images classified as NO_BEE. and SVMs on BEE1. We designed RFs and SVMs with the scikit-learn library. We varied the number of trees in RFs from 20 to 100 in increments of 20 and trained and tested all RFs with the gini entropy function. We then used BEE2 to train, test, and validate the same ConvNets, RFs, and SVMs on BEE2_1S and BEE2_2S [29]. Table 9 summarizes the best validation accuracies in each model category on BEE1, BEE2_1S, and BEE2_2S. On BEE1, the best automatically designed ConvNet had a validation accuracy of 99.09%; the best manually designed ConvNet had a validation accuracy of 99.45% on BEE1. The best performing RF on BEE1 had 40 trees and had a validation accuracy of 93.67%. All SVMs used the linear kernel with the max-iter parameter varying from 10 to 1000, an L2 penalty, a squared hinge loss function, and a tolerance of 0.0001. The best SVM had a validation accuracy of 63.66%. On BEE2_1S, the best ConvNet achieved a validation accuracy of 94.08%, the best RF had 100 trees and achieved a validation accuracy of 74.29%, and the best SVM had a validation accuracy of 69.36%.