# ESP32-CAM human AABB detection: evidence and implementation choices Research checked 21 October 2026. Target confirmed by the user: original AI-Thinker ESP32-CAM, not ESP32-S3. There is no defensible universal “SOTA on ESP32-CAM” ranking in these sources: tasks, datasets, chips, and measurements differ. Separate image classification, centroid localization, and learned box regression. An axis-aligned bounding box (AABB) describes the full object extent, typically x/y/width/height or two opposite corners. ## Papers most relevant to ESP32-CAM 1. **Purnama, Indriani, Prasetyo, Nugraha (2026), Edge-Based Person Detection Using MobileNetV2 on ESP32-CAM for Home Surveillance System.** [Publisher/DOI](https://doi.org/10.30865/json.v7i3.9619), [open PDF](https://ejurnal.stmik-budidarma.ac.id/index.php/JSON/article/download/9619/4409/45707). MobileNetV2 α=0.1, INT8; 500 images; 78.45% test accuracy; mean inference approximately 1018 ms/frame. The methods explicitly describe person/non-person **classification**. Its accuracy is not person-box AP, and its title should not be taken as evidence of a box detector. 2. **Gonzales et al. (2025), Enhancing Object Detection with FOMO: A User-Friendly Smart Application for Real-Time Tracking of Modern Bus and Seat Availability.** [Publisher/DOI](https://doi.org/10.61310/mjst.v23i2.2494). ESP32-CAM and FOMO in a passenger-counting application. Relevant human localization, but FOMO predicts **centroids**. Although its training annotations use boxes, the model does not learn full object extents. [Edge Impulse's original FOMO explanation](https://www.edgeimpulse.com/blog/announcing-fomo-faster-objects-more-objects/) describes this design explicitly. 3. **Haulos (2025), YOLO-Object Detection on ESP32-S3 Platform**, University of Oulu undergraduate thesis. [Repository PDF](https://oulurepo.oulu.fi/bitstream/10024/58053/1/nbnfioulu-202508225574.pdf). ESP32-S3-specific implementation lead; it is a thesis rather than peer-reviewed original-ESP32 evidence. The repository blocked full-text retrieval during this search, so no numerical claims are adopted from it. ## Strong architecture and memory references for true boxes 4. **Moosmann et al. (2023), TinyissimoYOLO: A Quantized, Low-Memory Footprint, TinyML Object Detection Network for Low Power Microcontrollers.** [Paper](https://arxiv.org/abs/2306.00001). 422k parameters, 8-bit quantization-aware training and genuine box prediction. MCU deployments include STM32, Apollo4b, and MAX78000; the accelerator frame rates do not apply to ESP32. 5. **Moosmann et al. (2023 preprint / IEEE Access 2024), Flexible and Fully Quantized Ultra-Lightweight TinyissimoYOLO for Ultra-Low-Power Edge Systems.** [Paper](https://arxiv.org/abs/2307.05999), [published DOI](https://doi.org/10.1109/ACCESS.2024.3404878). Detailed resolution, class-count, architecture, latency and energy comparisons across GAP9, STM32, Apollo4b, and MAX78000. Strong basis for understanding true-box TinyML tradeoffs, not an ESP32-specific result. 6. **Boyle et al. (2024), DSORT-MCU: Detecting Small Objects in Real-Time on Microcontroller Units.** [Paper](https://arxiv.org/abs/2410.16769). Adaptive tiling improves small-object localization with FOMO and TinyissimoYOLO on GAP9. Relevant to distant people, but extra crops increase inference work. Its F1 scores are not directly comparable to other datasets or ESP32 latency. 7. **Lin et al. (2021, revised 2024), MCUNetV2: Memory-Efficient Patch-based Inference for Tiny Deep Learning.** [Paper](https://arxiv.org/abs/2110.15352). Patch inference reduces activation memory by 4–8× in the reported experiments and enables MCU object detection. Useful memory research; no plug-and-play original-ESP32 person model is implied. 8. **El Zeinaty et al. (2025), Designing Object Detection Models for TinyML: Foundations, Comparative Analysis, Challenges, and Emerging Solutions.** [Survey](https://arxiv.org/abs/2508.08352). Recent overview of architecture and optimization choices; use its bibliography to expand a formal literature review. ## Practical official implementation for newer chips **Espressif ESP-Detection / ESPDet-Pico** is an implementation, not a paper: [official code](https://github.com/espressif/esp-detection). It provides YOLO-format training and export/quantization to ESP-DL for S3/P4. Its README's 0.36M parameters and >7 FPS S3 / >18 FPS P4 at 224×224 refer to the documented model/example; cat AP is not person AP. The original ESP32-CAM is not the target documented by this workflow. [ESP-DL model zoo](https://github.com/espressif/esp-dl/blob/master/models/README.md) also lists pedestrian and newer YOLO models with their supported chips. For S3/P4, benchmark these maintained implementations before designing a new architecture. ## Choice implemented here (engineering judgment) For the original ESP32-CAM, this repository supplies a small **experimental AABB baseline**, not a SOTA reproduction. At 96×96 grayscale, a depthwise-separable CNN emits a 12×12×5 tensor: objectness, within-cell x/y center offsets, normalized width and height. It can detect multiple people, but cannot represent two centers in one cell. Training rejects that ambiguity; 160px input or another detector is needed for crowded scenes. Smooth L1 box regression and balanced objectness BCE train genuine extents. The model starts from random weights; useful performance requires substantial diverse data. Training a wider detector with transfer learning or distillation is a later comparison, not an implemented claim. Full integer post-training quantization uses **training images only** for calibration. [Google's integer quantization guide](https://developers.google.com/edge/litert/conversion/tensorflow/quantization/post_training_integer_quant) documents the representative dataset, INT8-only supported-op set, and integer input/output requirement. Both floating-point and INT8 models are evaluated on the held-out test split, with AP50 and mean AP at IoU 0.50:0.05:0.95. Threshold-based precision/recall use score 0.5. Validation chooses the checkpoint; test images are never used for gradients or calibration. Capture sessions are kept in one split, and exact cross-split duplicates are rejected. Distinct sessions can still be visually similar: use different times, backgrounds, distances and people, and audit near-duplicates manually. Report model bytes, parameter count, person AP50/mAP50–95, quantization loss, and measured **on-board** tensor arena, free heap, full-frame latency, and power. GMK TFLite invocation timings are server timings. They do not establish ESP32 feasibility or speed. Firmware compilation is also not a physical camera or network test.