赞
踩
文章首发于公众号 coolpython
机器学习是计算机视觉已经成为一种热潮,但进入该领域却是一件非常困难的事情,因为这需要非常扎实的数学背景,其所需要的专业知识,即便是大学本科毕业也近乎难以满足。
但在python的世界里,总会有人努力将极为专业的事情降低难度,简化到我们普通人也可以尝试的程度,Detecto就是这样一个开源库,只需要几行代码,我们就能写出一个对象检测程序,从一张图片中识别出水果。下面这张图片就是本文要识别的图片
安装detecto
pip3 install detecto
将上面的图片存储为fruit.jpg,接下来使用几行简单的代码,就可以识别出图片中的水果
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
from detecto import core, utils, visualize
image = utils.read_image('/Users/kwsy/Desktop/fruit.jpg')
model = core.Model()
labels, boxes, scores = model.predict_top(image)
visualize.show_labeled_image(image, boxes, labels)
程序执行时,会下载一个模型文件,地址是https的连接,因此需要引入ssl模块并做必要的设置以避免下载失败,随后的代码,读取图片文件,加载模型并对图片里的水果进行预测,其预测结果如下
预测结果,准确无误,除了可以识别水果,还可以检测动物,汽车,厨房用具,经过试验,如果图片里的物体比较拥挤,识别效果就会差一些,下面这张图片里,就把大象的长牙识别成了香蕉,
所加载的模型能够识别的物体是有限的,detecto允许你自己在自定义数据集上训练模型,不过,这需要你的电脑支持GPU,否则在CPU上进行深度学习训练会非常缓慢,我们普通家用或办公的电脑承担不起这样的性能要求。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。