一种可用于移动应用或网络应用的算法。 代码将能够接受任何用户提供的图像作为输入。 如果从图像中检测出小狗,该算法将大致识别出小狗品种。 如果检测出人脸,该算法将大致识别出最相似的小狗品种。
- 将准备完整的数据集,在本项目中为一系列狗狗图片,图片预存在服务器
- 项目数据集已分别存放在test, valid, train三个文件夹中
- 狗狗分类共133种,并以文件夹名与文件名形式预处理,例如:"train 01.AffenpinscherAffenpinscher_00001.jpg"
- 导入人脸文件数据文件,并做随机排序,不做分类训练
- 处理异常数据:项目数据集并无异常数据,但仍可以考虑添加对于文件类型filter图片类型文件,以及格式错误的文件
通过以下示例代码读取对数据进行预处理,
# 函数获取test, train, valid数据,使用np array存储
def load_dataset(path):
data = load_files(path)
dog_files = np.array(data['filenames'])
dog_targets = np_utils.to_categorical(np.array(data['target']), 133)
return dog_files, dog_targets
# 从文件夹中获取
train_files, train_targets = load_dataset('文件地址/train')
valid_files, valid_targets = load_dataset('文件地址/data/dog_images/valid')
test_files, test_targets = load_dataset('文件地址/data/dog_images/test')
# 获取狗狗名称
dog_names = [item[20:-1] for item in sorted(glob("文件地址/train/*/"))]
random.seed(8675309)
# 获取人脸图片文件名
human_files = np.array(glob("../../../data/lfw/*/*"))
random.shuffle(human_files)
- 使用OpenCV 提供的预训练人脸检测器:可以将XML 文件的形式从github下载并使用。
- 本次测试代码使用Haar 特征级联分类器(Haar feature-based cascade classifiers来检测图片中的人脸
- 测试人脸检测模块的accuracy
通过以下示例代码建立人脸检测模块
# 读取xml
face_cascade = cv2.CascadeClassifier('目标文件夹/haarcascade_frontalface_alt.xml')
# 读取并将文件灰度化
img = cv2.imread(human_files[3])
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 调用探测人脸
faces = face_cascade.detectMultiScale(gray)
#如定义检测函数,此处可以return len(faces) > 0 作为检测结果
# 加个框
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
# 将BGR通道转化为RGB
cv_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 展示找到的人脸图片
plt.imshow(cv_rgb)
plt.show()
如找到人脸,示例代码输出:
通过测试预先load的人脸与狗狗文件,做一个准确性测试,示例代码如下&#
相关知识
狗狗图片识别分类的CNN(卷积网络)实现
毕设:基于CNN卷积神经网络的猫狗识别、狗品种识别(Tensorflow、Keras、Kaggle竞赛)
【卷积神经网络】CNN详解以及猫狗识别实例
猫狗分类#1猫狗图片准备【keras深度学习】CNN卷积神经网络 cats
鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法
基于卷积神经网络的动物识别研究现状
使用GitCode上的Audioset Tagging CNN进行音频识别与分类
100基于卷积神经网络之鸟鸣识别鸟的种类
【毕业设计】基于卷积神经网络的观赏鱼分类识别系统 深度学习 目标检测 Python
CNN鸟类图片识别教程:从数据集到模型训练
网址: 狗狗图片识别分类的CNN(卷积网络)实现 https://m.mcbbbk.com/newsview684681.html
上一篇: pytorch搭建Resnet5 |
下一篇: 狗的类型?狗的主要特征 |