[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-yu4u--age-gender-estimation":3,"tool-yu4u--age-gender-estimation":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,52],"视频",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[14,35],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":78,"owner_url":79,"languages":80,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":10,"env_os":97,"env_gpu":98,"env_ram":99,"env_deps":100,"category_tags":106,"github_topics":107,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":113,"updated_at":114,"faqs":115,"releases":155},4256,"yu4u\u002Fage-gender-estimation","age-gender-estimation","Keras implementation of a CNN network for age and gender estimation","age-gender-estimation 是一个基于 Keras 框架开发的开源项目，旨在通过卷积神经网络（CNN）从人脸图像中精准估算人物的年龄和性别。它有效解决了传统人工标注效率低下以及通用模型在特定场景下准确率不足的痛点，为需要快速分析人群属性的应用提供了可靠的算法支持。\n\n该工具主要适合 AI 开发者、计算机视觉研究人员以及希望集成人脸识别功能的技术团队使用。用户既可以直接调用预训练模型进行演示或部署，也能利用 IMDB-WIKI 等大规模数据集重新训练模型，以满足特定业务需求。其技术亮点在于灵活的架构设计，支持切换 EfficientNet 等多种主流骨干网络，并集成了 W&B 可视化功能以便实时监控训练曲线。此外，项目持续更新，不仅优化了训练策略（如采用 Adam 优化器），还适配了 TensorFlow 2.x 环境，确保了在现代深度学习工作流中的高效运行与易用性。无论是用于安防监控、零售客流分析还是学术研究，age-gender-estimation 都是一个成熟且易于上手的基准方案。","# Age and Gender Estimation\nThis is a Keras implementation of a CNN for estimating age and gender from a face image [1, 2].\nIn training, [the IMDB-WIKI dataset](https:\u002F\u002Fdata.vision.ee.ethz.ch\u002Fcvl\u002Frrothe\u002Fimdb-wiki\u002F) is used.\n\n- [Aug. 21, 2020] Refactored; use tensorflow.keras\n- [Jun. 30, 2019] [Another PyTorch-based project](https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-estimation-pytorch) was released\n- [Nov. 12, 2018] Enable Adam optimizer; seems to be better than momentum SGD\n- [Sep. 23, 2018] Demo from directory\n- [Aug. 11, 2018] Add age estimation sub-project [here](age_estimation)\n- [Jul. 5, 2018] The UTKFace dataset became available for training.\n- [Apr. 10, 2018] Evaluation result on the APPA-REAL dataset was added.\n\n## Dependencies\n- Python3.6+\n\nTested on:\n- Ubuntu 16.04, Python 3.6.9, Tensorflow 2.3.0, CUDA 10.01, cuDNN 7.6\n\n\n## Usage\n\n### Use trained model for demo\nRun the demo script (requires web cam).\nYou can use `--image_dir [IMAGE_DIR]` option to use images in the `[IMAGE_DIR]` directory instead.\n\n```sh\npython demo.py\n```\n\nThe trained model will be automatically downloaded to the `pretrained_models` directory.\n\n### Create training data from the IMDB-WIKI dataset\nFirst, download the dataset.\nThe dataset is downloaded and extracted to the `data` directory by:\n\n```sh\n.\u002Fdownload.sh\n```\n\nSecondly, filter out noise data and serialize labels into `.csv` file.\nPlease check [check_dataset.ipynb](check_dataset.ipynb) for the details of the dataset.\nThe training data is created by:\n\n```sh\npython create_db.py --db imdb\n```\n\n```sh\nusage: create_db.py [-h] [--db DB] [--min_score MIN_SCORE]\n\nThis script cleans-up noisy labels and creates database for training.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --db DB               dataset; wiki or imdb (default: imdb)\n  --min_score MIN_SCORE minimum face_score (default: 1.0)\n```\n\nThe resulting files with default parameters are included in this repo (meta\u002Fimdb.csv and meta\u002Fwiki.csv),\nthus there is no need to run this by yourself.\n\n\n### Create training data from the UTKFace dataset [currently not supported]\nFirstly, download images from [the website of the UTKFace dataset](https:\u002F\u002Fsusanqq.github.io\u002FUTKFace\u002F).\n`UTKFace.tar.gz` can be downloaded from `Aligned&Cropped Faces` in Datasets section.\nThen, extract the archive.\n\n```sh\ntar zxf UTKFace.tar.gz UTKFace\n```\n\nFinally, run the following script to create the training data:\n\n```\npython create_db_utkface.py -i UTKFace -o UTKFace.mat\n```\n\n[NOTE]: Because the face images in the UTKFace dataset is tightly cropped (there is no margin around the face region),\nfaces should also be cropped in `demo.py` if weights trained by the UTKFace dataset is used.\nPlease set the margin argument to 0 for tight cropping:\n\n```sh\npython demo.py --weight_file WEIGHT_FILE --margin 0\n```\n\nThe pre-trained weights can be found [here](https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-gender-estimation\u002Freleases\u002Fdownload\u002Fv0.5\u002Fweights.29-3.76_utk.hdf5).\n\n### Train model\nTrain the model architecture using the training data created above:\n\n```sh\npython train.py\n```\n\nTrained weight files are stored as `checkpoints\u002F*.hdf5` for each epoch if the validation loss becomes minimum over previous epochs.\n\n#### Changing model or the other training parameters\nYou can change [default setting(s)](src\u002Fconfig.yaml) from command line as:\n\n```sh\npython train.py model.model_name=EfficientNetB3 model.batch_size=64\n```\n\nAvailable models can be found [here](https:\u002F\u002Fkeras.io\u002Fapi\u002Fapplications\u002F).\n\n#### Check training curve\nThe training logs can be easily visualized via [wandb](https:\u002F\u002Fwww.wandb.com\u002F) by:\n\n1. create account from [here](https:\u002F\u002Fapp.wandb.ai\u002Flogin?signup=true)\n2. create new project in wandb (e.g. \"age-gender-estimation\")\n3. run `wandb login` on terminal and authorize\n4. run training script with `wandb.project=age-gender-estimation` argument\n5. check dashboard!\n\n### Use the trained model\n\n```sh\npython demo.py\n```\n\n```sh\nusage: demo.py [-h] [--weight_file WEIGHT_FILE] [--margin MARGIN]\n               [--image_dir IMAGE_DIR]\n\nThis script detects faces from web cam input, and estimates age and gender for\nthe detected faces.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --weight_file WEIGHT_FILE\n                        path to weight file (e.g. weights.28-3.73.hdf5)\n                        (default: None)\n  --margin MARGIN       margin around detected face for age-gender estimation\n                        (default: 0.4)\n  --image_dir IMAGE_DIR\n                        target image directory; if set, images in image_dir\n                        are used instead of webcam (default: None)\n```\n\nPlease use the best model among `checkpoints\u002F*.hdf5` for `WEIGHT_FILE` if you use your own trained models.\n\n\n\n### Estimated results\nTrained on imdb, tested on wiki.\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyu4u_age-gender-estimation_readme_5cf5ba437609.png)\n\n\n### Evaluation\n\n#### Evaluation on the APPA-REAL dataset\nYou can evaluate a trained model on the APPA-REAL (validation) dataset by:\n\n```bash\npython evaluate_appa_real.py --weight_file WEIGHT_FILE\n```\n\nPlease refer to [here](appa-real) for the details of the APPA-REAL dataset.\n\nThe results of trained model is:\n\n```\nMAE Apparent: 5.33\nMAE Real: 6.22\n```\n\nThe best result reported in [5] is:\n\n```\nMAE Apparent: 4.08\nMAE Real: 5.30\n```\n\nPlease note that the above result was achieved by finetuning the model using the training set of the APPA-REAL dataset.\n\n## License\nThis project is released under the MIT license.\nHowever, [the IMDB-WIKI dataset](https:\u002F\u002Fdata.vision.ee.ethz.ch\u002Fcvl\u002Frrothe\u002Fimdb-wiki\u002F) used in this project is originally provided under the following conditions.\n\n> Please notice that this dataset is made available for academic research purpose only. All the images are collected from the Internet, and the copyright belongs to the original owners. If any of the images belongs to you and you would like it removed, please kindly inform us, we will remove it from our dataset immediately.\n\nTherefore, the pretrained model(s) included in this repository is restricted by these conditions (available for academic research purpose only).\n\n\n## References\n[1] R. Rothe, R. Timofte, and L. V. Gool, \"DEX: Deep EXpectation of apparent age from a single image,\" in Proc. of ICCV, 2015.\n\n[2] R. Rothe, R. Timofte, and L. V. Gool, \"Deep expectation of real and apparent age from a single image\nwithout facial landmarks,\" in IJCV, 2016.\n\n[3] H. Zhang, M. Cisse, Y. N. Dauphin, and D. Lopez-Paz, \"mixup: Beyond Empirical Risk Minimization,\" in arXiv:1710.09412, 2017.\n\n[4] Z. Zhong, L. Zheng, G. Kang, S. Li, and Y. Yang, \"Random Erasing Data Augmentation,\" in arXiv:1708.04896, 2017.\n\n[5] E. Agustsson, R. Timofte, S. Escalera, X. Baro, I. Guyon, and R. Rothe, \"Apparent and real age estimation in still images with deep residual regressors on APPA-REAL database,\" in Proc. of FG, 2017.\n","# 年龄与性别估计\n这是一个基于 Keras 的 CNN 实现，用于从人脸图像中估计年龄和性别 [1, 2]。\n在训练过程中，使用了 [IMDB-WIKI 数据集](https:\u002F\u002Fdata.vision.ee.ethz.ch\u002Fcvl\u002Frrothe\u002Fimdb-wiki\u002F)。\n\n- [2020年8月21日] 重构代码；使用 tensorflow.keras\n- [2019年6月30日] 发布了另一个基于 PyTorch 的项目 [这里](https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-estimation-pytorch)\n- [2018年11月12日] 启用 Adam 优化器；似乎比动量 SGD 更好\n- [2018年9月23日] 目录下的演示\n- [2018年8月11日] 添加了年龄估计子项目 [这里](age_estimation)\n- [2018年7月5日] UTKFace 数据集可用于训练。\n- [2018年4月10日] 增加了 APPA-REAL 数据集上的评估结果。\n\n## 依赖项\n- Python 3.6+\n\n测试环境：\n- Ubuntu 16.04, Python 3.6.9, Tensorflow 2.3.0, CUDA 10.01, cuDNN 7.6\n\n\n## 使用方法\n\n### 使用训练好的模型进行演示\n运行演示脚本（需要网络摄像头）。\n您也可以使用 `--image_dir [IMAGE_DIR]` 选项来使用 `[IMAGE_DIR]` 目录中的图片代替。\n\n```sh\npython demo.py\n```\n\n训练好的模型会自动下载到 `pretrained_models` 目录中。\n\n### 从 IMDB-WIKI 数据集创建训练数据\n首先，下载数据集。\n通过以下命令将数据集下载并解压到 `data` 目录：\n\n```sh\n.\u002Fdownload.sh\n```\n\n其次，过滤掉噪声数据并将标签序列化为 `.csv` 文件。\n请查看 [check_dataset.ipynb](check_dataset.ipynb) 以了解数据集的详细信息。\n训练数据可以通过以下命令创建：\n\n```sh\npython create_db.py --db imdb\n```\n\n```sh\nusage: create_db.py [-h] [--db DB] [--min_score MIN_SCORE]\n\n此脚本清理噪声标签，并创建用于训练的数据库。\n\n可选参数：\n  -h, --help            显示此帮助消息并退出\n  --db DB               数据集；wiki 或 imdb（默认：imdb）\n  --min_score MIN_SCORE 最小人脸置信度（默认：1.0）\n```\n\n使用默认参数生成的文件已包含在本仓库中（meta\u002Fimdb.csv 和 meta\u002Fwiki.csv），因此无需自行运行此命令。\n\n### 从 UTKFace 数据集创建训练数据 [目前不支持]\n首先，从 [UTKFace 数据集官网](https:\u002F\u002Fsusanqq.github.io\u002FUTKFace\u002F) 下载图片。\n可以在“Datasets”部分的“Aligned&Cropped Faces”中下载 `UTKFace.tar.gz`。\n然后解压该压缩包。\n\n```sh\ntar zxf UTKFace.tar.gz UTKFace\n```\n\n最后，运行以下脚本以创建训练数据：\n\n```\npython create_db_utkface.py -i UTKFace -o UTKFace.mat\n```\n\n[注意]：由于 UTKFace 数据集中的人脸图像裁剪得非常紧密（面部周围没有留白），如果使用 UTKFace 数据集训练的权重，在 `demo.py` 中也需要对人脸进行紧密裁剪。\n请将边距参数设置为 0 进行紧密裁剪：\n\n```sh\npython demo.py --weight_file WEIGHT_FILE --margin 0\n```\n\n预训练的权重可以在这里找到 [这里](https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-gender-estimation\u002Freleases\u002Fdownload\u002Fv0.5\u002Fweights.29-3.76_utk.hdf5)。\n\n### 训练模型\n使用上述创建的训练数据训练模型架构：\n\n```sh\npython train.py\n```\n\n如果验证损失低于之前的轮次，每轮训练后的权重文件都会保存为 `checkpoints\u002F*.hdf5`。\n\n#### 更改模型或其他训练参数\n您可以通过命令行更改 [默认设置](src\u002Fconfig.yaml)，例如：\n\n```sh\npython train.py model.model_name=EfficientNetB3 model.batch_size=64\n```\n\n可用的模型可以在 [这里](https:\u002F\u002Fkeras.io\u002Fapi\u002Fapplications\u002F) 查看。\n\n#### 检查训练曲线\n训练日志可以通过 [wandb](https:\u002F\u002Fwww.wandb.com\u002F) 轻松可视化，步骤如下：\n1. 在 [这里](https:\u002F\u002Fapp.wandb.ai\u002Flogin?signup=true) 创建账户\n2. 在 wandb 中创建新项目（例如“age-gender-estimation”）\n3. 在终端运行 `wandb login` 并授权\n4. 使用 `wandb.project=age-gender-estimation` 参数运行训练脚本\n5. 查看仪表板！\n\n### 使用训练过的模型\n\n```sh\npython demo.py\n```\n\n```sh\nusage: demo.py [-h] [--weight_file WEIGHT_FILE] [--margin MARGIN]\n               [--image_dir IMAGE_DIR]\n\n此脚本从网络摄像头输入中检测人脸，并对检测到的人脸进行年龄和性别估计。\n\n可选参数：\n  -h, --help            显示此帮助消息并退出\n  --weight_file WEIGHT_FILE\n                        权重文件路径（例如 weights.28-3.73.hdf5）\n                        （默认：无）\n  --margin MARGIN       检测到的人脸周围的边距，用于年龄和性别估计\n                        （默认：0.4）\n  --image_dir IMAGE_DIR\n                        目标图片目录；如果设置，则使用 image_dir 中的图片代替网络摄像头（默认：无）\n```\n\n如果您使用自己训练的模型，请在 `WEIGHT_FILE` 中选择 `checkpoints\u002F*.hdf5` 中表现最好的模型。\n\n\n\n### 估计结果\n在 imdb 上训练，在 wiki 上测试。\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyu4u_age-gender-estimation_readme_5cf5ba437609.png)\n\n\n### 评估\n\n#### 在 APPA-REAL 数据集上的评估\n您可以通过以下命令在 APPA-REAL（验证）数据集上评估训练好的模型：\n\n```bash\npython evaluate_appa_real.py --weight_file WEIGHT_FILE\n```\n\n有关 APPA-REAL 数据集的详细信息，请参阅 [这里](appa-real)。\n\n训练模型的结果如下：\n\n```\nMAE 表观年龄：5.33\nMAE 实际年龄：6.22\n```\n\n文献 [5] 报道的最佳结果是：\n\n```\nMAE 表观年龄：4.08\nMAE 实际年龄：5.30\n```\n\n请注意，上述结果是在使用 APPA-REAL 数据集的训练集对模型进行微调后获得的。\n\n## 许可证\n本项目采用 MIT 许可证发布。\n然而，本项目中使用的 [IMDB-WIKI 数据集](https:\u002F\u002Fdata.vision.ee.ethz.ch\u002Fcvl\u002Frrothe\u002Fimdb-wiki\u002F) 原本是在以下条件下提供的。\n\n> 请注意，此数据集仅供学术研究使用。所有图像均来自互联网，版权归属于原作者。如果您发现其中有任何属于您的图像并希望将其删除，请及时告知我们，我们将立即从数据集中移除。\n\n因此，本仓库中包含的预训练模型受这些条件限制（仅限于学术研究用途）。\n\n\n## 参考文献\n[1] R. Rothe, R. Timofte 和 L. V. Gool，“DEX：从单张图像中深度预测表观年龄”，ICCV 会议论文，2015年。\n\n[2] R. Rothe, R. Timofte 和 L. V. Gool，“无需面部特征点，从单张图像中深度预测真实和表观年龄”，IJCV 期刊，2016年。\n\n[3] H. Zhang, M. Cisse, Y. N. Dauphin 和 D. Lopez-Paz，“mixup：超越经验风险最小化”，arXiv:1710.09412，2017年。\n\n[4] Z. Zhong, L. Zheng, G. Kang, S. Li 和 Y. Yang，“随机擦除数据增强”，arXiv:1708.04896，2017年。\n\n[5] E. Agustsson, R. Timofte, S. Escalera, X. Baro, I. Guyon 和 R. Rothe，“在 APPA-REAL 数据库上使用深度残差回归器对静态图像进行表观和实际年龄估计”，FG 会议论文，2017年。","# age-gender-estimation 快速上手指南\n\n本指南基于 Keras (TensorFlow) 实现，用于从人脸图像中估算年龄和性别。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu 16.04+) 或 macOS\u002FWindows (需配置相应环境)\n*   **Python 版本**: 3.6 或更高\n*   **核心依赖**:\n    *   TensorFlow 2.3.0+ (包含 `tensorflow.keras`)\n    *   CUDA 10.01 & cuDNN 7.6 (如需 GPU 加速)\n*   **其他依赖**: 安装脚本时会自动处理所需的 Python 库（如 `opencv-python`, `h5py` 等）。\n\n> **提示**：国内用户建议在安装 Python 依赖时使用清华或阿里镜像源以加速下载：\n> `pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n## 安装步骤\n\n1.  **克隆项目代码**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-gender-estimation.git\n    cd age-gender-estimation\n    ```\n\n2.  **安装 Python 依赖**\n    确保已安装 TensorFlow 2.x 版本，然后安装其他必要库：\n    ```bash\n    pip install -r requirements.txt\n    ```\n    *(注：如果项目中没有 `requirements.txt` 文件，请直接运行 `pip install tensorflow opencv-python h5py numpy`)*\n\n## 基本使用\n\n本项目提供了预训练模型，无需重新训练即可直接进行演示。\n\n### 方式一：使用摄像头实时检测\n直接运行演示脚本，程序会自动下载预训练模型到 `pretrained_models` 目录，并调用摄像头进行实时年龄和性别估算。\n\n```bash\npython demo.py\n```\n\n### 方式二：对指定目录下的图片进行检测\n如果您没有摄像头，或想批量处理本地图片，可以使用 `--image_dir` 参数指定图片文件夹路径。\n\n```bash\npython demo.py --image_dir \u002Fpath\u002Fto\u002Fyour\u002Fimages\n```\n\n### 自定义参数（可选）\n*   **指定模型权重**：使用 `--weight_file` 加载特定的 `.hdf5` 模型文件。\n*   **调整裁剪边距**：使用 `--margin` 调整人脸检测周围的边距（默认 0.4，若使用 UTKFace 训练的模型建议设为 0）。\n\n示例：\n```bash\npython demo.py --weight_file pretrained_models\u002Fweights.28-3.73.hdf5 --margin 0.4\n```\n\n运行成功后，窗口将显示带有人脸框、估算年龄和性别的图像结果。","某智慧零售团队正在开发一套线下门店客流分析系统，需要实时统计进店顾客的年龄分布与性别比例，以优化商品陈列和广告投放策略。\n\n### 没有 age-gender-estimation 时\n- 开发人员需从零收集海量带标注的人脸数据，并手动清洗 IMDB-WIKI 等公开数据集中的噪声标签，耗时数周。\n- 缺乏成熟的基准模型，团队必须自行设计 CNN 网络结构并反复调参，难以保证年龄估算的准确率。\n- 部署流程复杂，缺少现成的推理脚本，每次测试新模型都需要编写大量样板代码来调用摄像头或读取图片目录。\n- 无法快速验证不同骨干网络（如 EfficientNet）的效果，导致模型迭代周期长，错失市场机会。\n\n### 使用 age-gender-estimation 后\n- 直接利用项目内置的脚本自动下载并清洗好 IMDB-WIKI 数据集，瞬间获得高质量的训练数据库，省去数据预处理烦恼。\n- 开箱即用预训练模型，一行命令 `python demo.py` 即可启动演示，实时输出高精度的年龄与性别预测结果。\n- 支持通过命令行灵活切换 EfficientNetB3 等先进架构，轻松对比不同模型性能，大幅缩短研发迭代路径。\n- 原生集成 Wandb 可视化支持，训练曲线实时监控，让模型调优过程透明化、科学化。\n\nage-gender-estimation 将原本需要数周的数据准备与模型构建工作压缩至小时级，让团队能专注于业务逻辑创新而非重复造轮子。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyu4u_age-gender-estimation_5cf5ba43.png","yu4u","Yusuke Uchida","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fyu4u_e4169046.png","Interested in deep learning for image recognition, image retrieval, approximate nearest neighbor search, and so on.\r\n","GO inc.",null,"yu4u.github.io","https:\u002F\u002Fgithub.com\u002Fyu4u",[81,85,89],{"name":82,"color":83,"percentage":84},"Jupyter Notebook","#DA5B0B",92.8,{"name":86,"color":87,"percentage":88},"Python","#3572A5",7.1,{"name":90,"color":91,"percentage":92},"Shell","#89e051",0.1,1520,500,"2026-03-23T22:30:58","MIT","Linux","需要 NVIDIA GPU（基于测试环境），CUDA 10.01，cuDNN 7.6","未说明",{"notes":101,"python":102,"dependencies":103},"该项目仅在 Ubuntu 16.04 上经过测试。预训练模型会在首次运行 demo.py 时自动下载。虽然提供了 UTKFace 数据集的支持脚本，但 README 标注该功能目前不支持（currently not supported）。许可证限制预训练模型仅用于学术研究。","3.6+",[104,105],"tensorflow>=2.3.0","keras",[14],[108,109,110,111,112],"deep-learning","convolutional-neural-networks","imdb","gender-estimation","age-estimation","2026-03-27T02:49:30.150509","2026-04-06T15:02:57.225343",[116,121,126,131,136,141,146,151],{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},19391,"如何在 Android 应用中使用预训练模型？","可以将预训练权重用于 Android 应用。关于生成 .pb 文件，需注意在 Android 设备上的推理速度可能较慢（例如在 RK3288 设备上约为 1800ms）。为了优化性能，可以考虑使用模型量化（model quantization）等优化方法。此外，如果使用 UTKFace 数据集训练的权重，由于该数据集人脸裁剪较紧，运行 demo 时需将 margin 参数设为 0：`python3 demo.py --weight_file WEIGHT_FILE --margin 0`。","https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-gender-estimation\u002Fissues\u002F27",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},19392,"为什么在亚洲人脸上的性别识别效果不佳？如何解决？","默认使用 IMDB-WIKI 数据集训练的模型在亚洲人脸上的表现确实较差。建议使用 UTKFace 数据集重新训练模型以获得更好的效果。维护者提供了一个在 UTKFace 上训练的权重文件（weights.29-3.76_utk.hdf5）。使用时请注意，因为 UTKFace 数据集的人脸图像是紧密裁剪的（周围无边距），所以在运行 demo 时也需要进行紧密裁剪，需设置 margin 参数为 0：`python3 demo.py --weight_file WEIGHT_FILE --margin 0`。","https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-gender-estimation\u002Fissues\u002F41",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},19393,"加载权重文件时出现层数不匹配错误（ValueError: You are trying to load a weight file containing X layers into a model with Y layers）怎么办？","这通常是因为 Keras 版本不兼容或模型定义代码有差异导致的。请检查您的 Keras 版本（建议尝试 2.2.4 版本）。如果问题依旧，可能需要修改代码中获取输出层的方式。例如，将 `base_model.output_layers[0].output` 修改为 `base_model.output`。确保您使用的是与权重文件对应的最新 demo 代码。","https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-gender-estimation\u002Fissues\u002F61",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},19394,"训练时间太长，有什么方法可以缩短训练时间？","训练耗时过长通常是因为硬件配置不足。强烈建议使用带有 GPU 的机器进行网络训练，这将显著缩短训练时间。如果在 CPU 上训练大型数据集（如 UTFFace），速度会非常慢。请仔细阅读 `demo.py` 和相关文档以了解具体的运行要求。","https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-gender-estimation\u002Fissues\u002F44",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},19395,"如何优化模型在 CPU 上的运行性能？是否可以通过调整输入图像大小或使用灰度图？","如果模型在 CPU 上运行过重，可以尝试以下修改来优化：1. 将输入图像改为灰度图读取：在 `train.py` 中将 `cv2.imread` 的参数改为 0（即 `img = cv2.imread(path, 0)`）。2. 在 `wide_resnet.py` 中将预期的输入通道数从 3 改为 1。注意需要保持通道一致性。不过，维护者指出这些修改可能对准确率或效率的提升影响有限。另外，对于非正面人脸检测效果差的问题，可以将检测器更新为 `dlib.cnn_face_detection_model_v1`，虽然会增加计算成本，但能检测非正面人脸。","https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-gender-estimation\u002Fissues\u002F10",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},19396,"年龄估计子项目是预测真实年龄还是表观年龄（apparent age）？MAE 是基于哪个计算的？","该项目的年龄估计子项目旨在预测表观年龄（apparent age），因此 MAE（平均绝对误差）也是针对表观年龄计算的。在数据生成逻辑中（generator.py），训练集结合了 APPA-REAL 数据的表观年龄和 UTK 数据的真实年龄，而验证集主要使用表观年龄进行测试。预测表观年龄具有实际应用价值，因为它反映了人类视觉感知的年龄。","https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-gender-estimation\u002Fissues\u002F89",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},19397,"如何在高流量或拥挤场景下部署该项目？是否有低成本的实验方案？","在普通配置（如 i5 CPU 和 4GB 内存）的电脑上，帧率大约在 10-15 fps。如果需要部署实验但觉得 AWS 或 Google Cloud 成本过高，可以先在本地机器上进行测试。对于高流量场景，目前的 CPU 推理速度可能成为瓶颈，建议考虑使用 GPU 服务器进行部署，或者对模型进行量化优化以适应边缘设备。","https:\u002F\u002Fgithub.com\u002Fyu4u\u002Fage-gender-estimation\u002Fissues\u002F9",{"id":152,"question_zh":153,"answer_zh":154,"source_url":135},19398,"如何从 webcam 测试中获取具体的年龄数值和性别数据？","要获取摄像头前人物的具体年龄和性别数据用于后续推荐系统等用途，请仔细参考 `demo.py` 脚本的实现逻辑。该脚本包含了从视频流中提取人脸、推理并输出年龄和性别结果的完整流程。您可以基于 `demo.py` 进行修改，将输出结果保存或传输到您的应用程序中。务必使用带有 GPU 的机器以保证实时性。",[156,160],{"id":157,"version":158,"summary_zh":77,"released_at":159},117445,"v0.6","2020-08-21T12:55:58",{"id":161,"version":162,"summary_zh":163,"released_at":164},117446,"v0.5","模型存档 v0.5 版本","2018-02-28T15:15:01"]