main

基于YOLOv8的动漫人脸角色识别

起初是发现一个动漫人物face相关的数据集icartoonface,然后又刚好在学YOLO,就想着做一个动漫人物识别的项目(刚好也能水一下这学期的人工智能实践)。经过一段时间的模型训练,我用得到的模型构建了api_server,但缺少可视化交互展示界面,最近也是收到百度官方人员邀请使用文心快码的新版本,于是想到了用文心快码来做可视化交互展示网站。

Comate

文心快码 (Baidu Comate) 是百度公司倾力打造的一款创新性 AI 编程助手。它深度融合了先进的人工智能技术,为开发者提供贯穿软件开发全流程的智能编码辅助,旨在创造更懂你的下一代编程体验。无论您是编程初学者还是经验丰富的开发者,文心快码都能成为您值得信赖的编程伙伴。

您可以通过在 VSCode、JetBrains IDEs 等主流 IDE 中安装 Comate 插件,或直接使用功能强大的独立 AI IDE 来体验文心快码。

简谈

AI Coding最近掀起了热潮,众多大厂都在跟进,比如微软的Copilot、谷歌的Bard等都推出了自己的AI编程助手。百度作为国内赶上AI早集的厂商,当然也早早推出了自家的产品——文心快码,从2023 年 10 月 24 日正式上线,到现在的文心快码3.5S以及Comate AI IDE。但始终没有怎么进入大众的视野,至少在我所在的圈子是这样的。

开始

我这里采用的是官方默认Agent模式——Zulu以及默认的大语言模型设置——auto,其他功能和智能体还没来得及研究。

理解项目

这是我的项目结构,第一步肯定得让ai知道我的项目是做什么的,刚好comate提供了一个介绍当前项目的提示标签,所以我直接用这个标签。
start

经过一顿输出,简单看了一下,基本都理解了。

introduction2

注意:如果你想要使用ai coding在项目上做二次开发,都需要先让ai了解项目结构内容等,方便ai做出后面的决策修改等。

直接给要求

由于我是想让他基于原始项目写网页,现在他已经理解我用了什么框架,实现了哪些功能,这个就是ai的强大之处,不用像工作同事合作那样挨个对接。现在直接给他你的要求,让他直接写,后面出现问题了再慢慢修改。(要是能一遍写好,并让我满意最好不过了😠)

firstcode

我的要求是:

我写的网页太丑了,帮我设计一个规整好看的动漫人物识别网页,要求尽量体现api_server的所有功能。

comate回复的一部分:

我会创建一个新的HTML文件来展示所有API功能,包含以下部分:

1. 文件上传区域

2. 检测/识别结果显示区

3. API功能切换面板

4. 结果可视化展示

5. 详细的API响应信息

然后就开始编写html文件了,但是!竟然把js、css也都写在html文件中的。这一点不是很规范,并且这个网页也不算小,还是需要去符合统一标准的。

编写完成后,说明了一下特点功能和使用方式等,我迫不及待运行然后点开网页。

homepagev1

怎么说,感觉外观还不错,我还挺喜欢这个配色和布局的,然后检查了一下后台,也没什么报错。

测试功能

只是编写好了一个网页还不远远不够的,功能完善才是重点。

我先是用一张只有一个角色的图片测试了所有功能,发现都没啥问题。
testfunc1

然后我又选了张有多个角色的图片,发现还是有问题的,不过不是功能上的,而是展示效果上的问题,这得改。
testfunc2

优化结构和修改展示效果

我的要求是:

使用js css不要全部写在html中,还有现在检测框不要标注上标签文字,只需要检测框就行了,然后鼠标悬浮放到对应检测框上面可以在鼠标旁边显示信息

注意:如果是啥也不会的小白,比如js、css都不知道,想要进行二次开发,还是很有局限性的,所以至少得要知道一些基础的前置知识。

secondcode

后面我就没有太关注回复的流程逻辑了,主要我也不太懂css,js代码,并且我看重结果,只要能修改好就没问题。

可以看到创建了对应的js和css,这样更好管理网页了。
20250922201939

直接运行访问,发现效果好多了,并且功能也都正常,只不过还有小问题,比如鼠标悬浮显示信息这块,我要求的是在鼠标旁边显示,但是有时候会显示到屏幕外面去,这点需要再优化。

littlebug

继续优化展示效果

然后就是基本的流程测试发现问题修复,用了这么多ai coding,很少有可以直接一步修理好这种不明显的非bug类型的问题,comate也不例外,不过几次修改之后,基本能达到我想要的效果了,而且也没有影响原来的功能。

展示如下:

show

结尾

为了完善项目,后面继续让comate写了一个api文档页面并能够喝主页面跳转,三轮聊天就写好修复完善了。
api
当然也少不了README的编写,这个就简单了,直接让comate写就好。还是很简洁明了的。

项目地址可见:yolov8_anim_recog_comate

总结

用起来还是很方便的,但是还是有很多细节需要打磨。

  • 使用库版本:虽然在这个项目中没怎么体现,但是在其他地方用的时候,发现大多数时候用的库还都比较老了,不是最新的,这点有待改进。因为一般安装库不指定版本都是安装的最新版,但是comate用有的库比如openai这个库,还是老版本的类和方法,导致会出bug,虽然也能改但是这个问题还是有点影响体验。
  • 代码规范:这点上面也提到了,直接把js、css写在html中,这点不太符合前端开发的规范,应该在提示词中加入规范化代码文件结构的要求,不只是在单个文件内部的代码结构上做文章,还需要整个代码结构规范化。
  • 是否保留修改代码问题:这个可以看看其他AI Coding工具的做法,比如微软的copilot,在生成代码后,会询问是否保留修改,现在comate的覆盖方式很奇怪,不能选择那几行代码进行覆盖,而是直接覆盖整个文件。
  • 代码解释和bug解释:开门见山地给出代码解释和bug解释,这点也还欠缺,有时候一个简单的解释就能让用户知道是什么问题,用户也能成长,也能溯源问题等,而不是闷头大干,用户啥也不知道。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐