Abstract
Studies of ovarian health and aging rely on estimates of the ovarian reserve, i.e., the number of healthy ovarian follicles. We present a machine learning pipeline to classify preantral ovarian follicles in histology images from non-human primates. Ovarian tissue from 11 monkeys were fixed, sectioned, stained, and imaged. A total of 7770 preantral follicles were manually annotated in 18 histology section images using a standardized protocol, with annotations reviewed by an expert. Using a transfer learning approach, we retrained a ResNet34 convolutional neural network to classify individual follicle images into six developmental stages. The model achieved high accuracy during training (>98%) and good performance on validation and test sets (75.3% and 72.4%, respectively), with most errors confined to adjacent stages, suggesting the network learned an implicit developmental ordering of follicles. All code, annotated datasets, and trained models are publicly available to support reuse and further exploration. Application of this model for determining follicle numbers will be useful in studies of primates, and perhaps humans. For example, it may be used for determining drug or environmental toxicant effects on follicle populations or for fertility preservation planning. Importantly, this model will facilitate the study of ovarian aging and follicle depletion in a translational animal model and for developing interventions to preserve ovarian reserve, extend fertility, and delay menopause in women.
Keywords: ovarian follicle, follicle stage, machine learning, convolutional neural network (CNN), whole-slide imaging segmentation, non-human primate
Graphical Abstract
Graphical Abstract.

A transfer-learning–based machine learning pipeline accurately classifies preantral ovarian follicle developmental stages in non-human primate histology images, supporting improved estimation of ovarian reserve and reproductive aging.
Introduction
Studies of ovarian health and aging rely on estimates of the ovarian reserve, i.e., the number of ovarian follicles with healthy oocytes. Manual identification and counting of ovarian follicles in different stages of development (called “follicle stages” in the remainder of this manuscript) is a labor-intensive process. It involves using microscope imaging and manual annotation to identify hundreds of follicles in one ovary cross-section of an animal. In turn, one ovary may yield 200–300 tissue sections, and a study may involve multiple ovaries. Thus, computer assistance with this process could increase research productivity and reliability.
Accurately predicting follicle stages across various species is pivotal in reproductive biology to better understand reproductive health and evolutionary biology. This paper describes an approach for the automatic classification of ovarian follicles in non-human primates into six stages of development (primordial through multilayer). This classification scheme is based on the nomenclature recommendations from the Classification of Human Ovarian Follicle Morphology: Recommendations of the NICHD-Sponsored Ovarian Nomenclature Workshop (CHOFM) [1].
Several groups have published machine learning (ML) algorithms to count ovarian follicles in different stages of development in mice [2–5], rats [6], and humans [7–9]. Most studies focus on identifying one to three follicle stages [2–4, 6–8]. Inik et al. [10] classified five stages of ovarian follicles (primordial, primary, preantral, secondary, and tertiary) from animal histology images (the species studied was not reported) with different stains and different magnifications using automatic image segmentation and two different convolutional neural network (CNN) algorithms. More recently, Folts et al. [4] developed Oocount for automatically segmenting (identifying) CD-1 mouse oocytes from fluorescent 3D microscopy images and classifying oocytes into one of four different stages (primordial, primary, secondary, and antral) and estimated follicle counts for the entire ovary. Arlova et al. [9] developed a deep learning model to count follicles across all preantral stages, without identifying particular stages, in biopsies from young women (median age 15 years). Finally, the study most closely related to this study is by McDowell et al. [7] who created OvoPath for classifying human ovarian follicles into five stages (primordial, transitional, primary, secondary, and antral) based on morphometric measurements of the follicles in sections of ovarian cortex.
Our study focuses on macaque ovary follicle identification and the development of an ML workflow focused on the prediction of six follicle stages; primordial, transitional primordial, primary, transitional primary, secondary, and multilayer, as defined by CHOFM [1] in whole ovary sections. Representative H&E-stained histology images for these follicle stages are shown in Figure 1, which also shows two antral stages defined by the CHOFM recommendation [1]. For further details on the stage definitions, see Supplemental Material Section S1.
Figure 1.

Rhesus monkey follicle classification examples for eight stages: primordial to atretic antral. Note that in the images of antral follicles the scale bar is 10 times larger than the first six (preantral) follicles. In this work we address the preantral stages from primordial through multilayer.
Unlike rodent species typically used in studies of ovarian biology, macaques, including rhesus macaques (Macaca mulatta), are Old World monkeys that have ovarian/menstrual cycles of approximately 30 days in length and ovarian characteristics that are identical to those of women [11, 12]. The 14-day follicular phase features circulating follicle-stimulating hormone–induced estradiol levels produced from a single dominant follicle that continuously rises to a peak at midcycle, that is followed by a surge of luteinizing hormone responsible for oocyte maturation, granulosa cell luteinization, and follicle rupture. The subsequent 14-day luteal phase is characterized by a rise and fall in circulating progesterone levels followed by menstruation [11, 12]. The early stages of follicular development from primordial to preantral to antral including their morphology are like those of most other primate species and can be characterized according to the CHOFM recommendation [1].
Female macaques typically undergo puberty around 3–4 years old, have monthly ovarian/menstrual cycles wherein they can produce one offspring annually up to about 20 years of age [13]. Macaques experience perimenopause (ages 21–23) and undergo menopause around 25–27 years old [14]. The hormonal dynamics during the menopausal transition and the accompanying continual loss of follicles throughout the reproductive lifespan are similar to those of women, although the post-menopausal interval is much shorter in nonhuman primates [15]. Unlike rodents, primordial follicles can potentially be present in the ovaries for decades in primates including women. Thus, the macaque is an ideal animal model for studies related to ovarian biology that can be translated to women’s reproductive health.
Methods
Histology images source
Histology slides were scanned with an Olympus CX 33 brightfield microscope at 10× magnification and cellSens software. Ovaries were fixed in 4% paraformaldehyde (Sigma-Aldrich, St. Louis, MO) for 24 h at 4°C, 4% sucrose (Sigma-Aldrich, St. Louis, MO) for 24 h at 4°C, and stored in 70% ethanol (DeCon Labs, Inc., King of Prussia, PA) at 4°C for up to 1 week prior to dehydration and embedding in paraffin [16]. The ovaries were serially sectioned at 5 μm thickness and mounted onto slides with two to three sections per slide and stained with hematoxylin and eosin (H&E). The images used in this analysis are available at mother-db.org [17, 18]. See the Supplemental Material Section S2 for a metadata summary, links, and slide thumbnail image.
Manual annotations to create training data
The training data set was derived from 18 histology images from 11 monkeys that ranged in age from 1.1 to 22 years. The images were annotated manually in the QuPath [19] software package using our protocol for annotating ovary histology images (see Figure 2 and Supplemental Material Section S3) [20, 21]. To minimize subjective errors in the classification of ovarian follicles, each histology image was independently annotated by two annotators. Each annotator annotated an image for all eight follicle stages (primary through atretic antral), though only the earliest six follicle stages, covering the preantral follicles primordial through multilayer, were used for training the classifier (see Figure 1). Upon completion of the independent annotations, the annotators compared their annotations using our Jupyter notebook protocol “CompareTwoAnnotators,” which identifies agreements and disagreements between the annotators (see Figure 2). The annotators resolved any differences in annotations and created a final consensus annotation file for each histology image. All annotator training material, QuPath macros, annotations tables, and the “CompareTwoAnnotators” code are available, see the Supplemental Material Section S10 for details. Finally, the annotators’ consensus follicle annotations were reviewed by an expert ovarian biologist (co-author Zelinski) to ensure the accuracy of the training data set. Less than 2% of the annotators’ annotations were corrected in this step.
Figure 2.

Representative histology image in QuPath [19] with annotations marked. Follicle stages are denoted by color as shown in the key to the left. The black lines are not part of the annotation and are used by the annotators to organize their workflow through the image. The QuPath add-in to name the follicle stages is available in the Supplemental Material.
Overall, 7770 preantral follicles were annotated from 18 images, derived from 11 different animals, including 14 rhesus, 3 cynomolgus, and 1 Japanese macaque (see Supplemental Material Section S2). In addition, 612 other ovary features, such as antral follicles, blood vessels, and the corpus luteum, were annotated in some of the images but were not used in our six-stage classification. For additional information on the follicle annotation workflow, see the Supplemental Material Sections S3 and S4.
Machine learning approach
We used transfer learning to train a convolutional neural network (CNN) ML algorithm to recognize different stages of ovarian follicle development from our annotated histology images. To do this, we built on an existing image recognition CNN, ResNet34 [22], which had already been trained on millions of everyday images (ImageNet [23]), like animals and objects. See the Supplemental Material Section S6.3 for the layout of the CNN. We then retrained it using our follicle images from monkey ovaries to repurpose it to identify follicle stages. This transfer learning approach is often used when the available training data are sparse and leverages image classification networks trained on much larger datasets.
All steps of the process—data preparation, training, testing, statistical analysis, and visualization—were recorded in Jupyter Notebooks, which include the code, inputs, and results. These materials, along with the complete training data set [24] and the trained model, are shared in our public GitHub repository so that others can reuse, reproduce, or build on our work; see the Supplemental Material for details.
For a detailed description of the ML training protocols, see the Supplemental Material Section S6.3. Here, we provide a brief overview of the process. Starting with the annotated images, we create patches centered on every annotation. These patches are 200 × 200 pixels; for our images, this is equivalent to 138 × 138 μm. To expand the dataset, we then created many variations of each patch—by rotating, flipping, changing colors, and slightly shifting the image center. This expanded the dataset from 7700 annotated follicles to nearly 1.9 million training images, each classified by follicle stage. For an example of the image augmentations for a single annotation, see the Supplemental Material Section S6.1. Each patch was named based on the name of the original histology image, the location of the annotation within the image, the assigned follicle type, and the nature of any augmentation used to create the image. In addition, a large set of “negative” patches were chosen randomly from the input images. Only negatives that were not too close to an existing annotation were chosen. The negatives provide a set of counter examples representing regions of the image that do not contain one of our six target follicle stages.
The images were then separated into three groups: (1) Training data (used to train the system), (2) Testing data (used to track how well it is learning during the training process), and (3) Validation data (used for final evaluation).
In doing the grouping above we ensured that all images in an augmentation set were placed in the same group. In total, we created a total of 1.87 million images for training, testing, and validation. The complete set of patches (119 GB) is available for download (see the Supplemental Material Section S10) [24].
Because follicle stages are highly imbalanced, with the later stages being much less common, we used per-class (per-stage) weighting by class size. Per-class weighting addresses class imbalance by assigning higher weights to underrepresented classes and lower weights to more common ones. These weights adjust the loss function so errors on minority classes matter more, helping to prevent the model from overpredicting the more common classes.
The training program used standard ML Python modules. We used a Linux computer with an NVIDIA Graphics Processing Unit (GPU) graphics card to train the program. During training, the ML algorithm adjusted its internal settings over multiple training rounds (“epochs”) to improve its ability to correctly classify follicles. A single epoch of training took about 17 min using our hardware. The system learned to recognize the six stages of follicle development plus regions that contained no follicles. The final training results were analyzed for accuracy for each of the three data sets. Results are presented as heatmaps, color overlayed images, and statistical results.
After training, the program was used to analyze new images—examining them piece by piece—to predict which follicle stage appeared in each part of the tissue. Prediction on entire images would typically involve predictions for the 200 × 200 pixel box around every pixel in the image. For our images, this is approximately 10 million individual predictions for an entire image. We found that this is not needed since the follicles are relatively large and the network was trained using patches that had small random offsets, reducing the dependence on a follicle being centered in the patch window. We found that predicting every fifth pixel along both the horizontal and vertical axes gave results indistinguishable from predicting every pixel. Every fifth pixel reduces the number of predictions needed for an entire slide by a factor of 25.
Statistical analysis
Final training results are presented as confusion matrices for the Train, Test, and Validate data sets, individually. The confusion matrix gives the predicted follicle stage along the horizontal axis and the actual (annotated) stage along the vertical axis. Included in the confusion matrix are the row and column precision and recall. Precision (P) is defined as
![]() |
(1) |
where TP is true positives and FP false positives [5]. In the confusion matrix, this is a diagonal cell raw count value divided by the sum of the column. This value is shown on the diagonal of the confusion matrix.
Recall (R), also known as “sensitivity,” is defined as
![]() |
(2) |
where FN is the false negative count. In the confusion matrix, this is a diagonal cell raw value divided by the sum of the row.
In addition, we calculate the per-class F1 score (also known as the Dice Score) as [25]
![]() |
(3) |
The F1 score compares a single prediction class to all other prediction classes as a single negative class. The F1 score is the harmonic mean of the Precision and Recall and is less sensitive to distortions caused by large differences in the frequency of each classification.
Summary statistics were collected in the Jupyter notebooks as part of the processing workflow. Additional statistical analysis was carried out using JMP (version 18.2.2) from JMP Statistical Discovery LLC.
Results
Annotation results
A summary of the animals, including ages and species, along with a thumbnail image, is in the Supplemental Material Section S2. The annotations by follicle stage and by slide are summarized in Supplemental Material Section S5. A representative slide with the follicle annotations marked is shown in Figure 2. Overall, primordial and transitional primordial stages were by far the most common stages across all images. These two classes represented 34% and 56%, respectively, of the 7700 preantral follicles annotated.
Machine learning training experience, hyperparameters, and optimization results
In preliminary work, we explored several model hyperparameters (see Supplemental Material Section S6.3). The hyperparameter that had the largest effect on the training outcomes was the learning rate. Our initial estimate that the learning rate should start at the reciprocal of the training data size (7.0 × 10−6 for 1.4 × 106 patches) gave only moderate performance. We found that increasing the learning rate tenfold to 7.0 × 10−5 gave consistently better results in terms of both the loss function and the overall prediction accuracy. The loss function quantifies the error between predicted classifications and the actual classifications—the smaller the loss, the better the model’s performance. During training, the learning algorithm adjusts the model’s parameters to minimize this loss. We also explored alternative loss functions, in addition to the default Cross Entropy function. Since theResNet34–ImageNet configuration was trained for categorical output, which is also how our follicle stages are defined, we were limited to categorical loss functions. In addition to Cross Entropy Loss, we tested NLLLoss and MultiMarginLoss but found no significant improvements in performance or accuracy.
Loss function versus epoch compared to accuracy versus epoch
During training we monitored the loss function and accuracy over both the Training and Test datasets. As shown in Figure 3, the loss function decreases very rapidly over the first few training epochs, whereas the Test set loss decreases in the first epoch then oscillates. In terms of accuracy, both Train and Test sets increase by a large amount in the first epoch and then Train continues to rise another ~15% whereas the Test set plateaus.
Figure 3.

Plots of the Loss function (top) and Accuracy (bottom) versus training epoch. Epoch zero is the CNN performance prior to any training.
An example prediction over a large section of a slide with the final trained network is shown in Figure 4. The heat map (Figure 4B) is colored by class (with “Negative” colored white). The “prediction strength” subplot (Figure 4C) shows a strong correspondence with the edges of follicles, both predicted and as annotated in the training set.
Figure 4.

A four-panel plot containing information about the trained CNN’s predictions over a section of an ovary histology image. (A) The original image section. (B) A color-coded heatmap showing the predicted follicle stage at each pixel of the original image section. Follicle stages are colored as shown in the key with stage zero being “nothing” and stage 1 (primordial) through 6 (multilayer) follicles. (C) A heatmap showing the maximum probability for any stage at each pixel of the original image. This does not show what stage was predicted, rather how confident the model was in making its prediction at that pixel. (D) The prediction heatmap as a white overlay on top of the original image section showing where the model made a non-negative prediction. The colored X’s indicate human-annotated follicles and uses the same color-coded classifications as the prediction heatmap. For the entire section, see Supplemental Material Section S8.1, and for the confusion matrix for the entire section, see Supplemental Material Section S8.2.
Our training program saves detailed information at every training epoch and other programs in our processing pipeline perform a detailed analysis of the results for every epoch. Figure 5 shows a comparison between Epoch 1 versus Epoch 24. As can be seen in the figure, Epoch 24 gives much tighter predictions with sharper edges defining detected follicles. Based on these results we are using the Epoch 24 network as our final network and subsequent discussion will be based on it. For further details, including an animation of the progression of training see the Supplemental Section S6.3b.
Figure 5.

(A) Epoch 1—Best Loss, (B) Epoch 24—Best Accuracy. The left-hand image are the predictions for the entire section with the follicles color coded by type. The center and right images are zoomed to the region indicated by the dashed box in the upper left corner of the full-scale images and show color-coded annotations marked with X’s and filled areas for the predicted follicle stages using the same color-coding scheme. The right-hand image is the per-pixel prediction confidence. Light colors indicate high prediction confidence (>95%), darker colors represent lower prediction confidence. The prediction confidence is typically high in regions with no follicles as well as within follicles, with much lower confidence at the edges of follicles as the prediction is changing from a particular follicle type to “Nothing” or vice versa. Note that Epoch 24 gives much tighter predictions than epoch 1 even though both the loss and accuracy at the two epochs are similar. This section is 25081_LT_010a from a cynomolgus monkey.
Overall and per-class predictive performance
The final confusion matrices for the Test and Validation data sets are shown in Figure 6. The accuracy for the Train data set is very high, 98% or better for Negatives and all six preantral follicle classes (see Supplemental Material Section S7). The overall accuracy for the Test and Validate data sets (excluding Negatives) was 72.4% and 75.3%, respectively. Negatives are predicted very well, >99%, for both the Test and Validate data sets. The accuracy for individual preantral follicle stages was variable. Some stages are predicted well, for example, transitional primordial, secondary, and multilayer, whereas others are predicted less well. Interestingly, in general the trained CNN was very good at predicting a follicle within one adjacent developmental stage (+/− one stage). The follicle classification we are using consists of minor gradations in features from one preantral follicle stage to the next. The trained CNN is very good at this +/− one stage prediction with most accuracies in the >90% range. The CNN is set up to make follicle stage predictions, and there is no intrinsic mechanism in the CNN requiring the output stages to be in any order, no stage is intrinsically considered to be “adjacent” to any other stage. Therefore, the observed higher accuracy for +/− one stage indicates the trained CNN has learned to interpret the follicles as an ordered series. That ordered series mimics the developmental pathway for preantral follicles. This suggests that in the future, a CNN might be constructed that assigns ordinal or continuous numbers to the follicle stages, such as 0 through 6 for our “negatives” through multilayer follicles. This changes the output from a classification problem to a continuous prediction problem.
Figure 6.

Confusion matrices showing accuracy fractions of each stage for the (A) Test data and (B) Validate data sets. Rows show the true labels of images as assigned by human annotators. Columns show the model-predicted labels of images. The values along the diagonal are the per-class Precisions (equation 1). The gray bars show the accuracy if the predictions are taken as +/−1 class.
Model performance across histology slide quality variations
Inter-lab variations in protocols give stained images with varying color intensities and ranges. Though our data are limited, we compared the prediction accuracy of images with lighter coloration with the rest of the data set. The Japanese macaque monkey image designated 27570_UN_110a and the cynomolgus macaque monkey image designated 25081_LT_010a have light staining (see the Supplemental Material Section S2 for thumbnail images of the histology sections). Even though these images are lighter in color, the human annotators were still able to identify more than 500 and 600 follicles for each, respectively. Figure 7 shows the percentage of correct predictions for all 18 histology images, excluding training data, and compares results with and without negatives. Interestingly, the lighter-stained slide 27570_UN_110a had the second highest prediction accuracy and the other lighter stained slide, 25081_LT_010a, was also reasonably well predicted compared to the other images.
Figure 7.

Percent correct class assignments across all six follicle stages by histology slide, using only the results for the Test and Validate data sets. The blue bars include all follicle stages and Negatives; the red bars omit the Negatives. The X-axis is sorted by increasing accuracy omitting the Negatives. Superimposed over the appropriate bars are thumbnail images of the corresponding images with lighter staining. The four images that were not from rhesus macaques are marked with “C” for cynomolgus macaque and “J” for Japanese macaque.
Macaque species
Fourteen of our histology images were from rhesus, three were cynomolgus, and one was a Japanese macaque. Figure 7, showing the percent correct prediction across all 18 of our histology images, has the images from the cynomolgus and Japanese macaques marked. Statistical analysis did not detect significant differences between species, but our sample size is small. We would not expect there to be large differences since these three species of macaques display nearly identical ovarian physiology and ovarian cycle characteristics.
Prediction on an entire tissue section
The predictions for an entire histology slide using a pixel skip of five are shown in Figure 8. See also the full four-panel figure in the Supplemental Material Section S8.1 and the confusion matrix in Supplemental Material Section S8.2. This slide has a total of 84 annotations. Overall, the CNN does a good job identifying our six stages of preantral follicles across the entire slide, with an overall accuracy of 90%, excluding negatives. Historically, researchers typically have not attempted (manually or via computation) to classify follicles into follicle stages as finely separated as recommended by CHOFM [1].
Figure 8.

The prediction over an entire slide (14736_UN_050a). Human annotations are marked with X’s and predictions marked by color shading.
Discussion
CNN backbones
Arlova et al. examined several different CNN ML architectures (DepLabF3+, Unet, HRNet) and backbones (ResNet18, ResNet34, and Resnet50) [9]. They found that ResNet50 outperformed ResNet18 and ResNet34. These networks differ in their overall depth with smaller numbers being shallower networks. ResNet50 was their deepest network and has added layer types (“bottleneck” layers) to improve efficiency [26]. We primarily used ResNet34 in our work but carried out tests using ResNet50, ResNet101, and ResNet152. The larger ResNet versions did not perform noticeably better than Resnet34. There were small changes in prediction accuracies across stages, with some stages being better and others worse. The larger ResNet versions were significantly slower to train, for example, the largest, ResNet152, being 3.6 times slower than ResNet34. We therefore chose ResNet34 for our work.
Preantral follicle density versus animal age
We examined the relationship between the human annotator counts per square millimeter of our six preantral follicle stages versus the age of the donor animal. In addition, we examined the total preantral classes (the sum of the six classes) and the primordial plus transitional primordial classes. The transitional primordial (P = 0.018), primordial + transitional primordial (P = 0.015), and total preantral (P = 0.024) counts were significantly negatively correlated with animal age. The other follicle types, individually, did not correlate significantly with animal age. Overall, we found that 9 out of 11 animals had more transitional primordial follicles than primordial follicles. Even the youngest animal, a 1.1-year-old Japanese macaque, had a much higher transitional primordial count versus primordial at 489 and 82, respectively. Female macaques generally reach sexual maturity between the ages of three and four [27], so this animal has not yet reached sexual maturity. These results suggest that in monkeys the ovarian reserve is best estimated based on the sum of primordial and transitional primordial stages. Previous studies on ovarian reserve typically do not use this fine a classification of follicle stages. For more information, see the Supplemental Material Section S9.
Accuracy of follicle stage prediction
Several groups have developed ML approaches to identify preantral follicles in human ovarian histology. McDowell et al. [7], Arlova et al. [9], and Blevins et al. [8] analyzed 23, 47, and 102 images, identifying 2484, 8300, and 1180 follicles, respectively. In comparison, we analyzed 18 whole-ovary images from 11 non-human primates and identified 7700 preantral follicles. Prior studies simplified classification schemes—McDowell used five stages, Arlova reduced all preantral follicles to a single class, and Blevins focused on primordial follicles—whereas we applied the full six-stage CHOFM classification to whole ovaries.
Reported accuracies varied across studies. McDowell achieved 75% overall accuracy, with best performance for primordial stages (84%) and lowest for primary follicles (65%). Arlova reported >90% accuracy but only for binary follicle detection. Blevins achieved 73% accuracy for primordial follicles but only 38% for later stages, likely due to their rarity. Both McDowell and Blevins also classified antral follicles, reporting high accuracy, although their larger size suggests they may require separate training. Consistent with this, our preliminary inclusion of antral follicles reduced preantral classification performance, indicating that distinct workflows may be needed.
Our model achieved ~100% training accuracy and 72%–75% accuracy on test and validation datasets, comparable to prior studies. As in earlier work, transitional stages were more difficult to classify. Primordial accuracy was lower (57%), while multilayer follicles were predicted with high accuracy (~90%). Dataset imbalance likely contributed to reduced primordial accuracy, as transitional primordial follicles were more prevalent. When these two categories were combined, accuracy exceeded 98%.
Allowing a ± 1 stage tolerance increased accuracy to >90% across all stages, aligning with inter-observer variability reported by Blevins et al. [8]. This suggests that strict stage boundaries in CHOFM classification may exceed practical resolution. Consistent with this, many studies use fewer classification categories or focus solely on primordial follicles as a measure of ovarian reserve.
Misclassified follicles
We examined in detail a subset of the follicles that were misclassified. As mentioned above, the most common misclassification involved assigning the follicle to either the next earlier or next later follicle stage. As shown in Figure 6, this was a common occurrence. For example, in the Test data results, the poorest prediction was for primary follicles, at just 40% accuracy. But of the incorrectly classified follicles, 43% were classified one stage earlier (transitional primary) and 14% one stage later (transitional primary). Overall, the +/−1 class prediction accuracy was 96% for primary follicles.
We examined the accuracy in the Test and Validate data sets across the set of 48 patches (the original patches plus 47 augmentations) for individual annotations and found no statistically significant correlation between the accuracy and the augmentation type. In addition, we examined if, across the 48 patches in an augmentation set, there was a consensus prediction. We found no statistically significant improvements in predictions if we used the consensus prediction across an augmentation set versus the individual predictions for each augmentation.
A common cause of misclassification occurred when follicles were packed close together. The trained network would occasionally miss, or misclassify, one or both follicles.
Cross species predictions
A long-term goal is to develop trained ML algorithms that can be applied across species. In our work, we do not detect any species-specific issues across our closely related macaque species. A preliminary study using a hamster slide showed that our algorithm trained on macaque data poorly predicted the new species. Arlova et al. tried their classifier, trained on human histology images, on mouse histology images and report that the performance was poor [9]. Therefore, it remains an open question whether ML algorithms trained on one species will be applicable to others. It is well known that even across mammals, the size of the various follicle stages and the rate of follicle development vary widely [28]. Regardless of the exact issues with cross-species predictions, it is important to have a better understanding of species differences. This is critically important for using non-primate (or even non-vertebrate) species for toxicological research relevant to human ovarian follicle development and female reproduction. A final challenge in cross-species predictions is the difference in follicle stage nomenclature. This difference is partly due to species-specific differences in follicle morphology and partly due to a lack of a harmonized follicle stage nomenclature for mammalian species.
Transitional primordial follicles and the ovarian reserve
The number of primordial follicles is used to estimate the “ovarian reserve,” an indication of the remaining reproductive capability of the animal [29]. We are using the CHOFM-recommended nomenclature that has more stages, including transitional primordial, than other classification schemes. The prediction accuracy for our model for primordial follicles is 56% and 58% for the Test and Validate data sets, respectively. However, if we allow a +/− class uncertainty, then the primordial and transitional primordial follicles are predicted to 98% or better.
Primates have a significantly larger number of transitional primordial follicles than do other species like rodents [30]. In our histology sections, primordial and transitional primordial follicles have nearly the same number of occurrences. Indeed, many of our slides have more transitional primordial follicles than primordial (see Supplemental Material Section S2.2F1). In monkeys, in order for the relative abundance of these two stages to remain nearly equal, the transitional primordial follicles must remain viable for years; otherwise, the primordial follicle pool would be depleted long before the animal reached menopause [30]. Together, these observations suggest that in monkeys (and perhaps other primates), transitional primordial follicles constitute part of the ovarian reserve. This has been proposed by others [30] but is currently a matter of significant debate [31].
Applications for the model
The application of this ML model for quantifying ovarian follicle numbers will provide a valuable tool for studies involving non-human primates. For example, assessments of the adverse effects of environmental toxicants on follicle populations can be extended beyond rodent models, facilitating the development of more translational computational approaches for toxicological screening [32]. Likewise, the model can be used to evaluate follicle populations following cancer therapies and fertility-preserving interventions, supporting research aimed at protecting and restoring reproductive function [16]. Importantly, this approach will advance the study of ovarian aging in a clinically relevant nonhuman primate model and aid in the discovery of interventions that reduce follicle loss, extend reproductive lifespan, and delay menopause in women [33]. By improving our understanding of ovarian follicle dynamics in nonhuman primates, this model provides a critical translational bridge between the extensive body of data generated in non-primate species, such as mice, and the unique reproductive biology of primates, including humans.
Possible enhancements and future work
We do not use follicle location within the tissue section as part of our predictor. An enhancement would be to identify the tissue edge and then use the distance from the tissue edge as an additional input to the ML predictor. This would minimize the incorrect identification of follicles near the center of the tissue while simultaneously focusing the ML algorithm on the periphery of the tissue where the preantral follicles are generally located. For the ResNet34–ImageNet transfer learning approach we used, additional input nodes could be added to the penultimate output layer to encode the distance information.
As discussed previously, it might be advantageous to model the preantral follicles as a continuous series represented by ordinal or continuous numbers. That would reinforce the follicular developmental pathway as an underlying property of the data.
Conclusion
This study presents an ML pipeline for identifying and classifying preantral ovarian follicles in histology images of non-human primates, aiming to enhance research on ovarian health and aging. The research used ovarian tissue from 11 monkeys (rhesus, cynomolgus, and Japanese macaques), which was processed and stained using H&E protocols. Across 18 histological sections, 7770 preantral follicles were manually annotated into six developmental classes: primordial, transitional primordial, primary, transitional primary, secondary, and multilayer.
A ResNet34 CNN, pretrained on ImageNet, was repurposed and retrained to classify 200 × 200 pixel patches derived from the histology images annotations. The model achieved over 98% training accuracy and 75.3% validation accuracy. Most misclassifications occurred between adjacent developmental stages, for example, primordial being predicted as transitional primordial. This suggests the network learned some aspects of the biological developmental progression.
Despite challenges like variations in staining, the model demonstrated robustness and generalizability. We have developed a complete image ovarian histology analysis workflow using Python and Jupyter notebooks. In addition, we have made all data, annotated images, workflow, and code publicly available. Finally, we have discussed future improvements, including modeling follicle development as a continuous process rather than discrete classes.
Supplementary Material
Acknowledgment
This research could not have been done without manual follicle identification by our wonderful students. ASU students who manually annotated follicles in the histology images that are not co-authors include Aleli Jurado Gutierrez, Eliany Egusquiza Diaz, Edmundo Villanueva, Gabriella Hernandez, Gaurika Shah, and Masara Azooz. The authors gratefully acknowledge these students, and our sponsors, and for their support of this research.
Contributor Information
James P Sluka, Biocomplexity Institute, Intelligent Systems Engineering, Indiana University, Bloomington, IN, USA.
Riley Israels, School of Mathematical and Natural Sciences, Arizona State University, West Valley campus, Glendale, AZ, USA.
Colette Lund, School of Mathematical and Natural Sciences, Arizona State University, West Valley campus, Glendale, AZ, USA.
Parth Ravindra Rao, Biocomplexity Institute, Intelligent Systems Engineering, Indiana University, Bloomington, IN, USA.
Param Nagda, Biocomplexity Institute, Intelligent Systems Engineering, Indiana University, Bloomington, IN, USA.
Yian Ding, School of Mathematical and Natural Sciences, Arizona State University, West Valley campus, Glendale, AZ, USA.
Alessia Daniele, School of Mathematical and Natural Sciences, Arizona State University, West Valley campus, Glendale, AZ, USA.
Suzanne W Dietrich, School of Mathematical and Natural Sciences, Arizona State University, West Valley campus, Glendale, AZ, USA.
Mary B Zelinski, Division of Reproductive & Developmental Sciences, Oregon National Primate Research Center, Beaverton, OR, USA.
Karen H Watanabe, School of Mathematical and Natural Sciences, Arizona State University, West Valley campus, Glendale, AZ, USA.
Author contributions
JS, RI, and KW wrote the manuscript and prepared the figures. JS, RI, CL, PR, PN, and KW developed the computer code. YD, AD, MZ, and KW manually annotated the histology sections. JS, SD, MZ, and KW directed the project and obtained funding. All authors reviewed the manuscript.
Conflict of interest: The authors have declared that no conflict of interest exists.
Data and code availability
We believe our fully annotated training data and workflow will be of use to other researchers; therefore, the entire training data set [24] from the original full-size histology images and QuPath annotations, through the patch files classified by type, is available in public repositories. The full 120GB training patches data set, QuPath code and protocols, the Jupyter Notebooks, intermediate output, and trained network weight files are all available. See the Supplemental Material Section S10 for additional information, as well as link to our code and training data. Other researchers can use our shared training data to explore other ML applications or apply our trained network to their own images.
References
- 1. Yano Maher JC, Zelinski MB, Oktay KH, Duncan FE, Segars JH, Lujan ME, Lou H, Yun BH, Hanfling SN, Schwartz LE, Laronda MM, Halvorson LM, et al. Classification system of human ovarian follicle morphology: recommendations of the National Institute of Child Health and Human Development - sponsored ovarian nomenclature workshop. Fertil Steril 2025; 123:761–778. 10.1016/j.fertnstert.2024.11.016. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 2. Sarma UC, Winship AL, Hutt KJ. Comparison of methods for quantifying primordial follicles in the mouse ovary. J Ovarian Res 2020; 13:121. 10.1186/s13048-020-00724-6. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 3. Sonigo C, Jankowski S, Yoo O, Trassard O, Bousquet N, Grynberg M, Beau I, Binart N. High-throughput ovarian follicle counting by an innovative deep learning approach. Sci Rep 2018; 8:13499. 10.1038/s41598-018-31883-8. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 4. Folts L, Martinez AS, Williams JA, Bunce C, Capel B, McKey J. OoCount: a machine-learning-based approach to mouse ovarian follicle counting and classification†. Biol Reprod 2025; 113:1083–1101. 10.1093/biolre/ioaf023. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 5. Hassan MH, Reiter E, Razzaq M. Automatic ovarian follicle detection using object detection models. Sci Rep 2024; 14:31856. 10.1038/s41598-024-82904-8. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 6. Carboni E, Marxfeld H, Tuoken H, Klukas C, Eggers T, Gröters S, van Ravenzwaay B. A workflow for the performance of the differential ovarian follicle count using deep neuronal networks. Toxicol Pathol 2021; 49:843–850. 10.1177/0192623320969130. [DOI] [PubMed] [Google Scholar]
- 7. McDowell H, Vieco-Martí I, VanZanten M, Pant S, Kubo H, Saunders DC, Laronda MM, Granados-Aparici S. Digital analysis of ovarian tissue: generating a standardized method of follicle analysis. Biol Reprod 2025; 112:416–419. 10.1093/biolre/ioaf022. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 8. Blevins GM, Flanagan CL, Kallakuri SS, Meyer OM, Nimmagadda L, Hatch JD, Shea SA, Padmanabhan V, Shikanov A. Quantification of follicles in human ovarian tissue using image processing software and trained artificial intelligence. Biol Reprod 2024; 110:1086–1099. 10.1093/biolre/ioae048. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 9. Arlova A, Maher JCY, Anvari H, Badger T, Hanfling S, Balasubramanian R, Lou H, Sierra MDLL, Yun BH, Turkbey B, Gomez-Lobo V, Brown GT. The utility of artificial intelligence and deep learning to automate and accelerate follicle counts in human ovarian tissue. Biol Reprod 2025; 114:662–672. 10.1093/biolre/ioaf250. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 10. İnik Ö, Ceyhan A, Balcıoğlu E, Ülker E. A new method for automatic counting of ovarian follicles on whole slide histological images based on convolutional neural network. Comput Biol Med 2019; 112:103350. 10.1016/j.compbiomed.2019.103350. [DOI] [PubMed] [Google Scholar]
- 11. Dizerega GS, Hodgen GD. Folliculogenesis in the primate ovarian cycle. Endocr Rev 1981; 2:27–49. 10.1210/edrv-2-1-27. [DOI] [PubMed] [Google Scholar]
- 12. Buse E, Zöller M, Van Esch E. The macaque ovary, with special reference to the Cynomolgus macaque (Macaca fascicularis). Toxicol Pathol 2008; 36:24S–66S. 10.1177/0192623308327407. [DOI] [Google Scholar]
- 13. Almuth E, Mauvis AG. Reproduction: definition of a primate model of female fertility. In:The Laboratory Primate, Chapter 7. London: Academic Press; 2005; 105–117. 10.1016/B978-012080261-6/50007-6. [DOI] [Google Scholar]
- 14. Gilardi KVK, Shideler SE, Valverde CR, Roberts JA, Lasley BL. Characterization of the onset of menopause in the rhesus Macaque1. Biol Reprod 1997; 57:335–340. 10.1095/biolreprod57.2.335. [DOI] [PubMed] [Google Scholar]
- 15. Downs JL, Urbanski HF. Neuroendocrine changes in the aging reproductive axis of female rhesus macaques (Macaca mulatta)1. Biol Reprod 2006; 75:539–546. 10.1095/biolreprod.106.051839. [DOI] [PubMed] [Google Scholar]
- 16. Zelinski MB, Murphy MK, Lawson MS, Jurisicova A, Pau KYF, Toscano NP, Jacob DS, Fanton JK, Casper RF, Dertinger SD, Tilly JL. In vivo delivery of FTY720 prevents radiation-induced ovarian failure and infertility in adult female nonhuman primates. Fertil Steril 2011; 95:1440–1445.e7. 10.1016/j.fertnstert.2011.01.012. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 17. Dietrich SW, Ma W, Ding Y, Watanabe KH, Zelinski MB, Sluka JP. MOTHER-DB: a database for sharing nonhuman ovarian histology images. IEEE/ACM Trans Comput Biol Bioinf 2024; 21:2598–2603. 10.1109/TCBB.2024.3426999. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 18. Watanabe KH, Dietrich SW, Ding Y, Ma W, Sluka JP, Zelinski MB. Overview of the multispecies ovary tissue histology electronic repository. Biol Reprod 2024; 111:512–515. 10.1093/biolre/ioae101. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 19. Bankhead P, Loughrey MB, Fernández JA, Dombrowski Y, McArt DG, Dunne PD, McQuaid S, Gray RT, Murray LJ, Coleman HG, James JA, Salto-Tellez M, et al. QuPath: open source software for digital pathology image analysis. Sci Rep 2017; 7:16878. 10.1038/s41598-017-17204-5. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 20. Sluka JP, Watanabe K, Ding Y. MOTHER Ovarian Follicle Annotation using QuPath; 2023. Bloomington, IN: IUScholarWorks, Indiana University. https://hdl.handle.net/2022/29016. Accessed 19 June 2025.
- 21. Sluka JP, Watanabe K, Ding Y, Zelinski M, Dietrich S. MOTHER step-by-step supplementary files; 2023. Bloomington, IN: IUScholarWorks, Indiana University. https://hdl.handle.net/2022/29015. Accessed 19 June 2025.
- 22. He K, Zhang X, Ren S, Sun J. Deep Residual Learning for Image Recognition. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas, NV, USA: IEEE; 2016: 770–778. [Google Scholar]
- 23. Deng J, Dong W, Socher R, Li L-J, Li K, Fei-Fei L. ImageNet: A large-scale hierarchical image database. In: 2009 IEEE Conference on Computer Vision and Pattern Recognition. Miami, FL: IEEE; 2009: 248–255. [Google Scholar]
- 24. [dataset] Sluka JP, Zelinski MB, Watanabe KH, Dietrich SW, Israels R. Replication Data for: Follicle Identification in Primate Ovaries via Machine Learning. Tempe, AZ: ASU Library Research Data Repository; 2025: 10.48349/ASU/BOK3VO. [DOI] [Google Scholar]
- 25. Taha AA, Hanbury A. Metrics for evaluating 3D medical image segmentation: analysis, selection, and tool. BMC Med Imaging 2015; 15:29. 10.1186/s12880-015-0068-x. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 26. Koonce B., Koonce B. ResNet 50. Convolutional Neural Networks with Swift for Tensorflow: Image Recognition and Dataset Categorization. Berkeley, CA: Apress; 2021:63–72, 10.1007/978-1-4842-6168-2_6. [DOI] [Google Scholar]
- 27. Macaca fuscata (Japanese macaque) | INFORMATION | Animal Diversity Web. https://animaldiversity.org/accounts/Macaca_fuscata/. Accessed 22 December 2025.
- 28. Griffin J, Emery BR, Huang I, Peterson CM, Carrell DT. Comparative analysis of follicle morphology and oocyte diameter in four mammalian species (mouse, hamster, pig, and human). J Exp Clin Assist Reprod 2006; 3:2. 10.1186/1743-1050-3-2. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 29. Erden M, Oktay KH. Does gonadotoxic chemotherapy deplete the ovarian reserve through activation of primordial follicles? Hum Reprod 2025; 40:571–579. 10.1093/humrep/deaf024. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 30. Rosario R, Telfer EE, Rodgers RJ, Anderson RA. The importance of understanding the human follicle reserve. Hum Reprod 2025; 40:1587–1588. 10.1093/humrep/deaf104. [DOI] [PubMed] [Google Scholar]
- 31. Erden M, Celik S, Oktay KH. Reply: are transitional primordial follicles stationing in the human ovary? Hum Reprod 2025; 40:1589–1590. 10.1093/humrep/deaf105. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 32. Parent A-S, Damdimopoulou P, Johansson HKL, Bouftas N, Draskau MK, Franssen D, Fudvoye J, Van Duursen M, Svingen T. Endocrine-disrupting chemicals and female reproductive health: a growing concern. Nat Rev Endocrinol 2025; 21:593–607. 10.1038/s41574-025-01131-x. [DOI] [PubMed] [Google Scholar]
- 33. Gargus ES, Sharma R, Gu R, Mulcahy C, Johnson BW, Song J, Lee J, Zelinski M, Duncan FE. Short-term moderate caloric restriction in the rhesus macaque attenuates markers of ovarian aging in select populations. Aging (Albany NY) 2025; 17:1164–1189. 10.18632/aging.206253. [DOI] [PMC free article] [PubMed] [Google Scholar]
Associated Data
This section collects any data citations, data availability statements, or supplementary materials included in this article.
Supplementary Materials
Data Availability Statement
We believe our fully annotated training data and workflow will be of use to other researchers; therefore, the entire training data set [24] from the original full-size histology images and QuPath annotations, through the patch files classified by type, is available in public repositories. The full 120GB training patches data set, QuPath code and protocols, the Jupyter Notebooks, intermediate output, and trained network weight files are all available. See the Supplemental Material Section S10 for additional information, as well as link to our code and training data. Other researchers can use our shared training data to explore other ML applications or apply our trained network to their own images.



