由于此项目要求的计算量较大,建议使用亚马逊 p2.xlarge 云服务器来完成该项目,目前在弗吉尼亚北部有已经配置好了环境的 AMI 可以使用。参考:在aws上配置深度学习主机
使用深度学习方法识别一张图片是猫还是狗。
- 输入:一张彩色图片
- 输出:是猫还是狗
- 可选输出:猫狗面部坐标,猫狗身体mask
此数据集可以从 kaggle 上下载。Dogs vs. Cats
此外还有一个数据集也非常好:The Oxford-IIIT Pet Dataset
建议使用 OpenCV, tensorflow, Keras 完成该项目。其他的工具也可以尝试,比如 caffe, mxnet 等。
如果你不知道如何去构建你的模型,可以尝试以下的模型,后面的数字代表年份和月份:
- LeNet 1998
- AlexNet 12
- VGGNet 14.09
- GoogLeNet 14.09
- ResNet 15.12
- Inception v3 15.12
- Inception v4 16.02
- Xception 16.10
- ResNeXt 16.11
参考代码:deep learning models for keras
本项目的最低要求是 kaggle public leaderboard 前10%。
应用形式多种多样,可以是在本地调用摄像头跑的程序,也可以网页的,也可以是 iOS APP 或 Android APP,甚至可以是微信公众号。
推荐的工具:
可以参考这个例子:微信数字识别。
网页接口部分可以参考 Flask 而不必用 python cgi。
在 iOS 平台上你可以使用 MetalPerformanceShaders 来实现卷积神经网络。推荐的语言:Swift。
这里有一个 Inception v3 在 iOS 上跑的例子。
OpenCV 的 iOS Framework 文件可以直接在这里下载:OpenCV releases。这里有一份教程,可以轻松入门:turorial_hello
最终效果可以参考这个 app :PetOrNot
在 Android 上运行 tensorflow 可以参考 android tensorflow。
在 Android 上运行 OpenCV 可以参考 OpenCV4Android SDK。
你的项目会由优达学城项目评审师依照机器学习毕业项目要求来评审。请确定你已完整的读过了这个要求,并在提交前对照检查过了你的项目。提交项目必须满足所有要求中每一项才能算作项目通过。
- PDF 报告文件
- 数据预处理代码(jupyter notebook)
- 模型训练代码(jupyter notebook)
- notebook 导出的 html 文件
- 应用代码(可选)
- 包含使用的库,机器硬件,机器操作系统,训练时间等数据的 README 文档(建议使用 Markdown )