anaconda 安装opencv_码鸭日记OpenCV项目实战人脸检测(三)

论坛 期权论坛     
选择匿名的用户   2021-5-22 22:09   37   0
<div class="._5ce-wx-style" style="font-size:16px;">
<div class="rich_media_content" id="js_content">
  <p>上篇文章提到过,如果想提高识别率,主要可以采取两种方法:利用OpenCV来进行个人的模型训练,或者利用更高精度的dlib来进行检测。</p>
  <p>此篇文章主要讲述如何利用OpenCV来训练个人的模型。</p>
  <p>由于haarcascades的人脸数据模型是基于大众的,由于人脸的差异,当对个人进行人脸测试时难免会出现漏判误判。这时我们为了提高准确性可以利用OpenCV来训练一个属于自己的模型.</p>
  <p>环境搭建</p>
  <p>1, 在编写代码之前,需要引入numpy包。NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵。</p>
  <p>一般的python需要手动引入,即pip list numpy。但是如果安装了anaconda来作为解释器,由于其内部自带numpy,Spyder等工具,无需手动引入。</p>
  <p>注意的是,安装anaconda后,需要在系统环境中更改路径,以及在pycharm中更换解释器。具体操作如下:</p>
  <p>属性---控制面板---高级系统设置---环境变量---编辑环境变量</p>
  <p><img alt="0706a5ccb2af76d0ededeb2b086ca23d.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-7c86cac0df336cdcd651d783642ae5ce.png"></p>
  <p>将anaconda的环境配置如上。</p>
  <p>点击环境变量的path---点击编辑,在末尾添加如下路径。</p>
  <p><img alt="a3e12c419baa08a9d99d9a168053d7bb.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-ec25c163fd8f2c6e1b173b4ffac290f0.png"></p>
  <p>打开pycharm---settings---project interpreter---add---选择anaconda中python.exe的地址</p>
  <p><img alt="9f1058516644746396a70995b742ae60.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-b4841bedbaedac15dd01fbce8d926e18.png"></p>
  <p>2,PIL(Python Imaging Library)是Python中一个强大的图像处理库,但目前其只支持到Python2.7。本人所使用的python版本是3.6.</p>
  <p>    当使用命令pip install  pil时,系统报错:Could not find a version that satisfies the requirement PIL (from versions: ), No matching distribution found for PIL。</p>
  <p>意思就是说pil 和我当前的版本不匹配。在用另外的安装语句如--user   或者加入镜像源后依然失败。</p>
  <p>这时注意,我们应该安装的是pillow,Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更有用的图像处理库。利用语句 pip install pillow,安装成功。</p>
  <p>使用语句from pil import image 来对此模块进行调用。</p>
  <p>3,OpenCV--contrib-python安装</p>
  <pre class="blockcode"><code>注意OpenCV不能代替OpenCV-contrib。OpenCV Contrib是OpenCV的扩展模块,包含了许多最新的以及可能还没有正式发布有待进一步完善的算法,可以理解为是OpenCV的扩展包。此项目中的LBPHFaceRecognizer_create()就为contrib中的函数。</code></pre>
  <pre class="blockcode"><code>使用pip install OpenCV-contrib-python来进行安装。</code></pre>
  <pre class="blockcode"><code>如果报错,则可以换位另外一种安装方法:安装下载的.whl文件,注意.whl文件需要与自身机型环境所匹配。例如我下载了opencv_python3.2.0cp36cp36mwin_amd64.whl,这个名字标识了三部分内容:cp35,cp35m和win_amd64。cp35表示Python是3.6版本,win_amd64是表示安装的Python是64bit的。随后在cmd界面中输入以下语句:</code></pre>
  <pre class="blockcode"><code>“pip install 文件路径\opencv_python3.2.0cp35cp35mwin_amd64.whl”。</code></pre>
  <pre class="blockcode"><code>如果报错,检查下pip的版本是否为最新,或者使用pip install --user 地址来进行尝试。</code></pre>
  <pre class="blockcode"><code></code></pre>
  <pre class="blockcode"><code></code></pre>
  <p>理论知识</p>
  <p>1,LBPHFaceRecognizer介绍</p>
  <p>对于训练个人模型并进行人脸识别,目前有很多可用方法,比如OpenCV自带的EigenFaceRecognizer(基于PCA降维) , FisherFaceRecognizer(基于LDA降维),LBPHFaceRecognizer(基于LBPH特征)。再如faceNet深度网络模型(128个特征输出)加分类器(如SVM)方式。</p>
  <p>目前我们需要应用的场景是结果好,对于硬件要求不是很高,方便更新模型,低成本的方式。因此我选择了OpenCV自带的LBPHFaceRecognizer算法,这种算法优点是不会受到光照、缩放、旋转和平移的影响,最大的好处就是对电脑自身配置要求不高,通用化非常好。</p>
  <p>2,LBPF</p>
  <h3><span style="font-weight:bold;">2</span><span style="font-weight:bold;">.1 </span><span style="font-weight:bold;">原始</span><span style="font-weight:bold;">LBP算子</span><span style="font-weight:bold;"></span></h3>
  <p>原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP