课程项目
斯坦福大学 · 2025 年春季
重要日期
除另有说明外,各项项目材料均于美国太平洋时间当天 23:59 截止提交。| 提交内容 | 成绩占比 | 截止时间 | 可使用延期额度 |
|---|---|---|---|
| 项目计划书 | 1% | 04/25 | 可以 |
| 项目阶段报告 | 2% | 05/16 | 可以 |
| 最终报告 | 29% | 06/04 | 不可以 |
| 海报展示(线下)及海报 PDF、代码(线上提交) | 3% | 海报展示:6 月 11 日;PDF 与代码提交:6 月 10 日美国太平洋时间 23:59 | 不可以 |
概述
课程项目让你有机会将课堂所学应用到自己感兴趣的问题中。项目通常分为以下两个方向:
- 应用方向。如果你具有特定领域的背景和兴趣,例如生物学、工程或物理学,欢迎将课上学到的视觉模型用于相关问题。选择一个真实问题,并尝试用计算机视觉模型解决它。
- 模型方向。可以设计新模型或算法,也可以改进已有模型,再将其用于视觉任务。这个方向可能更具挑战性,有时也能产生达到论文发表水平的成果。
有一项范围要求需要注意:本课程属于计算机视觉,因此项目必须以某种形式涉及视觉数据的像素。例如,即使使用卷积网络,纯自然语言处理项目也不合适。形状分析等视觉会议中的重要相关方向则可以选择。
教学团队整理了结合近期趋势与有趣应用的项目选题列表(待补充),供大家启发思路。无需从中直接选题,可以以它们为起点,寻找真正感兴趣的问题。
想了解 CS231n 对课程项目的预期,可以参考以下历年项目报告:
也可以阅读顶级会议近期的深度学习论文,以及以下资源,寻找灵感。
- CVPR:IEEE 计算机视觉与模式识别会议
- ICCV:国际计算机视觉大会
- ECCV:欧洲计算机视觉会议
- NIPS:神经信息处理系统大会
- ICLR:国际学习表征会议
- ICML:国际机器学习大会
- 斯坦福视觉实验室的论文
- 深度视觉精选资源
- CS229 历年项目:斯坦福机器学习课程的项目示例
- Kaggle 竞赛:在线机器学习竞赛平台,例如 Yelp 分类挑战赛。
应用类项目应认真准备数据、选择合适的损失函数,交代训练与交叉验证细节,并充分开展测试集评估和模型比较。也欢迎跳出惯常思路。以下是一些成功案例:
卷积网络也可以在手机或树莓派上实时运行,因此开发有趣的移动应用也是可行选题。感兴趣可以参考 PyTorch Mobile、TensorFlow Lite 或 Caffe2 的 iOS/Android 集成。
还可以浏览常见计算机视觉数据集,寻找项目灵感:
- 数据集索引:按计算机视觉任务组织的大型数据集合集
- 另一份数据集索引
- ImageNet:按 WordNet 层次结构组织的大规模视觉识别图像数据集
- 视觉语言数据集:
- SA-1B:包含大量图像及其物体分割掩码的数据集
- COCO:大规模目标检测、图像分割与图像描述生成数据集
- Open Images:约 900 万张图像,包含图像级标签、目标边界框、实例分割掩码、视觉关系以及带区域定位的叙述标注
- Cityscapes 数据集:面向城市街景语义理解,为汽车、行人、道路等类别提供像素级标注
- DeepFashion:大规模服装数据集,包含超过 80 万张多样化时尚图像,标注有边界框、服装类别和属性
- Hugging Face 数据集:Hugging Face 平台上的通用数据集合集
- Objaverse:大规模三维资产数据库
- SUN 数据库:用于场景识别和目标检测的基准,包含场景类别与物体分割标注
- Places 数据库:以场景为中心的数据库,包含 205 个场景类别、250 万张带标签图像
- NYU Depth Dataset v2:带分割标注的室内场景 RGB-D 数据集
- Microsoft COCO:用于图像识别、分割和描述生成的基准
- Flickr100M:1 亿张采用知识共享许可的 Flickr 图像
- Labeled Faces in the Wild:包含 13,000 张带标注人脸照片的数据集
- 人体姿态数据集:用于人体关节姿态估计的基准
- YouTube Faces DB:用于非受控视频人脸识别的人脸视频数据集
- UCF101:真实场景动作视频数据集,包含 101 个动作类别
- HMDB-51:包含 51 个动作类别的大型人体动作数据集
- ActivityNet:面向人体活动理解的大规模视频数据集
- Moments in Time:包含 100 万段时长为 3 秒的视频
项目合作
每组最多 3 人,也可以独立完成。课程鼓励组队,但三人项目应比人数较少的项目在报告与结果上体现更充分的工作量。可以参考历年报告了解合适的范围和预期。
学术诚信准则
可以参考论文、书籍、网络资料和公开实现,采用其中的思路或代码,但必须在代码和报告中清楚注明来源。任何情况下,都不得查看其他小组的代码,或将其代码纳入自己的项目。
若将本课程项目与另一门课程的项目结合,必须获得另一门课程教师的许可,无需事先取得 CS231n 教学团队批准。但项目计划书、阶段报告和最终报告都必须明确指出,哪些独立工作计入 CS231n。每门课程应分别撰写报告,并同时提交另一门课程的最终报告。同一份最终报告 PDF 用于多门课程,违反学术诚信准则。
项目计划书
项目计划书应为一个段落,长度 200—400 个英文单词,说明以下内容:
- 研究什么问题?它为什么值得研究?
- 准备阅读哪些资料,以了解问题背景?
- 使用什么数据?如果需要采集新数据,计划如何采集?
- 准备采用什么方法或算法?若已有公开实现,是否使用、如何使用,以及计划怎样改进?此时不必给出完全确定的答案,但应对解决问题的总体思路有所把握。
- 如何评价结果?定性方面,预期展示什么结果,例如曲线或图像?定量方面,用什么分析、性能指标或统计检验来评估和比较结果?
- 若与其他课程或研究项目结合,哪些独立工作计入本课程?
提交:将计划书以 PDF 形式提交到 Gradescope。每组只由一人提交。提交者应通过“Group Submission(小组提交)”将其他组员添加为合作者。
项目阶段报告
具体要求见 Ed。阶段报告应使用提供的模板,长度为 2—3 页,建议采用以下结构:
- 标题、作者
- 引言:介绍问题以及拟采用的总体解决方案。
- 问题定义:准确描述问题,说明所用数据集、预期结果与评估方式。
- 技术方案:介绍计划用来解决问题的方法。
- 中间/初步结果:陈述并评估截至本阶段已取得的结果。
提交:将阶段报告以 PDF 形式提交到 Gradescope。每组只由一人提交。提交者应通过“Group Submission(小组提交)”添加其他组员。
最终报告
最终报告应使用提供的模板,长度为 6—8 页,结构参照 CVPR、ECCV、ICCV 等计算机视觉会议论文。统一模板可以避免字号、页边距等差异影响公平评分。课程结束后,报告将公开发布,便于同学相互学习;若不希望公开,请在项目登记表中说明。
以下给出建议结构及评分标准。不一定必须按这些章节和顺序组织,但对大多数项目而言,这是一个合适的起点。
各部分的详细要求与说明见 Ed。
- 标题、作者
- 摘要:简要介绍问题、方法和主要结果,不超过 300 个英文单词。
- 引言(10%):介绍研究的问题、它的重要性以及结果概览。
- 相关工作(10%):讨论与项目相关的已发表研究,说明自己的方法与已有工作的相同点和区别。
- 数据(10%):介绍数据类型、来源和规模,以及为项目使用这些数据所做的预处理、筛选或其他特殊处理。
- 方法(30%):说明如何解决引言提出的问题,为什么选择该方法,是否考虑过其他方案,并展示如何应用本学季所学的知识与技能。可使用图示、示意图或表格解释方法,或与其他方法比较。
- 实验(30%):介绍用于验证方法有效性的实验。可根据项目特点,与已发表方法比较;开展消融实验,分析各组成部分的作用;尝试不同超参数或架构;通过可视化理解模型;讨论常见失效情形等。应使用曲线、表格或其他图示呈现实验结果。
- 结论(5%):概括关键结果和收获,并提出后续扩展或新的应用方向。
- 写作与排版(5%):报告是否表达清楚、排版规范?
- 补充材料不计入 6—8 页限制,应作为独立文件提交,可以包括:
- 源代码,例如项目提出的算法实现,或与项目密切相关的重要代码。
- 演示视频、交互式可视化、程序演示等。
- 整个 PyTorch/TensorFlow GitHub 仓库的源代码。
- 超过 10 MB 的代码文件。
- 模型检查点。
- 计算机病毒。
提交:最终报告以 PDF 提交,补充材料另存为 PDF 或 ZIP。教学团队将在截止日期临近时提供具体说明。
其他提交要求:提交项目报告时,还需做到以下几点:
- 报告 PDF 必须列出所有作出足以获得共同作者署名之贡献的人员。包括未选修 CS231n 的教师、顾问或重要指导者,例如提供经费或数据的教师,以及共同编程、采集数据或参与模型方案设计的博士生、博士后等。全部作者应直接列在标题下方,并注明所属机构或组织;第一页须用脚注指出哪些作者未选修 CS231n。
- 若有未选修 CS231n 的贡献者,还需补充以下说明:
- 说明非 CS231n 贡献者的具体参与方式,例如讨论、编程、论文写作等。可以参考 AlphaGo(Nature,2016)的作者贡献说明。
- 说明项目是否已投稿至同行评审会议或期刊。列出会议全名及缩写,例如 Neural Information Processing Systems(NIPS)。此要求仅适用于报告截止时已经投稿且仍在审稿中的论文。
- 凡是作为项目基础使用的代码,都必须在报告正文中注明并引用。包括 CS231n 作业代码、微调示例、开源代码和 GitHub 实现;可使用脚注或完整参考文献条目。
- 若同一项目用于多门课程,也须提交其他课程的报告 PDF。再次提醒:多门课程使用同一份最终报告 PDF 违反学术诚信准则。
总之,应列出所有贡献者,详细说明非本课程共同作者的贡献,告知是否已投稿,引用所用代码,并提交同时用于其他课程(如 CS230、CS231A、CS234)的独立报告。
海报展示
课程将举行海报展示,供同学介绍项目成果。- 日期:6 月 11 日
- 时间:A 场 12:00—13:30;B 场 14:00—15:30
- 地点:Burnham Pavilion
- 参加人员:学生小组必须到场展示,除非已提前获教学团队批准线上参加。欢迎斯坦福学生、教师与业界来宾到场。
面向学生:现场提供泡沫展板与画架。展板为 30×40 英寸,因此海报应不大于 30×40 英寸、不小于 20×30 英寸;推荐 24×36 英寸,横向或竖向均可。
常见问题- 在哪里打印海报?下列服务仅供举例,并非唯一选择。临近活动时打印服务可能繁忙,请自行确认制作周期,提前安排。
- Lathrop 图书馆 Tech Desk:制作周期约 3 天。
- FedEx:制作周期约 2 天(原文标注有待确认)。
- Walgreens:通常可当天取件。
- Biotech Productions:通常可当天送达。
- Staples:通常可当天取件。
- 可以用多张 8.5×11 英寸纸打印后拼接吗?可以,但更建议打印完整的一张海报。如果选择分块打印再拼接,须保证内容清晰可读,并能放在 30×40 英寸的展板内。