查看原文
其他

使用ImageAI快速构建常见对象检测应用

gloomyfish OpenCV学堂 2020-02-04

点击上方蓝字关注我们

微信公众号:OpenCV学堂
关注获取更多计算机视觉与深度学习知识

ImageAI介绍

纯Python的快速对象检测训练与测试平台,基于tensorflow+opencv构建,支持

  • RetinaNet

  • YOLOv3

  • TinyYOLOv3

在COCO数据集上预训练模型的调用,同时支持自定义对象训练与导出。支持

  • 图像分类

  • 对象检测

  • 视频对象检测与跟踪

安装ImageAI

ImageAI的后台依赖tensorflow框架与keras,所以需要首先安装tensoflow,当前还不支持tensorflow2.0版本

  • tensorflow 1.4.x以上版本

  • opencv-python

安装imageai,只需要执行如下命令行即可

pip install imageai

代码演示

1. 图像分类

from imageai.Prediction import ImagePrediction
import os

execution_path = os.getcwd()

prediction = ImagePrediction()
prediction.setModelTypeAsResNet()
prediction.setModelPath(os.path.join(execution_path, "resnet50_weights_tf_dim_ordering_tf_kernels.h5"))
prediction.loadModel()

predictions, probabilities = prediction.predictImage(os.path.join(execution_path, "1.jpg"), result_count=5 )
for eachPrediction, eachProbability in zip(predictions, probabilities):
    print(eachPrediction , " : " , eachProbability)

图像

运行输出:

convertible : 52.459555864334106
sports_car : 37.61284649372101
pickup : 3.1751200556755066
car_wheel : 1.817505806684494
minivan : 1.7487050965428352

2. 对象检测

from imageai.Detection import ObjectDetection
import os

execution_path = os.getcwd()

detector = ObjectDetection()
detector.setModelTypeAsYOLOv3()
detector.setModelPath( os.path.join(execution_path , "yolo.h5"))
detector.loadModel()
detections = detector.detectObjectsFromImage(input_image=os.path.join(execution_path , "image2.jpg"), output_image_path=os.path.join(execution_path , "image2new.jpg"), minimum_percentage_probability=30)

for eachObject in detections:
    print(eachObject["name"] , " : ", eachObject["percentage_probability"], " : ", eachObject["box_points"] )
    print("--------------------------------")

运行输出:

github地址

https://github.com/OlafenwaMoses/ImageAI/

推荐阅读

OpenCV加速与优化,让代码执行速度飞起来

教程 | OpenCV4.1.2中实时高效的二维码识别模块

Qt实用技巧:使用OpenCV库操作摄像头拍照、调节参数和视频录制

干货 | GIMP中的Noise Reduction算法原理及快速实现

逆天啦!OpenCV4.1.2 CPU上人脸检测居然能跑到700+ FPS

CPU上跑深度学习模型,FPS也可以达100帧

网络模型量化与推理加速框架OpenVINO最新版本SDK演示

如何编译OpenCV4.1.0支持OpenVINO推断引擎加速支持

10分钟学会 OpenCV CUDA编程

OpenVINO深度学习推理框架 开发技术系列文章汇总

首发 | OpenVINO开发配套视频教程发布了

OpenCV4 | 如何一行代码搞定SSD模型推理与结果解析

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存