超酷炫的事情,使用python识别出图片里的水果

机器学习是计算机视觉已经成为一种热潮,但进入该领域却是一件非常困难的事情,因为这需要非常扎实的数学背景,其所需要的专业知识,即便是大学本科毕业也近乎难以满足。

但在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上进行深度学习训练会非常缓慢,我们普通家用或办公的电脑承担不起这样的性能要求。

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案