CN111506348A - 手写板校正多线程并行处理方法、装置、设备以及介质 - Google Patents
手写板校正多线程并行处理方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN111506348A CN111506348A CN202010323599.8A CN202010323599A CN111506348A CN 111506348 A CN111506348 A CN 111506348A CN 202010323599 A CN202010323599 A CN 202010323599A CN 111506348 A CN111506348 A CN 111506348A
- Authority
- CN
- China
- Prior art keywords
- handwriting
- calculation
- picture
- corrected
- calculation range
- 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
- 238000012937 correction Methods 0.000 title claims abstract description 65
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000004364 calculation method Methods 0.000 claims abstract description 210
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000010586 diagram Methods 0.000 claims description 52
- 238000004590 computer program Methods 0.000 claims description 13
- 238000000034 method Methods 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 4
- 238000012360 testing method Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005674 electromagnetic induction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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/24—Aligning, centring, orientation detection or correction of the image
-
- 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/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- 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/10—Character recognition
- G06V30/32—Digital ink
- G06V30/36—Matching; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及手写板的技术领域,尤其是涉及一种手写板校正多线程并行处理方法、装置、设备以及介质,其以下步骤:S10:若获取到待校正笔迹图片,则根据所述待校正笔迹图片获取对应的基准图片;S20:根据所述待校正笔迹图片和所述基准图片设置循环计算范围;S30:获取CPU核心线程数,根据所述CPU核心线程数和所述循环计算范围,计算单位线程计算范围;S40:根据所述CPU核心线程数,将每个所述单位线程计算范围分配至对应的CPU核心进行手写板校正计算。本发明具有提升对手写板识别的笔迹进行校正计算时的效率的效果。
Description
技术领域
本发明涉及手写板的技术领域,尤其是涉及一种手写板校正多线程并行处理方法、装置、设备以及介质。
背景技术
目前,电磁笔经常与手写板配合使用,在手写板上覆盖纸张,用电磁笔在纸张上书写内容,根据电磁感应原理,手写板将电磁笔书写的笔迹逐一记录保存,保存的电子笔迹与书写在纸张上的笔迹一致,手写板将记录的电子笔迹传输到电脑上供学生或教师查阅。
公告号为CN207489093U的中国实用新型专利,公开了一种智能的手写板***,包括智能手写板,智能手写板包括手写板本体、夹纸装置;所述的夹纸装置设置在手写板本体正上方。在使用时将书写的纸张放置在手写板本体上,并通过该夹纸装置的设置,有效防止纸张的脱落。而使用者在将纸张通过该夹持装置夹持于手写板本体上时,通常会较为随意的放置,纸张没有在手写板对应的放置,例如纸张偏左、偏右或篇下等,从而直接造成书写的答案无法与题目匹配上,因此需要对书写的答案的位置进行校正。
上述中的现有技术方案存在以下缺陷:在手写板识别的书写的答案形成的图片进行校正时,需要不断对该图片与预设的基准图片进行比对计算,计算该图片与基准图片的重叠率,且每一次计算的间隔是以像素为单位,而现有的手写板的分辨率较高,会使得计算重叠率的计算量很大,影响校正的效率,因此还有改善空间。
发明内容
本发明的目的是提供一种提升对手写板识别的笔迹进行校正计算时的效率的手写板校正多线程并行处理方法、装置、设备以及介质。
本发明的上述发明目的一是通过以下技术方案得以实现的:
一种手写板校正多线程并行处理方法,所述手写板校正多线程并行处理方法包括以下步骤:
S10:若获取到待校正笔迹图片,则根据所述待校正笔迹图片获取对应的基准图片;
S20:根据所述待校正笔迹图片和所述基准图片设置循环计算范围;
S30:获取CPU核心线程数,根据所述CPU核心线程数和所述循环计算范围,计算单位线程计算范围;
S40:根据所述CPU核心线程数,将每个所述单位线程计算范围分配至对应的CPU核心进行手写板校正计算。
通过采用上述技术方案,在对书写笔迹进行校正时,根据该待校正笔迹图片获取对应的基准图片,并在对待校正笔迹图片进行校正时,计算该循环计算范围,从而能够在进行手写板校正计算时,确定总的计算量;同时,根据获取得到的CPU核心线程数,将循环计算范围分解成对应的单位线程计算范围,能够利用CPU多核多线程并行处理的优势,计算时按照CPU的核心数将循环中不同的部分分配到各个CPU核心上计算,从而极大地提高计算的效率。
本发明在一较佳示例中可以进一步配置为:步骤S10包括:
S11:若获取到待完成作业集,则从所述待完成作业集中获取待完成作业标识,以及与每个所述待完成作业标识对应的待完成习题模板;
S12:若获取到实际作答笔迹,则将所述实际作答笔迹所在的图片作为所述待校正笔迹图片,并从所述待校正笔迹图片中获取待匹配作业标识;
S13:根据所述待匹配作业标识获取从所述待完成习题模板中获取对应的所述基准图片。
通过采用上述技术方案,在获取得到该待完成作业集时,在该待完成作业集中的待完成习题模板中定义作答区域,同时在识别出的实际作答笔迹中获取待匹配作业标识,能够根据该待匹配作业标识获取与实际作答笔迹对应的待完成习题模板,从而能够根据待完成习题模板得到该基准图片。
本发明在一较佳示例中可以进一步配置为:步骤S20包括:
S21:在所述待校正笔迹图片中获取字迹框图,以及从所述基准图片中获取与所述字迹框图相对应的基准框图,并分别获取所述字迹框图与所述基准框图的字迹框图位置信息和基准框图位置信息;
S22:计算所述字迹框图位置信息与所述基准框图位置信息相对偏移量,并将所述相对偏移量作为所述循环计算范围。
通过采用上述技术方案,通过获取字迹框图以及对应的基准框图,并根据字迹框图与基准框图对应的字迹框图位置信息和基准框图位置信息的相对偏移量,计算出该循环计算范围,从而能够使得手写板校正计算更合理。
本发明在一较佳示例中可以进一步配置为:步骤S30包括:
S31:在所述循环计算范围内获取横向循环计算范围和竖向循环计算范围;
S32:选择所述横向循环计算范围或竖向循环计算范围,根据所述CPU核心线程数计算所述单位线程计算范围。
通过采用上述技术方案,通过选择横向循环计算范围或者竖向循环计算范围,作为拆分得到的单位线程计算范围,能够使得根据该CPU核心线程数分别在单位线程计算范围中进行计算时,计算的内容不会重复,保证了计算的效率。
本发明在一较佳示例中可以进一步配置为:步骤S40包括:
S41:获取预设的循环间隔和每个所述单位线程计算范围的循环初始位置开始,根据所述循环间隔,从对应的所述循环初始位置开始,在每个所述单位线程计算范围内循环计算交并比;
S42:获取每次循环计算得到的所述交并比以及对应的候选偏移量,根据所述交并比从大到小的顺序进行排序,得到排序结果;
S43:获取所述排序结果中,排名第一的所述交并比对应的所述候选偏移量,并将所述候选偏移量作为所述手写板校正计算的计算结果。
通过采用上述技术方案,通过设置循环间隔,能够基于手写板的分辨率,平衡校正的精度以及在计算实际偏移量时的计算量,从而能够实现在合适的计算量下达到最佳纠正精度;同时将交并比最大的候选偏移量作为实际偏移量,能够对待校正笔迹图片起到最佳的校正效果。
本发明的上述发明目的二是通过以下技术方案得以实现的:
一种手写板校正多线程并行处理装置,所述手写板校正多线程并行处理装置包括:
图片获取模块,用于若获取到待校正笔迹图片,则根据所述待校正笔迹图片获取对应的基准图片;
范围计算模块,用于根据所述待校正笔迹图片和所述基准图片设置循环计算范围;
计算量分配模块,用于获取CPU核心线程数,根据所述CPU核心线程数和所述循环计算范围,计算单位线程计算范围;
计算模块,用于根据所述CPU核心线程数,将每个所述单位线程计算范围分配至对应的CPU核心进行手写板校正计算。
通过采用上述技术方案,在对书写笔迹进行校正时,根据该待校正笔迹图片获取对应的基准图片,并在对待校正笔迹图片进行校正时,计算该循环计算范围,从而能够在进行手写板校正计算时,确定总的计算量;同时,根据获取得到的CPU核心线程数,将循环计算范围分解成对应的单位线程计算范围,能够利用CPU多核多线程并行处理的优势,计算时按照CPU的核心数将循环中不同的部分分配到各个CPU核心上计算,从而极大地提高计算的效率。
本发明的上述发明目的三是通过以下技术方案得以实现的:
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述手写板校正多线程并行处理方法的步骤。
本发明的上述发明目的四是通过以下技术方案得以实现的:
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述手写板校正多线程并行处理方法的步骤。
综上所述,本发明包括以下至少一种有益技术效果:
1、在对书写笔迹进行校正时,根据该待校正笔迹图片获取对应的基准图片,并在对待校正笔迹图片进行校正时,计算该循环计算范围,从而能够在进行手写板校正计算时,确定总的计算量;
2、根据获取得到的CPU核心线程数,将循环计算范围分解成对应的单位线程计算范围,能够利用CPU多核多线程并行处理的优势,计算时按照CPU的核心数将循环中不同的部分分配到各个CPU核心上计算,从而极大地提高计算的效率;
3、通过选择横向循环计算范围或者竖向循环计算范围,作为拆分得到的单位线程计算范围,能够使得根据该CPU核心线程数分别在单位线程计算范围中进行计算时,计算的内容不会重复,保证了计算的效率。
附图说明
图1是本发明一实施例中手写板校正多线程并行处理方法的一流程图;
图2是本发明一实施例中手写板校正多线程并行处理方法中步骤S10的实现流程图;
图3是本发明一实施例中手写板校正多线程并行处理方法中步骤S20的实现流程图;
图4是本发明一实施例中手写板校正多线程并行处理方法中步骤S30的实现流程图;
图5是本发明一实施例中手写板校正多线程并行处理方法中步骤S40的实现流程图;
图6是本发明一实施例中手写板校正多线程并行处理装置的一原理框图;
图7是本发明一实施例中计算机设备的一示意图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
实施例一:
在一实施例中,如图1所示,本发明公开了一种手写板校正多线程并行处理方法,具体包括如下步骤:
S10:若获取到待校正笔迹图片,则根据待校正笔迹图片获取对应的基准图片。
在本实施例中,待校正笔迹图片是指使用电磁手写板获取得到的学生根据接收到的待完成作业集进行作答的笔迹形成的图片。基准图片是指用于与待校正笔迹图片进行比对的图片。
具体地,在通过电磁手写板获取到使用者书写的笔迹后,即学生根据接收到的作业,将对应的纸质试卷固定并夹持与电磁手写板后,使用电磁笔在纸质试卷上进行作答,在作答时输入对应的页码,并在翻页时在电磁手写板或者个人终端触发用于翻页功能的按钮,电磁手写板实时获取学生当前页面的作答的笔迹,将将该页的笔迹所在的图片作为待校正笔迹图片。
进一步地,根据学生具体书写的试卷的具体页码,从预先设置的习题库中获取该份试卷模版,并从该试卷模板中获取与学生正在书写的试卷的具体页码相同的页面,作为基准图片。
S20:根据待校正笔迹图片和基准图片设置循环计算范围。
在本实施例中,循环计算范围是指在对计算待校正笔迹图片需要进行位置调整的量总共的计算量。
具体地,在待校正笔迹图片中的内容处选择定位点,并使用第一坐标进行标记,同时,在该相同的内容的位置选择与该定位点相对应的基准点,并用第二坐标进行标记。
进一步地,根据第一坐标和第二坐标之间的横坐标距离和纵坐标距离,设置该循环计算范围。
S30:获取CPU核心线程数,根据CPU核心线程数和循环计算范围,计算单位线程计算范围。
在本实施例中,CPU核心线程数是指设备中CPU的核心的数量。单位线程计算范围是指每个CPU核心计算该位置调整的量的计算量。
具体地,通过设备参数信息,例如是学生的手机或平板等个人移动终端的设备信息,从该移动终端的设备参数信息中获取该个人移动终端的CPU的核心的数量,作为该CPU核心线程数。
进一步地,用循环计算范围除以该CPU核心线程数,得到单位线程计算范围。
优选地,若果出现除不尽的情况,则可以将循环计算范围除以该CPU核心线程数得到的结果进行下取整,将下取整的数作为单位线程计算范围,并将得到的余数增加至其中一个单位线程计算范围中。
S40:根据CPU核心线程数,将每个单位线程计算范围分配至对应的CPU核心进行手写板校正计算。
在本实施例中,手写板校正计算是指计算待校正笔迹图片的位置实际需要调整的量。
具体地,根据该单位线程计算范围,获取每个CPU核心在循环计算范围内负责计算的范围,即每个单位线程计算范围虽然存在数值一样的情况,但实际计算的范围互不重叠。
进一步地,根据该CPU核心线程数,将该单位线程计算范围逐一分配至对应的CPU核心,使得在学生的个人移动终端的CPU中,每个CPU核心同步在该单位线程计算范围中进行手写板校正计算。
在本实施例中,在对书写笔迹进行校正时,根据该待校正笔迹图片获取对应的基准图片,并在对待校正笔迹图片进行校正时,计算该循环计算范围,从而能够在进行手写板校正计算时,确定总的计算量;同时,根据获取得到的CPU核心线程数,将循环计算范围分解成对应的单位线程计算范围,能够利用CPU多核多线程并行处理的优势,计算时按照CPU的核心数将循环中不同的部分分配到各个CPU核心上计算,从而极大地提高计算的效率。
在一实施例中,如图2所示,在步骤S10中,即若获取到待校正笔迹图片,则根据待校正笔迹图片获取对应的基准图片,具体包括如下步骤:
S11:若获取到待完成作业集,则从待完成作业集中获取待完成作业标识,以及与每个待完成作业标识对应的待完成习题模板。
在本实施例中,待完成作业集是指由教师发布,一定时间内需要完成的作业集合。其中,该一定时间可以是发布的当天、整个假期或者是假期的某一部分时间等。待完成作业标识是指在待完成作业集中,用于区分每一份作业的字符或者字符串。待完成习题模板是指每份作业通过预先扫描并存储至习题库的空白模板。
具体地,由教师预先收集习题或者试卷,通过将收集的习题或者试卷的每一页进行扫描呈电子档,形成试题库。在教师发布作业前,尤其是在假期远程发布假期作业前,即放假之前,将已经将试题录入至试题库中的纸质习题或者试卷分发给学生。
进一步地,在教师需要远程向学生发布需要在一定时间内完成的作业时,将具体需要完成的作业的待完成作业标识发送至云端,使得学生能够通过个人终端在该云端查看到需要完成的作业的待完成作业标识,其中,该待完成作业标识可以是指代某一份完整的试卷,也可以是习题册中的具体的习题。
进一步地,根据该待完成作业标识从预先设置好的习题库中获取对应的待完成习题模板。
S12:若获取到实际作答笔迹,则将实际作答笔迹所在的图片作为待校正笔迹图片,并从待校正笔迹图片中获取待匹配作业标识。
在本实施例中,实际作答笔迹是指学生使用电磁手写板时,通过该电磁手写板获取得到的书写痕迹。
具体地,学生在根据待完成作业集中的作业进行书写前,通过在个人移动终端选择准备进行作答的试卷,以及该试卷的页码,并将准备进行作答的试卷的待完成作业标识作为待匹配作业标识,通过该待匹配作业标识,获取对应试卷页码的待完成习题模板。
S13:根据待匹配作业标识获取从待完成习题模板中获取对应的基准图片。
具体地,使用该待匹配作业标识,从待完成习题模板中获取实际进行书写的试卷的具体页码,并获取该页码对应的试卷模板,作为基准图片。
在一实施例中,如图3所示,在步骤S20中,即根据待校正笔迹图片和基准图片设置循环计算范围,具体包括如下步骤:
S21:在待校正笔迹图片中获取字迹框图,以及从基准图片中获取与字迹框图相对应的基准框图,并分别获取字迹框图与基准框图的字迹框图位置信息和基准框图位置信息。
在本实施例中,字迹框图是指在待校正笔迹图片中,用于框选每一道题的实际作答笔迹的矩形框。基准框图是指在基准图片中定义的每一道题的作答的区域。字迹框图位置信息和基准框图位置信息是指在图片中的坐标信息。
具体地,对待校正笔迹图片中的实际预处理后,通过寻找轮廓的方式得到字迹框图。具体的预处理的方法如下:
(1)对实际作答笔迹进行二值化处理,得到二值化图片。
在本实施例中,二值化图片是指对实际作答笔迹的图片采用二值化处理后的图片。
具体地,建立二值化函数,通过将记录有实际作答笔迹的图片输入该二值化函数,进而得到对应的二值化图片。
(2)对二值化图片进行横向膨胀处理,得到横向膨胀图片。
在本实施例中,横向膨胀图片是指对二值化图片中的实际作答笔迹进行膨胀处理得到的图片。
具体地,统计学生在书写时每个字之间的平均间隔,并将该间隔作为横向膨胀处理的幅度,进而对该二值化图片中的笔迹做横向膨胀处理,将二值化图片中的笔迹尽可能形成一片区域,从而得到该横向膨胀图片。该横向膨胀图片可参考图7。
(3)在横向膨胀图片中寻找字迹区域,并将笔迹框图作为字迹框图。
在本实施例中,字迹区域是指在横向膨胀图中框选每道题的实际书写笔迹的矩形框。
具体地,通过横向膨胀处理,在得到的横向膨胀图片中的笔迹中,将每个区域的笔迹采用寻找轮廓的方式得到该字迹区域,通过使用x0, y0, x1, y1(左上角、右下角坐标)表示该字迹区域,从而得到字迹框图以及将左上角、右下角坐标表示的坐标信息作为字迹框图位置信息。
进一步地,在教师对学生发布作业,形成该待完成作业集时,在该待完成作业集中的每一页待完成习题模板中的每道题的答题区域中的答题的区域中,定义该作答区域,并用x0, y0, x1, y1(左上角、右下角坐标)表示的矩形框进行表示该作答区域,得到基准框图以及将左上角、右下角坐标表示的坐标信息作为基准框图位置信息。
S22:计算字迹框图位置信息与基准框图位置信息相对偏移量,并将相对偏移量作为循环计算范围。
在本实施例中,相对偏移量是指字迹框图位置信息相对于基准框图位置信息偏移的距离。
具体地,将字迹框图位置信息和基准框图位置信息的坐标信息中,横坐标之间的差值和纵坐标之间的差值作为该相对偏移量,将相对偏移量作为循环计算范围。
在一实施例中,如图4所示,在步骤S30中,即获取CPU核心线程数,根据CPU核心线程数和循环计算范围,计算单位线程计算范围,具体包括如下步骤:
S31:在循环计算范围内获取横向循环计算范围和竖向循环计算范围。
在本实施例中,横向循环计算范围是指字迹框图位置信息和基准框图位置信息的坐标信息中的横坐标之间的差值。竖向循环计算范围是指字迹框图位置信息和基准框图位置信息的坐标信息中的纵坐标之间的差值。
具体地,在循环计算范围内获取横向循环计算范围和竖向循环计算范围。
S32:选择横向循环计算范围或竖向循环计算范围,根据CPU核心线程数计算单位线程计算范围。
具体地,由于选择横向循环计算范围或竖向循环计算范围进行并行计算时,总体计算量一致,因此任意选择选择横向循环计算范围或竖向循环计算范围,并根据CPU核心线程数计算单位线程计算范围。
例如,CPU的核心数为hc=8,search_x_offset=480, search_y_offset=800,根据hc将search_x_offset分解为batch_x=search_x_offset/hc=60,其中,search_x_offset为横向循环计算范围,search_y_offset为竖向循环计算范围,batch_x即每个CPU核心计算的单位线程计算范围。每个CPU Core分配范围如下所示:
CPU Core1计算的x范围是0-59,y范围是0-799;
CPU Core2计算的x范围是60-119,y范围是0-799;
…
…
CPU Core8计算的x范围是420-479,y范围是0-799;
即每个CPU核心的计算量为batch_x * search_y_offset = 48000。
或者,根据hc将search_y_offset分解为batch_x=search_y_offset/hc=100,每个CPU Core分配范围如下所示:
CPU Core1计算的x范围是0-479,y范围是0-99;
CPU Core2计算的x范围是0-479,y范围是100-199;
…
…
CPU Core8计算的x范围是0-479,y范围是700-799;
即每个CPU核心的计算量为batch_y * search_x_offset = 48000,其中,batch_y即每个CPU核心计算的单位线程计算范围。
在一实施例中,如图5所示,在步骤S40中,即根据CPU核心线程数,将每个单位线程计算范围分配至对应的CPU核心进行手写板校正计算,具体包括如下步骤:
S41:获取预设的循环间隔和每个单位线程计算范围的循环初始位置开始,根据循环间隔,从对应的循环初始位置开始,在每个单位线程计算范围内循环计算交并比。
在本实施例中,循环间隔是指相邻两次横向循环或者竖向循环计算IoU交并比之间的偏移量。交并比,即IoU(Intersection-over-Union,IoU)交并比,是指目标检测中使用的一个概念,是产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率,即它们的交集与并集的比值。在本实施例中,候选框(candidate bound)与原标记框(ground truth bound)分别为字迹框图与基准框图。循环初始位置是指在循环计算IoU交并比时的起始位置。
具体地,根据现有电磁手写板的分辨率,减少循环计算该IoU交并比的计算量以及保证最终对实际作答区域内的实际作答笔迹校正的效果,在本实施例中,经过长期测试,并根据测试结果,将该循环间隔设置为2个像素。
进一步地,在基准图片中选定坐标点,作为第一个CPU核心的循环初始位置,在本实施例中,为了减少计算量,选取每一页基准图片中基准框图左上角的坐标,作为该循环初始位置。同时,根据单位线程计算范围划分的方式,即选择横向循环计算范围或者竖向循环计算范围作为划分的依据,获取第二个CPU核心开始,每个CPU核心的循环初始位置。例如,选取横向循环计算范围作为划分的依据,且第一个CPU核心的循环初始位置为(0,0),则,从第二个CPU核心开始,每个CPU核心的循环初始位置为(60,0),(120,0),(180,0)……(420,0)。
进一步地,每个CPU核心从对应的循环初始位置开始,根据该循环间隔,同时计算该IoU交并比,在每次进行计算IoU交并比时,对字迹框图进行横向或者竖向的移动,即每一次计算IoU交并比时,相对于前一次计算该IoU交并比,将实际作答区域横向或者竖向移动2个像素,且每一次计算得到IoU交并比时,记录此时字迹框图的左上角坐标相对于循环初始位置的坐标的横坐标之间的差值以及竖坐标之间的差值。
进一步地,在横向移动以及竖向移动达到循环移动范围中的横向循环的范围的最大值或者竖向循环的最大值,则停止位移,保证循环计算IoU交并比时,在循环移动范围内,由横向循环的范围、竖向循环的范围以及循环间隔组成的点阵中,遍历所有的点。
S42:获取每次循环计算得到的交并比以及对应的候选偏移量,根据交并比从大到小的顺序进行排序,得到排序结果。
在本实施例中,候选偏移量是指在循环计算IoU交并比中,每一次计算该IoU交并比时实际作答区域相对于循环初始位置的偏移量。
具体地,将每一次计算得到IoU交并比后,将记录的实际作答区域的左上角坐标相对于循环初始位置的坐标的横坐标之间的差值,以及竖坐标之间的差值之间的差值作为该候选偏移量。
进一步地,在所有的CPU核心均停止计算IoU交并比后,将每个CPU核心每次得到的IoU交并比收集后,按照从大到小的顺序进行排序,进而得到该排序结果。
S43:获取排序结果中,排名第一的交并比对应的候选偏移量,并将候选偏移量作为手写板校正计算的计算结果。
在本实施例中,手写板校正计算的计算结果是指对实际作答区域进行校正时,具体需要位移的量。
具体地,在该排序结果中,选取排名第一的IoU交并比,即IoU交并比的最大值,将该选取的IoU对应的候选偏移量,作为该手写板校正计算的计算结果。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例二:
在一实施例中,提供一种手写板校正多线程并行处理装置,该手写板校正多线程并行处理装置与上述实施例中手写板校正多线程并行处理方法一一对应。如图6所示,该手写板校正多线程并行处理装置包括图片获取模块10、范围计算模块20、计算量分配模块30和计算模块40。各功能模块详细说明如下:
图片获取模块10,用于若获取到待校正笔迹图片,则根据待校正笔迹图片获取对应的基准图片;
范围计算模块20,用于根据待校正笔迹图片和基准图片设置循环计算范围;
计算量分配模块30,用于获取CPU核心线程数,根据CPU核心线程数和循环计算范围,计算单位线程计算范围;
计算模块40,用于根据CPU核心线程数,将每个单位线程计算范围分配至对应的CPU核心进行手写板校正计算。
优选地,图片获取模块10包括:
作业获取子模块11,用于若获取到待完成作业集,则从待完成作业集中获取待完成作业标识,以及与每个待完成作业标识对应的待完成习题模板;
笔迹获取子模块12,用于若获取到实际作答笔迹,则将实际作答笔迹所在的图片作为待校正笔迹图片,并从待校正笔迹图片中获取待匹配作业标识;
基准图片获取子模块13,用于根据待匹配作业标识获取从待完成习题模板中获取对应的基准图片。
优选地,范围计算模块20包括:
位置信息获取子模块21,用于在待校正笔迹图片中获取字迹框图,以及从基准图片中获取与字迹框图相对应的基准框图,并分别获取字迹框图与基准框图的字迹框图位置信息和基准框图位置信息;
范围计算子模块22,用于计算字迹框图位置信息与基准框图位置信息相对偏移量,并将相对偏移量作为循环计算范围。
优选地,计算量分配模块30包括:
范围设置子模块,用于在循环计算范围内获取横向循环计算范围和竖向循环计算范围;
选择计算子模块,用于选择横向循环计算范围或竖向循环计算范围,根据CPU核心线程数计算单位线程计算范围。
优选地,计算模块40包括:
并行计算子模块,用于获取预设的循环间隔和每个单位线程计算范围的循环初始位置开始,根据循环间隔,从对应的循环初始位置开始,在每个单位线程计算范围内循环计算交并比;
排序子模块,用于获取每次循环计算得到的交并比以及对应的候选偏移量,根据交并比从大到小的顺序进行排序,得到排序结果;
结果返回子模块,用于获取排序结果中,排名第一的交并比对应的候选偏移量,并将候选偏移量作为手写板校正计算的计算结果。
关于手写板校正多线程并行处理装置的具体限定可以参见上文中对于手写板校正多线程并行处理方法的限定,在此不再赘述。上述手写板校正多线程并行处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
实施例三:
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于预先录入的习题,形成习题库。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种手写板校正多线程并行处理方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
S10:若获取到待校正笔迹图片,则根据待校正笔迹图片获取对应的基准图片;
S20:根据待校正笔迹图片和基准图片设置循环计算范围;
S30:获取CPU核心线程数,根据CPU核心线程数和循环计算范围,计算单位线程计算范围;
S40:根据CPU核心线程数,将每个单位线程计算范围分配至对应的CPU核心进行手写板校正计算。
实施例四:
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S10:若获取到待校正笔迹图片,则根据待校正笔迹图片获取对应的基准图片;
S20:根据待校正笔迹图片和基准图片设置循环计算范围;
S30:获取CPU核心线程数,根据CPU核心线程数和循环计算范围,计算单位线程计算范围;
S40:根据CPU核心线程数,将每个单位线程计算范围分配至对应的CPU核心进行手写板校正计算。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种手写板校正多线程并行处理方法,其特征在于,所述手写板校正多线程并行处理方法包括以下步骤:
S10:若获取到待校正笔迹图片,则根据所述待校正笔迹图片获取对应的基准图片;
S20:根据所述待校正笔迹图片和所述基准图片设置循环计算范围;
S30:获取CPU核心线程数,根据所述CPU核心线程数和所述循环计算范围,计算单位线程计算范围;
S40:根据所述CPU核心线程数,将每个所述单位线程计算范围分配至对应的CPU核心进行手写板校正计算。
2.根据权利要求1所述的手写板校正多线程并行处理方法,其特征在于,步骤S10包括:
S11:若获取到待完成作业集,则从所述待完成作业集中获取待完成作业标识,以及与每个所述待完成作业标识对应的待完成习题模板;
S12:若获取到实际作答笔迹,则将所述实际作答笔迹所在的图片作为所述待校正笔迹图片,并从所述待校正笔迹图片中获取待匹配作业标识;
S13:根据所述待匹配作业标识获取从所述待完成习题模板中获取对应的所述基准图片。
3.根据权利要求1所述的手写板校正多线程并行处理方法,其特征在于,步骤S20包括:
S21:在所述待校正笔迹图片中获取字迹框图,以及从所述基准图片中获取与所述字迹框图相对应的基准框图,并分别获取所述字迹框图与所述基准框图的字迹框图位置信息和基准框图位置信息;
S22:计算所述字迹框图位置信息与所述基准框图位置信息相对偏移量,并将所述相对偏移量作为所述循环计算范围。
4.根据权利要求1所述的手写板校正多线程并行处理方法,其特征在于,步骤S30包括:
S31:在所述循环计算范围内获取横向循环计算范围和竖向循环计算范围;
S32:选择所述横向循环计算范围或竖向循环计算范围,根据所述CPU核心线程数计算所述单位线程计算范围。
5.根据权利要求1所述的手写板校正多线程并行处理方法,其特征在于,步骤S40包括:
S41:获取预设的循环间隔和每个所述单位线程计算范围的循环初始位置开始,根据所述循环间隔,从对应的所述循环初始位置开始,在每个所述单位线程计算范围内循环计算交并比;
S42:获取每次循环计算得到的所述交并比以及对应的候选偏移量,根据所述交并比从大到小的顺序进行排序,得到排序结果;
S43:获取所述排序结果中,排名第一的所述交并比对应的所述候选偏移量,并将所述候选偏移量作为所述手写板校正计算的计算结果。
6.一种手写板校正多线程并行处理装置,其特征在于,所述手写板校正多线程并行处理装置包括:
图片获取模块,用于若获取到待校正笔迹图片,则根据所述待校正笔迹图片获取对应的基准图片;
范围计算模块,用于根据所述待校正笔迹图片和所述基准图片设置循环计算范围;
计算量分配模块,用于获取CPU核心线程数,根据所述CPU核心线程数和所述循环计算范围,计算单位线程计算范围;
计算模块,用于根据所述CPU核心线程数,将每个所述单位线程计算范围分配至对应的CPU核心进行手写板校正计算。
7.根据权利要求6所述的手写板校正多线程并行处理装置,其特征在于,所述图片获取模块包括:
作业获取子模块,用于若获取到待完成作业集,则从所述待完成作业集中获取待完成作业标识,以及与每个所述待完成作业标识对应的待完成习题模板;
笔迹获取子模块,用于若获取到实际作答笔迹,则将所述实际作答笔迹所在的图片作为所述待校正笔迹图片,并从所述待校正笔迹图片中获取待匹配作业标识;
基准图片获取子模块,用于根据所述待匹配作业标识获取从所述待完成习题模板中获取对应的所述基准图片。
8.根据权利要求6所述的手写板校正多线程并行处理装置,其特征在于,所述范围计算模块包括:
位置信息获取子模块,用于在所述待校正笔迹图片中获取字迹框图,以及从所述基准图片中获取与所述字迹框图相对应的基准框图,并分别获取所述字迹框图与所述基准框图的字迹框图位置信息和基准框图位置信息;
范围计算子模块,用于计算所述字迹框图位置信息与所述基准框图位置信息相对偏移量,并将所述相对偏移量作为所述循环计算范围。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述手写板校正多线程并行处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述手写板校正多线程并行处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010323599.8A CN111506348A (zh) | 2020-04-22 | 2020-04-22 | 手写板校正多线程并行处理方法、装置、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010323599.8A CN111506348A (zh) | 2020-04-22 | 2020-04-22 | 手写板校正多线程并行处理方法、装置、设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111506348A true CN111506348A (zh) | 2020-08-07 |
Family
ID=71872898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010323599.8A Pending CN111506348A (zh) | 2020-04-22 | 2020-04-22 | 手写板校正多线程并行处理方法、装置、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506348A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11250179A (ja) * | 1998-02-27 | 1999-09-17 | Matsushita Joho System Kk | 文字認識装置および文字認識方法 |
JP2005301652A (ja) * | 2004-04-12 | 2005-10-27 | Pentel Corp | 手書き筆跡入力装置用座標入力補正方法 |
CN101697201A (zh) * | 2009-09-25 | 2010-04-21 | 华南理工大学 | 一种旋转方向无关的手写汉字识别方法 |
CN101958989A (zh) * | 2009-07-16 | 2011-01-26 | 富士施乐株式会社 | 图像处理装置、图像处理***及图像处理方法 |
CN102135821A (zh) * | 2011-03-08 | 2011-07-27 | 中国科学技术大学 | 一种手写笔及一种图形还原*** |
CN105786289A (zh) * | 2016-03-31 | 2016-07-20 | 联想(北京)有限公司 | 一种降低屏幕输入干扰的方法及电子设备 |
CN106201172A (zh) * | 2016-06-24 | 2016-12-07 | 广州视睿电子科技有限公司 | 一种触屏终端的画布显示方法及装置 |
CN106648418A (zh) * | 2016-11-14 | 2017-05-10 | 北京爱知之星科技股份有限公司 | 手写笔迹校正方法和装置 |
CN107247623A (zh) * | 2017-05-22 | 2017-10-13 | 哈工大大数据产业有限公司 | 一种基于多核cpu的分布式集群***及数据连接方法 |
CN108415600A (zh) * | 2018-03-09 | 2018-08-17 | 宁波宁大教育设备有限公司 | 电磁笔手写笔迹位置矫正方法及装置 |
CN209784982U (zh) * | 2019-05-20 | 2019-12-13 | 鲁伯特(北京)教育科技有限公司 | 一种手写板页码识别及书写轨迹校正装置 |
CN110781643A (zh) * | 2019-09-29 | 2020-02-11 | 广东墨痕教育科技有限公司 | Word文档电子试卷的手写笔迹识别方法及计算机可读存储介质 |
CN110928459A (zh) * | 2019-10-09 | 2020-03-27 | 广州视源电子科技股份有限公司 | 智能交互平板的书写操作方法、装置、设备和存储介质 |
-
2020
- 2020-04-22 CN CN202010323599.8A patent/CN111506348A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11250179A (ja) * | 1998-02-27 | 1999-09-17 | Matsushita Joho System Kk | 文字認識装置および文字認識方法 |
JP2005301652A (ja) * | 2004-04-12 | 2005-10-27 | Pentel Corp | 手書き筆跡入力装置用座標入力補正方法 |
CN101958989A (zh) * | 2009-07-16 | 2011-01-26 | 富士施乐株式会社 | 图像处理装置、图像处理***及图像处理方法 |
CN101697201A (zh) * | 2009-09-25 | 2010-04-21 | 华南理工大学 | 一种旋转方向无关的手写汉字识别方法 |
CN102135821A (zh) * | 2011-03-08 | 2011-07-27 | 中国科学技术大学 | 一种手写笔及一种图形还原*** |
CN105786289A (zh) * | 2016-03-31 | 2016-07-20 | 联想(北京)有限公司 | 一种降低屏幕输入干扰的方法及电子设备 |
CN106201172A (zh) * | 2016-06-24 | 2016-12-07 | 广州视睿电子科技有限公司 | 一种触屏终端的画布显示方法及装置 |
CN106648418A (zh) * | 2016-11-14 | 2017-05-10 | 北京爱知之星科技股份有限公司 | 手写笔迹校正方法和装置 |
CN107247623A (zh) * | 2017-05-22 | 2017-10-13 | 哈工大大数据产业有限公司 | 一种基于多核cpu的分布式集群***及数据连接方法 |
CN108415600A (zh) * | 2018-03-09 | 2018-08-17 | 宁波宁大教育设备有限公司 | 电磁笔手写笔迹位置矫正方法及装置 |
CN209784982U (zh) * | 2019-05-20 | 2019-12-13 | 鲁伯特(北京)教育科技有限公司 | 一种手写板页码识别及书写轨迹校正装置 |
CN110781643A (zh) * | 2019-09-29 | 2020-02-11 | 广东墨痕教育科技有限公司 | Word文档电子试卷的手写笔迹识别方法及计算机可读存储介质 |
CN110928459A (zh) * | 2019-10-09 | 2020-03-27 | 广州视源电子科技股份有限公司 | 智能交互平板的书写操作方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220101030A1 (en) | Examination paper correction method and apparatus, electronic device, and storage medium | |
CN109214471A (zh) | 评价练字字帖中的书写字的方法及*** | |
CN109145904A (zh) | 一种字符识别方法及装置 | |
US11093701B2 (en) | Form input processing | |
CN110222678B (zh) | 一种题目分析方法、***、可读存储介质及电子设备 | |
CN111027403A (zh) | 手势估计方法、装置、设备及计算机可读存储介质 | |
CN114782970B (zh) | 一种表格提取方法、***及可读介质 | |
CN111104883B (zh) | 作业答案提取方法、装置、设备及计算机可读存储介质 | |
CN106131630A (zh) | 基于电视机的网页浏览控制方法及相关装置 | |
CN111027537A (zh) | 一种搜题方法及电子设备 | |
CN109086336A (zh) | 试卷数据存储方法、装置及电子设备 | |
CN108197596B (zh) | 一种手势识别方法和装置 | |
CN111582405B (zh) | 一种数据标注方法及装置 | |
EP3761288A1 (en) | Print, and production method and production system for touch-and-talk content of print | |
CN113793538B (zh) | 一种教辅作业错题收集的方法及*** | |
CN111523387A (zh) | 手部关键点检测的方法、设备和计算机设备 | |
CN111506348A (zh) | 手写板校正多线程并行处理方法、装置、设备以及介质 | |
CN112364867B (zh) | 一种书法作业智能批改方法、***、电子设备及存储介质 | |
CN113065477B (zh) | 一种智慧课堂课本内容识别方法 | |
CN111507292A (zh) | 手写板校正方法、装置、计算机设备以及存储介质 | |
CN115482547A (zh) | 一种实现试题批改痕迹识别方法、存储介质及设备 | |
CN115272018A (zh) | 作业处理方法、作业处理设备、电子设备和存储介质 | |
CN114296564A (zh) | 电子白板的板书删除方法、***、电子白板及存储介质 | |
CN103700047A (zh) | 基于出勤概率的点名***和方法 | |
CN112000786A (zh) | 结合rpa和ai的对话机器人问题处理方法、装置和设备 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 510032 Part 402, No. 7, caipin Road, Science City, Luogang District, Guangzhou City, Guangdong Province Applicant after: Guangdong Everbright Information Technology Co.,Ltd. Address before: 510032 Part 402, No. 7, caipin Road, Science City, Luogang District, Guangzhou City, Guangdong Province Applicant before: GUANGZHOU EVERBRIGHT EDUCATION SOFTWARE TECHNOLOGY CO.,LTD. |