File size: 5,461 Bytes
510417b 3dd2cf8 510417b 3dd2cf8 510417b 139fc2f 510417b d65d5e2 510417b d65d5e2 510417b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
---
tags:
- yolov8
- ultralytics
- yolo
- vision
- object-detection
- pytorch
library_name: ultralytics
library_version: 8.2.31
language:
- en
pipeline_tag: object-detection
license: mit
---
# Model Card for YOLOv8n_RD Multiple Record Detection Model
### Model Description
The YOLOv8n_RD Record Detection model is designed to detect multiple records in scanned images of birth, death, and marriage certificates.
This model enhances data processing by accurately identifying and detecting multiple records, facilitating quick extraction and further
analysis.
Integrate this model into your document management systems for real-time, automated record detection and data extraction.
For customization or integration assistance, contact us https://www.linkedin.com/in/bodhi108/
Your feedback is essential for improving the model's performance.
- **Developed by:** FATA_SCIENTISTS
- **Model type:** Object Detection
- **Task:** Record Detection in Images
### Supported Labels
```
['records']
```
## Uses
### Direct Use
The YOLOv8n_RD Record Detection model can be directly integrated into document management systems to provide real-time detection
and classification of multiple records in scanned images of birth, death, and marriage certificates. This facilitates quick data
extraction and analysis.
### Downstream Use
The model's real-time capabilities can be leveraged to automate data extraction processes, generate alerts for specific record detections,
and enhance overall document processing efficiency.
### Training data
The YOLOv8n_RD model was trained on a custom dataset consisting of annotated images of birth, death, and marriage records for
training and validation.
### Out-of-Scope Use
The model is not designed for unrelated object detection tasks or scenarios outside the scope of detecting multiple records
in scanned images of vital records.
## Bias, Risks, and Limitations
The YOLOv8n_RD Record Detection model may exhibit some limitations and biases:
- Performance may be affected by variations in image quality, document layout, and handwriting styles within scanned records.
- Poor quality scans or damaged documents may impact the model's accuracy and responsiveness.
- Record-specific anomalies not well-represented in the training data may pose challenges for detection.
### Recommendations
Users should be aware of the model's limitations and potential biases. Thorough testing and validation within specific document
processing environments are advised before deploying the model in production systems.
## How to Get Started with the Model
To begin using the YOLOv8s_RD model for multiple record detection in an image, follow these steps:
```python
pip install ultralytics==8.2.31
pip install opencv-python==4.8.0.76
```
- Load model and perform real-time prediction:
```python
from ultralytics import YOLO
import os
import cv2
import matplotlib.pyplot as plt
model = YOLO("Bodhi108/Yolov8n_RD")
def detect_records(input_folder):
# Iterate over all images in the input folder
for filename in os.listdir(input_folder):
if filename.endswith(('.jpg', '.jpeg', '.png')):
img_path = os.path.join(input_folder, filename)
img = cv2.imread(img_path)
results = model(img)
for result in results:
if result.boxes.data.shape[0] > 0: # Check for detections
for i, box in enumerate(result.boxes.data.tolist()):
xmin, ymin, xmax, ymax, conf, cls = box
# Draw the bounding box on the image
cv2.rectangle(img, (int(xmin), int(ymin)), (int(xmax), int(ymax)), (0, 255, 0), 5)
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.title(f"Detections on {filename}")
plt.axis('off')
plt.show()
input_folder = 'your input image directory'
detect_records(input_folder)
```
<div align="center">
<img width="500" alt="Bodhi108/Yolov8n_RD" src="https://huggingface.co/Bodhi108/Yolov8n_RD/blob/main/ex1.png">
</div>
## Training Details
### Training Data
The model is trained on a diverse dataset containing scanned images of birth, death, and marriage records,
capturing various document layouts, handwriting styles, and conditions.
### Training Procedure
The training process involves extensive computation and is conducted over multiple epochs.
The model's weights are adjusted to minimize detection loss and optimize performance for accurate record detection in scanned images.
#### Metrics
<div align="center">
<img width="500" alt="Bodhi108/Yolov8n_RD" src="https://huggingface.co/Bodhi108/Yolov8n_RD/blob/main/Metrics.png">
</div>
### Model Architecture and Objective
The YOLOv8n_RD architecture incorporates modifications tailored to multiple record detections in an image.
It integrates a self-attention mechanism in the head of the network and a feature pyramid network for multi-scaled object detection,
enabling it to focus on various parts of an image and detect records of different sizes and scales
### Compute Infrastructure
#### Hardware
NVIDIA GeForce RTX A6000 card
#### Software
The model was trained and fine-tuned using a Jupyter Notebook environment.
## Model Card Contact
```bibtex
@ModelCard{
author = {Tonumoy Mukherjee, Kazi Mostaq Hridoy, and Aryadip Mridha},
title = {YOLOv8n Multi-Record Detection in an image},
year = {2024}
}
```
|