solve det eval bug and optimize doc
This commit is contained in:
parent
96ead92e45
commit
6eb7dd5563
13
README.md
13
README.md
|
@ -48,7 +48,6 @@ python3 tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_mode
|
|||
更多的文本检测、识别串联推理使用方式请参考文档教程中[基于预测引擎推理](./doc/inference.md)。
|
||||
|
||||
|
||||
|
||||
## 文档教程
|
||||
- [快速安装](./doc/installation.md)
|
||||
- [文本检测模型训练/评估/预测](./doc/detection.md)(持续更新中)
|
||||
|
@ -64,12 +63,14 @@ PaddleOCR开源的文本检测算法列表:
|
|||
|
||||
在ICDAR2015文本检测公开数据集上,算法效果如下:
|
||||
|
||||
|模型|骨干网络|Hmean|下载链接|
|
||||
|模型|骨干网络|Hmean|precision|recall|下载链接|
|
||||
|-|-|-|-|
|
||||
|EAST|ResNet50_vd|85.85%|[下载链接](https://paddleocr.bj.bcebos.com/det_r50_vd_east.tar)|
|
||||
|EAST|MobileNetV3|79.08%|[下载链接](https://paddleocr.bj.bcebos.com/det_mv3_east.tar)|
|
||||
|DB|ResNet50_vd|83.30%|[下载链接](https://paddleocr.bj.bcebos.com/det_r50_vd_db.tar)|
|
||||
|DB|MobileNetV3|73.00%|[下载链接](https://paddleocr.bj.bcebos.com/det_mv3_db.tar)|
|
||||
|EAST|ResNet50_vd|86.82%|88.18%|85.51|[下载链接](https://paddleocr.bj.bcebos.com/det_r50_vd_east.tar)|
|
||||
|EAST|MobileNetV3|80.74%|81.67%|79.83%|[下载链接](https://paddleocr.bj.bcebos.com/det_mv3_east.tar)|
|
||||
|DB|ResNet50_vd|82.19%|83.79%|80.65%|[下载链接](https://paddleocr.bj.bcebos.com/det_r50_vd_db.tar)|
|
||||
|DB|MobileNetV3|74.53%|75.92%|73.18%|[下载链接](https://paddleocr.bj.bcebos.com/det_mv3_db.tar)|
|
||||
|
||||
* 注: 上述模型的训练和评估,设置后处理参数box_thresh=0.6,unclip_ratio=1.5,使用不同数据集、不同模型训练时,可调整这两个参数进行优化
|
||||
|
||||
PaddleOCR文本检测算法的训练和使用请参考文档教程中[文本检测模型训练/评估/预测](./doc/detection.md)。
|
||||
|
||||
|
|
|
@ -50,4 +50,4 @@ PostProcess:
|
|||
thresh: 0.3
|
||||
box_thresh: 0.7
|
||||
max_candidates: 1000
|
||||
unclip_ratio: 1.5
|
||||
unclip_ratio: 2.0
|
|
@ -1,7 +1,14 @@
|
|||
## 快速安装
|
||||
|
||||
经测试PaddleOCR可在glibc 2.23上运行,您也可以测试其他glibc版本或安装glic 2.23
|
||||
PaddleOCR 工作环境
|
||||
- PaddlePaddle1.7
|
||||
- python3
|
||||
- glibc 2.23
|
||||
|
||||
建议使用我们提供的docker运行PaddleOCR,有关docker使用请参考[链接](https://docs.docker.com/get-started/)。
|
||||
1. 准备docker环境。第一次使用这个镜像,会自动下载该镜像,请耐心等待。
|
||||
|
||||
1. (建议)准备docker环境。第一次使用这个镜像,会自动下载该镜像,请耐心等待。
|
||||
```
|
||||
# 切换到工作目录下
|
||||
cd /home/Projects
|
||||
|
@ -20,6 +27,20 @@ sudo nvidia-docker run --name ppocr -v $PWD:/paddle --network=host -it hub.baidu
|
|||
sudo nvidia-docker container exec -it ppocr /bin/bash
|
||||
```
|
||||
|
||||
注意:如果docker pull过慢,可以按照如下步骤手动下载后加载docker,以cuda9 docker为例,使用cuda10 docker只需要将cuda9改为cuda10即可。
|
||||
```
|
||||
# 下载CUDA9 docker的压缩文件,并解压
|
||||
wget https://paddleocr.bj.bcebos.com/docker/docker_pdocr_cuda9.tar.gz
|
||||
# 为减少下载时间,上传的docker image是压缩过的,需要解压使用
|
||||
tar zxf docker_pdocr_cuda9.tar.gz
|
||||
# 创建image
|
||||
docker load < docker_pdocr_cuda9.tar
|
||||
# 完成上述步骤后通过docker images检查是否加载了下载的镜像
|
||||
docker images
|
||||
# 执行docker images后如果有下面的输出,即可按照按照 步骤1 创建docker环境。
|
||||
hub.baidubce.com/paddlepaddle/paddle latest-gpu-cuda9.0-cudnn7-dev f56310dcc829
|
||||
```
|
||||
|
||||
2. 安装PaddlePaddle Fluid v1.7(暂不支持更高版本,适配工作进行中)
|
||||
```
|
||||
pip3 install --upgrade pip
|
||||
|
|
|
@ -35,6 +35,7 @@ class DBPostProcess(object):
|
|||
self.thresh = params['thresh']
|
||||
self.box_thresh = params['box_thresh']
|
||||
self.max_candidates = params['max_candidates']
|
||||
self.unclip_ratio = params['unclip_ratio']
|
||||
self.min_size = 3
|
||||
|
||||
def boxes_from_bitmap(self, pred, _bitmap, dest_width, dest_height):
|
||||
|
@ -46,7 +47,8 @@ class DBPostProcess(object):
|
|||
bitmap = _bitmap
|
||||
height, width = bitmap.shape
|
||||
|
||||
outs = cv2.findContours((bitmap * 255).astype(np.uint8), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
|
||||
outs = cv2.findContours((bitmap * 255).astype(np.uint8), cv2.RETR_LIST,
|
||||
cv2.CHAIN_APPROX_SIMPLE)
|
||||
if len(outs) == 3:
|
||||
img, contours, _ = outs[0], outs[1], outs[2]
|
||||
elif len(outs) == 2:
|
||||
|
@ -83,7 +85,8 @@ class DBPostProcess(object):
|
|||
scores[index] = score
|
||||
return boxes, scores
|
||||
|
||||
def unclip(self, box, unclip_ratio=2.0):
|
||||
def unclip(self, box):
|
||||
unclip_ratio = self.unclip_ratio
|
||||
poly = Polygon(box)
|
||||
distance = poly.area * unclip_ratio / poly.length
|
||||
offset = pyclipper.PyclipperOffset()
|
||||
|
|
Loading…
Reference in New Issue