# Audio, Image, Video, and Weather Datasets for Continuous Electronic Beehive Monitoring
## 3 Image Datasets
On BEE2_2S, the best ConvNet had a validation accuracy of 78.90%, the best RF had 60 trees and achieved a validation accuracy of 64.02%, and the best SVM achieved a validation accuracy of 64.53%. The performance of all classifiers on BEE1 was better than their performance on BEE2. An important qualitative difference between BEE1 and BEE2 is that the validation datasets of BEE2 contain more images of bee shadows than the validation set of BEE1. The image size of BEE1 (32 \(\times\) 32) is smaller than the image size of BEE2 (64 \(\times\) 64), which indicates that ConvNets, RFs, and SVMs may generalize better on smaller images than on larger ones. In 2019, we curated another dataset, which we called BEE3 [30] (See Figure 8), taking another random sample of 50 1-super and 50 2-super videos acquired from four Langstroth beehives with Carnional honeybee colonies in Logan, UT in May and June 2018. We labeled the acquired images from these videos with three labels: BEE, NO_BEE, and SHADOW_BEE. The first two categories were used in the same way as in BEE1 and BEE2. The third category was used on images where two (out of three) human evaluators detected the shadow of a bee. Since the numbers of images labeled as SHADOW_BEE was small compared to the numbers of images labeled as BEE or NO_BEE, we took another random sample of 50 videos taken between 12:00 and 16:00 p.m. in the same apiary and manually cropped regions with bee shadows to increase the numbers of images in the SHADOW_BEE category. Table 10 gives the final distribution of images in BEE3 in each category. \begin{table}
\begin{tabular}{c c c c c} \hline \hline  & **Trn/Tst (BEE)** & **Trn/Tst (NO_BEE)** & **Vld (BEE)** & **Vld (NO_BEE)** \\ \hline BEE2\_1S & 11,094 & 36,143 & 8298 & 2666 \\ BEE2\_2S & 17,176 & 21,310 & 6823 & 9369 \\ \hline Total & 28,270 & 57,453 & 15,121 & 12,035 \\ \hline \hline \end{tabular}
\end{table} 
Table 8: Numbers of images in BEE2_1S and BEE2_2S (collectively referred to as BEE2) used for training, testing, and validation. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Model** & **BEE1 Acc. (\%)** & **BEE2\_1S Acc. (\%))** & **BEE2\_2S Acc. (\%)** \\ \hline ConvNet & **99.45** & **94.08** & **78.90** \\ RF & 93.67 & 74.29 & 64.02 \\ SVM & 63.66 & 69.36 & 64.53 \\ \hline \hline \end{tabular}
\end{table} 
Table 9: Validation accuracies of each model type on BEE1, BEE2_1S, and BEE2_2S; best accuracies are in bold. We tested 25 different ConvNets on BEE3 [30], including our own manually and automatically designed ConvNets as well as ResNet 32 [31], AlexNet [32], and VGG 16 [33]. We compared their performance with RFs and the best SVM One-Vs-Rest (OVR) classifier with a linear kernel. All ConvNets were implemented, trained, tested, and validated 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 ConvNet models on BEE3 with that of RFs and SVMs implemented 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. Table 11 gives the accuracies of the best models of each type on BEE3. ResNet was the top ConvNet with a validation accuracy of 91.00%. The best RF had 80 trees and achieved a validation accuracy of 83.36%. The SVM OVR classifier with a linear kernel achieved a validation accuracy of 65.34%. \begin{table}
\begin{tabular}{l c c c c} \hline \hline
**Label** & **Train** & **Test** & **Validation** & **Total** \\ \hline BEE & 12,948 & 4236 & 5187 & 22,371 \\ NO\_BEE & 12,857 & 4242 & 5179 & 22,278 \\ SHADOW\_BEE & 12,006 & 3993 & 4350 & 16,749 \\ \hline TOTAL & 37,811 & 12,471 & 14,716 & 64,998 \\ \hline \hline \end{tabular}
\end{table}