本发明实施例涉及计算机领域,尤其涉及一种字体识别方法、装置、电子设备及存储介质。
背景技术:
1、在一些应用场景中,用户在看到图片上的某种字体时,可能会想在自己的可编辑文档,例如word文档、ppt文档上来应用该种字体。
2、然而,若非专业人士,用户是无法直接通过视觉确定图片中文字所应用字体的,那么在无法知晓字体的情况下,用户也就无法使用该字体。
3、对此,亟需一种能够识别图片中文字字体的技术方案。
技术实现思路
1、鉴于此,为实现识别图片中文字的字体,本发明实施例提供一种字体识别方法、装置、电子设备及存储介质。
2、第一方面,本发明实施例提供一种字体识别方法,包括:
3、确定待识别图片,所述待识别图片中包含多个文字;
4、从所述待识别图片中提取出多个单字图片,每个所述单字图片中包含一个所述文字;
5、确定每个所述单字图片中的所述文字对应的第一候选字体集;
6、基于每个所述单字图片中的所述文字对应的所述第一候选字体集,确定所述待识别图片中所述文字的字体。
7、在一可能的实施方式中,所述确定每个所述单字图片中的所述文字对应的第一候选字体集,包括:
8、将每个所述单字图片分别输入至已训练的字体识别模型,得到每个所述单字图片对应的预测参数集,所述预测参数集中的预测参数包括字体以及所述单字图片中的文字应用所述字体的概率;
9、基于每个所述单字图片对应的所述预测参数集,确定每个所述单字图片中的所述文字对应的第一候选字体集。
10、在一可能的实施方式中,所述基于每个所述单字图片对应的所述预测参数集,确定每个所述单字图片中的所述文字对应的第一候选字体集,包括:
11、针对每个所述单字图片执行以下处理:
12、按照对应的所述概率从大到小的顺序,对所述单字图片对应的所述预测参数集中多种所述字体进行排序,得到第二字体序列;
13、将所述第二字体序列中,排名前n位的所述字体作为候选字体,得到所述单字图片中的所述文字对应的第一候选字体集,所述n为正整数。
14、在一可能的实施方式中,所述基于每个所述单字图片中的所述文字对应的所述第一候选字体集,确定所述文字的字体,包括:
15、确定多个所述第一候选字体集的并集,并将所述并集确定为所述待识别图片对应的第二候选字体集;
16、按照预设的排序机制对所述第二候选字体集中包括的多种候选字体进行排序,得到第一字体序列;
17、基于所述第一字体序列确定所述待识别文字的字体。
18、在一可能的实施方式中,所述按照预设的排序机制对所述第二候选字体集中包括的多种候选字体进行排序,得到第一字体序列,包括:
19、确定所述第二候选字体集中的每种所述候选字体在多个所述第一候选字体集中的出现次数;
20、若每种所述候选字体对应的所述出现次数各不相同,则按照对应的所述出现次数从大到小的顺序对所述第二候选字体集中的多种所述候选字体进行排序,得到第一字体序列;
21、或者,若每种所述候选字体对应的所述出现次数均相同,则基于每种所述候选字体对应的多个概率对所述第二候选字体集中的多种所述候选字体进行排序,得到第一字体序列,所述概率为多个所述单字图片中的所述文字应用所述候选字体的概率;
22、再或者,若存在两种或两种以上对应的所述出现次数相同的候选字体,则先按照对应的所述出现次数从大到小的顺序对所述第二候选字体集中的多种所述候选字体进行排序,再针对所述第二候选字体集中所述出现次数相同的两种或两种以上候选字体,基于每种所述候选字体对应的多个所述概率对所述两种或两种以上候选字体进行排序,得到第一字体序列。
23、在一可能的实施方式中,所述基于每种所述候选字体对应的多个所述概率对所述第二候选字体集中的多种所述候选字体进行排序,得到第一字体序列,包括:
24、针对所述第二候选字体集中的每种所述候选字体,确定所述候选字体对应的多个所述概率的平均值;
25、按照对应的所述平均值从大到小的顺序,对所述第二候选字体集中的多种所述候选字体进行排序,得到第一字体序列。
26、在一可能的实施方式中,所述方法还包括:
27、对每个所述单字图片分别进行文字识别,得到每个所述单字图片中的文字;
28、利用所述第一字体序列中的每种所述候选字体,分别对识别出的每个所述文字进行字形渲染,并展示渲染结果。
29、在一可能的实施方式中,所述字体识别模型通过以下步骤训练得到:
30、针对预设字体库中的每种字体执行以下处理:
31、利用所述字体对预设文字集中的每一预设文字进行字形渲染,得到字形渲染图片;
32、基于所述字形渲染图片以及所述字体构建一条训练样本,并将所述训练样本归入训练样本集;
33、利用所述训练样本集对初始模型进行训练,得到已训练的字体识别模型。
34、在一可能的实施方式中,在基于所述字形渲染图片以及所述字体构建一条训练样本之前,所述方法还包括:
35、对所述字形渲染图片进行训练数据增强处理;
36、利用训练数据增强处理后的字形渲染图片执行基于所述字形渲染图片以及所述字体构建一条训练样本的步骤。
37、第二方面,本发明实施例提供一种字体识别装置,包括:
38、第一确定模块,用于确定待识别图片,所述待识别图片中包含多个文字;
39、提取模块,用于从所述待识别图片中提取出多个单字图片,每个所述单字图片中包含一个所述文字;
40、第二确定模块,用于确定每个所述单字图片中的所述文字对应的第一候选字体集;
41、第三确定模块,用于基于每个所述单字图片中的所述文字对应的所述第一候选字体集,确定所述文字的字体。
42、在一可能的实施方式中,所述第二确定模块包括:
43、预测单元,用于将每个所述单字图片分别输入至已训练的字体识别模型,得到每个所述单字图片对应的预测参数集,所述预测参数集中的预测参数包括字体以及所述单字图片中的文字应用所述字体的概率;
44、第一确定子单元,用于基于每个所述单字图片对应的所述预测参数集,确定每个所述单字图片中的所述文字对应的第一候选字体集。
45、在一可能的实施方式中,所述第一确定子单元具体用于:
46、针对每个所述单字图片执行以下处理:
47、按照对应的所述概率从大到小的顺序,对所述单字图片对应的所述预测参数集中多种所述字体进行排序,得到第二字体序列;
48、将所述第二字体序列中,排名前n位的所述字体作为候选字体,得到所述单字图片中的所述文字对应的第一候选字体集,所述n为正整数。
49、在一可能的实施方式中,所述第三确定模块包括:
50、求并集单元,用于确定多个所述第一候选字体集的并集,并将所述并集确定为所述待识别图片对应的第二候选字体集;
51、排序子单元,用于按照预设的排序机制对所述第二候选字体集中包括的多种候选字体进行排序,得到第一字体序列;
52、第二确定子单元,用于基于所述第一字体序列确定所述待识别文字的字体。
53、在一可能的实施方式中,所述排序子单元具体用于:
54、确定所述第二候选字体集中的每种所述候选字体在多个所述第一候选字体集中的出现次数;
55、若每种所述候选字体对应的所述出现次数各不相同,则按照对应的所述出现次数从大到小的顺序对所述第二候选字体集中的多种所述候选字体进行排序,得到第一字体序列;
56、或者,若每种所述候选字体对应的所述出现次数均相同,则基于每种所述候选字体对应的多个概率对所述第二候选字体集中的多种所述候选字体进行排序,得到第一字体序列,所述概率为多个所述单字图片中的所述文字应用所述候选字体的概率;
57、再或者,若存在两种或两种以上对应的所述出现次数相同的候选字体,则先按照对应的所述出现次数从大到小的顺序对所述第二候选字体集中的多种所述候选字体进行排序,再针对所述第二候选字体集中的所述出现次数相同的两种或两种以上候选字体,基于每种所述候选字体对应的多个所述概率对所述两种或两种以上候选字体进行排序,得到第一字体序列。
58、在一可能的实施方式中,所述排序子单元基于每种所述候选字体对应的多个所述概率对所述第二候选字体集中的多种所述候选字体进行排序,得到第一字体序列,具体包括:
59、针对所述第二候选字体集中的每种所述候选字体,确定所述候选字体对应的多个所述概率的平均值;
60、按照对应的所述平均值从大到小的顺序,对所述第二候选字体集中的多种所述候选字体进行排序,得到第一字体序列。
61、在一可能的实施方式中,所述装置还包括:
62、文字识别模块,用于对每个所述单字图片分别进行文字识别,得到每个所述单字图片中的文字;
63、渲染模块,用于利用所述第一字体序列中的每种所述候选字体,分别对识别出的每个所述文字进行字形渲染,并展示渲染结果。
64、在一可能的实施方式中,所述装置还包括:模型训练模块,具体用于:
65、针对预设字体库中的每种字体执行以下处理:
66、利用所述字体对预设文字集中的每一预设文字进行字形渲染,得到字形渲染图片;
67、基于所述字形渲染图片以及所述字体构建一条训练样本,并将所述训练样本归入训练样本集;
68、利用所述训练样本集对初始模型进行训练,得到已训练的字体识别模型。
69、在一可能的实施方式中,所述装置还包括:
70、预处理模块,用于在基于所述字形渲染图片以及所述字体构建一条训练样本之前,对所述字形渲染图片进行训练数据增强处理;
71、利用训练数据增强处理后的字形渲染图片执行基于所述字形渲染图片以及所述字体构建一条训练样本的步骤。
72、第三方面,本发明实施例提供一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的字体识别程序,以实现第一方面中任一项所述的字体识别方法。
73、第四方面,本发明实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面中任一项所述的字体识别方法。
74、本发明实施例提供的技术方案,通过确定包含多个文字的待识别图片,从待识别图片中提取出多个单字图片,确定每个单字图片中的文字对应的第一候选字体集,基于每个单字图片中的文字对应的第一候选字体集,确定待识别图片中文字的字体,实现了对图片中的文字进行字体识别,以便于用户应用;同时,由于本发明实施例提供的技术方案以单个文字为粒度分别进行字体识别,再综合多个文字各自的字体识别结果确定最终的字体识别结果,能够提高字体识别结果的准确性。