
AnimatedDrawings 排错手册5 个阶段 16 种报错一次讲清从第一次运行崩溃到成功导出视频【免费下载链接】AnimatedDrawingsCode to accompany A Method for Animating Childrens Drawings of the Human Figure项目地址: https://gitcode.com/GitHub_Trending/an/AnimatedDrawings这是一份面向 AnimatedDrawingsAI 动画化儿童简笔画的故障排除与错误处理实操指南覆盖环境安装、TorchServe 标注服务、图像自动标注、BVH 动作重定向、视频导出五个阶段中最常踩的坑每条都给出报错现场、判断特征、修复步骤和验证方法帮你 10 分钟内独立定位并修好问题。阶段 0把安装环境一次装对conda create 直接报架构错报错现场M 系列芯片的 Mac 上建环境输出里出现一堆osx-64版本的包随后安装失败或运行时报 architecture 相关错误。快速判断只有 Apple Silicon 用户会中招看conda create的 NEW packages 列表装的是osx-64而不是osx-arm64就是它。修复路径编辑~/.condarc把subdirs里的osx-64删掉只留osx-arm64和noarch执行conda clean --all清缓存后重建环境验证通过再次conda createNEW packages 列表全部是osx-arm64。pip install -e . 卡在 libGL报错现场终端弹出一串ImportError: libGL.so.1: cannot open shared object file或 OpenGL 相关编译错误。快速判断常见于没装图形库的 Ubuntu 服务器和全新系统。本项目依赖 setup.py 锁定的PyOpenGL3.1.6和 glfw缺系统库就会炸。修复路径先补系统依赖sudo apt-get install libgl1-mesa-dev freeglut3-devmacOS 则brew install freeglut重新执行pip install -e .验证通过python -c import OpenGL, glfw无报错输出。render.start 不弹窗口或直接崩溃报错现场粘进两行render.start(...)后屏幕无窗口或进程直接挂掉。快速判断九成是控制器模式和渲染后端冲突——mvc_base_cfg.yaml 里interactive模式与USE_MESA: True互斥。修复路径本地看窗口确认controller.MODE: interactive且view.USE_MESA: FalseSSH 远程无显示环境改MODE: video_render并设USE_MESA: True走无头渲染验证通过本地能弹出交互窗口空格暂停、方向键倒带、q 退出。阶段 1把 TorchServe 标注服务拉起来curl (52) Empty reply from server报错现场docker run之后curl http://localhost:8080/ping返回curl: (52) Empty reply from server。快速判断两种可能——服务还在初始化或 Docker 内存不足。用docker logs docker_torchserve区分日志正常滚动就是前者出现 OOM 就是后者。修复路径等 10 秒重试镜像构建本身要 5-7 分钟属正常日志显示内存不足时把 Docker Desktop 的容器内存调到 16GB 后重启容器验证通过ping 返回{status: Healthy}。Could not detect any drawn humanoids报错现场跑image_to_animation.py时 assert 抛出Could not detect any drawn humanoids in the image. Aborting。快速判断检测器只认人形简笔画——复杂背景、背面朝向、遮挡严重的图容易检不到。修复路径先用仓库自带的蒜宝宝示例图 examples/drawings/garlic.png 跑一遍确认服务链路本身没问题换成正面朝向、背景干净的图尺寸控制在 512-1024 像素验证通过日志出现Detected 1 humanoids in image。检测请求返回 404报错现场报错里提到drawn_humanoid_detector.mar响应体带code: 404。快速判断torchserve/model-store/里缺 .mar 模型文件手动装 torchserve 时跳过了模型下载步骤。修复路径确认model-store/下同时有drawn_humanoid_detector.mar和drawn_humanoid_pose_estimator.marMac 本地方案直接补跑 torchserve/setup_macos.sh它会 wget 这两个文件验证通过重跑标注命令检测请求不再 404。8080 端口被占用报错现场本地起 torchserve 时提示 address already in use。快速判断上一个容器或残留进程还占着 8080。注意 examples/image_to_annotations.py 把http://localhost:8080写死在请求里所以换端口不如腾端口。修复路径lsof -i :8080找到 PID 后杀掉重启 torchserve验证通过ping 返回 Healthy且占端口的进程列表里只剩 torchserve。阶段 2让标注结果正确mask 有洞角色残缺或背景没分离报错现场生成的动画里角色缺胳膊少腿或白色背景被贴到身上。快速判断打开输出目录如garlic_out/里的mask.png——角色区域应为纯白、背景纯黑模型偶发漏分割。修复路径用任意图像编辑工具把 mask 涂成角色纯白、背景纯黑重跑python annotations_to_animation.py garlic_out/验证通过输出视频中角色轮廓完整、背景透明。关节点没标对肢体乱飞报错现场角色动起来后手臂脱臼、头部位置飘忽。快速判断char_cfg.yaml里 skeleton 各关节的像素坐标loc与画面不符用joint_overlay.png叠上去一眼就能看出来。修复路径python fix_annotations.py garlic_out/启动网页工具浏览器打开http://127.0.0.1:5050把关节拖到正确位置后 Submit验证通过重新渲染肢体跟随骨架不再断裂。标注目录缺文件报错现场FileNotFoundError或 YAML 解析失败。快速判断char_cfg.yaml 约定 texture.png 和 mask.png 必须与它同目录且 skeleton 里必须有且仅有一个rootparent 为 null。修复路径对照 examples/characters/char1/ 的完整文件结构补齐缺失文件确保 texture.png 尺寸与 char_cfg 里的 width/height 一致验证通过python -c import yaml; yaml.safe_load(open(garlic_out/char_cfg.yaml))无报错。阶段 3让 BVH 动作对得上角色换自定义 BVH 直接 KeyError报错现场加载自己的 BVH 后报关节名找不到的错误。快速判断示例配置全是按 Mixamo 骨架写的见 examples/config/retarget/fair1_spf.yaml 的char_joint_bvh_joints_mapping换一套 BVH 关节名全变了。修复路径head -n 50 你的.bvh看 Hierarchy 段记下真实关节名新建 motion 配置填forward_perp_joint_vectors、groundplane_joint、up和 retarget 配置把每个角色关节映射到一对 BVH 关节可参考 Rokoko 导出示例 examples/config/motion/jesse_dance.yaml验证通过渲染无缺失关节动作连续平滑。蝌蚪人掉头报错现场头身一体的角色做某些动作时脸朝下翻面。快速判断画里 neck 朝下被旋转去对齐人体骨架时整张脸就翻了。修复路径在 retarget 配置里加char_runtime_checks当 neck 不在两肩连线上方时自动跳过 neck 的映射写法直接抄 fair1_spf.yaml 末尾那几行验证通过动画全程脸部保持朝上。想动四足动物报错现场非人形角色跑自动标注必然失败因为检测器只认人形。快速判断标准管线只支持人形四足、多臂等骨架必须手动搭。修复路径参考 examples/quadruped/ 目录手动写 char_cfg.yaml 并配专门的 four_legs retarget 配置区分前后腿关节用 examples/config/mvc/four_legs_example.yaml 这类 mvc 配置验证效果验证通过四足角色原地跑动腿不穿模。阶段 4把视频导出来渲染跑完却没有视频文件报错现场命令正常结束但目标目录空空如也。快速判断mvc 配置里controller.MODE还是interactive——这个模式下OUTPUT_VIDEO_PATH会被直接忽略。修复路径改成MODE: video_render并指定OUTPUT_VIDEO_PATH如./video.gif远程 SSH 执行时同时设view.USE_MESA: True验证通过指定目录出现 video.gif浏览器能打开播放。透明背景导不出来报错现场期望透明底结果 MP4 背景是一整块白色。快速判断这个项目里透明通道只有 .gif 支持MP4 按OUTPUT_VIDEO_CODEC示例值为avc1编码必然不透明。修复路径要透明底就把输出改成.gif要高清就用.mp4OUTPUT_VIDEO_CODEC可按需调整验证通过gif 放到白底页面显示镂空mp4 在播放器正常播放。多角色叠在一起报错现场场景里两个角色站同一位置互相遮挡。快速判断每个角色的落点由各自 retarget 配置的char_starting_location决定默认都在原点。修复路径照 examples/config/mvc/multiple_characters_example.yaml 的方式给每个角色用单独的 retarget 配置把 x 坐标错开例如 -0.5 / 0.5验证通过导出的 gif 中两角色并排不遮挡。自检清单从头到尾走一遍排不动的时候按顺序跑哪一步先失败就去修哪一步conda activate animated_drawings成功且python -c import animated_drawings无报错curl http://localhost:8080/ping返回{status: Healthy}python image_to_animation.py examples/drawings/garlic.png garlic_out输出 Detected N humanoidsgarlic_out/里 char_cfg.yaml、mask.png、texture.png 齐全mask 角色纯白背景纯黑python -c import yaml; yaml.safe_load(open(garlic_out/char_cfg.yaml))通过render.start(./examples/config/mvc/interactive_window_example.yaml)弹窗正常MODE: video_renderUSE_MESA: True能在无窗口环境下产出 gif换 BVH 时已新建 joint 名匹配的 motion/retarget 配置两个顺手的小工具所有脚本的错误详情都写到./logs/log.txt修 bug 前先翻它比盯终端快配置改乱了就用python -c import yaml; yaml.safe_load(open(xxx.yaml))先验证语法再跑渲染。【免费下载链接】AnimatedDrawingsCode to accompany A Method for Animating Childrens Drawings of the Human Figure项目地址: https://gitcode.com/GitHub_Trending/an/AnimatedDrawings创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考