只需

10

Python

代码,我们就能实现计算机视觉中目标检测。

from imageai.Detection import ObjectDetectionimport osexecution_path = os.getcwd()detector
= ObjectDetection()detector.setModelTypeAsRetinaNet()detector.setModelPath( os.path.join(ex
ecution_path , "resnet50_coco_best_v2.0.1.h5"))detector.loadModel()detections = detector.detec
tObjectsFromImage(input_image=os.path.join(execution_path , "image.jpg"), output_image_pat
h=os.path.join(execution_path , "imagenew.jpg"))for eachObject in detections:print(eachObject[
"name"] + " : " + eachObject["percentage_probability"] )

没错,用这寥寥

10

行代码,就能实现目前

AI

产品中应用广泛的目标检测技术。

看完了代码,下面容我们聊聊目标检测背后的技术背景,并解读这

10

Python

代码的由

来和实现原理。

目标检测简介

人工智能的一个重要领域就是计算机视觉,

它是指计算机及软件系统识别和理解图像与视

频的科学。计算机视觉包含很多细分方向,比如图像识别、目标检测、图像生成和图像超

分辨率等。其中目标检测由于用途广泛,在计算机视觉领域的意义最为深远。

目标检测是指计算机和软件系统能够定位出图像

/

画面中的物体,并识别出它们。目标检

测技术已经广泛应用于人脸检测、车辆检测、人流量统计、网络图像、安防系统和无人车

等领域。

和其它计算机视觉技术一样,

目标检测未来会进一步成为人工智能的重要组成部

分,有着广阔的发展前景。

不过,在软件应用和系统中使用现代目标检测方法以及根据这些方法创建应用,

并非简单

直接。早期的目标检测实现主要是应用一些经典算法,比如

OpenCV

中支持的算法。然而

这些算法的表现并不稳定,在不同情况下差异巨大。

2012

年深度学习技术的突破性进展,催生了一大批高度精准的目标检测算法,比如

R-CNN
,
Fast-RCNN
,
Faster-RCNN
,
RetinaNet

和既快又准的

SSD

YOLO

。使用这些基

于深度学习的方法和算法,需要理解大量的数学和深度学习框架。

现在全世界有数以百万

计的开发者在借助目标检测技术创造新产品新项目,但由于理解和使用较为复杂困难,