# A Regional Brightness Control Method for a Beam Projector to Avoid Human Glare
## 2 Related Research
### Semantic Segmentation  
Image segmentation is generally carried out to obtain information regarding where the objects are located in an image, what those objects look like, and which pixels correspond to which objects [17]. If a picture is segmented and each pixel in the image is labeled according to the segmentation, pixels with the same label would share the specific properties. Image segmentation tasks are divided into semantic segmentation and instance segmentation based on their purposes. If the purpose is to label the image's pixels according to which object they are included in, then only the semantic segmentation task is enough to achieve the goal. Instance segmentation is necessary when each pixel should be categorized into individual instances in the image. Since segmentation is typically expensive and not mandatory for our study, we focused on segmenting the human body rather than on segmenting each person [18].  
Modern segmentation models are based on convolutional neural networks (CNNs), which are similar to object classification models [19]. However, the structure of the segmentation model requires more consideration. According to the explanation of Long et al. (2014), as a fully convolutional network goes through convolutional and pooling layers, the resolution becomes progressively lower, and the image details are lost [20]. Semantic segmentation models usually take the form of downsampling and upsampling to compensate for the shortcomings of fully convolutional networks. The module executing the downsampling is called the encoder, and the module executing the upsampling is called the decoder.  
Figure 1 shows an example model configured to utilize MobileNet V3 for image segmentation [21]. The first half was presented with MobileNet V3 as the backbone. The second half was configured with R-ASPP Lite as the split head. MobileNet V3 performs the downsampling role, and R-ASPP Lite performs the upsampling role.  
Google offers some segmentation models with a similar structure as solutions in MediaPipe, which include SelfieSegmenter and DeepLab-v3 [22]. SelfieSegmenter is based on MobileNet V3 and is divided into square and landscape versions depending on the input shape. Another well-known image segmentation model, DeepLab-v3, has a similar structure to MobileNet V3. It is reported that DeepLab-v3 has a similar performance to other models by employing 'atrous convolution' while performing the upsampling [23]. The atrous convolution method is to extend the window size without increasing the number of weights by setting some values in the convolution kernel to zero.  
Table 1 summarizes the characteristics and performance of each segmentation model in MediaPipe. Performance in the table was measured using the CPU and GPU of Google's Pixel 6. From those models, our study utilized SelfieSegmenter and DeepLab-V3 with a square input size. Both models are semantic segmentation models and have similar input sizes. However, the precision of the quantization type is different, and the CPU and GPU latencies are higher in DeepLab-V3. The main reason for this performance difference is believed to be due to differences in the precision of the quantization types.