コード例 #1
0
from keras.callbacks import EarlyStopping, TensorBoard

from ctpn import CTPN
from ctpn.data_loader import DataLoader
from ctpn.lib.utils import get_session
from custom import LRScheduler, SingleModelCK
import keras.backend as K

if __name__ == '__main__':
    import argparse

    K.set_session(get_session(0.8))

    parser = argparse.ArgumentParser()
    parser.add_argument("-ie",
                        "--initial_epoch",
                        help="初始迭代数",
                        default=0,
                        type=int)
    parser.add_argument("--epochs", help="迭代数", default=20, type=int)
    parser.add_argument("--gpus", help="gpu的数量", default=1, type=int)
    parser.add_argument("--images_dir",
                        help="图像位置",
                        default="E:\data\VOCdevkit\VOC2007\JPEGImages")
    parser.add_argument("--anno_dir",
                        help="标注文件位置",
                        default="E:\data\VOCdevkit\VOC2007\Annotations")
    parser.add_argument("--config_file_path",
                        help="模型配置文件位置",
                        default="config/ctpn-default.json")
    parser.add_argument("--weights_file_path", help="模型初始权重文件位置", default=None)
コード例 #2
0
    parser = argparse.ArgumentParser()
    parser.add_argument("--image_path", help="图像位置")
    parser.add_argument("--dict_file_path",
                        help="字典文件位置",
                        default="data/char_std_5990.txt")
    parser.add_argument("--config_file_path",
                        help="模型配置文件位置",
                        default="config/densent-default.json")
    parser.add_argument("--weights_file_path",
                        help="模型权重文件位置",
                        default="model/weights-densent-init.hdf5")

    args = parser.parse_args()

    K.set_session(get_session(0.4))

    image_path = args.image_path
    dict_file_path = args.dict_file_path  # 字典文件位置
    weight_path = args.weights_file_path  # 权重文件位置
    config_path = args.config_file_path  # 模型配置文件位置

    id_to_char = load_dict(dict_file_path, "UTF-8")

    config = DenseNetOCR.load_config(config_path)
    config['weight_path'] = weight_path

    ocr = DenseNetOCR(**config)

    start = datetime.now()
    print(ocr.predict(image_path, id_to_char)[0])
コード例 #3
0

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("--image_path", help="图像位置")
    parser.add_argument("--dict_file_path", help="字典文件位置", default="data/char_std_5990.txt")
    parser.add_argument("--densenet_config_path", help="densenet模型配置文件位置",
                        default="config/densent-default.json")
    parser.add_argument("--ctpn_config_path", help="ctpn模型配置文件位置",
                        default="config/ctpn-default.json")
    parser.add_argument("--ctpn_weight_path", help="ctpn模型权重文件位置",
                        default="model/weights-ctpnlstm-init.hdf5")
    parser.add_argument("--densenet_weight_path", help="densenet模型权重文件位置",
                        default="model/weights-densent-init.hdf5")
    parser.add_argument("--adjust", help="是否对图像进行适当裁剪",
                        default=True, type=bool)

    args = parser.parse_args()

    K.set_session(get_session())

    app = TextDetectionApp(ctpn_weight_path=args.ctpn_weight_path,
                           densenet_weight_path=args.densenet_weight_path,
                           dict_path=args.dict_file_path,
                           ctpn_config_path=args.ctpn_config_path,
                           densenet_config_path=args.densenet_config_path)
    start_time = datetime.now()
    for rect, line in app.detect(args.image_path, args.adjust):
        print(line)
    print(f"cost {(datetime.now() - start_time).microseconds / 1000}ms")
コード例 #4
0
    parser.add_argument("--dict_file_path", help="字典文件位置",
                        default="/home/sunsheenai/application/data/OCR/char_std_5990.txt")
    parser.add_argument("--train_file_path", help="训练文件位置",
                        default="/home/sunsheenai/application/data/OCR/train.txt")
    parser.add_argument("--test_file_path", help="测试文件位置",
                        default="/home/sunsheenai/application/data/OCR/test.txt")
    parser.add_argument("--config_file_path", help="模型配置文件位置",
                        default="config/densent-default.json")
    parser.add_argument("--weights_file_path", help="模型初始权重文件位置",
                        default=None)
    parser.add_argument("--save_weights_file_path", help="保存模型训练权重文件位置",
                        default=r'model/weights-densent-{epoch:02d}.hdf5')

    args = parser.parse_args()

    K.set_session(utils.get_session(0.8))

    batch_size = args.batch_size

    encoding = "UTF-8"
    initial_epoch = args.initial_epoch

    # 载入模型配置文件
    config = DenseNetOCR.load_config(args.config_file_path)
    weights_file_path = args.weights_file_path
    gpus = args.gpus
    config['num_gpu'] = gpus

    # 载入初始权重
    if weights_file_path is not None:
        config["weight_path"] = weights_file_path