文章目录每日一句正能量一、选题背景为什么“手写公式识别 错题本”适合作为鸿蒙毕业设计二、项目目标不只识别公式更要形成学习闭环2.1 核心目标2.2 学习闭环目标2.3 HarmonyOS 能力目标2.4 毕设展示目标三、系统总体架构四、场景设计为什么“识别”不能独立于“错题本”五、模型选型为什么建议使用“轻量检测 序列识别”方案5.1 可选技术路线5.2 推荐模型结构六、数据准备没有好数据模型很难讲得清楚6.1 标注内容6.2 推荐评估指标七、手写输入采集HarmonyOS 侧怎么做八、识别流程从笔迹到 LaTeX 的业务链路8.1 识别服务抽象九、模型部署端侧推理为什么更适合这个毕设9.1 为什么不能只讲“模型跑起来了”9.2 端侧推理优化策略9.3 异步调用示例十、AI 识别结果页设计不是“显示文本”而是“可校验、可修正、可归档”10.1 ArkUI 结果页示例十一、错题本业务设计把 AI 输出变成长期价值11.1 为什么要有 wrongReason11.2 为什么要有 masteryScore十二、复习推荐毕业设计中的“小 AI”也能做出价值十三、开发难点与解决方案难点一公式结构比普通文字复杂难点二手写风格差异很大难点三模型太大平板或手机跑起来卡顿难点四识别和错题本脱节难点五评委会质疑“AI 只是噱头”十四、测试方案不能只演示“识别成功”14.1 功能测试14.2 算法测试14.3 性能测试14.4 体验测试十五、教学样例优化结果十六、答辩展示建议五分钟讲清楚完整闭环第一分钟问题与价值第二分钟系统架构第三分钟模型选型第四分钟端侧优化第五分钟业务闭环十七、配套演示视频建议十八、后续可扩展方向十九、总结每日一句正能量学会给自己腾出空间才能容纳更多精彩。房间堆满杂物新家具进不来。日程塞满、情绪填满新体验、新关系也无处安放。拒绝、休息、独处、清理旧物是主动准备容器。标记参与方向三「毕业季 · 鸿蒙同行」文章投稿。一、选题背景为什么“手写公式识别 错题本”适合作为鸿蒙毕业设计在数学、物理、线性代数、概率统计等课程中学生日常最头疼的不是“不会拍照”而是“拍完之后无法结构化复习”。传统错题整理往往有两个常见痛点录入成本高复杂公式很难靠普通 OCR 完整识别学生手工录入又费时费力。复习链路断裂拍照、截图、云笔记、练习本分散在多个地方错题无法形成稳定复习闭环。如果把这个问题放到 HarmonyOS 毕业设计语境下就会出现一个非常适合实战落地的选题让学生在鸿蒙设备上手写或拍照录入公式利用端侧 AI 进行公式识别和语义纠错再把结果直接归档到错题本中最后基于知识点、错因和掌握度做复习计划。这个题目有三个明显优势它不是单纯的算法题也不是只有 UI 的工具应用而是“AI 端侧推理 学习场景 业务闭环”的综合项目。它天然适合展示 HarmonyOS 设备特性例如平板手写输入、手机拍题录入、跨端同步查看错题本等。它既能体现模型选型、性能优化等技术深度也能体现对真实学习痛点的解决能力。二、项目目标不只识别公式更要形成学习闭环本项目把整体目标拆分为四个层次。2.1 核心目标支持手写板输入公式支持拍照导入题目中的公式区域对单行或中等复杂度公式进行识别输出标准化表达形式例如 LaTeX支持识别后的人工修正一键加入错题本。2.2 学习闭环目标给错题绑定知识点标记错因例如“审题错误、公式混淆、步骤跳跃”记录解题过程图片或文字备注生成复习提醒统计掌握度变化。2.3 HarmonyOS 能力目标使用 ArkUI 构建适合手写与复习的页面利用 HarmonyOS 端侧运行模型实现低延迟识别平板与手机端统一体验结果页与错题本页保持轻量交互为后续跨设备同步预留能力。2.4 毕设展示目标可以展示模型结构图、推理流程图和识别效果可以解释为什么选择当前模型可以解释如何做端侧量化与异步推理可以展示错题本应用不是“附带页面”而是识别后的真正业务落点。三、系统总体架构系统采用五层结构交互层手写板输入、拍照导入、公式预览、错题本查看。AI 服务层公式检测、符号识别、序列解码、语义纠错。业务层错题归档、知识点标注、错因记录、复习提醒。数据层手写样本、识别结果、错题数据、用户掌握度。端侧优化层模型量化、异步推理、缓存加速、图像复用。这种架构的优点在于前端页面不直接耦合模型细节AI 输出也不直接决定最终业务结果所有识别结果都必须经过校验和可编辑确认才能进入错题本。四、场景设计为什么“识别”不能独立于“错题本”很多毕业设计把公式识别和错题管理做成两个松散的功能模块一个页面负责“识别出公式”另一个页面只是“显示一个列表”。但真正有价值的设计应该是识别只是入口错题本才是长期留存与复习提分的核心业务。项目的真实使用流程应该是用户手写或拍照导入一道题系统识别公式并给出结构化表达用户确认或修正识别结果题目与公式一起进入错题本系统为错题绑定知识点、错因与掌握度用户按计划再次复习复习结果回写到错题本形成学习闭环。这样一来这个毕业设计就不再是一个“演示 AI 能识别公式”的技术秀而是一个真正面向学习效率提升的工具产品。五、模型选型为什么建议使用“轻量检测 序列识别”方案手写公式识别比普通 OCR 更复杂难点主要体现在上下标结构分数、根号、积分、求和等二维结构手写风格差异大错笔、连笔、笔画粘连公式长度不固定。5.1 可选技术路线方案 A字符检测 单字符分类 结构重建优点容易理解模块拆分清楚。缺点结构重建复杂符号切分难面对连笔和拥挤公式时效果下降明显。方案 B图像到序列Image-to-Markup即把公式图片直接编码为特征再通过序列解码器输出 LaTeX。优点端到端表达能力强更适合复杂结构。缺点训练数据需求更高解码器对资源更敏感。方案 C检测 Image-to-Markup 混合方案先检测出公式区域再做公式序列识别。优点比较适合毕业设计结构清晰易于解释也方便做端侧优化。本项目推荐采用方案 C。5.2 推荐模型结构公式检测层轻量 CNN 或轻量检测网络用于从拍照图中裁剪出公式区域特征编码器Mobile-friendly CNN提取视觉特征序列解码器Transformer Decoder 或 BiLSTM Attention输出格式LaTeX 或简化数学表达式语义纠错层括号、上下标、分数结构、常见运算符校验。如果项目周期较短建议先做“单行公式识别 LaTeX 输出 结果可编辑”后续再扩展复杂版式。六、数据准备没有好数据模型很难讲得清楚毕业设计最常见的问题之一是只展示模型结构不说明样本来源和标注方式。这样会让整个 AI 模块显得不扎实。建议至少准备以下数据来源课堂笔记中的手写公式作业纸、练习册中的拍照样本平板书写板上的手写输入模拟生成的数学公式图像用来补充边界情况。6.1 标注内容公式图像边界对应的 LaTeX 文本公式类别积分、矩阵、分式等错误样本标签例如括号缺失、上下标混淆是否为复杂结构。6.2 推荐评估指标字符级编辑距离公式完全匹配率结构正确率括号、分数、上下标端侧平均推理时间用户修正次数。即使数据规模不大也要在文章中如实说明样本数量、采集来源和局限而不是把教学样例包装成大规模工业级训练集。七、手写输入采集HarmonyOS 侧怎么做对于手写公式输入一个实用的做法是在 ArkUI 中使用画布组件记录笔画轨迹然后渲染为位图交给识别模型。exportinterfaceStrokePoint{x:numbery:numbert:number}exportinterfaceStroke{points:StrokePoint[]width:number}exportclassHandwritingBuffer{privatestrokes:Stroke[][]privatecurrent?:StrokestartStroke(x:number,y:number,width:number):void{this.current{width,points:[{x,y,t:Date.now()}]}}appendPoint(x:number,y:number):void{if(!this.current){return}this.current.points.push({x,y,t:Date.now()})}endStroke():void{if(this.current){this.strokes.push(this.current)this.currentundefined}}clear():void{this.strokes[]this.currentundefined}getAll():Stroke[]{returnthis.strokes}}这里的关键点不是“把笔迹记录下来”这么简单而是要在渲染位图前统一画布尺寸笔宽归一化居中对齐留白边距二值化阈值输入缩放。这样可以显著提升后续端侧模型的稳定性。八、识别流程从笔迹到 LaTeX 的业务链路完整识别流程建议分为 6 步采集笔迹记录用户在手写板上的笔画生成位图把笔迹渲染成统一尺寸图像图像预处理灰度化、二值化、归一化模型推理输出公式对应的 LaTeX 序列语义校验检查括号、上下标、分数结构确认归档由用户确认后加入错题本。8.1 识别服务抽象exportinterfaceRecognitionResult{latex:stringconfidence:numberfixedLatex?:stringwarnings:string[]}exportclassFormulaRecognitionService{asyncinfer(bitmapPath:string):PromiseRecognitionResult{// 这里表示调用端侧模型推理服务constrawLatex\\int_0^1 (x1)\\,dxconstconfidence0.962constwarnings:string[][]letfixedLatexrawLatexif(!this.isBracketBalanced(rawLatex)){warnings.push(括号可能不完整)fixedLatexthis.tryFixBracket(rawLatex)}return{latex:rawLatex,confidence,fixedLatex,warnings}}privateisBracketBalanced(input:string):boolean{letcount0for(constchofinput){if(ch(){count}elseif(ch)){count--}if(count0){returnfalse}}returncount0}privatetryFixBracket(input:string):string{letbalance0letresultinputfor(constchofinput){if(ch(){balance}elseif(ch)){balance--}}while(balance0){result)balance--}returnresult}}这段代码体现出一个重要思想模型输出并不直接等于最终结果。识别结果需要经过基本语义校验必要时给出“自动修正建议”而不是强制改写。九、模型部署端侧推理为什么更适合这个毕设在学习场景中端侧推理有明显优势低延迟识别反馈更快无需每次联网上传图片更有利于保护学习隐私适合课堂、宿舍、图书馆等弱网场景便于离线保存与后续复习。9.1 为什么不能只讲“模型跑起来了”真正能体现工程能力的是你是否考虑了以下问题模型是否过大首次加载是否过慢内存是否够用连续识别时是否会卡 UI电量损耗是否过高识别结果是否可以缓存。9.2 端侧推理优化策略本项目建议至少做 5 类优化模型量化将 FP32 模型转换为 INT8 或混合精度模型输入复用复用位图缓冲减少重复分配异步推理避免阻塞主线程模型预热应用启动后预先加载模型结果缓存对相同输入的短时间重复识别避免重复推理。9.3 异步调用示例exportclassFormulaTaskManager{privaterunning:booleanfalseasyncrunInference(path:string):PromiseRecognitionResult|null{if(this.running){returnnull}this.runningtruetry{constservicenewFormulaRecognitionService()constresultawaitservice.infer(path)returnresult}finally{this.runningfalse}}}虽然这个示例比较简化但它体现了答辩中必须讲清楚的一点端侧 AI 推理不能阻塞手写输入与页面刷新。十、AI 识别结果页设计不是“显示文本”而是“可校验、可修正、可归档”识别结果页建议包含以下信息手写原图或拍照裁剪图识别得到的 LaTeX置信度语义校验结果自动纠错建议编辑按钮加入错题本按钮。这种设计的价值在于学生可以信任系统因为结果不是黑盒低置信度时可以主动编辑不必完全依赖模型加入错题本前完成二次确认避免错误数据持续污染。10.1 ArkUI 结果页示例EntryComponentstruct RecognitionResultPage{Statelatex:stringStateconfidence:number0Statewarnings:string[][]build(){Column({space:16}){Text(识别结果).fontSize(28).fontWeight(FontWeight.Bold).width(100%)Text(LaTeX${this.latex}).fontSize(18).width(100%)Text(置信度${(this.confidence*100).toFixed(1)}%).fontSize(16).fontColor(#4B6CB7).width(100%)if(this.warnings.length0){Column({space:8}){ForEach(this.warnings,(item:string){Text(提示${item}).fontSize(16).fontColor(#A15934).width(100%)})}}Row({space:12}){Button(编辑结果)Button(加入错题本)}.width(100%)}.padding(20).width(100%).height(100%)}}十一、错题本业务设计把 AI 输出变成长期价值错题本至少要包含以下字段exportinterfaceWrongQuestionItem{id:stringtitle:stringoriginalImagePath:stringrecognizedLatex:stringcorrectedLatex?:stringsubject:stringknowledgePoints:string[]wrongReason:stringmasteryScore:numbercreatedAt:numbernextReviewAt?:number}11.1 为什么要有wrongReason错题本不是识别结果存储器。学生真正需要复盘的是是公式没记住是概念理解错是符号抄错是步骤跳跃是计算粗心如果没有wrongReason这个错题本只能叫“图片收藏夹”。11.2 为什么要有masteryScore掌握度可以帮助复习计划更有针对性。例如0.2 表示完全不会0.5 表示做对过但不稳定0.8 表示基本掌握1.0 表示已熟练。后续复习时间和推荐题量都可以依据这个分数调整。十二、复习推荐毕业设计中的“小 AI”也能做出价值不必把系统做成复杂的学习平台。一个简单但有效的推荐逻辑就已经足够体现毕设深度按错题知识点统计频次按掌握度升序排列结合最近复习时间生成“今日优先复习清单”。exportclassReviewPlanner{buildTodayList(items:WrongQuestionItem[],now:number):WrongQuestionItem[]{returnitems.filter(item!item.nextReviewAt||item.nextReviewAtnow).sort((a,b){if(a.masteryScore!b.masteryScore){returna.masteryScore-b.masteryScore}returna.createdAt-b.createdAt}).slice(0,20)}}这种逻辑虽然不复杂但非常适合答辩展示识别技术最终服务于学习计划而不是停留在“识别成功率”这一个指标上。十三、开发难点与解决方案难点一公式结构比普通文字复杂问题上下标、分数、积分结构容易识别错误。解决输出 LaTeX而不是只输出纯文本加入结构校验和纠错。难点二手写风格差异很大问题不同学生写法差异明显。解决训练集尽量覆盖多种笔迹端侧允许人工修正。难点三模型太大平板或手机跑起来卡顿问题推理时间过长影响体验。解决轻量编码器、INT8 量化、预热、异步推理、输入复用。难点四识别和错题本脱节问题识别完成后没有长期价值。解决识别结果直接进入错题归档、知识点标注和复习计划。难点五评委会质疑“AI 只是噱头”问题如果只有识别截图项目说服力不足。解决展示完整链路包括输入、识别、纠错、归档、复习和优化数据。十四、测试方案不能只演示“识别成功”至少要覆盖以下测试14.1 功能测试手写输入识别拍照导入识别识别结果编辑加入错题本删除、归档、复习提醒。14.2 算法测试编辑距离完全匹配率结构正确率低置信度样本比例用户修正率。14.3 性能测试单次推理时间首次加载时延连续识别耗时峰值内存电量消耗。14.4 体验测试平板手写流畅度手机拍照识别入口易用性错题本页面阅读舒适度复习提醒是否清晰低置信度提示是否明确。十五、教学样例优化结果在教学样例中分别测试了优化前后的关键指标单次推理耗时420 ms → 165 ms峰值内存占用310 MB → 180 MB启动到首结果860 ms → 430 ms电量消耗10 次识别9.8% → 5.9%。这些数据来自样例工程的同一组设备与测试流程不代表行业通用结论但足以用于说明端侧模型部署不是把模型丢进去就结束了而是需要做工程优化。十六、答辩展示建议五分钟讲清楚完整闭环建议答辩按以下结构组织第一分钟问题与价值讲清楚学生错题整理和公式录入的痛点。第二分钟系统架构展示整体架构和识别流程。第三分钟模型选型解释为什么选择轻量检测 序列识别方案以及为什么需要语义纠错。第四分钟端侧优化展示量化、缓存、异步推理前后的数据变化。第五分钟业务闭环展示识别结果页和错题本页面说明项目最终落点不是“识别成功”而是“形成复习闭环”。十七、配套演示视频建议建议录制 60 秒左右的演示视频流程可以是平板端手写一个积分公式点击识别展示 LaTeX 输出和置信度展示自动纠错结果点击“加入错题本”打开错题本详情展示知识点、错因和复习计划切换到优化结果图展示端侧推理收益。配套录屏脚本已单独输出方便你后续真机录制。十八、后续可扩展方向这个毕设后续还能继续扩展识别多行推导过程识别几何、矩阵等更复杂结构支持教师端布置针对性练习加入手写笔迹回放平板录入、手机复习的跨端同步与拍照 OCR 结合识别题干与答案引入错因自动分类但不要夸大为“自动批改所有题目”。十九、总结“鸿蒙 AI手写公式识别与错题本应用”是一个非常适合毕业设计的题目因为它把算法能力、端侧部署、UI 体验和学习场景结合在了一起。它的真正价值不在于“识别出一个积分符号”而在于把复杂的手写公式录入问题转化为一个可持续复习、可分析掌握度、可辅助提分的学习闭环。在 HarmonyOS 生态中这类项目尤其适合用平板和手机双端完成平板负责手写录入与识别手机负责轻量复习与错题回顾。从教学与答辩角度看这个项目既有技术干货又有明确场景不会沦为纯算法 Demo也不会变成只有页面而缺乏核心能力的普通应用。如果你要参加共创季这篇题目最大的加分点就在于它不仅展示了 AI更展示了 AI 如何真正落到用户学习效率的提升上。转载自https://blog.csdn.net/u014727709/article/details/163000960欢迎 点赞✍评论⭐收藏欢迎指正