# Text-Detection-using-Yolo-Algorithm-in-keras-tensorflow
First step towards building an efficient OCR system is to find out the specific text locations. Implemented the YOLO ( You Only Look Once ) algorithm from scratch (no object detection API used) for the specific task of Scene Text Detection in python using keras and tensorflow.
## Data :
The dataset used is ICDAR competetion dataset available here : [Drive Link](https://drive.google.com/open?id=1ObrV9pbH_-LBGbIodWgB6W4dtQloTTH6)
<br />
Train images = 376 <br />
Validation images = 115
## Preprocessing :
The `Preprocess.py` file handles all the necessary preprocessing and saves the data in the form of numpy arrays. First, the images are resized to (512,512) dimensions. Accordingly, the ground truth of the boxes is modified as well. All the images are normalized to a range of [-1 , 1]. The ground truth coordinates are processed to form a matrix of dimensions as ( grid height , grid width , 1 , 5 ).
### Custom data :
Necessary changes need to be done in the `Preprocess.py` file to input the custom data and images, to create the appropriate input and output matrices.
## Model :
MobileNetv2 architecture is used as a feture extractor. The main reason for choosing MobileNetv2 is the high accuracy and the less number of weights. The fully connected layers of MobileNet are removed. Three Conv layers are added to the last layer of the MobileNet architecture to output a shape of (grid height , grid width , 1 , 5 ). The model weights can be found here : [Drive Link](https://drive.google.com/open?id=1OwrEu6SeaNM3l_clLN9F40W-tMpRfz97)
## Loss Function and Training:
The loss function implemented is the one specified in the YOLO paper. As there is only one class to be predicted, the contribution of class predictions to the loss is eliminated.
<br />
The model is trained for 180 epochs in total with a batch size of 4. The learning rate was kept at 0.001 for the first 100 epochs and lowered to 0.0001 for the next 80 epochs.
## Inference :
The `Utils.py` consists of the functions used to convert the matrix output ( grid height , grid width , 1 , 5 ) of the model to actual predicted bounding boxes. Non max suppression is used to eliminate boxes on the same object as stated in the YOLO paper.
## Results :
![alt text](https://github.com/Neerajj9/Text-Detection-using-Yolo-Algorithm-in-keras-tensorflow/blob/master/Results1/28.jpg)
<br />
![alt text](https://github.com/Neerajj9/Text-Detection-using-Yolo-Algorithm-in-keras-tensorflow/blob/master/Results1/113.jpg)
<br />
![alt text](https://github.com/Neerajj9/Text-Detection-using-Yolo-Algorithm-in-keras-tensorflow/blob/master/Results1/114.jpg)
<br />
## Requirements :
1. Keras : 2.2.2
2. Tensorflow : 1.9.0
3. OpenCV : 3.4.1
4. Numpy : 1.14.3
5. Matplotlib : 2.2.2
没有合适的资源?快使用搜索试试~ 我知道了~
在 keras-tensorflow 中实现了用于场景文本检测的 YOLO 算法(未使用对象检测 API) 可以调整代码以使用 ...
共20个文件
jpg:12个
txt:2个
py:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 104 浏览量
2024-11-26
22:01:38
上传
评论
收藏 2.12MB ZIP 举报
温馨提示
在 keras-tensorflow 中使用 Yolo 算法进行文本检测构建高效 OCR 系统的第一步是找出特定的文本位置。使用 keras 和 tensorflow 在 Python 中从头开始实现 YOLO(You Only Look Once)算法(不使用对象检测 API),用于场景文本检测的特定任务。数据 使用的数据集是 ICDAR 竞争数据集,可在此处获取Drive LinkTrain 图像 = 376验证图像 = 115预处理该Preprocess.py文件处理所有必要的预处理,并以 numpy 数组的形式保存数据。首先,将图像大小调整为 (512,512) 维。相应地,框的地面真实值也会被修改。所有图像都标准化为 [-1 , 1] 的范围。地面真实值坐标经过处理,形成一个维度矩阵,即 (网格高度、网格宽度、1、5)。自定义数据需要在Preprocess.py文件中进行必要的更改以输入自定义数据和图像,以创建适当的输入和输出矩阵。模型 MobileNetv2 架构用作特征提取器。选择 MobileNetv2 的主要原因是其准确率高且权
资源推荐
资源详情
资源评论
收起资源包目录
在 keras-tensorflow 中实现了用于场景文本检测的 YOLO 算法(未使用对象检测 API)。可以调整代码以使用 YOLO 进行不同的对象检测任务的训练。.zip (20个子文件)
标签.txt 57B
Preprocess.py 2KB
LICENSE 1KB
Results1
113.jpg 63KB
28.jpg 127KB
30.jpg 64KB
45.jpg 79KB
57.jpg 100KB
108.jpg 76KB
114.jpg 83KB
0.jpg 80KB
93.jpg 78KB
109.jpg 115KB
9.jpg 77KB
资源内容.txt 1KB
Utils.py 2KB
Test
img_88.jpg 566KB
model
text_detect_model.json 79KB
README.md 3KB
Yolo.ipynb 918KB
共 20 条
- 1
资源评论
赵闪闪168
- 粉丝: 1549
- 资源: 3077
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于国民技术RT-THREAD的MULTInstrument多功能电子测量仪器设计源码
- 基于Java技术的网络报修平台后端设计源码
- 基于Python的美食杰中华菜系数据挖掘与分析设计源码
- 30.STM32_UART_RFID_读卡号_初始化钱包_语音.rar
- 基于Java开发的个人知识库记录系统设计源码
- 通过 LibTorch C++ API 部署 YOLOv5 进行实时对象检测.zip
- 基于Java实现的数据共享、网络访问与手机服务最佳实践设计源码
- 基于Vue、Java、JavaScript和HTML的“久久爱宠”宠物店管理系统设计源码
- 基于Python的Rime输入法配置与使用技巧设计源码
- 基于TypeScript和前端框架的华中科技大学开源镜像站设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功