I have experimented with OpenCV and Dlib face detection in my computer vision pipeline. Both work well, but the Dlib one worked better: it is more sensitive with (in my case) almost no false positives right out of the box!
Dlib uses several HOG filters that account for profile as well as frontal views. HOG detectors train quickly and are very effective. OpenCV uses Haar Cascades and doesn’t have the same versatility out of the box: you need separate data files for profiles and frontal views. In the case of OpenCV, you also need to experiment with the parameters quite a bit to get it where you want it to be.
Both libraries allow for custom trained detectors, but in my case it did not come to that: Dlib detector was sufficient.
Using Dlib in F# Code
Dlib is a C++ library, also available for Python. No love for .NET.
(Took Azure Notebooks for a spin, works pretty well).