## 2 Suggested Techniques
### Bounding Box
#### 2.1.2 Merging and Expanding Bounding Boxes
Therefore, we group BBs into cells and determine if they can be moved to a neighboring cell. At this time, we determined where the BB is located inside the cell (top, bottom, left, right, etc.) and expressed the adjacency to create a movement path between cells. Therefore, cells are divided based on BBs, and as a result, in regions where the initial data points are not densely located, the cell size becomes relatively large. In this case, the problem of assigning adjacency to non-adjacent BBs and generating incorrect movement paths has been resolved. The construction of a cell below describes the process of setting up an initial cell to represent all data points represented by BBs as a single cell, and then iteratively dividing the entire cell into sub-cells consisting of adjacent BBs. #### 2.2.1 Initial Cell Settings

We display all the BBs that have been merged and expanded as images on the coordinate plane and set up a single cell of a size that encompasses the entire BB. Unlike the checkerboard cell setup typically used by cell in YOLO, we start with a single cell and iterate through the cell, dividing it based on the BBs clustered inside the cell. #### 2.2.2 Dividing into Sub-Cells

The input values for dividing cells are the current cell size and current BB information, followed by the minimum size of the divided cell, the number of BBs the cell contains, and finally the data points. The result of the cell partitioning process is the partitioned cell information table C. Basically, one cell is divided into 4 equal parts, and the size \(c_{j}\) of the divided cell is compared with \(S_{min}\), which represents the min_factor, to check. In this case, two conditions arise: firstly, the division proceeds if the size \(c_{j}\) of the divided cell is greater than \(S_{min}\), and secondly, the division stops if the size \(c_{j}\) of the divided cell is smaller than \(S_{min}\) and the division condition is not met. The division process for each condition is as follows:

1. Dividing process: First, perform a dividing condition discovery process. Temporarily divide the cell into four parts based on the center point of the current cell. The number of BBs included in the temporarily divided area is calculated, and if the count is greater than \(\beta\), which is the max_overlap_factor, the division is confirmed. At this point, the divided cell information is recorded in the table, and the division process is repeated based on the divided cell. If the number of BBs in each divided region is less than \(\beta\), the division process is terminated;End of division: Records the size of the current cell where the division ended, and the BB information contained in the current cell in the declared cell information table. Check where in the cell the BB contained in the current cell is located. This checks the location of nine regions inside the current cell, categorized as top, bottom, left, right, and each corner. Check the BBs contained in the categorized location and store and update that information in the cell information table. The behavior of performing cell segmentation of the combined BB based on all data points is shown in Algorithm 2. The hyperparameters used in this algorithm are defined in a table in Section 4.