ImageAI (二) 使用Python快速简单实现物体检测 Object Detection
上一篇已经讲解了ImageAI实现图片预测的方法,现在再来讲解一下ImageAI的第二个功能物体检测。
ImageAI提供了非常方便和强大的方法来对图像执行对象检测并从图像中提取每个对象。 ImageAI使用的模型是RetinaNet,并提供了已经训练完成的模型文件。
同样,仅需几行代码就能完成物体检测的过程。
ImageAI github地址
准备工作以及ImageAI的安装可以详见上一篇 ImageAI (一)
使用版本 ImageAI-2.1.0
Object Detection
训练好的RetinaNet模型:RetinaNet
detection.py
from imageai.Detection import ObjectDetection
import os
import time
#计时
start = time.time()execution_path = os.getcwd()detector = ObjectDetection()
detector.setModelTypeAsRetinaNet()#载入已训练好的文件
detector.setModelPath( os.path.join(execution_path , "resnet50_coco_best_v2.0.1.h5"))
detector.loadModel()#将检测后的结果保存为新图片
detections = detector.detectObjectsFromImage(input_image=os.path.join(execution_path , "image3.jpg"), output_image_path=os.path.join(execution_path , "image3new.jpg"))#结束计时
end = time.time()for eachObject in detections:print(eachObject["name"] ," : " ,eachObject["percentage_probability"] , " : ", eachObject["box_points"] ) ##预测物体名:预测概率:物体两点坐标(左上,右下)print("--------------------------------")print ("\ncost time:",end-start)
下面是github提供的图片
我跑出来的结果
person : 76.33113265037537 : [463 139 512 221]
--------------------------------
person : 83.83048176765442 : [600 131 639 213]
--------------------------------
person : 96.08134031295776 : [534 102 579 225]
--------------------------------
person : 96.66982889175415 : [ 8 103 63 248]
--------------------------------
motorcycle : 71.07154726982117 : [273 180 346 306]
--------------------------------
dog : 94.58073377609253 : [398 314 444 433]
--------------------------------
car : 55.41401505470276 : [215 140 388 299]
--------------------------------
person : 86.19718551635742 : [154 145 255 393]
--------------------------------cost time: 13.959604263305664
我自己随便找的一张图
结果
person : 61.145514249801636 : [175 580 202 650]
--------------------------------
person : 63.822001218795776 : [210 591 237 680]
--------------------------------
person : 93.19865703582764 : [314 592 345 688]
--------------------------------
person : 71.38553857803345 : [ 54 585 103 682]
--------------------------------
person : 80.48739433288574 : [272 594 309 692]
--------------------------------
motorcycle : 71.90784811973572 : [ 36 626 98 704]
--------------------------------
handbag : 55.64073324203491 : [818 654 876 764]
--------------------------------
person : 92.45884418487549 : [650 575 774 793]
--------------------------------
person : 83.37823152542114 : [787 597 880 796]
--------------------------------
person : 96.3289201259613 : [1096 586 1204 790]
--------------------------------cost time: 15.170496702194214
完成!
ImageAI (二) 使用Python快速简单实现物体检测 Object Detection相关推荐
- 物体检测Object Detection学习笔记(MXNet)(二)
多尺度物体目标检测 锚框生成过多的问题 尺度 如何在MXNet中生成多尺度的锚框 总结 锚框生成过多的问题 上一节学习到,我们是基于生成的锚框来预测物体类别和偏移量,而且我们对于一张原始图片,对于 ...
- 图像理解之物体检测object detection,模型rcnn/fastrcnn/fasterrcnn原理及概念
A,https://www.cnblogs.com/zhengzhe/p/7783270.html RCNN选择性搜索(Selective Search) RCNN选择性搜索(Selective Se ...
- python实现目标识别眼镜_用Python快速实现YOLO目标检测
文章也同步更新到微信公众号:R语言和Python学堂想获取本文完整代码和数据的下载链接,可关注微信公众号"R语言和Python学堂",并回复发文日期"20181223&q ...
- OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack()
OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack() 参考博客: Harris角点检测原理详解 Harri ...
- 深度学习(二十)基于Overfeat的物体检测-2014 ICLR-未完待续
基于Overfeat的物体检测 原文地址:http://blog.csdn.net/hjimce/article/details/50187881 作者:hjimce 一.相关理论 本篇博文主要讲解经 ...
- 视觉3D感知(二):单目3D物体检测
一.单目3D物体检测 (1)反变换 1.基本思路 1.3D图像反变换到3D世界世界坐标,在进行物体检测 2.病态问题:通过一些额外信息来辅助解决: 几何假设:目标位于地面(Oy已知) 深度估计:目标深 ...
- 快速目标检测--Object detection at 200 Frames Per Second
Object detection at 200 Frames Per Second 本文在 Tiny Yolo 的基础上设计了一个目标检测网络,在 Nvidia 1080ti 上可以达到 100帧每秒 ...
- 对比学习系列论文SimROD(二): A Simple Adaptation Method for Robust Object Detection
0.Abstract 0.1逐句翻译 This paper presents a Simple and effective unsupervised adaptation method for Rob ...
- 怎么用python绘制柱状图_如何用python快速简单的制作柱状图?
柱状图大家都会制作,那么你会用python制作柱状图吗? 我们先来看一下柱状图的定义:柱形图,又被称为长条图.或者柱状统计图,也叫作条图.条状图.棒形图,本质上来说就是一种以长方形的长度为变量的统计图 ...
- (二)Python实现简单计算器
使用Python实现输入表达式计算,并返回计算结果,主要思路如下:首先逐字符解析计算式,包括计算符号.计算数(注意对负数前负号'-'的处理)等,然后根据先乘除后加减的计算优先级规则,对解析出来的计算单 ...
最新文章
- Android在listview添加checkbox实现单选多选操作问题
- JeePlus左树右表之 表单【右表】自动获取列表【左树 】中的id
- Material design 色彩
- fir fpga 不同截止频率_学习FPGA将来的出路在哪里?
- 什么是域名服务器(DNS)
- zabbix邮件报警配合logging模块排错的python脚本
- Python《第一次爬虫遭遇反盗链(下)》
- SecureCRT连接阿里云ECS服务器,经常掉线的解决方案
- ArcGIS学习总结(11)——创建点要素并计算对应经纬度
- java中的ioc和aop_IOC和AOP分别是什么?如何理解?
- mysql-入门教程
- Cox回归+Cox比例风险回归模型
- 单线多拨的原理+穿透
- 基于腾讯轻量服务器安装Aria2+AriaNg+Nginx+File Brower 服务
- IOS-简单的自建ipa在线安装服务
- 计算机主机的拆卸步骤,电脑主板怎么拆CPU 主板拆CPU步骤图文教程
- 2022MySQL数据库-基础篇
- PAT A1010 Radix (25 分)
- 烽火移动设备管理:企业安全管理无处遁形
- 项目管理标准(PMBOK第七版-中文)