YOLO目标检测编程练习

本文介绍了YOLO目标检测框架的原理和优势,包括其快速、精确的特点,并提供了通过代码实现YOLO检测的步骤。首先导入所需库,然后定义过滤框、计算IOU和执行Non-Max Suppression的函数。接着,利用预训练模型进行预测,最终展示预测结果。通过实践,加深对YOLO的理解。
摘要由CSDN通过智能技术生成

YOLO

在本文中,我们将研究一个这样的对象检测框架——YOLO。这是一个非常快速和精确的框架,YOLO框架(You Only Look Once)与R-CNN不同的是在单个实例中获取整个图像,并预测这些框的边界框坐标和类概率。使用YOLO最大的优点是它的速度非常快,可以处理45帧每秒。YOLO也理解广义对象表示。这是最好的目标检测算法之一,表现出了与R-CNN算法相对相似的性能。

作为刚接触图像的小白,最好的理解方法就是启动我们的Jupyter笔记本(或者您喜欢的IDE),并最终以代码的形式实现我们的学习了!这是我们到目前为止一直在做的,让我们开始吧。
我们将在本节中看到的实现YOLO的代码取自Andrew NG关于深度学习的GitHub。您需要下载这个zip文件,其中包含运行此代码所需的经过预先训练的权重。

在进行其他操作之前,我们首先导入所需的库:

import os
import matplotlib.pyplot as plt
from matplotlib.pyplot import imshow
import scipy.io
import scipy.misc
import numpy as np
import pandas as pd
import PIL
import tensorflow as tf
from skimage.transform import resize
from keras import backend as K
from keras.layers import Input, Lambda, Conv2D
from keras.models import load_model, Model
from yolo_utils import read_classes, read_anchors, generate_colors, preprocess_image, draw_boxes, scale_boxes
from yad2k.models.keras_yolo import yolo_head, yolo_boxes_to_corners, preprocess_true_boxes, yolo_loss, yolo_body

%matplotlib inline

现在,让我们创建一个根据概率和阈值的过滤框:

def yolo_filter_boxes(box_confidence, boxes, box_class_probs, threshold = .6):
    box_scores = box_confidence*box_class_probs
    box_classes = K.argmax(box_scores,-1)
    box_class_scores = K.max(box_scores,-1)
    filtering_mask = box_cl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值