Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

测试没有图像输出 #175

Open
xianyu-123 opened this issue Jun 9, 2021 · 9 comments
Open

测试没有图像输出 #175

xianyu-123 opened this issue Jun 9, 2021 · 9 comments

Comments

@xianyu-123
Copy link

测试后只生成了位置文本,没有生成结果图像,这个应该怎么修改呢?

@lrfighting
Copy link

你好,请问他的测试数据集放哪

@xianyu-123
Copy link
Author

用的他的命令行操作的。我最后跑通的是TensorFlow版本的那个

@lrfighting
Copy link

用他的命令行操作的。我最后跑通是TensorFlow版本的那个人

他这个跑不通吗,我测试就失败了 用他的命令行报错没有那个文件,我也找不到他那个文件在哪定义了,

@xianyu-123
Copy link
Author

用他的命令行操作的。我最后跑通是TensorFlow版本的那个人

他这个跑不通吗,我测试就失败了 用他的命令行报错没有那个文件,我也找不到他那个文件在哪定义了,

在dataset文件夹下psenet文件夹里面,我测试的是IC15,然后打开这个文件,在里面修改就可以了。

@lrfighting
Copy link

用他的命令行操作的。我最后跑通是TensorFlow版本的那个人

他跑不通吗,我测试就失败了,用他的这个命令行报错没有那个文件,我也找不到他那个文件在哪定义了,

在dataset文件夹下psenet文件夹里面,我测试的是IC15,然后打开这个文件,在里面修改就可以了。
好的,谢谢 ,

haode

@lrfighting
Copy link

用他的命令行操作的。我最后跑通是TensorFlow版本的那个人

他这个跑不通吗,我测试就失败了 用他的命令行报错没有那个文件,我也找不到他那个文件在哪定义了,

在dataset文件夹下psenet文件夹里面,我测试的是IC15,然后打开这个文件,在里面修改就可以了。

大神你好,请问你用他的训练命令了吗,训练有么有报错呢,我的出现一个C就终止了,这是什么问题呢

@HCMY
Copy link

HCMY commented May 16, 2022

测试后只生成了位置文本,没有生成结果图像,这个应该怎么修改呢?

需要你自己把模型的预测结果,也就是bbox处理,放到图像上

import numpy as np
from PIL import Image

import torchvision.transforms as transforms
import torch
from mmcv import Config
from .models import build_model
from .models.utils import fuse_module
from .dataset.psenet import psenet_ctw

class OcrTextDetector(object):
    def __init__(self, ckpt_path, config_path, device='cpu'):
        self.ckpt_path = ckpt_path
        self.cfg_path = config_path
        self.device = device

        self.model = None
        self.cfg = None

    def build_model(self):
        cfg = Config.fromfile(self.cfg_path)

        for d in [cfg, cfg.data.test]:
            d.update(dict(
                report_speed=False
            ))

        self.cfg = cfg

        model = build_model(self.cfg.model)
        model.to(self.device)

        checkpoint = torch.load(self.ckpt_path, map_location=self.device)
        d = dict()
        for key,value in checkpoint['state_dict'].items():
            tmp = key[7:]
            d[tmp] = value
        model.load_state_dict(d)
        model = fuse_module(model)

        model.eval()

        self.model = model

        return self

    def preprocess_img(self, img_path):
        img = psenet_ctw.get_img(img_path=img_path, read_type='pil')

        img_meta = dict(
            org_img_size=[np.array(img.shape[:2])]
        )

        img = psenet_ctw.scale_aligned_short(img)
        img_meta.update(dict(
            img_size=[np.array(img.shape[:2])]
        ))

        img = Image.fromarray(img)
        img = img.convert('RGB')
        img = transforms.ToTensor()(img)
        img = transforms.Normalize(mean=[0.485,0.456,0.406],std=[0.229,0.224,0.225])(img)

        return img, img_meta

    def predict(self, img_path):
        img, img_meta = self.preprocess_img(img_path)
        img = torch.unsqueeze(img, 0)
        outputs = self.model(img, img_metas=img_meta, cfg=self.cfg)

        return outputs


if __name__ == "__main__":
    ckpt_path = './checkpoints/psenet_r50_ctw_finetune/checkpoint.pth'
    cfg = './config/psenet/psenet_r50_ctw_finetune.py'
    img_path = '../../dataset/ctw1500/train_images/0002.jpg'
    ocr = OcrTextDetector(ckpt_path, cfg).build_model().predict(img_path)
def draw_bbox(bboxs,img):
    bboxs_res = []
    for bbox in bboxs:
        bbox = np.reshape(bbox,(4,2))
        cv2.drawContours(img, [bbox],-1, (0, 255, 0), 2)
        bboxs_res.append(bbox)
    return bboxs_res, img

detector = OcrTextDetector(ckpt_path, cfg).build_model().predict(img_path)
box = detector.predict(img_path)
 img = cv2.imread(img_path)
 bboxs_res, box_img = draw_bbox(box['bboxes'], img)
 plt.imshow(box_img )

@xianyu-123
Copy link
Author

xianyu-123 commented May 16, 2022 via email

@Xiuxiu21
Copy link

Xiuxiu21 commented Dec 1, 2022

请问可以提供预训练模型吗

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants