I used the "video streaming face recognition" sample code but it reported that the camera found was not supported until I finally chose the CAMERA_MODEL_AI_THINKER.
Programming was done with an FDTI board running at 3.3V and powering the ESP32 board at 3.3V. When I disconnected the programming link and re-booted it would show "brownout detected". The solution was to set the USB serial board to 5V and power the board from the 5V line.
Finally I was up and running but the image was a terrible blur. Both boards were similarly bad. Close inspection showed that the lens is screwed into the sensor housing. In one case it was fully screwed in and glued. In the other case it was cross threaded and glued. Both were fixed with the help of some pliers.
The image quality is surprisingly good.
Face detection and recognition is pretty useless but amazing that it works at all on a tiny computer. The board also has a microSD socket and there's sample code to detect movement and save images to that card.
ESP32 is a great platform and is supported with the Arduino IDE or platformIO. I tend to get things going with straight Arduino and then move over to platformIO for better editing and features like code completion.