CN112712070A - 一种珠算题的判题方法、装置、电子设备及存储介质 - Google Patents
一种珠算题的判题方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112712070A CN112712070A CN202110323127.7A CN202110323127A CN112712070A CN 112712070 A CN112712070 A CN 112712070A CN 202110323127 A CN202110323127 A CN 202110323127A CN 112712070 A CN112712070 A CN 112712070A
- Authority
- CN
- China
- Prior art keywords
- calculation
- axis
- image
- judged
- region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种珠算题的判题方法、装置、电子设备及存储介质,该方法包括:接收包括至少两道待判珠算题的原始图像;基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域;基于所述算轴区域获取每根算轴的第二图像以及每根算轴的坐标位置;分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字;根据每根算轴所表示的数字以及每根算轴的坐标位置确定标准答案;将所述标准答案与所述待判答案区域中的待判答案进行比对,获得判题结果。通过本发明实施例的技术方案,实现了对珠算题的自动判题。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种珠算题的判题方法、装置、电子设备及存储介质。
背景技术
随着人工智能技术的发展和教育信息化的不断推进,人工智能技术已经逐步应用于日常的教育教学活动中。其中,拍照判题是人工智能技术在教育教学活动中的一项重要应用,其大致流程是,用手机或平板电脑等终端设备对答卷进行拍照,然后将照片上传至判题应用程序,接着判题应用程序将照片送入题型判断模型(也称为版面分析模型)和文本行检测模型;然后根据题型判断模型和文本行检测模型的检测结果进行版面分析,具体是根据每种题型的特点,将每道题的图像从原图上裁剪出来,得到针对每道题的局部图像,将该局部图像再送入识别模型,得到每道题目的内容,然后根据题目内容进行判题,最后将判断结果输出。
但是,上述判题方案只能处理一些常规的计算题,例如横式计算题、竖式计算题或者脱式计算题,无法处理珠算题,这是因为珠算题是根据图像图形来得到数值的,因此,上述判题方案无法应用到对珠算题的判题应用中。
发明内容
本发明实施例提供一种珠算题的判题方法、装置、电子设备及存储介质,实现了对珠算题的自动判题。
第一方面,本发明实施例提供了一种珠算题的判题方法,该方法包括:
接收包括至少两道待判珠算题的原始图像;
基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域;
基于所述算轴区域获取每根算轴的第二图像以及每根算轴的坐标位置;
分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字;
根据每根算轴所表示的数字以及每根算轴的坐标位置确定标准答案;
将所述标准答案与所述待判答案区域中的待判答案进行比对,获得判题结果。
第二方面,本发明实施例还提供了一种珠算题的判题装置,该装置包括:
接收模块,用于接收包括至少两道待判珠算题的原始图像;
第一确定模块,用于基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域;
获取模块,用于基于所述算轴区域获取每根算轴的第二图像以及每根算轴的坐标位置;
算轴识别模块,用于分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字;
第二确定模块,用于根据每根算轴所表示的数字以及每根算轴的坐标位置确定标准答案;
判题模块,用于将所述标准答案与所述待判答案区域中的待判答案进行比对,获得判题结果。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例任一所述的珠算题的判题方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例任一所述的珠算题的判题方法。
本发明实施例的技术方案,通过接收包括至少两道待判珠算题的原始图像;基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域;基于所述算轴区域获取每根算轴的第二图像以及每根算轴的坐标位置;分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字;根据每根算轴所表示的数字以及每根算轴的坐标位置确定标准答案;将所述标准答案与所述待判答案区域中的待判答案进行比对,获得判题结果,实现了对珠算题的自动判题。
附图说明
结合附图并参考以下具体实施方式,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本发明实施例一所提供的一种珠算题的判题方法流程示意图;
图2为本发明实施例一所提供的一种包括至少两道待判珠算题的原始图像的示意图;
图3为本发明实施例一所提供的一种珠算题各图像区域的示意图;
图4为本发明实施例一所提供的一种原始resnet18模型的结构示意图;
图5为本发明实施例一所提供的一种优化后的resnet18模型的结构示意图;
图6为本发明实施例二所提供的一种珠算题的判题方法流程示意图;
图7为本发明实施例二所提供的一种确定珠算题标准答案的流程示意图;
图8为本发明实施例三所提供的一种珠算题的判题装置结构示意图;
图9为本发明实施例四所提供的一种电子设备结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
实施例一
图1为本发明实施例一所提供的一种珠算题的判题方法流程示意图。该方法可以由珠算题的判题装置来执行,该装置可以通过软件和/或硬件的形式实现。
如图1所示,本实施例提供的珠算题的判题方法包括如下步骤:
步骤110、接收包括至少两道待判珠算题的原始图像。
其中,待判珠算题指带有待判答案的珠算题,如图2所示的一种包括至少两道待判珠算题的原始图像的示意图,其中包括三道待判珠算题,分别是第一待判珠算题210、第二待判珠算题220以及第三待判珠算题230。
所述原始图像可以是通过手机或者平板电脑等电子终端的摄像头拍摄获得的图像,拍摄图像之后启动判题应用,将所拍摄图像(即原始图像)通过预设上传通道上传至判题应用,以使判题应用接收所述原始图像。
步骤120、基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域。
如图3所示的一种珠算题各图像区域的示意图,其中标号310表示单道待判珠算题的第一图像,标号320表示待判答案区域,标号340表示算轴区域。
示例性的,可以将所述原始图像输入至版面分析模型,通过版面分析模型确定每道待判珠算题的第一图像以及每道待判珠算题的算轴区域。以及将所述原始图像输入至文本行检测模型,通过文本行检测模型确定所述待判答案区域。
其中,版面分析模型可基于预先标注的样本训练得到,所述预先标注的样本具体可以是将单道待判珠算题的第一图像以及算轴区域利用矩形框圈起来的图像。
进一步的,考虑到珠算题的特点,珠算题虽然题目复杂,但是模式单一,都是由算轴、算轴上的算子、数位以及待判答案组成,因此如果使用两个模型(具体是版面分析模型和文本行检测模型)分别确定所述单道待判珠算题的第一图像,所述待判答案区域以及所述算轴区域,存在增加判题应用复杂度以及计算资源浪费的问题。优选的,可以使用一个模型(例如使用CenterNet模型)分别实现版面分析模型和文本行检测模型的功能,具体是根据具体的检测功能在模型骨干增设检测分支,如此,各检测分支可以共用同一个骨干网络,共享骨干网络提取的各种特征,且只需训练一个骨干网络,极大地减少了训练工作量以及网络参数,达到了降低判题应用复杂度以及计算资源浪费的问题。
步骤130、基于所述算轴区域获取每根算轴的第二图像以及每根算轴的坐标位置。
其中,基于所述算轴区域将每根算轴从原始图像中切出来,具体是基于算轴的宽度以及算轴的坐标位置进行算轴切割。进行算轴切割的目的是便于后续对算轴所表达的数字进行识别。例如数位对应“十位”的算轴上有2个算子,则该算轴所表达的数字为20;如果数位对应“百位”的算轴上有3个算子,则该算轴所表达的数字为300。
步骤140、分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字。
示例性的,将所述第二图像输入至优化的resnet18模型,获得所述第二图像中算轴所表示的数字;其中,所述优化的resnet18模型包括2个卷积块以及两个全连接层,每个所述卷积块包括至少两个卷积层和至少两个池化层。优化之前的resnet18模型(即原始resnet18模型)的容量过大,对于算轴识别任务来说,可以完全胜任,并存在性能过剩的问题,性能过剩可能会导致欠拟合,针对该问题本实施例的技术方案中,对原始resnet18模型进行优化,以避免欠拟合的问题。具体是仅保留原始resnet18模型的后半部分,抛弃掉前半部分。如图4所示的一种原始resnet18模型的结构示意图,其包括级联的4个卷积块(也称为block),分别是第一卷积块410、第二卷积块420、第三卷积块430和第四卷积块440,以及级联的两个全连接层,分别是第一全连接层450和第二全连接层460。优化后的resnet18模型的结构示意图参考如图5所示,仅保留了原始resnet18模型中的后两个block,抛弃了前两个block,同时保留了级联的两个全连接层,即优化后的resnet18模型包括第三卷积块430、第四卷积块440、第一全连接层450和第二全连接层460。其中,第一全连接层450的节点数根据第四卷积块440的输出确定,例如,假设第四卷积块440的输出是5*100*100,即输出的特征图大小为100*100,通道数量为5,那么第一全连接层450的节点数是5*100*100=50000。第二全连接层460的节点数为10,这是因为一个算轴上最多表示数字9(即0-9),最多有10个算子(在图中为小黑点)。在优化的resnet18模型的训练过程中,输入是单根算轴的图像,输出是0-9的数字,在训练过程中可以使用多分类交叉熵损失函数。
步骤150、根据每根算轴所表示的数字以及每根算轴的坐标位置确定标准答案。
通过优化的resnet18模型可以得到每根算轴表示的数字,然后根据每根算轴检测框的坐标信息,将算轴表示的数字和其对应的数位信息结合起来,得到珠算题的标准答案。需要说明的是,在本实施例中,默认从左到右的算轴对应的数位是从高到低排列的,例如通过检测确定当前珠算题包括3根算轴,根据每根算轴的坐标位置确定这3根算轴之间的左右位置关系。假设第一根算轴位于第二根算轴的左侧,第二根算轴位于第三根算轴的左侧,即第一根算轴位于最左侧,第三根算轴位于最右侧,第二根算轴位于中间位置,则确定第一根算轴对应的数位为“百位”,第二根算轴对应的数位为“十位”,第三根算轴对应的数位为“个位”。若第一根算轴对应的数字为3,第二根算轴对应的数字为5,第三根算轴对应的数字为4,则当前珠算题的标准答案为354。
步骤160、将所述标准答案与所述待判答案区域中的待判答案进行比对,获得判题结果。
本发明实施例的技术方案,通过接收包括至少两道待判珠算题的原始图像;基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域;基于所述算轴区域获取每根算轴的第二图像以及每根算轴的坐标位置;分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字;根据每根算轴所表示的数字以及每根算轴的坐标位置确定标准答案;将所述标准答案与所述待判答案区域中的待判答案进行比对,获得判题结果,实现了对珠算题的自动判题。
实施例二
图6为本发明实施例二所提供的一种珠算题的判题方法的流程示意图。在上述实施例的基础上,在基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域的同时,本实施例增加了基于所述原始图像检测每道珠算题的数位区域的操作,以结合数位区域辅助确定每根算轴对应的数位,以防算轴对应的数位不按照从左到右依次降低的顺序排列时,出现标准答案确定错误的情况,有助于提高判题应用的鲁棒性。其中,与上述实施例相同或相似的内容在本实施例不再赘述,相关解释可以参考上述实施例。
如图6所示,所述珠算题的判题方法包括如下步骤:
步骤610、接收包括至少两道待判珠算题的原始图像。
步骤620、基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域、待判答案区域以及每道珠算题的数位区域。
示例性的,通过同一检测模型的不同检测分支分别检测所述第一图像、所述算轴区域、所述待判答案区域以及所述数位区域。
所述检测模型可以是CenterNet模型。CenterNet模型的网络比较简单,主要包括resnet50,用于提取图像特征,然后是反卷积模块Deconv,用于对特征图进行上采样,最后三个分支卷积网络用来预测heatmap, 目标的宽、高和目标的中心点坐标。值得注意的是反卷积模块,其包括三个反卷积组,每个反卷积组都包括一个3*3的卷积和一个反卷积,每次反卷积都会将特征图的尺寸放大一倍。CenterNet模型的计算流程如下:将图像缩放到512*512的尺寸(长边缩放到512,短边补0),随后将缩放后的图像1*3*512*512输入网络。图像经过resnet50提取特征得到feature1,尺寸为1*2048*16*16。feature1经过反卷积模块Deconv,三次上采样得到feature2,尺寸为1*64*128*128。将feature2分别送入三个分支进行预测,预测heatmap尺寸为1*80*128*128(表示80个类别),预测长宽尺寸为1*2*128*128(2表示长和宽),预测中心点偏移量尺寸为1*2*128*128(2表示x和 y) 。
所述通过同一检测模型的不同检测分支分别检测所述第一图像、所述算轴区域、所述待判答案区域以及所述数位区域,包括:
将所述原始图像输入至所述检测模型,以通过所述检测模型检测所述原始图像的图像特征;
将所述图像特征分别输入至所述检测模型的第一检测分支、第二检测分支、第三检测分支以及第四检测分支;
通过所述第一检测分支对所述图像特征进行识别与筛选,以确定每道待判珠算题的所述第一图像;
通过所述第二检测分支对所述图像特征进行识别与筛选,以确定所述待判答案区域;
通过所述第三检测分支对所述图像特征进行识别与筛选,以确定所述数位区域;
通过所述第四检测分支对所述图像特征进行识别与筛选,以确定所述算轴区域。
各检测分支共用同一个骨干网络,共享骨干网络提取的各种特征,且只需训练一个骨干网络,极大地减少了训练工作量以及网络参数,达到了降低判题应用复杂度以及计算资源浪费的问题。
在训练过程中,四个检测分支(第一检测分支、第二检测分支、第三检测分支和第四检测分支)使用的损失函数Loss和训练方式相同,具体视使用的模型而定,如果采用CenterNet模型,那么每个分支都应该有5通道输出,5通道输出分别为每个像素点是否是中心点的概率、每个检测框中心点坐标的偏移量、长、宽以及角度。在前向推断时,先利用第一检测分支得到的大框作为基准,将其他三个检测分支输出的小框归并到这个大框里面,得到一个完整的珠算题目,然后使用一个功能简单的识别模型(比如CRNN),识别第二个检测分支和第三个检测分支检测到的内容(即识别所述待判答案区域中的待判答案和所述数位区域中的数位文本),以此得到用户填写的答案,以及算轴对应的数位。然后对于第四个检测分支检测到的算轴图像,做如下处理,首先在原始图像上,将检测到的算轴切图(切图方式可以是基于算轴以及算轴对应的数位的坐标位置,以固定宽度进行切分),将切出来的单根算轴图像输入到一个预先训练的算轴判别模型。具体是构建一个后一半resnet18模型,因为算轴的识别难度并不大,但resnet18模型的容量过大,性能完全过剩,这可能导致欠拟合。所述后一半resnet18模型是指resnet18模型有4个block块,抛弃掉前2个block块,只用后两个block块,然后最后接两个全连接层,第一个全连接层的节点数视第二个block块的输出决定,最后一个全连接层的节点数为10,因为一个算轴上最多表示9(即0到9),即有10个小黑点。在训练过程中,输入是一个算轴图像,然后输出是0到9的数字。在训练过程中使用多分类交叉熵损失函数进行训练,根据算轴判别模型,得到每个算轴表示的数字,然后根据算轴检测框的坐标信息,将算轴表示的数字和其对应的数位信息结合起来,得到珠算题目真实的答案,然后同用户做答的答案进行比较,得到最终的判题结果。
步骤630、基于所述算轴区域获取每根算轴的第二图像以及每根算轴的坐标位置;分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字;根据每根算轴所表示的数字以及每根算轴的坐标位置确定标准答案。
步骤640、对所述数位区域进行文本识别,以确定数位信息;根据所述数位信息以及每根算轴的坐标位置确定每根算轴对应的数位;根据每根算轴所表示的数字以及每根算轴对应的数位对所述标准答案进行校验。
例如,所述数位信息从左到右依次为“百”、“十”、“个”,则根据每根算轴的坐标位置确定每根算轴对应的数位从左到右依次为“百”、“十”、“个”。如果所述数位信息从左到右依次为“个”、“十”、“百”,则根据每根算轴的坐标位置确定每根算轴对应的数位从左到右依次为“个”、“十”、“百”。由于所述标准答案是按照默认从左到右依次为“百”、“十”、“个”的数位计算得到的,因此,若题干发生变化时,以检测到的数位文本为准,对标准答案进行校准。
例如,按照默认从左到右依次为“百”、“十”、“个”的数位计算得到的标准答案为866,通过检测数位信息确定从左到右依次为“个”、“十”、“百”,则校准后的答案应为668。
以结合数位区域辅助确定每根算轴对应的数位,以防算轴对应的数位不按照从左到右依次降低的顺序排列时,出现标准答案确定错误的情况,有助于提高判题应用的鲁棒性。
步骤650、将校验后的标准答案与所述待判答案区域中的待判答案进行比对,获得判题结果。
本发明实施例的技术方案,在上述实施例的基础上,在基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域的同时,增加了基于所述原始图像检测每道珠算题的数位区域的操作,以结合数位区域辅助确定每根算轴对应的数位,以防算轴对应的数位不按照从左到右依次降低的顺序排列时,出现标准答案确定错误的情况,有助于提高判题应用的鲁棒性。
在上述各技术方案的基础上,参考如图7所示的一种确定珠算题标准答案的流程示意图,具体包括:
第一步:将包括待批改珠算题的图像输入判题应用程序。
第二步:使用一个检测模型实现版面分析模型和文本行检测模型的功能,(具体可以使用CenterNet模型)。利用检测模型对输入图像进行检测,获得图像特征(该图像特征包括全部、局部信息、纹理、线条、角点、结构和色彩等特征),在本方案中需要在检测模型后添加2个检测分支,至此,检测模型输出的特征会分别经过4个检测分支进行进一步处理,每个检测分支基于其各自的作用及各自参数的差异,所需要用到的检测模型输出的图像特征会有所不同。其中,第一个检测分支检测整体的版面大框,主要作用是将珠算题整个(包括待判答案)框起来,第二个检测分支检测每个文本行,主要作用是将待判答案框起来,第三个检测分支检测数位区域(例如“个”、“十”、“百”所在区域),主要作用是将“个”、“十”、“百”所在区域框起来,第四个分支检测用于检测算轴。针对每个检测分支,其对特征的处理方式类似,只是输入的特征及处理参数存在区别。
第三步,根据第二步,在训练过程中,四个检测分支使用的Loss函数和训练方式相同,具体视使用的模型而定,如果采用CenterNet模型,那么每个检测分支都应该有5通道输出。5通道输出分别为每个像素点是否是中心点的概率、每个检测框中心点坐标的偏移量、长、宽以及角度。
第四步,根据第二步,在前向推断时,先利用第一个检测分支得到的大框作为基准,将其他三个检测分支输出的小框归并到这个大框里面,得到一个完整的珠算题目。
第五步,根据第二和第四步,使用一个功能简单的识别模型(比如crnn,因为这里的识别任务并不复杂),识别第二个检测分支和第三个检测分支检测到的内容,以此得到用户填写的答案,以及算轴对应的数位。
第六步,根据第二步,对于第四个检测分支检测到的算轴图像,做如下处理,首先在原图上,将检测到的算轴切图,切出来,送入一个预先训练的算轴判别模型(这里重点说一下算轴判别模型,首先构建一个后一半resnet18模型,因为算轴的识别难度并不大,但resnet18模型的容量过大,性能完全过剩,这可能导致欠拟合。后一半resnet18模型是指resnet18模型有4个block块,抛弃掉前2个block块,只用后两个,然后最后接两个全连接层,第一个全连接层的节点数视第二个block块的输出决定,最后一个全连接层的节点数为10,因为一个算轴上最多表示9(即0到9),即有10个小黑点,在训练过程中,输入是一个算轴图像,然后输出是0到9,在训练过程中使用多分类交叉熵损失函数进行训练。根据算轴判别模型,得到每个算轴表示的数字。
第七步,根据第二步,第五步和第六步,根据算轴检测框的坐标信息,将算轴表示的数字和其对应的数位信息结合起来,得到这个珠算题目真实的答案(即标准答案),然后同用户做答的答案(即待判答案)进行比较,得到最终的判题结果。
实施例三
图8为本发明实施例三提供的一种珠算题的判题装置,该装置包括:接收模块810、第一确定模块820、获取模块830、算轴识别模块840、第二确定模块850和判题模块860。
其中,接收模块810,用于接收包括至少两道待判珠算题的原始图像;第一确定模块820,用于基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域;获取模块830,用于基于所述算轴区域获取每根算轴的第二图像以及每根算轴的坐标位置;算轴识别模块840,用于分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字;第二确定模块850,用于根据每根算轴所表示的数字以及每根算轴的坐标位置确定标准答案;判题模块860,用于将所述标准答案与所述待判答案区域中的待判答案进行比对,获得判题结果。
在上述技术方案的基础上,第一确定模块820还用于:基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域的同时,检测每道珠算题的数位区域。
在上述各技术方案的基础上,所述装置还包括:
数位识别模块,用于对所述数位区域进行文本识别,以确定数位信息;
第三确定模块,用于根据所述数位信息以及每根算轴的坐标位置确定每根算轴对应的数位;
校验模块,用于根据每根算轴所表示的数字以及每根算轴对应的数位对所述标准答案进行校验。
在上述各技术方案的基础上,第一确定模块820具体用于:通过同一检测模型的不同检测分支分别检测所述第一图像、所述算轴区域、所述待判答案区域以及所述数位区域。
在上述各技术方案的基础上,所述检测模型包括CenterNet模型。
在上述各技术方案的基础上,第一确定模块820包括:
特征检测单元,用于将所述原始图像输入至所述检测模型,以通过所述检测模型检测所述原始图像的图像特征;
输入单元,用于将所述图像特征分别输入至所述检测模型的第一检测分支、第二检测分支、第三检测分支以及第四检测分支;
第一确定单元,用于通过所述第一检测分支对所述图像特征进行识别与筛选,以确定每道待判珠算题的所述第一图像;
第二确定单元,用于通过所述第二检测分支对所述图像特征进行识别与筛选,以确定所述待判答案区域;
第三确定单元,用于通过所述第三检测分支对所述图像特征进行识别与筛选,以确定所述数位区域;
第四确定单元,用于通过所述第四检测分支对所述图像特征进行识别与筛选,以确定所述算轴区域。
在上述各技术方案的基础上,算轴识别模块840具体用于:
将所述第二图像输入至优化的resnet18模型,获得所述第二图像中算轴所表示的数字;
其中,所述优化的resnet18模型包括2个卷积块以及两个全连接层,每个所述卷积块包括至少两个卷积层和至少两个池化层。
本发明实施例的技术方案,通过接收包括至少两道待判珠算题的原始图像;基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域;基于所述算轴区域获取每根算轴的第二图像以及每根算轴的坐标位置;分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字;根据每根算轴所表示的数字以及每根算轴的坐标位置确定标准答案;将所述标准答案与所述待判答案区域中的待判答案进行比对,获得判题结果,实现了对珠算题的自动判题。
本发明实施例所提供的珠算题的判题装置可执行本发明任意实施例所提供的珠算题的判题方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
实施例四
下面参考图9,其示出了适于用来实现本发明实施例的电子设备(例如图9中的终端设备或服务器)400的结构示意图。本发明实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图9示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本发明实施例的方法中限定的上述功能。
本发明实施例提供的终端与上述实施例提供的珠算题的判题方法属于同一发明构思,未在本发明实施例中详尽描述的技术细节可参见上述实施例,并且本发明实施例与上述实施例具有相同的有益效果。
实施例五
本发明实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的珠算题的判题方法。
需要说明的是,本发明上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
接收包括至少两道待判珠算题的原始图像;
基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域;
基于所述算轴区域获取每根算轴的第二图像以及每根算轴的坐标位置;
分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字;
根据每根算轴所表示的数字以及每根算轴的坐标位置确定标准答案;
将所述标准答案与所述待判答案区域中的待判答案进行比对,获得判题结果。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,可编辑内容显示单元还可以被描述为“编辑单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种珠算题的判题方法,其特征在于,包括:
接收包括至少两道待判珠算题的原始图像;
基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域;
基于所述算轴区域获取每根算轴的第二图像以及每根算轴的坐标位置;
分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字;
根据每根算轴所表示的数字以及每根算轴的坐标位置确定标准答案;
将所述标准答案与所述待判答案区域中的待判答案进行比对,获得判题结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域的同时,还包括:
基于所述原始图像检测每道珠算题的数位区域。
3.根据权利要求2所述的方法,其特征在于,还包括:
对所述数位区域进行文本识别,以确定数位信息;
根据所述数位信息以及每根算轴的坐标位置确定每根算轴对应的数位;
根据每根算轴所表示的数字以及每根算轴对应的数位对所述标准答案进行校验。
4.根据权利要求2所述的方法,其特征在于,基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域、待判答案区域以及数位区域,包括:
通过同一检测模型的不同检测分支分别检测所述第一图像、所述算轴区域、所述待判答案区域以及所述数位区域。
5.根据权利要求4所述的方法,其特征在于,所述检测模型包括CenterNet模型。
6.根据权利要求4所述的方法,其特征在于,所述通过同一检测模型的不同检测分支分别检测所述第一图像、所述算轴区域、所述待判答案区域以及所述数位区域,包括:
将所述原始图像输入至所述检测模型,以通过所述检测模型检测所述原始图像的图像特征;
将所述图像特征分别输入至所述检测模型的第一检测分支、第二检测分支、第三检测分支以及第四检测分支;
通过所述第一检测分支对所述图像特征进行识别与筛选,以确定每道待判珠算题的所述第一图像;
通过所述第二检测分支对所述图像特征进行识别与筛选,以确定所述待判答案区域;
通过所述第三检测分支对所述图像特征进行识别与筛选,以确定所述数位区域;
通过所述第四检测分支对所述图像特征进行识别与筛选,以确定所述算轴区域。
7.根据权利要求1所述的方法,其特征在于,所述分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字,包括:
将所述第二图像输入至优化的resnet18模型,获得所述第二图像中算轴所表示的数字;
其中,所述优化的resnet18模型包括2个卷积块以及两个全连接层,每个所述卷积块包括至少两个卷积层和至少两个池化层。
8.一种珠算题的判题装置,其特征在于,包括:
接收模块,用于接收包括至少两道待判珠算题的原始图像;
第一确定模块,用于基于所述原始图像分别确定每道待判珠算题的第一图像、每道待判珠算题的算轴区域以及待判答案区域;
获取模块,用于基于所述算轴区域获取每根算轴的第二图像以及每根算轴的坐标位置;
算轴识别模块,用于分别对每根算轴的所述第二图像进行识别,以确定每根算轴所表示的数字;
第二确定模块,用于根据每根算轴所表示的数字以及每根算轴的坐标位置确定标准答案;
判题模块,用于将所述标准答案与所述待判答案区域中的待判答案进行比对,获得判题结果。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的珠算题的判题方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一项所述的珠算题的判题方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110323127.7A CN112712070A (zh) | 2021-03-26 | 2021-03-26 | 一种珠算题的判题方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110323127.7A CN112712070A (zh) | 2021-03-26 | 2021-03-26 | 一种珠算题的判题方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112712070A true CN112712070A (zh) | 2021-04-27 |
Family
ID=75550293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110323127.7A Pending CN112712070A (zh) | 2021-03-26 | 2021-03-26 | 一种珠算题的判题方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112712070A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112990180A (zh) * | 2021-04-29 | 2021-06-18 | 北京世纪好未来教育科技有限公司 | 判题方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111507251A (zh) * | 2020-04-16 | 2020-08-07 | 北京世纪好未来教育科技有限公司 | 试题图像中作答区域的定位方法、装置和电子设备 |
CN111767883A (zh) * | 2020-07-07 | 2020-10-13 | 北京猿力未来科技有限公司 | 一种题目批改方法及装置 |
CN111950528A (zh) * | 2020-09-02 | 2020-11-17 | 北京猿力未来科技有限公司 | 图表识别模型训练方法以及装置 |
-
2021
- 2021-03-26 CN CN202110323127.7A patent/CN112712070A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111507251A (zh) * | 2020-04-16 | 2020-08-07 | 北京世纪好未来教育科技有限公司 | 试题图像中作答区域的定位方法、装置和电子设备 |
CN111767883A (zh) * | 2020-07-07 | 2020-10-13 | 北京猿力未来科技有限公司 | 一种题目批改方法及装置 |
CN111950528A (zh) * | 2020-09-02 | 2020-11-17 | 北京猿力未来科技有限公司 | 图表识别模型训练方法以及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112990180A (zh) * | 2021-04-29 | 2021-06-18 | 北京世纪好未来教育科技有限公司 | 判题方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111369427B (zh) | 图像处理方法、装置、可读介质和电子设备 | |
US20230394671A1 (en) | Image segmentation method and apparatus, and device, and storage medium | |
CN111275721B (zh) | 一种图像分割方法、装置、电子设备及存储介质 | |
CN113313064A (zh) | 字符识别方法、装置、可读介质及电子设备 | |
US11443438B2 (en) | Network module and distribution method and apparatus, electronic device, and storage medium | |
CN110413812B (zh) | 神经网络模型的训练方法、装置、电子设备及存储介质 | |
CN110826567B (zh) | 光学字符识别方法、装置、设备及存储介质 | |
CN111784712B (zh) | 图像处理方法、装置、设备和计算机可读介质 | |
CN111414879A (zh) | 人脸遮挡程度识别方法、装置、电子设备及可读存储介质 | |
CN112258512A (zh) | 点云分割方法、装置、设备和存储介质 | |
CN114494298A (zh) | 对象分割方法、装置、设备及存储介质 | |
CN115272182B (zh) | 车道线检测方法、装置、电子设备和计算机可读介质 | |
CN112330788A (zh) | 图像处理方法、装置、可读介质及电子设备 | |
CN113592033B (zh) | 油罐图像识别模型训练方法、油罐图像识别方法和装置 | |
CN112712070A (zh) | 一种珠算题的判题方法、装置、电子设备及存储介质 | |
CN111311609B (zh) | 一种图像分割方法、装置、电子设备及存储介质 | |
CN115546767B (zh) | 数据发送方法、装置、设备和计算机可读介质 | |
CN110852242A (zh) | 基于多尺度网络的水印识别方法、装置、设备及存储介质 | |
CN112418233B (zh) | 图像处理方法、装置、可读介质及电子设备 | |
CN114155545A (zh) | 表格识别方法、装置、可读介质及电子设备 | |
CN114612909A (zh) | 字符识别方法、装置、可读介质及电子设备 | |
CN114972876A (zh) | 基于知识蒸馏技术的图像处理方法、装置、设备及介质 | |
CN110348374B (zh) | 车辆检测方法、装置、电子设备及存储介质 | |
CN114495080A (zh) | 字体识别方法、装置、可读介质及电子设备 | |
CN113222050A (zh) | 图像分类方法、装置、可读介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210427 |
|
RJ01 | Rejection of invention patent application after publication |