# A Convolutional Neural Network as a Potential Tool for Camouflage Assessment
## 2 Experiment 1: YOLO Detection Performance for Camouflaged Persons
### Methods  
The background images used in this study were color photographs of a bush/desert background (Soesterduinen, The Netherlands, see Figure 2a, left panel) and an urban background (Amsterdam, The Netherlands, see Figure 2a, right panel). The original images (recorded with a CANON EOS 80D; resolution width \(\times\) height: 6000 \(\times\) 4000 pixels) were resized to a resolution of 1000 \(\times\) 666 pixels (width \(\times\) height) to increase the processing speed. These images were also used in a previous study [29]. The images are available online: [[https://osf.io/pjf4y/?view_only=c8](https://osf.io/pjf4y/?view_only=c8) dd075101 ab469b8 abd42562c33 df88]([https://osf.io/pjf4y/?view_only=c8](https://osf.io/pjf4y/?view_only=c8) dd075101 ab469b8 abd42562c33 df88) (accessed on 29 April 2025). Test scenes were generated by inserting the image of a single person (i.e., the target) wearing a grey camouflage suit at various locations in both the bush/desert and urban background scenes. Figure 2a shows the image of the person that was used, superimposed on different locations in the two backgrounds. Each test scene contained a single person at a location (in x, y coordinates) that was both naturalistic (the person was never presented in the air, in a tree, or in a river, etc., although no shadows were added to the ground plane) and systematically manipulated within a certain range. For the bush/desert environment, the x (horizontal) position varied between 66 and 900 pixels (at intervals of half the person width), and the y (vertical; position) varied between 275 and 417 pixels (intervals of half the person height), such that the person was positioned at most locations in the background image. For the urban environment, x varied between 66 and 900 pixels (at intervals of half the person width), and y varied between 150 and 417 pixels (at intervals of half the person height). The size (i.e., height and width) of the person was scaled with distance in the scene. As a result, only a few persons were presented nearby, while most were presented at larger distances. We used the YOLOv4-tiny pre-trained neural network to detect persons (Learning rate: 0.00261; Momentum: 0.9; Weight decay: 0.0005; Batch size: 64; Max batches: 2000200) [30]. The Python code is available online: [[https://data-flair.training/blogs/pedestrian-detection-python-opencv/](https://data-flair.training/blogs/pedestrian-detection-python-opencv/)]([https://data-flair.training/blogs/pedestrian-detection-python-opencv/](https://data-flair.training/blogs/pedestrian-detection-python-opencv/)) (accessed on 29 April 2025). For more detailed information regarding the hyperparameters used, see the yolov4-tiny.cfg file (originally from the official Darknet repository: [[https://github.com/[PERSON]/darknet](https://github.com/[PERSON]/darknet)]([https://github.com/[PERSON]/darknet](https://github.com/[PERSON]/darknet)) (accessed on 29 April 2025)). Note that compared to other YOLO versions, the processing speed of the YOLOv4-tiny algorithm is very fast (up to 200-2550 FSP, see [31; 32]), making it one of the faster detectors at the moment; therefore, it is ideal for real-time purposes. The detection was set to classify persons only, and the input images used were small (1000 \(\times\) 666 pixels) to speed up the process. The threshold for overlapping predictions was low (0.03) since we are only interested in a single class ('person'). Furthermore, the minimum confidence was set to 0.0001 (to increase the probability that the person was found). The minimum confidence reflects the threshold for the confidence score returned by the model, above which a classification (in our case a 'person') is considered correct. For each person detected by YOLO (i.e., a hit), we determined the detection probability (i.e., the associated confidence score generated by YOLO, indicating the probability that the detected object belongs to the class 'person'). The probability was set to zero if the person was not detected by YOLO (i.e., a miss).