【愚公系列】《AIGC辅助软件开发》028-AI辅助解决各种疑难杂症:提升答题卡选项识别率
标题 | 详情 |
---|---|
作者简介 | 愚公搬代码 |
头衔 | 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。 |
近期荣誉 | 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。 |
博客内容 | .NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。 |
欢迎 | 👍点赞、✍评论、⭐收藏 |
🚀前言
在教育领域,答题卡的使用越来越普遍,但随之而来的却是选项识别率不高的问题。这不仅影响了评分的准确性,也对学生的考试体验产生了负面影响。随着人工智能技术的不断进步,我们有机会利用AI的强大能力来解决这一难题,提升答题卡选项的识别率。
本文将深入探讨AI如何在答题卡识别中发挥作用,包括图像处理技术、机器学习算法和深度学习模型的应用。我们将分享一些成功案例,展示AI在提升识别率、减少误差方面的显著成效。无论你是教育工作者、技术开发者,还是对教育技术感兴趣的读者,这篇文章都将为你提供有价值的见解和实用的方法。让我们一起探索AI如何助力教育行业,解决答题卡识别的各种疑难杂症,推动教育评估的精准化与智能化!
🚀一、提升答题卡选项识别率
我们公司的一个答题卡识别项目经过真实的学生答题卡选项测试,结果显示自动识别率只有83%,远未达到可以应用的程度。时间就是生命,效率就是金钱。该项目在实际学校应用中有时间要求,我们制定了项目排期,从方案设计、修改、中间的实际测试,再到最后发布,最多只有10天的时间来解决这个问题。
面对未知的挑战,我们没有确定的路径,只能在未知的领域中探索。不过,令人欣慰的是,借助于 ChatGPT,我们在两天内解决了识别率的问题。首先,利用 ChatGPT 通读全篇代码。由于 ChatGPT 对话中有 token 数的限制,不能“贴大量代码”,我们尝试将代码放在可以公开访问的服务器上,例如烟心上,然后以链接的方式让 ChatGPT 解读。
然而,经过查证,无论是通过网页版还是 API 调用 ChatGPT,ChatGPT 都不具备访问外链的能力。因此,以下的回答实际上是 ChatGPT 凭空编造的。从下面的第3段对话中可以看出破绽。
这个回答并不是特别有条理和逻辑关系,为了得到更有逻辑关系的回答,更改了一下问题,强调结合代码说明前因后果。
为了对全局代码有更充分的了解,我们想让 ChatGPT 给出函数调用关系的信息,于是这样问:
这个回答完全脱离了所给出代码的实际内容。
不过从内容层面,我们可以快速了解代码里的功能。而逻辑关系就要自己看代码进行梳理了,这也是目前 ChatGPT 在解读大段代码方面的能力限制。我们只能自己读代码,同时利用ChatGPT为我们快速解释其中的部分代码段。
在实际测试过程中,发现个别答题卡在扫描时有干扰,导致识别定位坐标点出错。如图所示,答题卡顶部出现了干扰黑线。
通过在代码将过程图像显示出来,我们发现预处理图像时没有把干扰黑线过滤掉。
我们让 ChatGPT 解释一下预处理图像的代码。
通过 ChatGPT 给出的代码解释,我们知道了这部分处理图像的代码的作用是去除噪声和不必要信息。但处理效果不太好,预处理后的图像中,除了定位坐标外,干扰的黑线也形成了两个坐标点,如图所示。
代码找出定位坐标点的方法是,对比每个坐标点,找出最外层的坐标点并将其作为定位坐标。在图中,干扰项被处理成外层坐标,从而影响了正确的定位。在该图中我们关注的是定位坐标,其他的可以视为此次处理的噪声。我们想了解一下 OpenCV有哪些处理噪声的方法。
有了这几种处理方法,我们便可以逐个试验并进行调试,找到最优解。其中找到的处理方法是用形态学滤波的效果最好,代码如下:
处理效果如图所示,定位坐标非常清晰,无任何干扰。
这里的大小和扫描的图像分辨率有关,在统一设备的情况下,滤波大小为25x25 是比较适的选择。如果扫描的图像分辨率不一样,可以处理成相对分辨率的动态大小。至此,干犹黑线的问题就解决了。
- 点赞
- 收藏
- 关注作者
评论(0)