yolo_databases

This commit is contained in:
luzhisheng 2023-05-26 13:42:05 +08:00
parent bdee6df747
commit c81ba4a81d
64 changed files with 2131 additions and 0 deletions

2
.gitignore vendored
View File

@ -7,9 +7,11 @@
*.pyc
*.vscode
*.pdf
*.pt
package.json
package-lock.json
venv/
runs/
__MACOSX/
setting.py
node_modules/

View File

@ -0,0 +1,215 @@
# 知识点数据标注yolov5目标检测框架
## voc数据集
VOC2012
├── Annotations 所有的图像标注信息(XML文件)
├── ImageSets
│ ├── Action 人的行为动作图像信息
│ ├── Layout 人的各个部位图像信息
│ │
│ ├── Main 目标检测分类图像信息
│ │ ├── train.txt 训练集(5717)
│ │ ├── val.txt 验证集(5823)
│ │ └── trainval.txt 训练集+验证集(11540)
│ │
│ └── Segmentation 目标分割图像信息
│ ├── train.txt 训练集(1464)
│ ├── val.txt 验证集(1449)
│ └── trainval.txt 训练集+验证集(2913)
├── JPEGImages 所有图像文件
├── SegmentationClass 语义分割png图基于类别
└── SegmentationObject 实例分割png图基于目标
### 如何数据标注
精灵标注助手
http://www.jinglingbiaozhu.com/
创建标注项目
![属性文本](./img/1.png)
手动标注
![属性文本](./img/2.png)
导出voc数据导出数据到Annotations文件夹
![属性文本](./img/3.png)
查看导出的xml数据信息
<?xml version="1.0" ?>
<annotation>
<folder>JPEGImages</folder>
<filename>16329967796329784.jpg</filename>
<path>E:\code\js_reverse\ayf_ocr\yolo_databases\VOC2012\JPEGImages\16329967796329784.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>150</width>
<height>150</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>缺口</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>56</xmin>
<ymin>86</ymin>
<xmax>100</xmax>
<ymax>135</ymax>
</bndbox>
</object>
</annotation>
## 目标检测框架 yolov5
github下载
https://github.com/ultralytics/yolov5
Python>=3.7.0和PyTorch>=1.7
git clone https://github.com/ultralytics/yolov5 # clone
cd yolov5
pip install -r requirements.txt # install
这里的 yolov5 数据集不支持中文路径
创建数据集目录`VOC2012/1_makedir.py`
import os
# 第一步。对目录环境进行检查,是否满足处理要求
def file_exists(filename, message):
if not os.path.exists(filename):
raise FileExistsError(message)
def make_dirs(dirs):
try:
os.makedirs(dirs)
except FileExistsError:
print(dirs + ' 目录存在,自动跳过')
# 第二步。创建关键目录
file_exists('Annotations', 'VOC标注Annotations目录不存在')
file_exists('JPEGImages', 'VOC标注JPEGImages 图片目录不存在')
make_dirs('images/train')
make_dirs('images/val')
make_dirs('labels/train')
make_dirs('labels/val')
生成需要训练的数据`VOC2012/2_movefiles.py`,执行时修改类别
# ------------------------------------------------------------
# ↓↓标注的类别,很重要很重要,这里必须要改,按照自己的类别去改|
classes = ['缺口']
# ↑↑标注的类别,很重要很重要,这里必须要改,按照自己的类别去改|
# ------------------------------------------------------------
训练集/验证集图片数据
![属性文本](./img/5.png)
训练集/验证集标签数据(坐标数据归一化)
![属性文本](./img/6.png)
## 生成yolov5所需要的训练数据
为了快速上手yolov5直接生成数据进行测试这里直接生成500张数据运行yolov5需要数据集
运行`\slide\pic_product.py`,两种模式`train/val`
number = input('输入要生成的数量')
style = input('输入模式train/val')
for i in range(int(number)):
print('正在生成{},第{}/{}张'.format(style, i + 1, number))
img = Image.open("drag/{}".format(random.choice(os.listdir('drag'))))
path = addText(img,
path='./Annotations/images/{}/{}.jpg'.format(style, str(time.time()).replace('.', '')),
pic_size=(img.size[0], img.size[1]),
size=24,
style=style
)
生成的数据如下
![属性文本](./img/7.png)
## 开始训练yolov5
**一、设置训练参数 yolov5\train.py**
1.训练模型`yolov5s.pt`
parser.add_argument('--weights', type=str, default=ROOT / 'yolov5s.pt', help='initial weights path')
github可以下载weights
![属性文本](./img/4.png)
2.训练数据`data`
parser.add_argument('--data', type=str, default=ROOT / 'data/my.yaml', help='dataset.yaml path')
![属性文本](./img/8.png)
my.yaml文件
train: E:\code\js_reverse\ayf_ocr\yolo_databases\slide\Annotations\train.txt
val: E:\code\js_reverse\ayf_ocr\yolo_databases\slide\Annotations\val.txt
# Classes
names:
0: 0
3.训练数据迭代次数`epochs`
parser.add_argument('--epochs', type=int, default=30, help='total training epochs')
4.训练图片大小`imgsz`
parser.add_argument('--imgsz', '--img', '--img-size', type=int, default=150, help='train, val image size (pixels)')
**二、将训练的分类修改成1 yolov5\models\yolov5s.yaml**
nc: 1 # number of classes
**三、启动训练 yolov5\train.py**
![属性文本](./img/9.png)
会生成一个run文件
![属性文本](./img/10.png)
**四、启动推理 yolov5\detect.py**
1.训练模型`best.pt`
parser.add_argument('--weights', nargs='+', type=str, default=ROOT / 'runs/train/exp/weights/best.pt', help='model path or triton URL')
2.资源内容`source`
parser.add_argument('--source', type=str, default=ROOT / '../slide/Annotations/images/val', help='file/dir/URL/glob/screen/0(webcam)')
3.图片大小`imgsz`
parser.add_argument('--imgsz', '--img', '--img-size', nargs='+', type=int, default=[150], help='inference size h,w')
生成的文件夹
![属性文本](./img/11.png)
推理效果
![属性文本](./img/12.png)

View File

@ -0,0 +1,20 @@
import os
# 第一步。对目录环境进行检查,是否满足处理要求
def file_exists(filename, message):
if not os.path.exists(filename):
raise FileExistsError(message)
def make_dirs(dirs):
try:
os.makedirs(dirs)
except FileExistsError:
print(dirs + ' 目录存在,自动跳过')
# 第二步。创建关键目录
file_exists('Annotations', 'VOC标注Annotations目录不存在')
file_exists('JPEGImages', 'VOC标注JPEGImages 图片目录不存在')
make_dirs('images/train')
make_dirs('images/val')
make_dirs('labels/train')
make_dirs('labels/val')

View File

@ -0,0 +1,104 @@
import os
import xml.etree.ElementTree as ET
import logging
import shutil
# 提取图像并将其分类为训练集与训练测试集 train validation
Images = os.listdir('JPEGImages')
Images = [i for i in Images if i.split('.')[-1] == 'jpg']
print('提取到有效jpg图片共{}'.format(len(Images)))
# 按照分配率将图片分类 分类率train/validation 可以自己修改,可以不改,看心情
distribution_rate = 0.9
# ------------------------------------------------------------
# ↓↓标注的类别,很重要很重要,这里必须要改,按照自己的类别去改|
classes = ['缺口']
# ↑↑标注的类别,很重要很重要,这里必须要改,按照自己的类别去改|
# ------------------------------------------------------------
# 正式移动图片到指定目录:.images 下, 并且生成训练索引 train.txt and val.txt 这一步会清空这两个文本的内容
# 正式移动图片到指定目录:.images 下, 并且生成训练索引 train.txt and val.txt 这一步会清空这两个文本的内容
train = Images[0: int(distribution_rate*len(Images))]
validation = Images[int(distribution_rate*len(Images)):]
if train == 0 or validation == 0:
raise FileExistsError('没有找到训练集的图片或测试集图片,请检查目录')
# 获取绝对路径。为了好看 把 \ 处理成 /
ab_path = os.path.dirname(os.path.abspath(__file__)).replace('\\', '/')
print(ab_path)
with open('train.txt', 'w', encoding='utf-8') as f:
for i in train:
f.write(ab_path + '/images/train/' + i + '\n')
shutil.copy('JPEGImages/' + i, 'images/train')
with open('val.txt', 'w', encoding='utf-8') as f:
for i in validation:
f.write(ab_path + '/images/val/' + i + '\n')
shutil.copy('JPEGImages/' + i, 'images/val')
print('图片移动/复制完成,训练索引 train.txt and val.txt 生成完毕')
# 预检测 xml与图片的对应关系这里要求严格一一对应
xml_file = os.listdir('Annotations')
xml_file = [i for i in xml_file if i.split('.')[-1] == 'xml']
xml_file_check = [i.split('.')[0]+'.xml' for i in Images if i.split('.')[-1] == 'jpg']
if xml_file_check != xml_file:
raise FileExistsError('Annotations 中xml文件与JPEGImages图片不对应请仔细检测')
# 下面将 xml文件标注提取并生成label
def convert(size, box):
dw = 1. / (size[0])
dh = 1. / (size[1])
x = (box[0] + box[1]) / 2.0 - 1
y = (box[2] + box[3]) / 2.0 - 1
w = box[1] - box[0]
h = box[3] - box[2]
x = x * dw
w = w * dw
y = y * dh
h = h * dh
return x, y, w, h
def write_labels(xml_file_path, write_to_file_path):
with open(xml_file_path, 'r', encoding='utf-8') as f:
tree = ET.parse(f)
root = tree.getroot()
size = root.find('size')
w = int(size.find('width').text)
h = int(size.find('height').text)
with open(write_to_file_path, 'w', encoding='utf-8') as f2:
for obj in root.iter('object'):
xml_name = obj.find('name').text
if xml_name not in classes:
logging.warning('正在检索该对象不存在设定classes应该引起重视')
continue
cls_id = classes.index(xml_name)
xmlbox = obj.find('bndbox')
b = (float(xmlbox.find('xmin').text), float(xmlbox.find('xmax').text), float(xmlbox.find('ymin').text), float(xmlbox.find('ymax').text))
b1, b2, b3, b4 = b
# 标注越界修正
if b2 > w:
b2 = w
if b4 > h:
b4 = h
b = (b1, b2, b3, b4)
bb = convert((w, h), b)
write_message = str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n'
f2.write(write_message)
if not write_message:
logging.warning('未在标注图片的xml文件中取得分类内容此警告应引起重视可能意味着分类参数不匹配。classes错误')
for i in train:
write_labels('Annotations/' + i.split('.')[0] + '.xml', 'labels/train/{}'.format(i.split('.')[0] + '.txt'))
for i in validation:
write_labels('Annotations/' + i.split('.')[0] + '.xml', 'labels/val/{}'.format(i.split('.')[0] + '.txt'))
# 最后一步 在当前目录下生成索引
print('finish work')

View File

@ -0,0 +1,28 @@
<?xml version="1.0" ?>
<annotation>
<folder>JPEGImages</folder>
<filename>16329967796329784.jpg</filename>
<path>E:\code\js_reverse\ayf_ocr\yolo_databases\VOC2012\JPEGImages\16329967796329784.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>150</width>
<height>150</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>缺口</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>56</xmin>
<ymin>86</ymin>
<xmax>100</xmax>
<ymax>135</ymax>
</bndbox>
</object>
</annotation>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" ?>
<annotation>
<folder>JPEGImages</folder>
<filename>16329967796409855.jpg</filename>
<path>E:\code\js_reverse\ayf_ocr\yolo_databases\VOC2012\JPEGImages\16329967796409855.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>150</width>
<height>150</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>缺口</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>51</xmin>
<ymin>42</ymin>
<xmax>97</xmax>
<ymax>93</ymax>
</bndbox>
</object>
</annotation>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" ?>
<annotation>
<folder>JPEGImages</folder>
<filename>16329967796494925.jpg</filename>
<path>E:\code\js_reverse\ayf_ocr\yolo_databases\VOC2012\JPEGImages\16329967796494925.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>150</width>
<height>150</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>缺口</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>73</xmin>
<ymin>30</ymin>
<xmax>119</xmax>
<ymax>85</ymax>
</bndbox>
</object>
</annotation>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" ?>
<annotation>
<folder>JPEGImages</folder>
<filename>16329967796625037.jpg</filename>
<path>E:\code\js_reverse\ayf_ocr\yolo_databases\VOC2012\JPEGImages\16329967796625037.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>150</width>
<height>150</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>缺口</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>55</xmin>
<ymin>82</ymin>
<xmax>100</xmax>
<ymax>130</ymax>
</bndbox>
</object>
</annotation>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" ?>
<annotation>
<folder>JPEGImages</folder>
<filename>16329967796715117.jpg</filename>
<path>E:\code\js_reverse\ayf_ocr\yolo_databases\VOC2012\JPEGImages\16329967796715117.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>150</width>
<height>150</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>缺口</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>27</xmin>
<ymin>17</ymin>
<xmax>75</xmax>
<ymax>69</ymax>
</bndbox>
</object>
</annotation>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" ?>
<annotation>
<folder>JPEGImages</folder>
<filename>16329967796840222.jpg</filename>
<path>E:\code\js_reverse\ayf_ocr\yolo_databases\VOC2012\JPEGImages\16329967796840222.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>150</width>
<height>150</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>缺口</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>99</xmin>
<ymin>57</ymin>
<xmax>147</xmax>
<ymax>109</ymax>
</bndbox>
</object>
</annotation>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1 @@
0 0.5133333333333334 0.7300000000000001 0.29333333333333333 0.32666666666666666

View File

@ -0,0 +1 @@
0 0.4866666666666667 0.44333333333333336 0.3066666666666667 0.34

View File

@ -0,0 +1 @@
0 0.6333333333333334 0.3766666666666667 0.3066666666666667 0.3666666666666667

View File

@ -0,0 +1 @@
0 0.51 0.7000000000000001 0.30000000000000004 0.32

View File

@ -0,0 +1 @@
0 0.33333333333333337 0.28 0.32 0.3466666666666667

View File

@ -0,0 +1 @@
0 0.8133333333333334 0.5466666666666667 0.32 0.3466666666666667

View File

@ -0,0 +1,5 @@
E:/code/js_reverse/ayf_ocr/yolo_databases/VOC2012/images/train/16329967796329784.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/VOC2012/images/train/16329967796409855.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/VOC2012/images/train/16329967796494925.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/VOC2012/images/train/16329967796625037.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/VOC2012/images/train/16329967796715117.jpg

View File

@ -0,0 +1 @@
E:/code/js_reverse/ayf_ocr/yolo_databases/VOC2012/images/val/16329967796840222.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,500 @@
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332025805.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332085266.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332136464.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332188122.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332228026.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332278938.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332340646.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332380555.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332444487.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332494333.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332534614.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332584503.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733263396.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332686398.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733272665.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332776248.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733282641.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097332886848.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733292712.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733299275.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333042996.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733308654.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333136556.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333177743.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333217647.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333267505.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733332937.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333376176.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333415751.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333465564.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333516328.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333556602.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733360649.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733366594.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333706203.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733375583.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333806627.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333846533.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333896792.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097333946273.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334005225.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334065058.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334124892.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334185112.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733424494.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334314377.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733437422.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334424093.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334504535.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334561515.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334621325.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334681683.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733474301.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334812527.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334873114.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334924145.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097334993963.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335044205.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335094297.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335154147.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335195413.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733524494.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733529479.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335335035.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335397398.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335437288.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335488968.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335538776.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335578754.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733563905.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335678954.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335729315.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335776236.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733582588.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335866637.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335916524.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097335957012.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336011863.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336051762.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336112392.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336178708.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336238525.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733628972.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733635081.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336390734.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336450207.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336511278.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336566849.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336626701.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336686513.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336736403.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336806188.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336857803.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097336917636.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/168480973369779.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337019954.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337076237.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337147036.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337188485.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337239413.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337309608.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337357218.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337406943.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337456863.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337506692.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337556589.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733761642.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337666936.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337726772.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733778521.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337826114.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733787691.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733793233.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097337982192.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733803206.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097338088858.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097338148696.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733821852.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097338298874.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097338358703.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097338419416.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733849978.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097338559618.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097338630123.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097338686526.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733874637.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097338826568.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097338876438.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097338966203.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339026997.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339076865.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339146678.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339206517.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339256377.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339326196.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339376056.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339425921.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339496503.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339566312.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733963613.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339686635.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339756458.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809733981684.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339866693.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339927237.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097339987078.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340037568.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340088663.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734013853.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340188408.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340238674.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340308495.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340378299.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340428169.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340507953.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340568867.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340648637.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340718453.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340788314.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340838165.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340918927.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097340988753.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341038616.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/168480973411191.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341179593.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341239414.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734129926.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734133914.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341389012.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341438897.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341488743.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341538646.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341588483.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341638465.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341688218.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341728685.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341778562.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341838481.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734187829.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734192815.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097341988006.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734203786.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097342087727.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097342147589.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097342197435.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/168480973422473.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097342317138.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097342376974.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097342446826.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097342516582.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097342576427.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097342646236.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097342716882.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097342776759.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097342847419.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734289799.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734296794.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343028333.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343088865.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343159223.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343219602.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/168480973432703.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343330903.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343370798.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343430645.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343490477.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343530369.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343580234.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734363011.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734367997.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343729835.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734377973.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343829567.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097343879437.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734391933.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734397917.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344029062.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344078908.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344138753.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344188626.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344238496.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344288359.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344348276.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344398053.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344478006.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344528484.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344589171.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344649005.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344710162.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344775643.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734483545.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344895778.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097344955764.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097345015457.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097345075302.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097345145128.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097345204954.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097345662527.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734570243.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/168480973457523.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097345812786.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097345852683.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097345903096.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097345963745.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734602359.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346073453.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734613329.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346173186.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346233025.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734628291.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346332762.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346382644.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346453085.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346512861.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346572704.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734663328.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346693096.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346752932.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346812773.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734687263.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346922467.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097346992295.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347052128.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347122757.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347172644.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347222493.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347292318.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347342236.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347392845.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347442715.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347493296.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347543721.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347583058.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347632928.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347683444.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734772385.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347773886.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097347823594.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734786348.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734790488.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734796432.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348014197.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348054473.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348105845.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348156557.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348195987.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348245852.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348306901.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348347352.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348397224.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734846864.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348518844.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348578312.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348658056.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348707914.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348758163.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348828435.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348868322.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348918583.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097348983855.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349044688.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349114223.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349174044.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349223921.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349293742.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349353564.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349404511.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349453993.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349503849.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349544106.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349604762.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349655724.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349696023.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734976544.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809734981686.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349866734.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349906995.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097349967403.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097350007687.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097350067132.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097350137043.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097350186844.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735023667.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097350296528.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097350337934.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097350398445.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097350467894.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735053771.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097350608516.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735067889.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/168480973507487.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735082872.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097350888333.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097350958161.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097351017992.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097351067863.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735113767.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097351197512.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735124742.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735131857.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097351368454.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735141951.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097351479368.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097351528835.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097351576226.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735162704.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735167653.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735171801.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097351779037.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097351829286.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/168480973518688.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097351910734.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097351966462.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352006752.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735205665.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352106316.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352147958.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352197819.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735224899.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352300885.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352341154.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352391179.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352450502.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352502213.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735255207.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352631862.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352687466.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352748346.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352798197.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352838037.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352897518.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097352957373.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353027174.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353077037.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353147244.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735319699.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735324658.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353317516.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353376985.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353446827.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353497078.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353536546.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353586485.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353647037.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353707983.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735374786.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353809307.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353856137.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353896382.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097353956234.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097354016018.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097354065485.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735412593.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097354175792.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735421605.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735426674.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/168480973543179.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097354367769.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097354408088.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097354477487.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735452735.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097354583676.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097354660304.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097354720163.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097354801435.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097354871259.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097354961014.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097355020852.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097355100715.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097355171094.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735524093.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097355321465.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097355381517.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097355461297.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097355605497.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735565536.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735570549.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097355756152.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097355817115.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735586672.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097355916586.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735596737.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735601751.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097356067376.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735612697.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097356187165.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735622705.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097356286528.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735633675.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097356386406.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097356437495.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735650162.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097356571095.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097356650887.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097356700764.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097356780548.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097356841168.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097356912165.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097356982002.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357041843.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357122464.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735717233.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357232163.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357301986.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735736181.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357431667.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357502382.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357562225.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357622073.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357671936.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357721796.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357781641.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357831504.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357871404.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735793212.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097357981987.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358021874.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358081715.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735814156.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358191426.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358242354.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735830202.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358351898.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358412724.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358473194.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358523057.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358582907.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358652704.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358712547.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358782377.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358832963.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097358902795.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735896263.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359012728.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359072359.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735915211.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359201994.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359261847.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359332557.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359382427.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359442272.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359492118.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735955198.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359611986.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359661665.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359711523.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359757252.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359818947.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359858472.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809735990872.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097359969356.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097360009649.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097360060759.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097360122154.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097360172005.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097360211916.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/1684809736027772.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097360327592.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097360368006.jpg
E:/code/js_reverse/ayf_ocr/yolo_databases/slide/Annotations/images/val/16848097360408187.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,92 @@
# -*- coding:utf-8 -*-
from PIL import Image, ImageDraw, ImageFont
import random
import os
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
import matplotlib.image as imgplt
import time
import cv2
def convert(size, box):
dw = 1. / (size[0])
dh = 1. / (size[1])
x = (box[0] + box[1]) / 2.0 - 1
y = (box[2] + box[3]) / 2.0 - 1
w = box[1] - box[0]
h = box[3] - box[2]
x = x * dw
w = w * dw
y = y * dh
h = h * dh
return x, y, w, h
def addText(img, path, pic_size, size=50, style='train'):
if style not in ['train', 'val']:
raise EnvironmentError('style 模式不识别,只支持 train 和 val')
with open('./Annotations/labels/{}/{}'.format(style, path.split('/')[-1].replace('jpg', 'txt')), 'w') as label_text:
print(pic_size[1] / 5)
point = (random.randint(15, pic_size[0] - 50),
random.randint(15, pic_size[0] - 50))
# 计算 xbox坐标并且归一化
xmin = point[0]
ymin = point[1]
xmax = point[0] + 50
ymax = point[1] + 50
b = (float(xmin), float(xmax), float(ymin), float(ymax))
b1, b2, b3, b4 = b
w = pic_size[1]
h = pic_size[0]
if b2 > w:
b2 = w
if b4 > h:
b4 = h
b = (b1, b2, b3, b4)
bb = convert((w, h), b)
write_message = '0' + " " + " ".join([str(a) for a in bb]) + '\n'
label_text.write(write_message)
# 创建映射文件 train.txt / val.txt
with open('./Annotations/{}.txt'.format(style), 'a') as mapping:
# 获取绝对路径。为了好看 把 \ 处理成 /
ab_path = os.path.dirname(os.path.abspath(__file__)).replace('\\', '/')
mapping.write(ab_path + '/{}'.format(path[2:]) + '\n')
im = Image.open("2.png")
im = im.resize((50, 50), Image.ANTIALIAS)
r, g, b, a = im.split()
img.paste(im, point, mask=a)
img = img.convert('RGB')
img.save(path)
return path
# 第一步。对目录环境进行检查,是否满足处理要求
def make_dirs(dirs):
try:
os.makedirs(dirs)
except FileExistsError:
print(dirs + ' 目录存在,自动跳过')
make_dirs('Annotations/images/train')
make_dirs('Annotations/images/val')
make_dirs('Annotations/labels/train')
make_dirs('Annotations/labels/val')
number = input('输入要生成的数量')
style = input('输入模式train/val')
for i in range(int(number)):
print('正在生成{},第{}/{}'.format(style, i + 1, number))
img = Image.open("drag/{}".format(random.choice(os.listdir('drag'))))
path = addText(img,
path='./Annotations/images/{}/{}.jpg'.format(style, str(time.time()).replace('.', '')),
pic_size=(img.size[0], img.size[1]),
size=24,
style=style
)

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -0,0 +1,18 @@
from PIL import Image,ImageDraw,ImageFont
# img1 = Image.open('1.jpg')
# img2 = Image.open('2.jpg')
#
# img = Image.new("RGB",img1.size)
# img.paste(img1,(0,0))
# img.paste(img2,(0,345))
# img.save('3.png', quality=70)
img = Image.open("1.jpg").convert('RGBA')
im = Image.open("2.png")
img = img.resize((35, 35), Image.ANTIALIAS)
r,g,b,a = im.split()
img.paste(im,(100, 100),mask = a)
img = img.convert('RGB')
img.save("test.png")