从模仿先开始,照着DIY自己的深度学习项目!

受到本文中Akshay Bahadur伟大工作的启发,您将看到一些应用计算机视觉和深度学习的项目,以及实现和细节的情况,以便您可以在计算机上重现它们。

从模仿先开始,照着DIY自己的深度学习项目!

LinkedIn数据科学社区

从模仿先开始,照着DIY自己的深度学习项目!

Akshay Bahadur是LinkedIn的数据科学社区给出的最好例子之一。在Quora,StackOverflow,Youtube等其他平台上,还有很多论坛和平台在科学、哲学、数学、语言以及数据科学及其许多领域相互帮助。

从模仿先开始,照着DIY自己的深度学习项目!

Akshay Bahadur

在过去3年里,LinkedIn社区在分享数据科学领域的精彩内容,从分享经验到详细论述如何在现实世界中进行机器学习或深度学习方面表现出色。你可以在这个地方找到你想要的资源。

从深度学习和计算机视觉开始

从模仿先开始,照着DIY自己的深度学习项目!

对深度学习领域的研究对图像中的事物进行分类,检测它们并在“看到”某些事物时采取行动,在这十年中一直非常重要,它带来了令人惊叹的结果,例如在超越人类在某些问题的表现。

在本文中,将向您展示Akshay Bahadur在计算机视觉(CV)和深度学习(DL)领域所做的每一篇文章。

  • 深度学习的“怪异”介绍
  • 这里有关于Deep Learning的精彩介绍、课程和博客文章。但这是一种不同的介绍( https://towardsdatascience.com/a-weird-introduction-to-deep-learning-7828803693b0),感兴趣的话可以去看看。
  • 两个月探索深度学习和计算机视觉
  • 我决定开发熟悉计算机视觉和机器学习技术。作为一名网络开发人员,我发现了这个(https://towardsdatascience.com/two-months-exploring-deep-learning-and-computer-vision-3dcc84b2457f )
  • 从神经科学到计算机视觉
  • 《人类与计算机的50年展望》(https://towardsdatascience.com/from-neuroscience-to-computer-vision-e86a4dea3574)
  • 计算机视觉吴恩达:11个经验教训
  • 我最近在Coursera完成了吴恩达的计算机视觉课程。( https://medium.com/m/global-identity?redirectUrl=https://towardsdatascience.com/computer-vision-by-andrew-ng-11-lessons-learned-7d05c18a6999)

1.使用OpenCV

通过在GitHub.github.com上创建帐户,为HandMovementTracking开发做出贡献( https://github.com/akshaybahadur21/HandMovementTracking)

来自Akshay:

为了执行视频追踪、算法分析顺序视频帧并输出帧之间的目标移动。有各种各样的算法,每个算法又都有自己的优点和缺点。考虑到预期用途在选择使用哪种算法时很重要,视觉跟踪系统有两个主要组件:目标表示和本地化,以及过滤和数据关联。

这是您需要重现它的所有代码:

从模仿先开始,照着DIY自己的深度学习项目!

从模仿先开始,照着DIY自己的深度学习项目!

是的,就是这54行代码。你需要在你的电脑上安装OpenCV,如果你有Mac,请检查一下:

在MacOS上安装OpenCV 3

在这篇文章中,我们将提供有关在MacOS和OSX上安装OpenCV 3.3.0(C ++和Python)的逐步说明... (www.learnopencv.com)

如果你有Ubuntu:

OpenCV:在Ubuntu中安装OpenCV-Python

现在我们拥有所有必需的依赖关系,让我们安装OpenCV。安装必须使用CMake进行配置。(docs.opencv.org)

如果你有Windows:

在Windows中安装OpenCV-Python - OpenCV 3.0.0-dev文档

在本教程中,我们将学习在Windows系统中设置OpenCV-Python。以下步骤在Windows 7-64可以在docs.opencv.org中进行测试

2.困意检测OpenCV

通过在GitHub.github.com上创建一个帐户来帮助Drowsiness_Detection开发( https://github.com/akshaybahadur21/Drowsiness_Detection)

这种情况可以由倾向于长时间驾驶并可能导致事故的驾驶者使用。此代码可以检测到您的眼睛,并在用户困倦时发出警报。

依赖:

1.CV2

2.immutils

3.DLIB

4.SciPy

算法:

每只眼睛由6(x,y)坐标表示,从眼睛的左角开始(就好像你在看人一样),然后顺时针在眼睛周围工作:

从模仿先开始,照着DIY自己的深度学习项目!

条件:

它会检查20个连续帧,如果眼睛纵横比小于0.25,则会生成警报。

关系:

从模仿先开始,照着DIY自己的深度学习项目!

总结:

从模仿先开始,照着DIY自己的深度学习项目!

3.使用Softmax回归的数字识别

数字识别器 - 机器学习分类器,用于识别digits.github.com(https://github.com/akshaybahadur21/Digit-Recognizer)

此代码可帮助您使用softmax回归对不同的数字进行分类。您可以安装Conda for python,它解决了机器学习的所有依赖关系。

描述

Softmax回归(同义词:多项Logistic,最大熵分类器,或者仅仅是多级逻辑回归)是逻辑回归的泛化,我们可以用于多类分类(假设类是互斥的)。我们在二元分类任务中使用(标准)逻辑回归模型。

从模仿先开始,照着DIY自己的深度学习项目!

Python实现

所使用的数据集是MNIST,其图像大小为28×28,并且这里的计划是使用逻辑回归,浅网络和深度神经网络将数字从0分类到9。

这里最好的部分之一是他使用Numpy编码了三个模型,包括优化、前向传播和后向传播等等。

对于逻辑回归:请参阅此处的代码( https://gist.github.com/FavioVazquez/122e778c15e23d6c18969bc9e70cdbc5)

对于浅神经网络:请参阅此处的代码( https://gist.github.com/FavioVazquez/6b4f476c3258a52b6accd842d57a3281)

最后是深度神经网络:请参阅此处的代码( https://gist.github.com/FavioVazquez/45f182f79e2afc39ea0536ae2d118370)

执行通过网络摄像头写入

要运行代码,输入python Dig-Rec.py

从模仿先开始,照着DIY自己的深度学习项目!

通过网络摄像头显示图像的执行

要运行代码,请输入python Digit-Recognizer.py

从模仿先开始,照着DIY自己的深度学习项目!

Devanagiri识别

https://github.com/akshaybahadur21/Devanagiri-Recognizer

这段代码可以帮助你使用Convnets来分类不同的印地文字母(Devanagiri)。您可以安装Conda for python,它解决了机器学习的所有依赖关系。

使用的技术

已经使用了卷积神经网络,使用Tensorflow作为框架,并使用Keras API来提供高级别的抽象。

架构

CONV2D→MAXPOOL→CONV2D→MAXPOOL→FC→Softmax→分类

一些额外的需要关注的点

1.你可以选择额外的conv层。

2.添加正则化以防止过度配合。

3.您可以将其他图像添加到训练集中以提高准确性。

Python实现

数据集-DDCD(Devnagari字符数据集),其中规模为32×32,使用卷积网络。

要运行代码,输入python Dev-Rec.py

从模仿先开始,照着DIY自己的深度学习项目!

4.使用FaceNet进行面部识别

使用facenets.github.com实现面部识别( https://github.com/akshaybahadur21/Facial-Recognition-using-Facenet)

此代码有助于使用facenets进行面部识别(https://arxiv.org/pdf/1503.03832.pdf)。facenets的概念最初是在一篇研究论文中提出的。主要讨论了三重损失函数如何来比较不同人的图像。这个概念使用从源头取得的初始网络,fr_utils.py取自deeplearning.ai以供参考。为了提供稳定性和更好的检测功能,这里会添加一些我自己的功能。

代码要求

您可以安装Conda for python,它解决了机器学习的所有依赖关系,您将需要:

  • numpy
  • matplotlib
  • CV2
  • keras
  • DLIB
  • h5py
  • SciPy

描述

面部识别系统是能够从数字图像或来自视频源的视频帧中识别或验证人的技术。面部识别系统有多种工作方式,但通常情况下,他们通过比较来自给定图像的选定面部特征与数据库中的面部进行工作。

功能添加

1.只有当你的眼睛被打开时才能检测到脸部(安全措施)。

2.使用dlib中的面对齐功能才可以在实时流式传输时进行有效预测。

Python实现

1.网络使用 - 初始网络

2.原始文件 - 谷歌Facenet

程序

如果你想训练网络,运行Train-inception.py,但是你不需要那样做,因为我已经训练了模型并将它保存为在运行时加载的face-rec_Google.h5文件。

现在需要在你的数据库中有图像。您可以将图片粘贴到代码检查/图像文件夹处,也可以使用网络摄像头进行点击。为此,运行create-face.py将图像存储在/ incept文件夹中。您必须手动将它们粘贴到/ images文件夹中

运行rec-feat.py从而运行该应用程序。

5. Emojinator

一个用于humans.github.com的简单表情符号分类器( https://github.com/akshaybahadur21/Emojinator)

此代码可帮助您识别和分类不同的表情符号。截至目前,我们只支持手绘表情符号。

代码要求

您可以安装Conda for python,它解决了机器学习的所有依赖关系,您将需要:

  • numpy
  • matplotlib
  • CV2
  • keras
  • DLIB
  • h5py
  • SciPy

描述

表情符号是电子信息和网页中使用的表意文字和表情符号。表情符号存在于各种流派中,包括面部表情,常见对象,天气的地点和类型以及动物。他们很像表情符号,但表情符号是实际图片而不是印刷图。

功能

1.过滤器用来检测手

2.CNN训练模型

Python实现

网络使用 - 卷积神经网络

程序

1.首先,你必须创建一个手势数据库。为此,运行CreateGest.py。输入手势名称,您将显示2个框架。看看轮廓框架并调整你的手,以确保能够捕捉到你的手的特征,按’c’键拍摄图像。这将需要1200个图像的一个手势。试着在框架内稍微移动一下你的手,以确保你的模型在训练时不会过度训练。

2.对所有您想要的功能重复此操作

3.运行CreateCSV.py将图像转换为CSV文件

4.如果你想训练模型,运行’TrainEmojinator.py'

5.最后,运行Emojinator.py以通过网络摄像头测试您的模型

总结

所有人都可以在计算机上运行这些项目,或者在Deep Cognition的平台上运行它们,如果你不想安装任何东西,它也可以在线运行。

这只是DL和CV可以做的令人惊叹的事情的一个小例子,取决于你如何将它变成可以帮助世界变得更好的地方。

我们需要每个人都对许多不同的事情感兴趣,我们可以通过自己的力量改善世界、改善我们的生活、我们的工作方式,思考和解决问题,如果我们引导现在的所有资源,使这些知识领域共同努力,会实现更大的利益,更可以在世界和我们的生活中产生巨大的积极影响。


分享到:


相關文章: