## 3 Results and Discussion
### Performance Comparison
#### 3.1.2 Comparison with Supervised Deep CNN  
Next, we compare the performance of the proposed approach (see Figure 5) with three methods of supervised deep CNN (shown in Figures 6-9), namely:  
1. Custom Object Detection model
2. YOLOv5 and the Object Detection model  
Figure 6: Base architecture of deep CNN adopted for various object detection experiments in the current work. (**a**) Training samples are enclosed in the green boxes of dimensions \(100\times 150\times 1\); (**b**) For testing, we read the consecutive regions, each containing \(100\times 150\times 1\) pixels for each testing image. Figure 8: (**a**). Sample results with detected pores using deep learning mask RCNN. (**b**). Mask RCNN Train Loss by Epoch. (**c**). Mask RCNN Validation Loss by Epochs. Figure 7: Regions enclosed by green boxes show the deep CNN model output. This figure clearly shows the lesser identification accuracy of deep CNN compared with the proposed pixel-wise _k_-IN approach. Figure 9: (**a**) Sample results with detected pores using Yolo v5 Deep-CNN. (**b**) mAP trend performance by confidence using Yolo v5 Deep-CNN. (**c**) Loss trend performance by confidence using Yolo v5 Deep-CNN. Comparison with Custom Object CNN model (Figure 5):  
We prepared the data in a slightly different manner. Here, we manually segmented each micro-image sample based on the many contiguous dark pixels within them. The segment size was kept fixed to 100 \(\times\) 150 pixels, and each segment is enclosed in a green rectangle (see Figure 6a). Next, we used these segments as the training set for the Custom Object CNN. Here, we relied on the human eye to prepare the training set, whereas for testing, we use the pre-processed full micro-images shown in Section 2.3. A sample visualisation of the construction of the segments is shown in Figure 6a. Our goal is to locate the region from each micro-image from the testing set containing the most dark pixels and subsequently classify it as a pore or a fracture. Our code reads every consecutive region containing 100 \(\times\) 150 pixels from each testing image sample and subsequently classifies it as a pore or a fracture. The resulting images from this strategy locate the regions by enclosing them with green rectangles of 100 \(\times\) 150 pixels (see Figure 7). To our knowledge, deep CNN models [31] have never been tested with grayscale CT scan images to identify rock pores and fractures, particularly at the micro-level. We found that the identification accuracy of the Custom Object CNN model is poorer than that of the proposed method. For Custom Object CNN models, we considered two 5 \(\times\) 5 convolution (non-strided), max-pooling layers and fully connected layers with ReLU activation (see Figure 6). Max pool was used as a noise suppressant. It discards the noisy activation altogether and performs denoising along with dimensionality reduction and thus can be considered better than average pooling. Comparison with the YOLO and RCNN models:  
We further trained and tested industry-standard CNN networks, such as YOLO5 [34] and Faster RCNN [37; 39] (see Figures 8 and 9), for object detection. These object detection models combine bounding box prediction and object classification into a single end-to-end differentiable network. Faster RCNN, on the other hand, is the fastest member of the RCNN family. RCNN extracts a bunch of regions from a given image using a selective search and then checks if any of these boxes contains an object. We first extract these regions, and for each region, CNN is used to extract specific features. Finally, these features are then used to detect objects. Unfortunately, RCNN becomes rather slow because of these multiple steps in the process. RCNN uses selective search to generate regions. Faster RCNN replaces the selective search method with a region proposal network, from which the algorithm gets its speed much faster. YOLO was written and is maintained in a framework called Darknet.