We present a modular end-to-end system for yield estimation in apple orchards. Our goal is to identify fruit detection and counting methods with the best performance for this task. We propose a novel semantic segmentation-based approach for fruit detection and counting and perform extensive comparative analysis against other state-of-the-art techniques. This is the first work comparing multiple fruit detection and counting methods head-to-head on the same data sets. Fruit detection results indicate that the semisupervised method, based on Gaussian Mixture Models, outperforms the deep learning-based methods in the majority of the data sets. For fruit counting though, the deep learning-based approach performs better for all of the data sets. Combining these two methods, we achieve yield estimation accuracies ranging from 95.56% to 97.83%.