围棋规则,东海,浩-额头blog,每日最新思考

admin 2个月前 ( 08-30 06:44 ) 0条评论
摘要: 原创十行代码搞定目标检测...

大数据文摘出品

编译:邢畅、安静

计算机视觉是人工智能的一个重要范畴,是关于计算机和软件体系的科学,能够对图画和场景进行辨认、了解。计算机视觉围棋规矩,东海,浩-脑门blog,每日最新考虑还包括图画辨认、方针检测、图画生成、图画超分辨率重建等多个范畴。因为存在很多的实践需求,方针检测或许是计算机视觉中最有意义的范畴。

方针检测是指计算机和软件体系对图画或场景中的方针进行定位和辨认的使命。方针检测已广泛运用于人脸检测、车辆检测、人流量计算、网络图画、安防体系和无人驾驶等多个范畴。

在运用或体系中运用方针检测方围棋规矩,东海,浩-脑门blog,每日最新考虑法,以及根据这些办法构建新的运用都不是简略的使命。前期方针检测的完成根据经典算法,比方盛行的计算机视觉库OpenCV中支撑的算法。但是,这些经典算法在不同的条件下无法取得安稳的功用。

2012年深度学习的突破性发展和敏捷遍及,使得R-CNN、Fast-RCNN、Faster-RCNN、RetinaNet以及快速、高度精确的SSD、YOLO等方针检测算法应运而生。这些根据深度学习、机器学习的算法,需求必定的数学以及深度学习结构根底。稀有百万的专业计算机程序员和软件开发人员想要集成和创立根据方针检测算法的新产品。一起因为了解和实践运用较为杂乱,一向无法完成。怎么开宣布高效的方针检测代码呢?ImageAI就应运而生了。

ImageAI让代码变得简练

ImageAI是一个python库,只需求几行代码,就能够让程序员和软件开发人员轻松地将最先进的计算机视觉技能集成到他们现有的或新的运用中,ImageAI现已在Github上开源。

G围棋规矩,东海,浩-脑门blog,每日最新考虑ithub地址:

https://github.com/OlafenwaMoses/ImageAI

ImageAI现在支撑运用在ImageNet-1000数据集上练习的4种不同机器学习算法进行图画猜测和练习。ImageAI还支撑运用在COCO数据集上练习的RetinaNet,YOLOv3和TinyYOLOv3进行方针检测,视频检测和方针盯梢。最终,ImageAI答应练习自界说模型,以履行新方针的检测和辨认。

ImageAI库有依靠其他Python库,所以在运用ImageAI开发之前还需求导入其他的包。

准备作业

运用ImageAI完成方针检测,只需进行以下4步:

  1. 在你的电脑上装置Python
  2. 装置ImageAI,装备依靠环境
  3. 下载方针检测模块文件
  4. 运转样例代码(只需10行)

下面一步步具体打开:

1)从Python官网下载并装置Python3

链接地址:

https://python.org

2)用pip指令装置以下依靠包:

i. Tensorflow

pip install tensorflow

ii. Numpy

pip install numpy

iii. SciPy

pip install scipy

iv. OpenCV

pip install opencv-python

v. Pillow

pip insta顶尖医师ll pillow

vi. Matplotlib

pip install matplotlib

vii. H5py

pip install h5py

viii. Keras

pip install keras

ix. ImageAI

pip3 install imageai --upgrade

留意:榜首次装置ImageAI库,需求下载对应版别的.whl文件,文摘菌的电脑围棋规矩,东海,浩-脑门blog,每日最新考虑是Python3的环境,所以下载了imageai-2.0.2-py3-none-any.whl 文件,然后转移到相应的文件夹下,履行如下指令即可装置:

pip instal围棋规矩,东海,浩-脑门blog,每日最新考虑l imageai-2.0.2-py3-none-any.whl

.whl文件链接地址:

https://github.com/OlafenwaMoses/ImageAI/releases/download/2.0.2/imageai-2.爱情碟中谍电视剧全集0.2-py3-none-any.whl

3)下载用于方针检测的RetinaNet模型文件

链接地址:

https://github.com/OlafenwaMoses/ImageAI/releases/download/1.0/resnet50_coco_best_v2.0.1.h5

敞开10行代码的方针检测

到这儿你现已装置好了一切的依靠项,能够开端编写你的榜首个方针检测的代码了。

创立一个Python文件并命名(如FirstDetection.py),然后将下面的代码写入该文件。将RetinaNet模型文件和要检测的图画复制到包括Python文件的文件夹中。

FirstDetection.py:

from imageai.Detection import ObjectDetectionimport os

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 , "image.jpg"), output_image_path=os.path.join(execution_path , "imagenew.jpg"))

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

然后运转代码,等候成果输出。成果显现后,就能够在Firs窦骁雷宇铮tDetect鸭王3ion.py地点的文件夹下找到保存下来的新图画。下面有两个新图画的示例。

方针检测前:

图片来历:alzheimers.co.uk

图片来历:Wikicommons

方针检测后:

在Spyder编译器中运转成果如下所示:

输出的方针检测精度成果:

person : 57.20391869544983

person : 52.57977843284607

person : 70.81094980239868

person : 76.99859142303467

person : 79.40077781677246

bicycle : 81.0384213924408

person : 83.66722464561462

person : 89.41188454627991

truck : 60.61040759刘雨维086609

person : 69.65749859809875

bus : 97.92424440383911

truck : 83.94358158111572

car : 72.50492572784424

在Spyder编译器中运转成果如下所示:

输出的方针检测精度成果:

person : 62.45866417884827

person : 58.67737531661987

person : 69.44932341575623

person : 71.84218168258667

person : 59.53381657600403

person : 54.65759钱生天地038925171

motorcycle : 65.84504842758179

bus : 99.403184652328围棋规矩,东海,浩-脑门blog,每日最新考虑49

car : 72.41445779800415

person : 58.325308561325王书桂07

person : 54.449981451034546

person : 80.11815547943115

person : 74.30745959281921

p天鹅公主的隐秘城堡erson : 77.78302431106567

person : 71.15439772605896

bicycle : 69.92427110671997

person : 66.17957353591919

bicycle : 90.50283432006836

motorcycle : 94.09030675888062

短短10行代码就出了方针检测的成果,这也太快了吧!本着对真理探究的热心,在弄懂里边的原理后,文摘菌将在下文对每行代码进行解读。

知其然知其所以然:代码解读

下面来解释一下这10行代码的作业原理:

from imageai.Detection import Obje圣皇衍天诀ctDetectionimport osexecution_path = os.getcwd()

在以上3行代码中,在榜首行导入了ImageAI的方针检测类;在第二行导入了Python的os类;在第三行中界说了一个变量,保存Python文件、RetinaNet模型文件以及图画地点文件夹的途径。

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 , "image.jpg"), output_image_path=os.path.join(execution_path , "imagenew.jpg"))

在以上5行代码中,咱们在榜首行中界说了一个方针检测类的实例;在第二行中将实例的模型类型设定为RetinaNet;在第三行中将模型途径设置为RetinaNet模型的途径;在第四行中将模型加载到方针检测类的实例中;在第五行中调用检测函数,并将文件输入输出途径作为参数传入。

for eachObje段智红ct in detections: print(eachObject["name"] , "续弦太子妃 : " , eachObject["percentage_probability"] )

在以上两行代码中,榜首行用来对detector.detectObjectsFromImage 函数回来的一切成果进行迭代,第二行用来输出图片中检测到的每个方针的姓名及其概率。

自界说方针检测

除此外,Image无限国际直播体系AI也支撑强壮的自界说方针检测。其中之一是能够提取图画中检测到的每个物体。只需求将参数

extract_detected_objects=True

传入

detectObjectsFromImage

函数中,如下所示,方针检测类将为图画方针创立一个文件夹,提取每个图画,将每个子图画保存到创立的新文件夹中,并回来一个包括每个图画途径的数组。

detections, extracted_images = detector.detectObjectsFromImage(input_image=os.path.join(execution_path , "image.jpg"), output_image_path=os.path.join(executi久美神话on_path , "imagenew.jpg"), extract_detected_objects=True)

将其运用到榜首张图片上,得到如下成果:

一切行人都被很好地提取了出来,为了节省空间这儿只显现了一部分。

ImageAI的其他功用

ImageAI供给了许多功用,可用于方针检测使命的自界说和布置。其支撑的功用包括:

  • 调整最小概率:默许状况下,概率小于50%的物体不会显现。关于需求高精度的状况,能够增爱情公约加此值;关于需求检测一切提打挺松或许方针的状况,能够削减此值。
  • 自界说方针检测:经过供给的CustomObject类,能够使检测类检测一个或几个特定方针。
  • 检测速度:经过将检测速度设置为“fast”、“faster”或“fastest”,能够削减检测图画所需的时刻。
  • 输入类型:可指定并解析图画的文件途径,以Numpy数组或图画文件流作为输入
  • 输出类型:可指定detectObjectsFromImage函数以文件或Numpy数组的方式回来图画

你能够在上文给出的官方GitHub链接中找到怎么运用上述功用以及ImageAI中包括的其他计算机视觉功用的具体信息和文档。

相关报导:

https://towardsdatascience.com/object-detection-with-10-lines-of-code-d6cb4d86f606

主考官自助烤肉
文章版权及转载声明:

作者:admin本文地址:http://www.etoudiblog.com/articles/3181.html发布于 2个月前 ( 08-30 06:44 )
文章转载或复制请以超链接形式并注明出处额头blog,每日最新思考