使用预训练的深度学习模型和 OpenCV 提取图像洞察力

本文介绍了如何结合预训练的深度学习模型和OpenCV进行图像洞察力提取,包括人物区域识别和草地绿度比较。通过预训练的语义分割模型,可以对图像进行像素级别的分类,提取特定区域,如人物区域,并通过OpenCV计算图像中人物的百分比和草的绿色度。这种方法在图像识别和提取见解方面提供了高效、低成本的解决方案。
摘要由CSDN通过智能技术生成
  • 如果我家的监控摄像头的照片可以告诉我后院的草变得越来越黄(受热压力),那么在炎热的夏天调整喷水灭火系统可能对我有用。

  • 如果一个模型可以量化照片中体育场内人物的百分比,我们就可以用它来估计售出的门票数量。

  • 人们可以通过比较整个时间的叶面积来使用照片监测植物生长。

你可以通过本文回答上述问题或愿望清单。

训练用于图像识别的深度学习神经网络模型通常很昂贵,训练像 CNN 这样的深度神经网络模型通常需要大量的训练数据和昂贵的 GPU 计算能力。

如何才能“站在巨人的肩膀上”?通过反复试验,发现使用具有计算机视觉(openCV 功能)的预训练深度学习模型可能是一种强大而有效的出路。

最终目标

到本文结束时,无需训练深度学习模型,你将能够

  1. 对图像进行分类并从图像中提取感兴趣区域。

dcc6e582592713cce87706ddb07b12c6.png

提取图像的百分比,来自人或汽车或其他 16 个预先确定的类别

  1. 通过比较从草图像中提取的统计数据,了解花园里的草在炎热的夏天是否承受压力。

29d8b926911cbdd437fb57f382915cfb.png

从草的照片中提取绿色直方图

预训练语义分割模型

训练了语义分割模型;模型工件和端点是按照 AWS 文档 [1] 创建的。

语义分割 (SS) 是将图像中的每个像素与来自一组已知标签的类进行分类的任务。

相比之下,图像分类只为每张图像生成一个标签,而对象检测为图像中的每个对象生成一个边界框和标签。

语义分割输出通常表示为图像中的不同像素值。

因此,输出是一个与输入图像具有相同形状的整数矩阵(或灰度图像)。此输出图像也称为分割掩码。

在本文中,我们将调用预训练的深度学习端点进行图像识别。

378d46454f3309605698aa8e85dee97f.png
示例 1:从图像中提取洞察力:照片中人物的区域

下载,可视化照片,缩小照片尺寸

from matplotlib import pyplot as plt
import PIL

%matplotlib inline
#1. download photo save to local drive, visualize the photo and reduce size
filename = "./data/street.jpg"
width = 800

im = PIL.Image.open(filename)

aspect = im.size[0] / im.size[1]
im.thumbnail([width, int(width / aspect)], PIL.Image.ANTIALIAS)
im.save(filename, "JPEG")

plt.imshow(im)
plt.show()

照片尺寸调整为宽度 800,并保持原始纵横比。

323f9dfd04c3b16a5ea619703d19fbbc.png

使用预训练的深度学习模型

用户可以附加端点或模型工件以进行模型预测。在这里,我们使用 sagemaker 中的预训练端点。

建议使用更便宜的实例/虚拟机进行端点预测。在本教程中,我使用 ml.c5.xlarge 机器


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值