Python有多強大!20行代碼實現人臉檢測與識別

题记:大二的时候发现人生苦短,所以信了拍神,开始学Python。学了大半年之后成功转行做前端了。来写个教程帮助大家入门Python。

Python优点

Python是一种简单易学、功能强大的编程语言,也是世界上发展速度最快的语言之一。

在最近的计算机语言热度排名中,Python已跃至第七位,仅排在Java、C、C++、VB、PHP和C#之后。Python在大多数平台上的各种应用中都是理想的脚本语言,特别适用于快速的应用程序开发。著名的搜索引擎Google也大量使用了Python脚本,而在Nokia智能手机所采用的Symbian操作系统上,Python也成 为继C++和Java之后的第三种编程语言。

Python拥有一个强大的基本类库和数量众多的第三方扩展,其丰富程度可以与Java的JDK相媲美。将Python应用于系统管理,无疑会让系统管理员如虎添翼。

Python零基础入门

零基础入门就得从最基本的变量,语法格式,数据类型,函数,作用域,模块等基本知识入手(有编程基础基础也得这么来)

和篮球一样,先来三步上篮:

  1. Python基础知识入门,从程序基础开始学,能看懂代码就可以了。三种选择:
    第一种:找一本Python入门教程书,比如《Head First Python 中文版 》《笨办法学Python 》《简明 Python 教程》。Head First系列书籍都非常简单易懂,适合文科生看,从最基本的东西讲起,有编程基础的同学看着会觉得幼稚。另外两本都是普通入门书,随便选。一些Python相关电子书下载, 密码: yjw3。
    第二种:看网站入门教程,很多人推荐的廖雪峰Python教程
    第三种:视频教程,推荐慕课网。其他还有网易云课堂,学堂在线(这个里边大学课程比较多)
  2. 学写一些基本的Python程序,上述《简明 Python 教程》后边的示例可以做。想更进一步掌握基础,可以做一点leetcode easy题目练练手。(看个人情况呗,反正我是没那个耐心,做题实在太枯燥,虽然写题是很有好处的)
  3. 做一些感兴趣的小项目,这里有Python习题100例,很基础。觉得不够高大上可以玩实验楼里的项目,实验楼是个不错的网站,可以做一些很好玩的东西。

以上三步可以让你21天精通Python哟

Tips:推荐一个神器,Python运行可视化,可以一步步查看程序运行状态,变量状态,函数调用,内存分配,对于理解变量生命周期,作用域,调试理解程序非常有帮助。开发工具:推荐Pycharm,有免费社区版,也可用edu邮箱注册专业版。

Python进阶篇

进阶就是专注于Python的某个领域做深入研究了,Python主要包含了AI领域(NLP,深度学习,图像处理啥的,反正无所不能),Web开发(后端服务,爬虫),数据处理(数据分析,科学计算),工具(比如读写Excel,编写自动化脚本),桌面开发(GUI工具)等等。Python好强大啊,我又想写Python了。

下面简单写写我知道的领域的入门:

Web开发

Python Web框架众多,是建网站的利器。对于建立不太复杂的CMS系统(比如新闻网站,博客网站),Django强到没朋友,开发效率无敌。对于注重灵活性的网站,Flask可以作为首选,灵活而小巧,非常优雅的框架。

  1. Django入门先看官方文档,了解基本概念。然后开始做实际项目,比如Django开发博客系统教程
  2. Flask入门看官方文档,同Django。

爬虫(网络数据获取)

先科普,网络爬虫,可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛,如果它遇到资源,那么它就会抓取下来。比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的超链接,那么它就可以爬到另一张网上来获取数据。简单地说,利用程序从网页上获取你想要的数据。Python的爬虫框架非常多,也非常好用。入门步骤:

  1. 理解网页是怎么构成的

    网页的基本知识包括:
    基本的HTML语言知识
    理解网站的发包和收包的概念(POST GET)
    稍微一点点的js知识,用于理解动态网页
  2. 解析网页,这里需要学习正则表达式
  3. 选取一个爬虫框架,比如自带的urllib,request,bs4等等
  4. 看官方文档,如何使用框架,然后就可以养一只爬虫咯。

教程点这里

数据处理

上边爬虫讲到如何获取数据,这里将学习如何分析处理数据,教程链接。科学计算,数据处理用到比较多的是matlab,无所不能的Python当然也可以替代它。numpy pandas是科学运算当中最为重要的两个模块。Matplotlib 是一个非常强大的 Python 数据可视化工具,绘制各种图形。

  1. 看官网文档,理解这个库的基本用法。
  2. 学习一些简单的项目,上文提到的实验楼也可以用

AI领域

略从别处引用一点基本介绍

  1. Theano 是一种用于使用数列来定义和评估数学表达的 Python 库。它可以让 Python 中深度学习算法的编写更为简单。
  2. Keras 是类似 Torch 的一个精简的,高度模块化的神经网络库。Theano 在底层帮助其优化 CPU 和 GPU 运行中的张量操作。
  3. Pylearn2 是一个引用大量如随机梯度(Stochastic Gradient)这样的模型和训练算法的库。它在深度学习中被广泛采用,这个库也是以 Theano 为基础的。
  4. Lasagne 是一个轻量级的库,它可以在 Theano 中建立和训练神经网络。它简单、透明、模块化、实用、专一而克制。
  5. Blocks 是一种帮助你在 Theano 之上建立神经网络模型的框架。
  6. Caffe 是一种以表达清晰、高速和模块化为理念建立起来的深度学习框架。它是由伯克利视觉和学习中心(BVLC)和网上社区贡献者共同开发的。谷歌的 DeepDream 人工智能图像处理程序正是建立在 Caffe 框架之上。这个框架是一个 BSD 许可的带有 Python 接口的 C++库。
  7. nolearn 包含大量其他神经网络库中的包装器和抽象(wrappers and abstractions),其中最值得注意的是 Lasagne,其中也包含一些机器学习的实用模块。
  8. Genism 是一个部署在 Python 编程语言中的深度学习工具包,用于通过高效的算法处理大型文本集。
  9. CXXNET 是一种快速,简明的分布式深度学习框架,它以 MShadow 为基础。它是轻量级可扩展的 C++/CUDA 神经网络工具包,同时拥有友好的 Python/Matlab 界面,可供机器学习的训练和预测使用。

这里包含的东西太多了,基本学习方法如上。

附录:

先来看看Python有多强大,不然不能被它所吸引,就学不下去了。20行代码实现人脸检测与识别:face_recognition可以通过python或者命令行即可实现人脸识别的功能。使用dlib深度学习人脸识别技术构建,在户外脸部检测数据库基准(Labeled Faces in the Wild)上的准确率为99.38%。

<code># 导入识别库
import face_recognition
# 加载已有的图片作为图像库
known_obama_image = face_recognition.load_image_file("face1.jpg")
known_biden_image = face_recognition.load_image_file("face_kid.jpg")
# 编码加载的图片
obama_face_encoding = face_recognition.face_encodings(known_obama_image)[0]
biden_face_encoding = face_recognition.face_encodings(known_biden_image)[0]
known_encodings = [
    obama_face_encoding,
    biden_face_encoding
]
# 加载要识别的图片并编码
image_to_test = face_recognition.load_image_file("face2.jpg")
image_to_test_encoding = face_recognition.face_encodings(image_to_test)[0]
# 计算该图片与已有图片的差别值
face_distances = face_recognition.face_distance(known_encodings, image_to_test_encoding)
# 自行设定同一张面孔的分界值,输出比对结果 
for i, face_distance in enumerate(face_distances):
    print("The test image has a distance of {:.2} from known image #{}".format(face_distance, i))
    print("- With a normal cutoff of 0.6, would the test image match the known image? {}".format(face_distance < 0.6))
    print("- With a very strict cutoff of 0.5, would the test image match the known image? {}".format(face_distance < 0.5))
    print()/<code>

重点来了

Python学习路线及757.6MB视频

1.Python的自述

2.Python开发环境的搭建

3.print函数的使用

4.转义字符与原字符

5.二进制与字符编码

6.保留字_标识符_变量及其使用

7.数据类型

8.Python中的注释

10.input函数的使用

11.算术运算符

12.赋值运算符

13.比较运算符

14.布尔运算符

15.位运算符

16.运算符的优先级

17.程序的组织结构_对象布尔值

18.单分支_双分支_多分支结构

19.嵌套if

20.条件表达式_pass语句

Python有多强大!20行代码实现人脸检测与识别

Python基础学习路线

Python757.6MB视频

Python有多强大!20行代码实现人脸检测与识别

Python有多强大!20行代码实现人脸检测与识别

Python有多强大!20行代码实现人脸检测与识别

Python有多强大!20行代码实现人脸检测与识别

Python有多强大!20行代码实现人脸检测与识别

Python有多强大!20行代码实现人脸检测与识别

学习Python 需要掌握的6大PPT

Python有多强大!20行代码实现人脸检测与识别

学习Python需要学习的PDF技术文档

Python有多强大!20行代码实现人脸检测与识别

Python不管是从学习路线到视频,到PPT,再到PDF技术文档,小编在这里已经全部整理完了,需要获取的小伙伴就可以转发此文,关注小编,私信小编“学习”就可以得到获取方式啦~~


分享到:


相關文章: