|
|
1 år sedan | |
|---|---|---|
| .vscode | 1 år sedan | |
| img | 1 år sedan | |
| README.md | 1 år sedan | |
| test.md | 1 år sedan |
-姓名 何必通 -学号 202226701034 -班级 22级软件工程大数据技术班级 -手机 159796066673
一句话描述项目设想(行业领域、用户画像、核心功能) 在动漫行业领域中,为了满足提高绘画效率的需求。漫画家可以画出开始动画和结尾动画,再由ai绘画人物动作的过程。
绘动智链
1.技术可行性: AI生成技术:目前,AI在图像生成和编辑领域已经取得了显著进展,尤其是深度学习模型(如GANs、卷积神经网络)在图像合成和动作生成方面具有较高的准确度。基于现有的AI技术(如OpenAI的DALL·E、Google的DeepMind等),自动生成中间帧是可行的,但需要针对动漫风格和动作过渡进行定制化训练。 动作捕捉与插值技术:AI可以通过机器学习分析起始帧和结束帧的关键动作,再利用动作插值算法生成中间帧,类似于现有的动画插值技术(如骨骼动画、运动捕捉数据)。该技术已经被广泛应用于游戏和电影制作中,理论上可以迁移到动漫创作中。
2、市场可行性: 目标用户需求:漫画家和小型动漫工作室普遍面临着高成本、长周期的动画制作问题。通过减少手工绘制的过渡帧,AI辅助工具能够显著提高创作效率,节省时间与成本,解决了市场上现有工具无法高效处理复杂动画的痛点。 行业趋势:随着AI技术的不断发展和应用,动漫行业逐渐接受AI辅助创作工具。已存在类似的AI辅助绘画工具(如自动上色、背景生成工具等),证明了市场对AI技术的接受度较高。
@startuml
actor 漫画家
participant "AI绘图系统" as AI
participant "动画生成工具" as 动画工具
participant "绘画工具" as 绘画工具
漫画家 -> 绘画工具 : 绘制开始动画
绘画工具 -> 动画生成工具 : 提交开始动画
动画生成工具 -> AI : 请求生成动画中间帧
AI -> AI : 生成人物动作(中间帧)
AI -> 动画生成工具 : 返回中间帧
动画生成工具 -> 绘画工具 : 生成中间动画
漫画家 -> 绘画工具 : 绘制结束动画
绘画工具 -> 动画生成工具 : 提交结束动画
动画生成工具 -> AI : 请求生成结束动画中间帧
AI -> AI : 生成人物动作(结束帧)
AI -> 动画生成工具 : 返回结束帧
动画生成工具 -> 绘画工具 : 生成结束动画
漫画家 -> 动画工具 : 查看完整动画
@enduml
@startuml
!define RECTANGLE class
' 系统组件
RECTANGLE UserInterface {
+提供绘制起始和结束动画的界面
+查看和调整AI生成的中间动作
}
RECTANGLE AnimationInput {
+上传开始动画帧
+上传结束动画帧
}
RECTANGLE AIEngine {
+基于输入的开始和结束帧生成中间帧
+调整动作流畅度与风格
}
RECTANGLE Storage {
+存储动画数据和AI生成的中间帧
+管理项目文件和用户数据
}
RECTANGLE ExportModule {
+导出动画为视频或GIF格式
}
' 组件间的关系
UserInterface --> AnimationInput : 上传起始/结束帧
AnimationInput --> AIEngine : 提供动画起始和结束数据
AIEngine --> Storage : 存储生成的中间帧
AIEngine --> UserInterface : 提供AI生成的中间帧供调整
Storage --> ExportModule : 提供存储的动画数据
ExportModule --> UserInterface : 导出生成的动画
@enduml
@startuml
package "用户界面" {
class "首页" {
+查看项目列表
+创建新项目
}
class "上传动画帧" {
+上传起始动画
+上传结束动画
+查看上传进度
}
class "AI生成动画" {
+查看AI生成的中间帧
+调整动作流畅度
+调整风格和细节
}
class "导出动画" {
+导出动画为视频格式
+导出动画为GIF格式
}
"首页" --> "上传动画帧" : 跳转到上传界面
"上传动画帧" --> "AI生成动画" : 上传完毕,生成中间帧
"AI生成动画" --> "导出动画" : 生成完毕,导出
}
package "AI引擎" {
class "动作生成" {
+分析起始帧与结束帧
+生成中间动作
}
class "流畅度调整" {
+调整动作流畅度
+优化动作衔接
}
class "风格匹配" {
+匹配漫画风格
+调整动画风格细节
}
"动作生成" --> "流畅度调整" : 优化动作
"流畅度调整" --> "风格匹配" : 根据风格调整
}
package "存储" {
class "项目文件" {
+存储起始帧
+存储结束帧
+存储生成的中间帧
}
}
"上传动画帧" --> "项目文件" : 存储用户上传的帧
"AI生成动画" --> "项目文件" : 存储AI生成的中间帧
"导出动画" --> "项目文件" : 导出已存储的动画
@enduml