用Python+OpenCV+PIL构建猫脸识别器

资讯 4年前
1.15K
用Python+OpenCV+PIL构建猫脸识别器

在这篇文章中,我将向你展示如何编写一个检测猫脸的简单程序。在我的人脸检测帖子中,我演示了如何使用Python检测人脸。当我用图像测试代码时,我发现其中有些图像中有动物,但是我们创建的人脸检测模型并不能识别动物的面部,所以我想知道是否有一种方法可以在图像中检测动物的脸,于是我在互联网上做了一点研究,发现这是可能的,而且在Kaggle上找到了很多免费的数据集,里面有几百张图片。Kaggle是一个寻找免费数据集的好地方,他们也在组织数据科学竞赛,这是一个练习数据科学技能和向他人学习的好地方。不管怎样,回到我们的项目。我很高兴能在一个程序中结合人类和猫的面部检测模型,这样我们的机器可以学会区分人类和猫。这将是一个有趣的工作项目,我们开始吧!!库第一件事是文书工作。当你在机器学习项目中工作时,安装和导入库是必需的。我们将在这个项目中使用两个库,OpenCV和Pillow。OpenCV是一个高度优化的库,专注于实时应用程序。Pillow是一个强大的图像处理库。Pillow将作为“Pillow”安装,但是导入的时候使用PIL,它们是同一件事,别搞混了。OpenCV(opensourcecomputervision Library)是一个开源的计算机视觉和机器学习软件库。OpenCV旨在为计算机视觉应用提供一个通用的基础设施,并加速机器感知在商业产品中的应用。作为一个BSD授权产品,OpenCV使企业很容易使用和修改代码。安装过程非常简单和容易。在终端窗口中编写以下代码行:pip install opencv-python pillow安装完成后,我们可以将其导入程序。import cv2 from PIL import ImageOpenCV已经包含了许多预先训练过的人脸、眼睛、微笑等分类器,这些XML文件存储在GitHub文件夹中。我们将使用猫面部检测和人脸检测模型。以下是链接:猫脸:https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalcatface_extended.xml人脸:https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_default.xml如果你有帐户,你可以从Github下载XML文件;如果没有,可以从上面的链接复制代码并粘贴到文本编辑器中并保存它们,我把它们叫做“catface_detector.xml”和“humanface_detector.xml”。将文件保存到文件夹后,让我们将它们加载到程序中。# Load the cascades catface_cascade = cv2.CascadeClassifier('catface_detector.xml') humanface_cascade = cv2.CascadeClassifier('humanface_detector.xml')图像在这一步中,你将选择要在测试代码中的图像。确保你有至少两张图片来检查你的程序的准确性。这些图像可以同时有人和猫,或者只是其中一个。如果你很难找到一个免费的图片集,可以使用我在Kaggle上找到的免费数据集(https://www.kaggle.com/tongpython/cat-and-dog)。请随时下载和使用这个项目。以下是我将在我们的项目中使用的图像:

© 版权声明

相关文章