下载Imageai和依赖

!pip install --upgrade pip
!pip install opencv-python
!pip install https://github.com/OlafenwaMoses/ImageAI/releases/download/2.0.2/imageai-2.0.2-py3-none-any.whl
!pip install keras==2.2.4
!pip install 'h5py<3.0.0'
!pip install tensorflow==1.15.0
python3.6

下载网络参数

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

调用RetinaNet和yolov3

import warnings
warnings.filterwarnings('ignore')
#tensorflow 1.x
from imageai.Detection import ObjectDetection
from imutils import paths
detector = ObjectDetection()
detector.setModelTypeAsRetinaNet() #For YOLO model change to detector.setModelTypeAsYOLOv3()
detector.setModelPath('./data/resnet50_coco_best_v2.0.1.h5') #For YOLO model change to detector.setModelPath("yolo.h5")
detector.loadModel()

imagePaths = sorted(list(paths.list_images('./data/task1')))
#1
for image in imagePaths:
    list = detector.detectObjectsFromImage(
        input_image = image, # Specify the input file name
        output_image_path = './data/out/'+image.split('/')[-1], # Specify the output file name
        minimum_percentage_probability = 50 # Specify cutoof treshold
    )
#2
for image in imagePaths:
    list = detector.detectObjectsFromImage(
        input_image = image, # Specify the input file name
        output_image_path = './data/out/'+image.split('/')[-1], # Specify the output file name
        minimum_percentage_probability = 80 # Specify cutoof treshold
    )
#3
import warnings
warnings.filterwarnings('ignore')
#tensorflow 1.x
from imageai.Detection import ObjectDetection
from imutils import paths
detector = ObjectDetection()
detector.setModelTypeAsYOLOv3()
detector.setModelPath("./data/yolo.h5")
detector.loadModel()
imagePaths = sorted(list(paths.list_images('./data/task1')))
for image in imagePaths:
    list = detector.detectObjectsFromImage(
        input_image = image, # Specify the input file name
        output_image_path = './data/out/'+image.split('/')[-1], # Specify the output file name
        minimum_percentage_probability = 50 # Specify cutoof treshold
    )
#4
for image in imagePaths:
    list = detector.detectObjectsFromImage(
        input_image = image, # Specify the input file name
        output_image_path = './data/out/'+image.split('/')[-1], # Specify the output file name
        minimum_percentage_probability = 80 # Specify cutoof treshold
    )

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐