下载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

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐