Python基于 ImageAI 模块实践 idenprof数据集识别预测分析

简介: Python基于 ImageAI 模块实践 idenprof数据集识别预测分析       图像识别早已不是很新鲜的话题了,很多数据处理的任务到最后都会归为图像识别中,在之前的很多工作中,我陆陆续续也接触了很多相关的工作,从最开始数据处理,到模型搭建与最终上线也都经历,大多数时候模型都是自己搭建的,虽然说现在keras的出现极大地简化了模型的搭建工作,但是整个过程还是需要自己去实践完成的,对于很多的初学者来说并不是很容易的。

Python基于 ImageAI 模块实践 idenprof数据集识别预测分析
       图像识别早已不是很新鲜的话题了,很多数据处理的任务到最后都会归为图像识别中,在之前的很多工作中,我陆陆续续也接触了很多相关的工作,从最开始数据处理,到模型搭建与最终上线也都经历,大多数时候模型都是自己搭建的,虽然说现在keras的出现极大地简化了模型的搭建工作,但是整个过程还是需要自己去实践完成的,对于很多的初学者来说并不是很容易的。

      今天发现了一个好玩的库——ImageAI,简单的说一下我的理解就是对keras的又一层封装,但又不全是这样。ImageAI简化了整个图像识别和目标检测的工作,今天想来简单看看,整个模块的能力。

     使用的使用网上公开的数据集 idenprof ,分为train和test两个数据集,每个集合里面共有10个类别,数据集截图如下:

       具体实践如下:
 

!usr/bin/env python

encoding:utf-8

from future import division

"""
__Author__:沂水寒城
功能: python基于 ImageAI 模块实现 idenprof 数据集预测识别
当前官网中 ImageAI 主要提供四种类型的预测模型分别如下:
SqueezeNet(预测速度最快 正确率中等)
ResNet50 (预测速度快 正确率较高)
InceptionV3(预测速度慢 正确率高)
DenseNet121(预测速度更慢 正确率最高)
"""

import os
import threading
from imageai.Prediction import ImagePrediction
from imageai.Prediction.Custom import ModelTraining
from imageai.Prediction.Custom import CustomImagePrediction

def modelPredictDemo(model_path='officeModels/resnet_model_ex-020_acc-0.651714_idenprof.h5',

                 class_path='officeModels/model_class_idenprof.json',
                 pic_dir='idenprofTestPic/',classNum=10,resNum=1,flag=True):
'''
图像识别模型demo
''' 
right=0
if flag:
    prediction=CustomImagePrediction()  
else:
    prediction=ImagePrediction()
prediction.setModelTypeAsResNet()
prediction.setModelPath(model_path)
prediction.setJsonPath(class_path)
prediction.loadModel(num_objects=classNum)
all_files=[]
pic_list=os.listdir(pic_dir)  
for one_pic in pic_list:
    all_files.append(pic_dir+one_pic)
for one_pic in all_files:
    predictions,probabilitys=prediction.predictImage(one_pic,result_count=resNum)
    true_label=one_pic.split('/')[-1].split('.')[0].strip()
    for predict,probability in zip(predictions,probabilitys):
        print(true_label,'===>',predict, " : ", str(probability))
        if true_label.split('-')[0].strip()==predict:
            right+=1
acc=right/len(all_files)
print('Accuracy: ',acc)

if __name__=='__main__':

modelPredictDemo(model_path='officeModels/resnet_model_ex-020_acc-0.651714_idenprof.h5',
                 class_path='officeModels/model_class_idenprof.json',
                 pic_dir='idenprofTestPic/',classNum=10,resNum=1,flag=True)

      模型输出如下:

      由于自己的PC机太次了,我没有选择去自己训练模型,直接下载了官方提供的预训练模型,随机抽取了250张图片数据作为测试使用,粗略地计算了一下准确度达到了55.64%以上。

      感觉ImageAI使用起来的确是简单了很多,但是模型的种类和灵活性反而不如自己搭建模型了,这里更像是一个社区,自己可以贡献自己的数据集和预训练模型供别人使用,总之,好的东西总是会为开发者提供便利的,记录学习!

作者:Together_CZ
来源:CSDN
原文:https://blog.csdn.net/Together_CZ/article/details/96714163
版权声明:本文为博主原创文章,转载请附上博文链接!

相关实践学习
基于函数计算实现AI推理
本场景基于函数计算建立一个TensorFlow Serverless AI推理平台。
相关文章
|
23天前
|
存储 开发者 Python
Python中的collections模块与UserDict:用户自定义字典详解
【4月更文挑战第2天】在Python中,`collections.UserDict`是用于创建自定义字典行为的基类,它提供了一个可扩展的接口。通过继承`UserDict`,可以轻松添加或修改字典功能,如在`__init__`和`__setitem__`等方法中插入自定义逻辑。使用`UserDict`有助于保持代码可读性和可维护性,而不是直接继承内置的`dict`。例如,可以创建一个`LoggingDict`类,在设置键值对时记录操作。这样,开发者可以根据具体需求定制字典行为,同时保持对字典内部管理的抽象。
|
1天前
|
机器学习/深度学习 数据挖掘 网络架构
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
12 0
|
2天前
|
开发者 Python
Python的os模块详解
Python的os模块详解
11 0
|
5天前
|
机器学习/深度学习 搜索推荐 Python
Python特征工程面试:从理论到实践
【4月更文挑战第17天】本文探讨了Python在数据科学面试中的特征工程,涵盖基础概念如特征选择和提取,实战技能如缺失值和异常值处理,以及特定场景应用。强调避免过度依赖单一方法,忽视数据分布和相关性,以及保持特征工程的可解释性。提供代码示例展示了处理缺失值、标准化、特征选择和异常值检测的基本操作。建议结合业务理解,灵活运用多种方法并注重模型解释性。
19 9
|
5天前
|
数据挖掘 API 数据安全/隐私保护
python请求模块requests如何添加代理ip
python请求模块requests如何添加代理ip
|
6天前
|
测试技术 Python
Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
|
6天前
|
Serverless 开发者 Python
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
39 1
|
6天前
|
机器学习/深度学习 Python
Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
16 0
|
7天前
|
机器学习/深度学习 Python 数据处理
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
31 0
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
|
7天前
|
vr&ar Python
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列4
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
32 0

热门文章

最新文章