From be5d84783f177455214fba678ca8dd87b1b5b268 Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Fri, 26 Jan 2018 13:44:08 +0800 Subject: [PATCH 01/15] Update config.py --- config.py | 62 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/config.py b/config.py index 23897c1..b7a25ab 100644 --- a/config.py +++ b/config.py @@ -8,27 +8,43 @@ UNK_TOKEN = 2 VOCAB = {'': 0, '': 1, '': 2,'':3}#分别表示开始,结束,未出现的字符 VOC_IND={} -charset='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' +#charset='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' +def get_class(path): + f = open(path, 'r', encoding='UTF-8') + line = f.readline().strip() + class2int = {} + int2class = {} + i = 0 + while line != '': + class2int[line] = i + int2class[i] = line + line = f.readline().strip() + i = i + 1 + f.close() + return class2int, int2class + +_,charset=get_class('char_std_5990.txt') + for i in range(len(charset)): VOCAB[charset[i]]=i+4 for key in VOCAB: VOC_IND[VOCAB[key]]=key -MAX_LEN_WORD=27#标签的最大长度,以PAD +MAX_LEN_WORD=20#标签的最大长度,以PAD VOCAB_SIZE = len(VOCAB) -BATCH_SIZE = 40 +BATCH_SIZE = 128 RNN_UNITS = 256 EPOCH=10000 -IMAGE_WIDTH=120 +IMAGE_WIDTH=240 IMAGE_HEIGHT = 32 MAXIMUM__DECODE_ITERATIONS = 20 -DISPLAY_STEPS = 2 +DISPLAY_STEPS = 500 LOGS_PATH = 'log' CKPT_DIR = 'save_model' -train_dir='train' -val_dir='train' - +train_dir='../stn_cnn_lstm/vgg' +val_dir='../stn_cnn_lstm/val256' is_restore=True + def label2int(label):#label shape (num,len) #seq_len=[] target_input=np.ones((len(label), MAX_LEN_WORD), dtype=np.float32) +2#初始化为全为PAD @@ -55,25 +71,43 @@ def int2label(decode_label): label.append(temp) return label -def read_data(data_dir): +def read_data(data_dir,file): image = [] labels = [] num=0 - for root, sub_folder, file_list in os.walk(data_dir): + f=open(file,'r',encoding='UTF-8') + lines=f.read().strip().split('\n') + f.close() + for line in lines: + s=line.strip().split(' ') + label='' + image_name = os.path.join(data_dir, s[0]) + im = cv2.imread(image_name, 0) # /255.#read the gray image + if im.shape!=[32,240]: + im = cv2.resize(im, (IMAGE_WIDTH, IMAGE_HEIGHT)) + img = im.swapaxes(0, 1) + image.append(np.array(img[:, :, np.newaxis])) + for i in range(len(s)-1): + label+=charset[int(s[i+1])] + labels.append(label) + num += 1 + print(data_dir, '---------------------------------get image:', num) + return np.array(image),labels + + '''for root, sub_folder, file_list in os.walk(data_dir): for file_path in file_list: image_name = os.path.join(root, file_path) im = cv2.imread(image_name, 0) # /255.#read the gray image img = cv2.resize(im, (IMAGE_WIDTH,IMAGE_HEIGHT)) img = img.swapaxes(0, 1) image.append(np.array(img[:, :, np.newaxis])) - labels.append(image_name.split('_')[1]) + labels.append(image_name.split('/')[-1].split('_')[1]) num+=1 - print(data_dir,'---------------------------------get image:',num) - return np.array(image),labels + print(data_dir,'---------------------------------get image:',num)''' + #return np.array(image),labels def cal_acc(pred,label): num=0 for i in range(len(pred)): if pred[i]==label[i]: num+=1 return num*1.0/len(pred) - From cdf208748d66130331d4b7800042743ad8f2a448 Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Fri, 26 Jan 2018 13:44:43 +0800 Subject: [PATCH 02/15] Update model.py --- model.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/model.py b/model.py index 7761396..4848f1d 100644 --- a/model.py +++ b/model.py @@ -8,7 +8,7 @@ train_output = tf.placeholder(tf.int64, shape=[None, None], name='train_output') target_output = tf.placeholder(tf.int64, shape=[None, None], name='target_output') sample_rate=tf.placeholder(tf.float32, shape=[], name='sample_rate') -train_length=np.array([27]*cfg.BATCH_SIZE,dtype=np.int32) +train_length=np.array([20]*cfg.BATCH_SIZE,dtype=np.int32) def encoder_net(_image, scope,is_training,reuse=None): with tf.variable_scope(scope, reuse=reuse): @@ -50,7 +50,7 @@ def decode(helper, memory, scope, enc_state,reuse=None): output_layer=output_layer) outputs = tf.contrib.seq2seq.dynamic_decode( decoder=decoder, output_time_major=False, - impute_finished=True, maximum_iterations=27) + impute_finished=True, maximum_iterations=20) return outputs def build_network(is_training): train_output_embed,enc_state= encoder_net(image, 'encode_features',is_training) From 4be9e272cbcc3b563ca45a3b71681e53a2e5257f Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Fri, 26 Jan 2018 13:45:20 +0800 Subject: [PATCH 03/15] Update train.py --- train.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/train.py b/train.py index 926d768..3230f39 100644 --- a/train.py +++ b/train.py @@ -1,3 +1,4 @@ + from model import * import config as cfg import time @@ -21,8 +22,9 @@ if ckpt: saver.restore(sess,ckpt) print('restore from the checkpoint{0}'.format(ckpt)) -img,label=cfg.read_data(cfg.train_dir) -val_img,val_label=cfg.read_data(cfg.val_dir) +img,label=cfg.read_data('../dataset/Chinese/','train.txt') +#img,label=cfg.read_data('test','test.txt') +val_img,val_label=cfg.read_data('test','test.txt') num_train_samples=img.shape[0] num_batches_per_epoch = int(num_train_samples/cfg.BATCH_SIZE) target_in,target_out=cfg.label2int(label) @@ -42,11 +44,11 @@ sess.run( train_op,feed_dict={image: batch_inputs,train_output: batch_target_in,target_output: batch_target_out,sample_rate:np.min([1.,0.2*cur_epoch+0.2])}) if cur_batch%cfg.DISPLAY_STEPS==0: summary_loss, loss_result = sess.run([summary_op, loss],feed_dict={image: batch_inputs,train_output: batch_target_in,target_output: batch_target_out, - sample_rate: np.min([1., 0.2*cur_epoch+0.2])}) + sample_rate: np.min([1., 1.])}) writer.add_summary(summary_loss, cur_epoch*num_batches_per_epoch+cur_batch) val_predict = sess.run(pred_decode_result,feed_dict={image: val_img[0:cfg.BATCH_SIZE]}) train_predict = sess.run(pred_decode_result, feed_dict={image: batch_inputs, train_output: batch_target_in, - target_output: batch_target_out,sample_rate:np.min([1., 0.2*cur_epoch+0.2])}) + target_output: batch_target_out,sample_rate:np.min([1., 1.])}) predit = cfg.int2label(np.argmax(val_predict, axis=2)) train_pre = cfg.int2label(np.argmax(train_predict, axis=2)) gt = val_label[0:cfg.BATCH_SIZE] @@ -60,6 +62,3 @@ if not os.path.exists(cfg.CKPT_DIR): os.makedirs(cfg.CKPT_DIR) saver.save(sess, os.path.join(cfg.CKPT_DIR, 'attention_ocr.model'), global_step=cur_epoch*num_batches_per_epoch+cur_batch) - - - From c6e142f3e5c2b75e5f806dc48db743d64b6b06f8 Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Fri, 26 Jan 2018 13:57:20 +0800 Subject: [PATCH 04/15] Add files via upload --- char_std_5990.txt | 5990 +++++++++++++++++++++++++++++++++++++++++++++ test.txt | 146 ++ 2 files changed, 6136 insertions(+) create mode 100644 char_std_5990.txt create mode 100644 test.txt diff --git a/char_std_5990.txt b/char_std_5990.txt new file mode 100644 index 0000000..fbb6e35 --- /dev/null +++ b/char_std_5990.txt @@ -0,0 +1,5990 @@ +blank +, +的 +。 +一 +是 +0 +不 +在 +有 +、 +人 +“ +” +了 +中 +国 +大 +为 +1 +: +上 +2 +这 +个 +以 +年 +生 +和 +我 +时 +之 +也 +来 +到 +要 +会 +学 +对 +业 +出 +行 +公 +能 +他 +于 +5 +e +3 +而 +发 +地 +可 +作 +就 +自 +们 +后 +成 +家 +日 +者 +分 +多 +下 +其 +用 +方 +本 +得 +子 +. +高 +4 +过 +经 +6 +现 +说 +与 +前 +o +理 +工 +所 +力 +t +如 +将 +军 +部 +, +事 +进 +9 +司 +场 +同 +机 +主 +都 +实 +天 +面 +市 +8 +i +a +新 +动 +开 +n +关 +定 +还 +长 +此 +月 +7 +道 +美 +心 +法 +最 +文 +等 +当 +第 +好 +然 +体 +全 +比 +股 +通 +性 +重 +三 +外 +s +但 +战 +; +相 +从 +你 +r +内 +无 +考 +因 +小 +资 +种 +合 +情 +去 +里 +化 +次 +入 +加 +间 +些 +度 +? +员 +意 +没 +产 +正 +表 +很 +队 +报 +已 +名 +海 +点 +目 +着 +应 +解 +那 +看 +数 +东 +位 +题 +利 +起 +二 +民 +提 +及 +明 +教 +问 +) +制 +期 +( +元 +游 +女 +- +并 +曰 +十 +果 +) +么 +注 +两 +专 +样 +信 +王 +平 +己 +金 +务 +使 +电 +网 +代 +手 +知 +计 +至 +常 +( +只 +展 +品 +更 +系 +科 +门 +特 +想 +西 +l +水 +做 +被 +北 +由 +c +》 +万 +老 +向 +《 +记 +政 +今 +据 +量 +保 +建 +物 +区 +管 +见 +安 +集 +或 +认 +程 +h +总 +— +少 +身 +先 +师 +球 +价 +空 +旅 +又 +求 +校 +强 +各 +非 +立 +受 +术 +基 +活 +反 +! +世 +何 +职 +导 +任 +取 +式 +[ +] +试 +才 +结 +费 +把 +收 +联 +直 +规 +持 +赛 +社 +四 +山 +统 +投 +南 +原 +该 +院 +交 +达 +接 +头 +打 +设 +每 +别 +示 +则 +调 +处 +义 +权 +台 +感 +斯 +证 +言 +五 +议 +d +给 +决 +论 +她 +告 +广 +企 +格 +增 +让 +指 +研 +商 +客 +太 +息 +近 +城 +变 +技 +医 +件 +几 +书 +选 +周 +备 +m +流 +士 +京 +传 +u +放 +病 +华 +单 +话 +招 +路 +界 +药 +回 +再 +% +服 +什 +改 +育 +口 +张 +需 +治 +德 +复 +准 +马 +习 +真 +语 +难 +始 +" +际 +观 +完 +标 +共 +项 +容 +级 +即 +必 +类 +领 +A +C +未 +w +型 +案 +线 +运 +历 +首 +风 +视 +色 +尔 +整 +质 +参 +较 +云 +具 +布 +组 +办 +气 +造 +争 +往 +形 +份 +防 +p +它 +车 +深 +神 +称 +g +况 +推 +越 +英 +易 +且 +营 +条 +消 +命 +团 +确 +S +划 +精 +足 +儿 +局 +飞 +究 +功 +索 +走 +望 +却 +查 +武 +思 +兵 +识 +克 +故 +步 +影 +带 +乐 +白 +源 +史 +航 +志 +州 +限 +清 +光 +装 +节 +号 +转 +图 +根 +省 +许 +引 +势 +失 +候 +济 +显 +百 +击 +f +器 +象 +效 +仅 +爱 +官 +包 +供 +低 +演 +连 +夫 +快 +续 +支 +验 +阳 +男 +觉 +花 +死 +字 +创 +素 +半 +预 +音 +户 +约 +率 +声 +请 +票 +… +便 +构 +T +存 +食 +y +段 +远 +责 +M +拉 +房 +随 +断 +极 +销 +林 +亚 +隐 +超 +获 +升 +B +采 +I +算 +益 +优 +愿 +找 +按 +维 +态 +满 +尽 +令 +汉 +委 +八 +终 +训 +值 +负 +境 +练 +母 +热 +适 +江 +住 +列 +举 +景 +置 +黄 +听 +除 +读 +众 +响 +友 +助 +弹 +干 +孩 +边 +李 +六 +甚 +罗 +致 +施 +模 +料 +火 +像 +古 +眼 +搜 +离 +D +闻 +府 +章 +早 +照 +速 +录 +页 +卫 +青 +例 +石 +父 +状 +农 +排 +降 +千 +P +择 +评 +疗 +班 +购 +属 +革 +够 +环 +占 +养 +曾 +米 +略 +站 +胜 +① +核 +否 +独 +护 +钱 +/ +红 +范 +另 +须 +余 +居 +虽 +毕 +攻 +族 +吃 +喜 +陈 +G +轻 +亲 +积 +星 +假 +b +县 +写 +刘 +财 +亿 +某 +括 +律 +酒 +策 +初 +批 +普 +片 +协 +售 +乃 +落 +留 +岁 +突 +双 +绝 +险 +季 +谓 +严 +村 +E +兴 +围 +依 +念 +苏 +底 +压 +破 +河 +怎 +细 +富 +切 +乎 +待 +室 +血 +帝 +君 +均 +络 +牌 +陆 +印 +层 +斗 +简 +讲 +买 +谈 +纪 +板 +希 +聘 +充 +归 +左 +测 +止 +笑 +差 +控 +担 +杀 +般 +朝 +监 +承 +播 +k +亦 +临 +银 +尼 +介 +v +博 +软 +欢 +害 +七 +良 +善 +’ +移 +土 +课 +免 +射 +审 +健 +角 +伊 +欲 +似 +配 +既 +拿 +刚 +绩 +密 +织 +九 +编 +狐 +右 +龙 +异 +若 +登 +检 +继 +析 +款 +纳 +威 +微 +域 +齐 +久 +宣 +阿 +俄 +店 +康 +执 +露 +香 +额 +紧 +培 +激 +卡 +短 +群 +② +春 +仍 +伤 +韩 +楚 +缺 +洲 +版 +答 +O +修 +媒 +秦 +‘ +错 +欧 +园 +减 +急 +叫 +诉 +述 +钟 +遇 +港 +补 +N +· +送 +托 +夜 +兰 +诸 +呢 +席 +尚 +福 +奖 +党 +坐 +巴 +毛 +察 +奇 +孙 +竞 +宁 +申 +L +疑 +黑 +劳 +脑 +R +舰 +晚 +盘 +征 +波 +背 +访 +互 +败 +苦 +阶 +味 +跟 +沙 +湾 +岛 +挥 +礼 +F +词 +宝 +券 +虑 +徐 +患 +贵 +换 +矣 +戏 +艺 +侯 +顾 +副 +妇 +董 +坚 +含 +授 +皇 +付 +坛 +皆 +抗 +藏 +潜 +封 +础 +材 +停 +判 +吸 +轮 +守 +涨 +派 +彩 +哪 +笔 +. +﹑ +氏 +尤 +逐 +冲 +询 +铁 +W +衣 +绍 +赵 +弟 +洋 +午 +奥 +昨 +雷 +耳 +谢 +乡 +追 +皮 +句 +刻 +油 +误 +宫 +巨 +架 +湖 +固 +痛 +楼 +杯 +套 +恐 +敢 +H +遂 +透 +薪 +婚 +困 +秀 +帮 +融 +鲁 +遗 +烈 +吗 +吴 +竟 +③ +惊 +幅 +温 +臣 +鲜 +画 +拥 +罪 +呼 +警 +卷 +松 +甲 +牛 +诺 +庭 +休 +圣 +馆 +_ +退 +莫 +讯 +渐 +熟 +肯 +V +冠 +谁 +乱 +朗 +怪 +夏 +危 +码 +跳 +卖 +签 +块 +盖 +束 +毒 +杨 +饮 +届 +序 +灵 +怀 +障 +永 +顺 +载 +倒 +姓 +丽 +靠 +概 +输 +货 +症 +避 +寻 +丰 +操 +针 +穿 +延 +敌 +悉 +召 +田 +稳 +典 +吧 +犯 +饭 +握 +染 +怕 +端 +央 +阴 +胡 +座 +著 +损 +借 +朋 +救 +库 +餐 +堂 +庆 +忽 +润 +迎 +亡 +肉 +静 +阅 +盛 +综 +木 +疾 +恶 +享 +妻 +厂 +杂 +刺 +秘 +僧 +幸 +扩 +裁 +佳 +趣 +智 +促 +弃 +伯 +吉 +宜 +剧 +野 +附 +距 +唐 +释 +草 +币 +骨 +弱 +俱 +顿 +散 +讨 +睡 +探 +郑 +频 +船 +虚 +途 +旧 +树 +掌 +遍 +予 +梦 +圳 +森 +泰 +慢 +牙 +盟 +挑 +键 +阵 +暴 +脱 +汇 +歌 +禁 +浪 +冷 +艇 +雅 +迷 +拜 +旦 +私 +您 +④ +启 +纷 +哈 +订 +折 +累 +玉 +脚 +亮 +晋 +祖 +菜 +鱼 +醒 +谋 +姐 +填 +纸 +泽 +戒 +床 +努 +液 +咨 +塞 +遭 +玩 +津 +伦 +夺 +辑 +癌 +x +丹 +荣 +仪 +献 +符 +翻 +估 +乘 +诚 +K +川 +惠 +涉 +街 +诗 +曲 +孔 +娘 +怒 +扬 +闲 +蒙 +尊 +坦 += +衡 +迪 +镇 +沉 +署 +妖 +脸 +净 +哥 +顶 +掉 +厚 +魏 +旗 +兄 +荐 +童 +剂 +乏 +倍 +萨 +偏 +洗 +惯 +灭 +径 +犹 +趋 +拍 +档 +罚 +纯 +洛 +毫 +梁 +雨 +瑞 +宗 +鼓 +辞 +洞 +秋 +郎 +舍 +蓝 +措 +篮 +贷 +佛 +坏 +俗 +殊 +炮 +厅 +筑 +姆 +译 +摄 +卒 +谷 +妈 +聚 +违 +忘 +鬼 +触 +丁 +羽 +贫 +刑 +岗 +庄 +伟 +兼 +乳 +叶 +凡 +龄 +宽 +峰 +宋 +硬 +岸 +迅 +喝 +拟 +雄 +役 +零 +舞 +暗 +潮 +绿 +倾 +详 +税 +酸 +徒 +伴 +诊 +跑 +吾 +燕 +澳 +啊 +塔 +宿 +恩 +忙 +督 +末 +⑤ ++ +伐 +篇 +敏 +贸 +巧 +截 +沟 +肝 +迹 +烟 +勇 +乌 +赞 +锋 +返 +迫 +凭 +虎 +朱 +拔 +援 +搞 +爆 +勤 +抢 +敬 +赶 +抱 +仁 +秒 +缓 +御 +唯 +缩 +尝 +贴 +奔 +跨 +炎 +汤 +侵 +骑 +励 +戴 +肤 +枪 +植 +瘤 +埃 +汽 +羊 +宾 +替 +幕 +贝 +刀 +映 +彻 +驻 +披 +抓 +奉 +抵 +肿 +麻 +U +炸 +繁 +赢 +茶 +伏 +梅 +狂 +忧 +豪 +暂 +贾 +洁 +绪 +刊 +忆 +桥 +晓 +册 +漫 +圆 +默 +妾 +侧 +址 +横 +□ +偶 +狗 +陵 +' +伙 +杜 +忍 +薄 +雪 +陷 +仙 +恋 +焦 +焉 +烦 +甘 +腺 +颇 +赏 +肠 +废 +墙 +债 +艾 +杰 +残 +冒 +屋 +堡 +曹 +储 +莱 +挂 +纵 +孝 +珍 +麦 +逃 +奋 +J +览 +镜 +缘 +昭 +摆 +跌 +胁 +昌 +耶 +腹 +偿 +蛋 +盈 +瓦 +摩 +沈 +惟 +迁 +冰 +辛 +震 +旁 +泉 +圈 +巡 +罢 +泛 +穷 +伸 +曼 +滋 +丈 +颜 +勒 +悲 +肥 +郭 +混 +灯 +租 +⑥ +鸡 +阻 +邑 +伍 +践 +驾 +魔 +X +拒 +懂 +糖 +脏 +沿 +翁 +胆 +惧 +聊 +携 +晨 +滑 +菌 +辅 +贤 +鉴 +丝 +尾 +赴 +吨 +宇 +眠 +脂 +籍 +彼 +污 +貌 +弄 +郡 +【 +奶 +菲 +烧 +垂 +壮 +浮 +弗 +赖 +】 +珠 +迟 +渠 +寿 +隆 +剑 +胞 +跃 +稍 +愈 +荷 +壁 +卿 +邦 +忠 +摇 +悟 +锦 +扰 +袭 +盾 +艘 +浓 +筹 +盗 +哭 +淡 +孕 +扣 +呈 +怨 +琳 +孤 +奴 +驱 +振 +闭 +~ +隔 +寒 +汝 +贯 +恢 +饰 +荡 +姑 +械 +* +猛 +亏 +锁 +硕 +舒 +嘉 +宏 +劲 +帅 +誉 +番 +惜 +胸 +抽 +脉 +孟 +遣 +碍 +辆 +玄 +陶 +丧 +矿 +链 +矛 +鸟 +夷 +嘴 +坡 +吕 +侦 +鸣 +妹 +邓 +钢 +妙 +z +欣 +骗 +浙 +辽 +奏 +唱 +腐 +仆 +祝 +冬 +韦 +邮 +酬 +尺 +涯 +毁 +粉 +井 +腰 +肌 +搭 +恨 +乙 +勿 +婆 +★ +闹 +猎 +厉 +哀 +递 +廉 +卧 +豆 +揭 +瓶 +⑦ +蒋 +忌 +贡 +邀 +覆 +墓 +捷 +Q +骂 +芳 +耗 +奈 +腾 +抑 +牵 +履 +绕 +睛 +炼 +描 +辉 +肃 +循 +仿 +葬 +漏 +恰 +殿 +遥 +尿 +凯 +仲 +婢 +胃 +翼 +卢 +慎 +厦 +颈 +哉 +疲 +惑 +汗 +衰 +剩 +昆 +耐 +疫 +霸 +赚 +彭 +狼 +洪 +枚 +媪 +纲 +窗 +偷 +鼻 +池 +磨 +尘 +账 +拼 +榜 +拨 +扫 +妆 +槽 +蔡 +扎 +叔 +辈 +― +泡 +伪 +邻 +锡 +仰 +寸 +盐 +叹 +囊 +幼 +拓 +郁 +桌 +舟 +丘 +棋 +裂 +扶 +逼 +熊 +轰 +允 +箱 +挺 +赤 +晶 +● +祭 +寄 +爷 +呆 +胶 +佩 +泪 +沃 +婴 +娱 +霍 +肾 +诱 +扁 +辩 +粗 +夕 +灾 +哲 +涂 +艰 +猪 +Y +铜 +踏 +赫 +吹 +屈 +谐 +仔 +沪 +殷 +辄 +渡 +屏 +悦 +漂 +祸 +赔 +涛 +谨 +赐 +劝 +泌 +凤 +庙 +墨 +寺 +淘 +勃 +崇 +灰 +虫 +逆 +闪 +竹 +疼 +旨 +旋 +蒂 +⑧ +悬 +紫 +慕 +贪 +慧 +腿 +赌 +捉 +疏 +卜 +漠 +堪 +廷 +氧 +牢 +吏 +帕 +棒 +纽 +荒 +屡 +戈 +氛 +黎 +桃 +幽 +尖 +猫 +捕 +嫁 +窃 +燃 +禽 +稿 +掩 +踪 +姻 +陪 +凉 +阔 +碰 +幻 +迈 +铺 +堆 +柔 +姿 +膜 +爸 +斤 +轨 +疆 +丢 +仓 +岂 +柳 +敦 +祥 +栏 +邪 +魂 +箭 +煤 +惨 +聪 +艳 +儒 +& +仇 +徽 +厌 +潘 +袖 +宅 +恒 +逻 +肺 +昂 +炒 +醉 +掘 +宪 +摸 +愤 +畅 +汪 +贺 +肪 +撑 +桂 +耀 +柏 +韂 +扑 +淮 +j +凌 +遵 +钻 +摘 +碎 +抛 +匹 +腔 +纠 +吐 +滚 +凝 +插 +鹰 +郊 +琴 +悄 +撤 +驶 +粮 +辱 +斩 +暖 +杭 +齿 +欺 +殖 +撞 +颁 +匈 +翔 +挤 +乔 +抚 +泥 +饱 +劣 +鞋 +肩 +雇 +驰 +莲 +岩 +酷 +玛 +赠 +斋 +辨 +泄 +姬 +拖 +湿 +滨 +鹏 +兽 +锐 +捧 +尸 +宰 +舆 +宠 +胎 +凶 +割 +虹 +俊 +糊 +兹 +瓜 +悔 +慰 +浦 +锻 +削 +唤 +戚 +撒 +冯 +丑 +亭 +寝 +嫌 +袁 +⑨ +尉 +芬 +挖 +弥 +喊 +纤 +辟 +菩 +埋 +呀 +昏 +傅 +桑 +稀 +帐 +添 +塑 +赋 +扮 +芯 +喷 +夸 +抬 +旺 +襄 +岭 +颗 +柱 +欠 +逢 +鼎 +苗 +庸 +甜 +贼 +烂 +怜 +盲 +浅 +霞 +畏 +诛 +倡 +磁 +茨 +毅 +鲍 +骇 +峡 +妨 +雕 +袋 +裕 +哩 +怖 +阁 +函 +浩 +侍 +拳 +寡 +鸿 +眉 +穆 +狱 +牧 +拦 +雾 +猜 +顷 +昔 +慈 +朴 +疯 +苍 +■ +渴 +慌 +绳 +闷 +陕 +宴 +辖 +「 +」 +舜 +讼 +柯 +丞 +姚 +崩 +绘 +枝 +牲 +涌 +虔 +姜 +擦 +桓 +逊 +汰 +斥 +﹒ +颖 +悠 +恼 +灌 +q +梯 +捐 +∶ +挣 +衷 +啡 +娜 +旬 +呵 +刷 +帽 +岳 +豫 +咖 +飘 +臂 +寂 +粒 +募 +嘱 +蔬 +苹 +泣 +吊 +淳 +诞 +诈 +咸 +猴 +~ +奸 +淫 +佐 +晰 +崔 +雍 +葛 +鼠 +爵 +奢 +仗 +涵 +淋 +挽 +敲 +沛 +蛇 +锅 +庞 +朵 +押 +鹿 +滩 +祠 +枕 +扭 +厘 +魅 +⑩ +湘 +柴 +炉 +荆 +卓 +碗 +夹 +脆 +颠 +窥 +逾 +诘 +贿 +虞 +茫 +榻 +碑 +傲 +骄 +卑 +× +Z +蓄 +煮 +劫 +卵 +碳 +痕 +攀 +搬 +拆 +谊 +禹 +窦 +绣 +叉 +爽 +肆 +羞 +爬 +泊 +腊 +愚 +牺 +胖 +弘 +秩 +娶 +妃 +柜 +觽 +躲 +葡 +浴 +兆 +滴 +衔 +燥 +斑 +挡 +笼 +徙 +憾 +垄 +肖 +溪 +叙 +茅 +膏 +甫 +缴 +姊 +逸 +淀 +擅 +催 +丛 +舌 +竭 +禅 +隶 +歧 +妥 +煌 +玻 +刃 +☆ +肚 +惩 +赂 +耻 +詹 +璃 +舱 +溃 +斜 +祀 +翰 +汁 +妄 +枭 +萄 +契 +骤 +醇 +泼 +咽 +拾 +廊 +犬 +筋 +扯 +狠 +挫 +钛 +扇 +蓬 +吞 +帆 +戎 +稽 +娃 +蜜 +庐 +盆 +胀 +乞 +堕 +趁 +吓 +框 +顽 +硅 +宛 +瘦 +剥 +睹 +烛 +晏 +巾 +狮 +辰 +茂 +○ +裙 +匆 +霉 +杖 +杆 +糟 +畜 +躁 +愁 +缠 +糕 +峻 +贱 +辣 +歼 +慨 +亨 +芝 +惕 +娇 +⑾ +渔 +冥 +咱 +栖 +浑 +禄 +帖 +巫 +喻 +毋 +泳 +饿 +尹 +穴 +沫 +串 +邹 +厕 +蒸 ++ +滞 +铃 +寓 +萧 +弯 +窝 +杏 +冻 +愉 +逝 +诣 +溢 +嘛 +兮 +暮 +豹 +骚 +跪 +懒 +缝 +盒 +亩 +寇 +弊 +巢 +咬 +粹 +冤 +陌 +涕 +翠 +勾 +拘 +侨 +肢 +裸 +恭 +叛 +纹 +摊 +# +兑 +萝 +饥 +> +浸 +叟 +滥 +灿 +衍 +喘 +吁 +晒 +谱 +堵 +暑 +撰 +棉 +蔽 +屠 +讳 +庶 +巩 +钩 +丸 +诏 +朔 +瞬 +抹 +矢 +浆 +蜀 +洒 +耕 +虏 +诵 +陛 +绵 +尴 +坤 +─ +尬 +搏 +钙 +饼 +枯 +灼 +饶 +杉 +盼 +蒲 +尧 +俘 +伞 +庚 +摧 +遮 +痴 +罕 +桶 +巷 +乖 +{ +啦 +纺 +闯 +→ +敛 +弓 +喉 +酿 +彪 +垃 +歇 +圾 +倦 +狭 +晕 +裤 +蜂 +} +垣 +莉 +谍 +俩 +妪 +⑿ +钓 +逛 +椅 +砖 +烤 +熬 +悼 +倘 +鸭 +馈 +惹 +旭 +薛 +诀 +渗 +痒 +蛮 +罩 +渊 +踢 +崖 +粟 +唇 +辐 +愧 +玲 +遏 +昼 +芦 +纣 +琼 +椎 +咳 +熙 +钉 +剖 +歉 +坠 +誓 +啤 +碧 +郅 +吻 +莎 +屯 +吟 +臭 +谦 +刮 +掠 +垫 +宙 +冀 +栗 +壳 +崛 +瑟 +哄 +谏 +丙 +叩 +缪 +雌 +叠 +奠 +髃 +碘 +暨 +劭 +霜 +妓 +厨 +脾 +俯 +槛 +芒 +沸 +盯 +坊 +咒 +觅 +剪 +遽 +贩 +寨 +铸 +炭 +绑 +蹈 +抄 +阎 +窄 +冈 +侈 +匿 +斌 +沾 +壤 +哨 +僵 +坎 +舅 +洽 +勉 +侣 +屿 +啼 +侠 +枢 +膝 +谒 +砍 +厢 +昧 +嫂 +羡 +铭 +碱 +棺 +漆 +睐 +缚 +谭 +溶 +烹 +雀 +擎 +棍 +瞄 +裹 +曝 +傻 +旱 +坑 +驴 +弦 +贬 +龟 +塘 +贞 +氨 +盎 +掷 +胺 +焚 +黏 +乒 +耍 +讶 +纱 +蠢 +掀 +藤 +蕴 +邯 +瘾 +婿 +卸 +斧 +鄙 +冕 +苑 +耿 +腻 +躺 +矩 +蝶 +浏 +壶 +凸 +臧 +墅 +粘 +⒀ +魄 +杞 +焰 +靶 +邵 +倚 +帘 +鞭 +僚 +酶 +靡 +虐 +阐 +韵 +迄 +樊 +畔 +钯 +菊 +亥 +嵌 +狄 +拱 +伺 +潭 +缆 +慑 +厮 +晃 +媚 +吵 +骃 +稷 +涅 +阪 +挨 +珊 +殆 +璞 +婉 +翟 +栋 +醋 +鹤 +椒 +囚 +瞒 +竖 +肴 +仕 +钦 +妒 +晴 +裔 +筛 +泻 +阙 +垒 +孰 +抖 +衬 +炫 +兢 +屑 +赦 +宵 +沮 +谎 +苟 +碌 +屁 +腕 +沦 +懈 +扉 +揖 +摔 +塌 +廖 +铝 +嘲 +胥 +曳 +敖 +傍 +筒 +朕 +扳 +鑫 +硝 +暇 +@ +冶 +靖 +袍 +凑 +悍 +兔 +邢 +熏 +株 +哮 +鹅 +乾 +鄂 +矶 +逵 +坟 +佣 +髓 +隙 +惭 +轴 +掏 +苛 +偃 +榴 +⒁ +赎 +谅 +裴 +缅 +皂 +淑 +噪 +阀 +咎 +揽 +绮 +瞻 +谜 +拐 +渭 +啥 +彦 +遁 +琐 +喧 +藉 +嫩 +寞 +梳 +溜 +粥 +恤 +迭 +瀑 +蓉 +寥 +彬 +俺 +忿 +螺 +膀 +惫 +扔 +匪 +毙 +怠 +彰 +啸 +荻 +逮 +删 +脊 +轩 +躬 +澡 +衫 +娥 +捆 +牡 +茎 +秉 +俭 +闺 +溺 +萍 +陋 +驳 +撼 +沽 +僮 +厥 +沧 +轿 +棘 +怡 +梭 +嗣 +凄 +℃ +铅 +绛 +祈 +斐 +箍 +爪 +琦 +惶 +刹 +嗜 +窜 +匠 +锤 +筵 +瑶 +幌 +捞 +敷 +酌 +阜 +哗 +聂 +絮 +阱 +膨 +坪 +歪 +旷 +翅 +揣 +樱 +甸 +颐 +兜 +頉 +伽 +绸 +拂 +狎 +颂 +谬 +昊 +皋 +嚷 +徊 +⒂ +曙 +麟 +嚣 +哑 +灞 +钧 +挪 +奎 +肇 +磊 +蕉 +荧 +嗽 +瓒 +苯 +躯 +绎 +鸦 +茵 +澜 +搅 +渺 +恕 +矫 +讽 +匀 +畴 +坞 +谥 +趟 +蔓 +帛 +寅 +呜 +枣 +萌 +磷 +涤 +蚀 +疮 +浊 +煎 +叮 +倩 +拯 +瑰 +涩 +绅 +枉 +朽 +哺 +邱 +凿 +莽 +隋 +炳 +睁 +澄 +厄 +惰 +粤 +黯 +纬 +哦 +徘 +炜 +擒 +捏 +帷 +攒 +湛 +夙 +滤 +浐 +霄 +豁 +甄 +剔 +丫 +愕 +袜 +呕 +| +蹲 +皱 +勘 +辜 +唬 +葱 +甩 +诡 +猿 +稻 +宦 +姨 +橡 +涧 +亢 +芽 +濒 +蹄 +窍 +譬 +驿 +拢 +叱 +喂 +怯 +坝 +椰 +孽 +阖 +瞩 +萎 +镑 +簿 +婷 +咐 +郸 +瑜 +瑚 +矮 +祷 +窟 +藩 +牟 +疡 +仑 +谣 +侄 +沐 +孜 +劈 +枸 +妮 +蔚 +勋 +玫 +虾 +谴 +莹 +紊 +瓷 +魁 +淄 +扛 +曩 +柄 +滔 +缀 +闽 +莞 +恳 +磅 +耸 +灶 +埠 +嚼 +汲 +恍 +逗 +畸 +翩 +甥 +蚁 +耽 +稚 +戟 +戊 +侃 +帜 +璧 +碟 +敞 +晖 +匙 +烫 +眷 +娟 +卦 +寐 +苌 +馨 +锣 +谛 +桐 +钥 +琅 +赁 +蜡 +颤 +陇 +僻 +埔 +腥 +皎 +酝 +媳 +⒃ +翘 +缔 +葫 +吼 +侮 +淹 +瘫 +窘 +啖 +犀 +弒 +蕾 +偕 +笃 +栽 +唾 +陀 +汾 +俨 +呐 +膳 +锌 +瞧 +骏 +笨 +琢 +踩 +濮 +黛 +墟 +蒿 +歹 +绰 +捍 +诫 +漓 +篷 +咄 +诬 +乓 +梨 +奕 +睿 +嫡 +幢 +砸 +俞 +亟 +捣 +溯 +饵 +嘘 +砂 +凰 +丕 +荥 +赀 +薇 +滕 +袱 +辍 +疹 +泗 +韧 +撕 +磕 +梗 +挚 +挠 +嫉 +奚 +弩 +蝉 +罐 +敝 +鞍 +晦 +酣 +搁 +柿 +菠 +卞 +煞 +堤 +蟹 +骼 +晤 +娡 +潇 +胰 +酱 +郦 +脖 +檐 +桩 +踵 +禾 +狩 +盏 +弈 +牒 +拙 +喇 +舶 +炊 +喀 +黔 +挟 +钞 +缕 +俏 +娄 +粪 +颅 +锏 +凹 +饲 +肘 +赟 +吝 +襟 +琪 +谕 +飙 +秽 +颊 +渝 +卯 +捡 +氢 +桀 +裳 +滇 +浇 +礁 +◎ +蚊 +芙 +荀 +吩 +凳 +峨 +巍 +雉 +郢 +铲 +倪 +杳 +汹 +豚 +乍 +蛙 +驼 +嗅 +讫 +痰 +棵 +睫 +绒 +捻 +罔 +杠 +氟 +堰 +羁 +穰 +钠 +骸 +睾 +鳞 +邸 +於 +谧 +睢 +泾 +芹 +钾 +颓 +Ⅱ +笋 +橘 +卉 +岐 +懿 +巅 +垮 +嵩 +柰 +鲨 +涡 +弧 +◆ +钝 +啃 +熹 +芭 +隅 +拌 +锥 +抒 +焕 +漳 +鸽 +烘 +瞪 +⒄ +箕 +驯 +恃 +靴 +刁 +聋 +剿 +筝 +绞 +鞅 +夯 +抉 +嘻 +弛 +垢 +衾 +丐 +斟 +恙 +雁 +匮 +娼 +鞠 +扼 +镶 +樵 +菇 +兖 +夭 +戌 +褚 +渲 +硫 +挞 +衙 +闫 +绾 +衅 +掣 +磋 +袒 +龚 +叨 +揉 +贻 +瑛 +俾 +薯 +憎 +傣 +炬 +荤 +烁 +沂 +粑 +蚌 +渣 +茄 +荼 +愍 +蒜 +菱 +狡 +蠡 +戍 +畤 +闵 +颍 +酋 +芮 +渎 +霆 +哼 +韬 +荫 +辙 +榄 +骆 +锂 +肛 +菑 +揪 +皖 +秃 +拽 +诟 +槐 +髦 +脓 +殡 +闾 +怅 +雯 +\ +戮 +澎 +悖 +嗓 +贮 +炙 +跋 +玮 +霖 +皓 +煽 +娠 +肋 +闸 +眩 +慷 +迂 +酉 +赘 +蝇 +羌 +蔑 +氯 +蚕 +汀 +憋 +臾 +汕 +缸 +棚 +唉 +棕 +裟 +蚡 +驮 +簇 +橙 +〉 +蹇 +庇 +佼 +禧 +崎 +痘 +芜 +姥 +绷 +惮 +雏 +⒅ +恬 +庵 +瞎 +臀 +胚 +嘶 +铀 +靳 +呻 +膺 +醛 +憧 +嫦 +橄 +褐 +讷 +趾 +讹 +鹊 +谯 +喋 +篡 +郝 +嗟 +琉 +逞 +袈 +鲧 +虢 +穗 +踰 +栓 +钊 +鬻 +羹 +掖 +笞 +恺 +掬 +憨 +狸 +瑕 +匡 +〈 +痪 +冢 +梧 +眺 +佑 +愣 +撇 +阏 +疚 +攘 +昕 +瓣 +烯 +谗 +隘 +酰 +绊 +鳌 +俟 +嫔 +崭 +妊 +雒 +荔 +毯 +纶 +祟 +爹 +辗 +竿 +裘 +犁 +柬 +恣 +阑 +榆 +翦 +佟 +钜 +札 +隧 +⒆ +腌 +砌 +酥 +辕 +铬 +痔 +讥 +毓 +橐 +跻 +酮 +殉 +哙 +亵 +锯 +糜 +壬 +瞭 +恻 +轲 +糙 +涿 +绚 +荟 +梢 +赣 +沼 +腑 +朦 +徇 +咋 +膊 +陡 +骋 +伶 +涓 +芷 +弋 +枫 +觑 +髻 +巳 +匣 +蠕 +恪 +槟 +栎 +噩 +葵 +殃 +淤 +诠 +昵 +眸 +馁 +奄 +绽 +闱 +蛛 +矜 +馔 +遐 +骡 +罹 +遑 +隍 +拭 +祁 +︰ +霁 +釜 +钵 +栾 +睦 +蚤 +咏 +憬 +韶 +圭 +觇 +芸 +氓 +伎 +氮 +靓 +淆 +绢 +眈 +掐 +簪 +搀 +玺 +镐 +竺 +峪 +冉 +拴 +忡 +卤 +撮 +胧 +邛 +彝 +楠 +缭 +棠 +腮 +祛 +棱 +睨 +嫖 +圉 +杵 +萃 +沁 +嬉 +擂 +澈 +麽 +轸 +彘 +褥 +廓 +狙 +笛 +彗 +啬 +盂 +贲 +忏 +驺 +悚 +豨 +旌 +娩 +扃 +蹦 +扈 +凛 +驹 +剃 +孺 +〕 +吆 +驷 +迸 +毗 +〔 +熔 +逍 +癸 +稼 +溥 +嫣 +瓮 +胱 +痊 +逡 +疟 +苻 +曪 +拣 +戛 +臻 +缉 +懊 +竣 +囤 +侑 +肽 +缮 +绥 +踝 +壑 +娴 +猝 +焻 +禀 +漱 +碁 +蹬 +祗 +濡 +挝 +亳 +萦 +癖 +彀 +毡 +锈 +憩 +筷 +莒 +噬 +珀 +砝 +鬓 +瑾 +澧 +栈 +恚 +搓 +褒 +疤 +沌 +絷 +镖 +塾 +钗 +骊 +拷 +铂 +郄 +窒 +驸 +裨 +矗 +烙 +惬 +炖 +赍 +迥 +蹴 +炽 +诧 +闰 +糯 +捅 +茜 +漯 +﹐ +峭 +哇 +鹑 +疵 +梓 +骠 +咫 +鹦 +檀 +痹 +侥 +蘑 +衢 +灸 +琵 +琶 +懦 +邺 +扪 +痿 +苔 +拇 +腋 +薨 +馅 +雠 +敕 +捂 +鴈 +栅 +瓯 +嘿 +溉 +胳 +拎 +巿 +赃 +咕 +诃 +谤 +舁 +禺 +榨 +– +拈 +瘙 +眯 +篱 +鬟 +咯 +抨 +桨 +岱 +赡 +蹶 +惚 +嗔 +喏 +聆 +曜 +窑 +瘢 +柠 +蕃 +寤 +攫 +饷 +佬 +臼 +皈 +蟒 +啜 +蔗 +汶 +酪 +豕 +窖 +膛 +檬 +戾 +蟠 +黍 +鲸 +漾 +猾 +驭 +踊 +稠 +脯 +潍 +倭 +谑 +猖 +聒 +骞 +熄 +渍 +瞳 +蒯 +陉 +褪 +筐 +彤 +蝴 +廪 +嬴 +沱 +闼 +橱 +蜚 +蹭 +鄢 +臆 +邳 +盔 +眶 +沓 +飨 +覃 +彷 +淌 +岚 +霹 +辔 +袂 +嗤 +榔 +鸾 +綦 +莘 +媲 +翊 +雳 +箸 +蚩 +茸 +嗦 +楷 +韭 +簸 +帚 +坍 +後 +璋 +剽 +渤 +骥 +犊 +迩 +悯 +饪 +搂 +鹉 +岑 +觞 +棣 +蕊 +诳 +黥 +藻 +郜 +舵 +毂 +茗 +忱 +铿 +谙 +怆 +钳 +佗 +瀚 +亘 +铎 +咀 +濯 +鼾 +酵 +酯 +麾 +Ⅰ +笙 +ü +缨 +翳 +龈 +忒 +煦 +顼 +俎 +圃 +刍 +喙 +羲 +陨 +嘤 +梏 +颛 +蜒 +啮 +镁 +辇 +葆 +蔺 +筮 +溅 +佚 +匾 +暄 +谀 +媵 +纫 +砀 +悸 +啪 +迢 +瞽 +莓 +瞰 +俸 +珑 +骜 +穹 +麓 +潢 +妞 +铢 +忻 +铤 +劾 +樟 +俐 +缗 +煲 +粱 +虱 +淇 +徼 +脐 +鼋 +嘈 +悴 +捶 +嚏 +挛 +谚 +螃 +殴 +瘟 +掺 +〇 +酚 +梵 +栩 +褂 +摹 +蜿 +钮 +箧 +胫 +馒 +焱 +嘟 +芋 +踌 +圜 +衿 +峙 +宓 +腆 +佞 +砺 +婪 +瀛 +苷 +昱 +贰 +秤 +扒 +龁 +躇 +翡 +宥 +弼 +醮 +缤 +瘗 +鳖 +擞 +眨 +礶 +锢 +辫 +儋 +纭 +洼 +漕 +飓 +纂 +繇 +舷 +勺 +诲 +捺 +瞑 +啻 +蹙 +佯 +茹 +怏 +蛟 +鹭 +烬 + +兀 +檄 +浒 +胤 +踞 +僖 +卬 +爇 +璀 +暧 +髡 +蚂 +饽 +镰 +陂 +瞌 +诽 +钺 +沥 +镍 +耘 +燎 +祚 +儣 +莺 +屎 +辘 +鸥 +驩 +氐 +匕 +銮 +━ +苴 +憔 +渥 +袅 +瞿 +瓢 +痣 +蘸 +蹑 +玷 +惺 +轧 +喃 +潺 +唏 +逅 +懵 +帏 +唠 +徨 +咤 +抠 +蛊 +苇 +铮 +疙 +闳 +砥 +羸 +遨 +哎 +捽 +钏 +壹 +昇 +擢 +贽 +汴 +砰 +牝 +蔼 +熠 +粽 +绌 +杼 +麒 +叭 +颔 +锭 +妍 +姒 +邂 +濞 +轶 +搔 +蹊 +阂 +垦 +猕 +伫 +瘩 +璐 +黠 +婺 +噫 +潞 +呱 +幡 +汞 +缯 +骁 +墩 +赧 +瞥 +媛 +瞠 +羔 +轼 +Ⅲ +拗 +鹞 +搴 +诮 +趴 +凋 +撩 +芥 +缎 +摒 +泮 +惘 +骛 +瘳 +姝 +β +渚 +吠 +稣 +獘 +篃 +罄 +吒 +茧 +黜 +缢 +獗 +诅 +絜 +蜕 +屹 +哽 +缄 +俑 +坷 +杓 +剁 +锺 +鹜 +谩 +岔 +籽 +磬 +溍 +邃 +钨 +甬 +笥 +蝠 +龋 +鸱 +孚 +馍 +溴 +妫 +偎 +烽 +椽 +阮 +酗 +惋 +牍 +觥 +瞅 +涣 +狈 +锰 +椟 +饺 +溲 +谪 +掇 +蓟 +倔 +鞫 +猢 +笄 +翕 +嗥 +卺 +寰 +狞 +洮 +炕 +夡 +瘠 +磺 +肱 +奭 +耆 +棂 +娅 +咚 +豌 +樗 +诩 +斡 +榈 +琛 +狲 +蕲 +捎 +戳 +炯 +峦 +嘎 +睬 +怙 +疱 +霎 +哂 +鱿 +涸 +咦 +痉 +$ +抟 +庖 +沅 +瑙 +珏 +祜 +楞 +漉 +鸠 +镂 +诰 +谄 +蜗 +嗒 +珂 +祯 +鸳 +殒 +潼 +柩 +萤 +柑 +轵 +缰 +淼 +冗 +蕙 +鳄 +嘀 +彊 +峥 +雹 +藜 +笠 +岖 +傥 +潦 +苞 +蛰 +嬖 +僦 +碣 +裰 +疸 +湮 +昴 +榷 +涎 +攸 +砾 +跖 +恂 +舄 +麝 +貂 +孢 +捋 +笈 +璨 +粕 +浚 +鹃 +歆 +漪 +岷 +咧 +殁 +篆 +湃 +侏 +傈 +殇 +霭 +嚎 +拊 +崂 +鬲 +碉 +菁 +庾 +拚 +旃 +幺 +皿 +焊 +噢 +祺 +锚 +痤 +翎 +醺 +噶 +傀 +俛 +秧 +谆 +僳 +菽 +绯 +瘥 +盥 +蹋 +髯 +岌 +痧 +偌 +禳 +簧 +跤 +伉 +腼 +爰 +箫 +曦 +蜘 +霓 +愆 +姗 +陬 +楂 +嵘 +蜓 +浼 +癫 +瓠 +跷 +绐 +枷 +墀 +馕 +盹 +聩 +镯 +砚 +晁 +僊 +° +坂 +煜 +俚 +眛 +焘 +阍 +袄 +夔 +馋 +泸 +庠 +毐 +飚 +刭 +琏 +羿 +斓 +稔 +阉 +喾 +恸 +耦 +咪 +蝎 +唿 +桔 +缑 +诋 +訾 +迨 +鹄 +蟾 +鬣 +廿 +莅 +荞 +槌 +媾 +愦 +郏 +淖 +嗪 +镀 +畦 +颦 +浃 +牖 +襁 +怂 +唆 +嚭 +涟 +拮 +腓 +缥 +郫 +遴 +邾 +悒 +嗝 +殽 +跛 +掂 +撬 +鄣 +鄱 +斫 +窿 +兕 +壕 +疽 +铙 +吱 +厩 +甭 +镪 +篝 +踣 +眦 +啧 +糠 +鲤 +粲 +噱 +椭 +哟 +潸 +铆 +姣 +馥 +胙 +迦 +偻 +嗯 +陟 +爲 +桧 +鸯 +恿 +晌 +臱 +骈 +喽 +淅 +澹 +叽 +桢 +刨 +忑 +忐 +猩 +蝙 +旄 +晾 +吭 +荏 +觐 +胄 +榛 +豢 +堑 +帔 +咙 +柚 +僭 +锵 +√ +肮 +囿 +忤 +惴 +燮 +棹 +摈 +缈 +幛 +墉 +诎 +仞 +剌 +氇 +泯 +茱 +獾 +豺 +蜃 +殂 +窈 +倨 +褓 +詈 +砷 +邕 +薰 +頫 +焖 +痫 +痢 +掾 +獐 +簌 +雎 +é +帧 +鸩 +匝 +桅 +椁 +绫 +桡 +氆 +哌 +咛 +鞘 +辎 +缙 +玑 +佤 +垓 +槿 +蛤 +烨 +泓 +罴 +鄜 +褶 +瘀 +颌 +蹂 +弑 +珪 +曷 +膑 +惦 +咆 +梆 +蛾 +牂 +髅 +捱 +拧 +婧 +踱 +怵 +侗 +屉 +讪 +衲 +麋 +宕 +畿 +唧 +怛 +豉 +籁 +觌 +舂 +蓦 +廨 +胪 +怍 +鄄 +绶 +飕 +蜻 +欷 +邬 +杲 +汧 +唑 +冽 +邰 +鼍 +魇 +铐 +哝 +泱 +扞 +飒 +醴 +陲 +喟 +筠 +殓 +瘸 +倏 +嗳 +啕 +睑 +翌 +à +幄 +娓 +蓺 +妩 +奁 +璜 +桦 +朐 +榕 +礴 +儡 +婕 +觎 +觊 +绦 +猥 +涮 +倬 +袤 +啄 +掳 +椿 +俪 +噜 +摞 +※ +鄗 +漩 +悝 +淞 +袴 +僇 +酹 +搒 +跽 +鳍 +疣 +姁 +猗 +舛 +鞮 +砭 +郯 +徕 +纥 +梃 +卮 +肣 +湎 +怦 +揄 +迕 +芍 +珥 +羚 +喔 +缁 +涝 +栉 +犷 +汜 +悻 +呛 +赭 +淬 +泫 +炀 +箴 +镌 +髫 +拄 +怔 +炷 +桎 +巽 +汭 +鹫 +挈 +蝄 +噙 +锄 +邴 +歔 +瘪 +腴 +呗 +慵 +撺 +欤 +阡 +傩 +苫 +掰 +盅 +冑 +躏 +茉 +霾 +耄 +楹 +蹻 +苋 +鲠 +哆 +傒 +榭 +牦 +婶 +仃 +囱 +皙 +醦 +隰 +掼 +琖 +駆 +暲 +砒 +舀 +鹗 +犒 +斛 +甑 +楫 +嫪 +胭 +瘁 +铛 +藕 +簋 +腭 +睽 +阕 +裀 +砧 +蓼 +贳 +劬 +搽 +龏 +荃 +奘 +祎 +泵 +攥 +翱 +晟 +酎 +睇 +逋 +箔 +羟 +诙 +饬 +跆 +眇 +佻 +铠 +娑 +郧 +葭 +蝗 +郓 +幞 +鉏 +碾 +硒 +釉 +磔 +殄 +藐 +莠 +颧 +熨 +獠 +浞 +笺 +癣 +茬 +衽 +喳 +裾 +倜 +鸢 +蠹 +廛 +惆 +芈 +燔 +伛 +妗 +佃 +缜 +咣 +龛 +挎 +徵 +粼 +锉 +啾 +隼 +猬 +镳 +璇 +胯 +饕 +揩 +縠 +虮 +苓 +噎 +祓 +筰 +奂 +搪 +喁 +俦 +隗 +馏 +圩 +褫 +僰 +吮 +哧 +湫 +旻 +筏 +搢 +佶 +茕 +铣 +娆 +揍 +嗷 +柈 +蕨 +绖 +旎 +汨 +畑 +鳏 +厝 +溷 +楯 +卅 +祇 +′ +怼 +焯 +± +柘 +骷 +澍 +▲ +` +珞 +褊 +╱ +痂 +罘 +殚 +垠 +缧 +瑁 +齮 +蓐 +怿 +蹿 +豳 +犴 +孵 +筱 +蜷 +窋 +泞 +肄 +祐 +窕 +酆 +谶 +阗 +讙 +镝 +匍 +腱 +^ +镬 +仡 +樾 +驽 +峒 +蟆 +葳 +徉 +昙 +罡 +耜 +嗨 +氲 +骅 +襦 +浔 +纮 +洱 +氦 +舐 +黙 +臊 +縯 +汛 +蹀 +溟 +枥 +祉 +铄 +豸 +揶 +馀 +闇 +呷 +仄 +焒 +嗡 +崆 +匳 +皑 +匐 +÷ +诿 +髭 +鲰 +鲲 +筴 +侬 +鹳 +滂 +△ +橹 +邈 +弭 +弁 +樽 +揆 +幔 +纨 +踉 +帼 +跸 +搠 +缞 +氤 +旒 +旖 +屣 +孱 +槁 +铉 +榼 +沣 +娣 +娈 +夤 +壅 +枇 +讴 +埶 +阆 +杷 +浣 +狰 +愠 +蚓 +咿 +藿 +欻 +萸 +刽 +稞 +刎 +骖 +冁 +骰 +嵯 +濂 +跚 +湄 +釂 +麤 +珰 +舔 +谮 +坨 +嗲 +埒 +锲 +鲇 +煨 +耎 +绻 +楣 +噉 +谟 +嗖 +裆 +晗 +囹 +黝 +讣 +薏 +⑴ +貉 +椹 +蟜 +犍 +蜇 +秏 +呶 +箩 +悞 +妤 +搐 +芪 +呦 +恽 +赊 +侩 +绁 +猱 +遒 +镵 +鸮 +趺 +簏 +迤 +坼 +痼 +棰 +凫 +诂 +骀 +瘴 +螨 +阚 +臃 +葩 +篓 +谲 +悌 +嬗 +颉 +赉 +珈 +汩 +薮 +亶 +鬃 +蒽 +黾 +噤 +螫 +嶲 +湍 +畲 +徜 +衮 +茀 +蓍 +┐ +遛 +磐 +篁 +遘 +乩 +蹒 +≥ +鸵 +褴 +苒 +郈 +踽 +叵 +咻 +伋 +襆 +歙 +伧 +醳 +鄠 +茴 +赳 +矾 +圄 +楮 +坯 +蕤 +迓 +锱 +腉 +滦 +饯 +诤 +懋 +呤 +纡 +隽 +妲 +蜴 +┌ +疋 +噻 +愀 +龊 +琨 +镭 +藓 +镣 +滈 +蓓 +杪 +糗 +菅 +椀 +懑 +苎 +劓 +囫 +α +啰 +钼 +烷 +兒 +脔 +郴 +忖 +芎 +啶 +巉 +钒 +缒 +蝼 +龌 +沔 +醢 +晔 +孳 +忝 +嗫 +橇 +勖 +宸 +佰 +蜈 +酞 +蔷 +糅 +噭 +猊 +儇 +觳 +缟 +郐 +眙 +赅 +剜 +徭 +蛭 +愎 +唔 +瘘 +魋 +镉 +殛 +茏 +邋 +垛 +垩 +焙 +篾 +羯 +浍 +鏖 +嚓 +躞 +堃 +烩 +莴 +¥ +绠 +纔 +衩 +糁 +≤ +町 +粝 +玳 +穑 +葺 +钲 +徂 +﹖ +棓 +泷 +涪 +囵 +怫 +屦 +歘 +鐘 +『 +裱 +缱 +圹 +罂 +荦 +腈 +愬 +坭 +嗛 +铩 +馐 +媸 +遢 +て +渑 +曛 +粳 +蹰 +舫 +勐 +窭 +濠 +亹 +跄 +琥 +戢 +駹 +燧 +嫜 +峄 +竽 +膈 +荚 +姞 +赇 +樭 +澙 +笮 +嶙 +氰 +孀 +崧 +郾 +蜥 +阊 +篙 +狻 +靛 +虬 +赝 +篑 +榇 +鞑 +侪 +盍 +疝 +矽 +堙 +毶 +泠 +瞟 +癀 +镞 +酤 +涔 +譄 +唁 +薜 +郿 +⑵ +爻 +盱 +膻 +菡 +⒉ +绨 +埽 +О +鳜 +醚 +阃 +遶 +岿 +張 +椐 +酺 +蔟 +螂 +辂 +窠 +淙 +鷪 +貋 +刳 +骶 +恫 +挹 +婀 +铳 +蒍 +孥 +蚣 +唳 +纻 +Ⅳ +甾 +旘 +膘 +< +脍 +耨 +翮 +赈 +浜 +洹 +蛎 +魉 +纰 +岫 +坌 +捭 +睒 +轺 +锗 +稗 +崚 +仫 +珩 +庑 +邽 +麃 +』 +縻 + +嗑 +瞋 +螭 +绔 +喱 +‰ +痞 +咔 +埤 +疥 +猷 +洺 +啁 +讦 +礻 +餮 +泅 +蛹 +癞 +妁 +桞 +匏 +琮 +铨 +杌 +孑 +菟 +骐 +钡 +钚 +莆 +荪 +魑 +峇 +斄 +缶 +茭 +煅 +酩 +酢 +湟 +潏 +嘌 +韪 +苣 +蛆 +侔 +帑 +鸨 +愫 +芫 +郪 +踔 +骧 +茁 +溧 +皁 +蜔 +魍 +瀹 +楔 +祧 +粜 +晡 +蹩 +畎 +啱 +窳 +瞾 +甙 + + +绺 +貔 + +痈 +舡 +葴 +耋 +囔 +П +蚯 +笆 +鲐 +踧 +遫 +踟 +Р +溊 +咂 +锹 +笫 +癔 +觜 +涒 +碓 +蛲 +跺 +枞 +茔 +⒈ +谸 +抿 +擘 +跬 +愛 +浿 +∩ +黟 +枰 +な +轘 +荠 +郇 +姮 +锑 +妳 +饴 +绡 +奡 +夥 +钤 +俅 +酊 +潴 +绀 +髋 +獬 +儆 +産 +乂 +餍 +颡 +胾 +碛 +貊 +魭 +钿 +鸬 +喑 +哏 +牯 +蜍 +摁 +嶓 +俳 +蟭 +躅 +羖 +鳃 +孛 +羑 +濑 +雩 +焜 +鸷 +箦 +茯 +醪 +鹂 +铚 +缳 +螳 +酇 +蛔 +罃 +珐 +苕 +罅 +蛀 +庳 +褛 +罥 +艮 +娲 +蒺 +娉 +撵 +禨 +蓖 +姹 +戕 +庥 +岬 +痍 +烜 +窴 +邠 +蹉 +诨 +狁 +顒 +莨 +阈 +嘹 +戆 +窎 +儙 +螾 +纾 +嵋 +镕 +跣 +繻 +枳 +菏 +赜 +槃 +趄 +煊 +嬛 +抡 +睚 +跹 +壖 +戗 +⑶ +榫 +沬 +崴 +颚 +畼 +嫚 +嚋 +珮 +◇ +娀 +枋 +獭 +畀 +谇 +欃 +瓴 +龂 +鲋 +鹆 +鳝 +郕 +疴 +偈 +诒 +讧 +惇 +跂 +扢 +爨 +赪 +苡 +鈇 +晞 +亓 +釐 +槊 +寘 +暾 +莩 +徳 +钹 +冏 +書 +麂 +撂 +犨 +滁 +孪 +刓 +逶 +澝 +嬃 +黡 +沕 +恝 +洟 +秸 +逑 +滓 +緃 +媢 +叼 +霣 +⒊ +慝 +厍 +炟 +皤 +囐 + +硼 +楸 +瞀 +烝 +炔 +瓻 +耙 +腩 +醵 +锽 +殪 +樯 +芡 +∈ +↓ +缵 +伻 +玊 +桠 +觚 +踯 +噔 +碴 +砣 +忪 +藁 +镒 +佝 +峤 +峣 +搤 +汐 +嗾 +鞚 +巂 +楗 +呓 +狒 +開 +坻 +蘧 +趵 +榱 +锷 +锾 +隳 +饟 +饦 +馎 +驵 +骘 +髀 +髑 +鮼 +鲑 +鲔 +鹘 +鹚 +﹔ +│ +刈 +刖 +剎 +啐 +嘭 +噌 +噗 +嚬 +嚰 +圯 +坳 +嫄 +寖 +尻 +峋 +崃 +嶂 +嶶 +帇 +幤 +悫 +慙 +扌 +揜 +撝 +旳 +昀 +昃 +暹 +玕 +琰 +璆 +玃 +疃 +猃 +皴 +狃 +祊 +燹 +燠 +熛 +窣 +窬 +糌 +糍 +紬 +濩 +飧 +肸 +脲 +臬 +芘 +荜 +蔫 +襜 +觖 +豭 +贇 +氩 +氖 +趸 +檠 +檇 +邘 +鄏 +酡 +鑙 +钴 +铵 +氅 +莜 +柢 +悭 +鄳 +蒗 +虺 +沇 +薤 +踹 +墠 +唶 +骍 +镊 +镛 +帨 +逖 +氡 +鹣 +恹 +臛 +呃 +幂 +鹖 +間 +磛 +弢 +蛐 +懜 +凇 +闟 +璟 +遹 +肓 +剐 +垝 +杅 +笤 +佈 +撷 +佘 +嚅 +蝮 +谳 +蚝 +栀 +眢 +∵ +蓿 +枵 +橪 +騳 +≠ +蟋 +嗌 +玦 +嗄 +劙 +騠 +鞣 +唢 +茆 +蚰 +喹 +趱 +珅 +喆 +谔 +苄 +靥 +鲛 +洫 +颀 +趹 +蛩 +馓 +轫 +叡 +蒉 +睪 +漦 +胝 +瘐 +逦 +嶷 +傕 +斲 +嵬 +缇 +洙 +瘵 +縢 +渖 +價 +灊 +訇 +醍 +膦 +癜 +歃 +钎 +讵 +钰 +嫱 +婊 +狝 +榧 +脁 +柞 \ No newline at end of file diff --git a/test.txt b/test.txt new file mode 100644 index 0000000..4ba947e --- /dev/null +++ b/test.txt @@ -0,0 +1,146 @@ +test_1.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_2.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_3.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_4.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_5.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_6.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_7.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_8.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_9.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_10.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_11.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_12.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_13.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_14.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_15.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_16.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_17.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_18.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_19.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_20.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_21.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_22.png 8 222 66 777 41 583 1691 1286 818 2 155 457 +test_23.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_24.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_25.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_26.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_27.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_28.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_29.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_30.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_31.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_32.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_33.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_34.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_35.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_36.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_37.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_38.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_39.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_40.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_41.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_42.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_43.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_44.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_45.png 5 16 59 727 122 259 673 564 1471 84 9 336 +test_46.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_47.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_48.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_49.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_50.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_51.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_52.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_53.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_54.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_55.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_56.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_57.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_58.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_59.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_60.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_61.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_62.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_63.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_64.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_65.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_66.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_67.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_68.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_69.png 2 154 122 1368 340 3 564 1471 84 9 61 1368 +test_70.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_71.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_72.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_73.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_74.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_75.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_76.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_77.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_78.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_79.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_80.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_81.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_82.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_83.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_84.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_85.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_86.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_87.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_88.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_89.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_90.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_91.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_92.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_93.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_94.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_95.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_96.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_97.png 340 263 82 28 222 66 55 219 2 564 1471 3 +test_98.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_99.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_100.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_101.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_102.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_103.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_104.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_105.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_106.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_107.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_108.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_109.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_110.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_111.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_112.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_113.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_114.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_115.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_116.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_117.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_118.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_119.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_120.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_121.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_122.png 564 169 340 525 702 564 1471 84 9 336 340 28 +test_123.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_124.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_125.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_126.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_127.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_128.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_129.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_130.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_131.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_132.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_133.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_134.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_135.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_136.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_137.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_138.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_139.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_140.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_141.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_142.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_143.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_144.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_145.png 564 1471 412 9 336 340 1 8 134 230 167 335 +test_146.png 564 1471 412 9 336 340 1 8 134 230 167 335 From 68d9454fbda11e26280a303835b6cdfe53e3b32b Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Fri, 26 Jan 2018 13:57:48 +0800 Subject: [PATCH 05/15] Add files via upload --- train/test_1.png | Bin 0 -> 4557 bytes train/test_2.png | Bin 0 -> 5276 bytes train/test_3.png | Bin 0 -> 6656 bytes train/test_4.png | Bin 0 -> 4375 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 train/test_1.png create mode 100644 train/test_2.png create mode 100644 train/test_3.png create mode 100644 train/test_4.png diff --git a/train/test_1.png b/train/test_1.png new file mode 100644 index 0000000000000000000000000000000000000000..38bea76e9e41a96269bc1df7003b6955662ad871 GIT binary patch literal 4557 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 KMNUMnLSTY&h8I}? literal 0 HcmV?d00001 diff --git a/train/test_4.png b/train/test_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d23a49fcc76a98ab2ebde91e8d7b773387b51dec GIT binary patch literal 4375 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 RL8$-$002ovPDHLkV1f@*bTI$` literal 0 HcmV?d00001 From 2cdc68e1b313fec590f38cdc61ce6def5073876d Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Fri, 26 Jan 2018 14:09:20 +0800 Subject: [PATCH 06/15] Update README.md --- README.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 638ff4b..c8c0f6b 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,14 @@ -# CRNN_Attention_OCR -CRNN with attention to do OCR,this is just a toy code to show how use seq2seq with attention in OCR -## network model -CRNN is base CNN,and BiLSTM with 256 hidden_units is encode network ,GRU with 256 hidden_units is decode network - -## how to use -put your image in 'train' dir,and image name should be like "xx_label_xx.jpg",Parameters are set in config.py,
and then just run the train.py - -## Dependency Library +# 用CRNN+seq2seq+attention识别中文 +中文类别为5990类,类别可以在char_std_5990找到,中文样本的合成参考的是caffe_ocr项目, +## 网络结构 +CNN用的是CRNN中的结构,一层双向lstm做编码器,一层GRU做解码器 +## 如何训练 +训练需要2个txt文件(train.txt,test.txt)保存图片的名字以及label,
+可以在这里下载样本[(caffe_ocr)百度网盘](https://pan.baidu.com/s/1dFda6R3#list/path=%2F)
+在config.py里修改路径,运行train.py +## 依赖 TensorFlow >=1.2
opencv +##引用 +[caffe_ocr](https://github.com/senlinuc/caffe_ocr)
+[attention-ocr-toy-example](https://github.com/ray075hl/attention-ocr-toy-example) From 23e73f2248b9236ac2884ef579cd8b880c6ba144 Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Fri, 26 Jan 2018 14:12:26 +0800 Subject: [PATCH 07/15] Update train.py --- train.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/train.py b/train.py index 3230f39..8df7743 100644 --- a/train.py +++ b/train.py @@ -22,9 +22,9 @@ if ckpt: saver.restore(sess,ckpt) print('restore from the checkpoint{0}'.format(ckpt)) -img,label=cfg.read_data('../dataset/Chinese/','train.txt') +img,label=cfg.read_data(config.train_dir,'train.txt') #img,label=cfg.read_data('test','test.txt') -val_img,val_label=cfg.read_data('test','test.txt') +val_img,val_label=cfg.read_data(config.val_dir,'test.txt') num_train_samples=img.shape[0] num_batches_per_epoch = int(num_train_samples/cfg.BATCH_SIZE) target_in,target_out=cfg.label2int(label) From 552201d6d333c76d7d539ce9be4d66b2556f7981 Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Fri, 26 Jan 2018 14:43:58 +0800 Subject: [PATCH 08/15] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c8c0f6b..b2068fe 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ CNN用的是CRNN中的结构,一层双向lstm做编码器,一层GRU做解码 在config.py里修改路径,运行train.py ## 依赖 TensorFlow >=1.2
-opencv -##引用 +opencv
+## 引用 [caffe_ocr](https://github.com/senlinuc/caffe_ocr)
[attention-ocr-toy-example](https://github.com/ray075hl/attention-ocr-toy-example) From e8da2ea29d52b7b60ef57075d959f4b6caee40e4 Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Tue, 29 May 2018 21:39:25 +0800 Subject: [PATCH 09/15] Update train.py --- train.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/train.py b/train.py index 8df7743..ef5384c 100644 --- a/train.py +++ b/train.py @@ -6,8 +6,15 @@ from sklearn.utils import shuffle loss,train_decode_result,pred_decode_result=build_network(is_training=True) optimizer = tf.train.MomentumOptimizer(learning_rate=cfg.learning_rate, momentum=cfg.momentum, use_nesterov=True) -train_op=optimizer.minimize(loss) -saver = tf.train.Saver(max_to_keep=5) +update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) +with tf.control_dependencies(update_ops): + train_op=optimizer.minimize(loss) +var_list = tf.trainable_variables() +g_list = tf.global_variables() +bn_moving_vars = [g for g in g_list if 'moving_mean' in g.name] +bn_moving_vars += [g for g in g_list if 'moving_variance' in g.name] +var_list += bn_moving_vars +saver = tf.train.Saver(var_list=var_list,max_to_keep=5) sess = tf.Session() sess.run(tf.global_variables_initializer()) From a15ae4d158a6620266f59602e4095b85104138e3 Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Sun, 3 Jun 2018 18:29:29 +0800 Subject: [PATCH 10/15] Update train.py --- train.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/train.py b/train.py index ef5384c..ca572db 100644 --- a/train.py +++ b/train.py @@ -7,8 +7,8 @@ loss,train_decode_result,pred_decode_result=build_network(is_training=True) optimizer = tf.train.MomentumOptimizer(learning_rate=cfg.learning_rate, momentum=cfg.momentum, use_nesterov=True) update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) -with tf.control_dependencies(update_ops): - train_op=optimizer.minimize(loss) + +train_op=optimizer.minimize(loss) var_list = tf.trainable_variables() g_list = tf.global_variables() bn_moving_vars = [g for g in g_list if 'moving_mean' in g.name] From 0bf3a6484e3b84a7a1024d624ae7142c862aee22 Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Tue, 19 Jun 2018 15:33:52 +0800 Subject: [PATCH 11/15] Update config.py --- config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.py b/config.py index b7a25ab..791d037 100644 --- a/config.py +++ b/config.py @@ -1,7 +1,7 @@ import numpy as np import cv2 import os -learning_rate=0.001 +learning_rate=1e-4 momentum=0.9 START_TOKEN = 0 END_TOKEN = 1 From 245a0913a9258fe9225766ef6834a26eeaae7551 Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Sun, 12 Aug 2018 15:36:39 +0800 Subject: [PATCH 12/15] Update train.py fix bn problem --- train.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/train.py b/train.py index ca572db..7e7313a 100644 --- a/train.py +++ b/train.py @@ -6,15 +6,16 @@ from sklearn.utils import shuffle loss,train_decode_result,pred_decode_result=build_network(is_training=True) optimizer = tf.train.MomentumOptimizer(learning_rate=cfg.learning_rate, momentum=cfg.momentum, use_nesterov=True) -update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) - -train_op=optimizer.minimize(loss) var_list = tf.trainable_variables() g_list = tf.global_variables() bn_moving_vars = [g for g in g_list if 'moving_mean' in g.name] bn_moving_vars += [g for g in g_list if 'moving_variance' in g.name] var_list += bn_moving_vars saver = tf.train.Saver(var_list=var_list,max_to_keep=5) +update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) +with tf.control_dependencies(update_ops): + train_op=optimizer.minimize(loss) + sess = tf.Session() sess.run(tf.global_variables_initializer()) From 5e95beee2b6d99d1e0d97acde6e53daa76894a97 Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Sun, 12 Aug 2018 15:37:49 +0800 Subject: [PATCH 13/15] Update infer.py --- infer.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/infer.py b/infer.py index be92ddb..9f60b56 100644 --- a/infer.py +++ b/infer.py @@ -4,8 +4,13 @@ import os loss,train_decode_result,pred_decode_result=build_network(is_training=True) -saver = tf.train.Saver() +var_list = tf.trainable_variables() +g_list = tf.global_variables() +bn_moving_vars = [g for g in g_list if 'moving_mean' in g.name] +bn_moving_vars += [g for g in g_list if 'moving_variance' in g.name] +var_list += bn_moving_vars +saver = tf.train.Saver(var_list=var_list,max_to_keep=5) sess = tf.Session() ckpt = tf.train.latest_checkpoint(cfg.CKPT_DIR) From 667101a43878434fb8798394076d134377d64988 Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Tue, 26 Mar 2019 12:39:56 +0800 Subject: [PATCH 14/15] Update model.py fix embedding bug --- model.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/model.py b/model.py index 4848f1d..baadda6 100644 --- a/model.py +++ b/model.py @@ -2,6 +2,8 @@ import config as cfg from tensorflow.contrib import layers from tensorflow.python.layers.core import Dense +from tensorflow.python.ops import embedding_ops + import numpy as np slim=tf.contrib.slim image = tf.placeholder(tf.float32, shape=(None,cfg.IMAGE_WIDTH,cfg.IMAGE_HEIGHT, 1), name='img_data') @@ -56,8 +58,9 @@ def build_network(is_training): train_output_embed,enc_state= encoder_net(image, 'encode_features',is_training) #vocab_size: 输入数据的总词汇量,指的是总共有多少类词汇,不是总个数,embed_dim:想要得到的嵌入矩阵的维度 - output_embed = layers.embed_sequence(train_output, vocab_size=cfg.VOCAB_SIZE, embed_dim=cfg.VOCAB_SIZE, scope='embed')#有种变为one-hot的意味 - embeddings = tf.Variable(tf.truncated_normal(shape=[cfg.VOCAB_SIZE, cfg.VOCAB_SIZE], stddev=0.1), name='decoder_embedding')#embdding变为类别 + embeddings = tf.get_variable(name='embed_matrix',shape=[cfg.VOCAB_SIZE, cfg.VOCAB_SIZE]) + output_embed=embedding_ops.embedding_lookup(embeddings,train_output) + start_tokens = tf.zeros([cfg.BATCH_SIZE], dtype=tf.int64) From c01df085dff5511d5e6244b95d3a1f21092549fa Mon Sep 17 00:00:00 2001 From: wuxiaolian <2501038982@qq.com> Date: Thu, 6 Jun 2019 11:51:53 +0800 Subject: [PATCH 15/15] Update model.py --- model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model.py b/model.py index baadda6..2c20863 100644 --- a/model.py +++ b/model.py @@ -58,7 +58,7 @@ def build_network(is_training): train_output_embed,enc_state= encoder_net(image, 'encode_features',is_training) #vocab_size: 输入数据的总词汇量,指的是总共有多少类词汇,不是总个数,embed_dim:想要得到的嵌入矩阵的维度 - embeddings = tf.get_variable(name='embed_matrix',shape=[cfg.VOCAB_SIZE, cfg.VOCAB_SIZE]) + embeddings = tf.get_variable(name='embed_matrix',shape=[cfg.VOCAB_SIZE,256]) output_embed=embedding_ops.embedding_lookup(embeddings,train_output)