"You only look once"--吴恩达目标检测YOLO算法学习

从输入到输出,图片到底经历了什么:

1.reading and processing:

用于测试和预测的图片可以为任意尺寸,而yolo_model的输入为(608,608),需要对原图片进行预处理

def preprocess_image(img_path,model_image_size):
    image_type=imghdr.what(img_path)
    image=Image.open(img_path)
    resized_image=image.resize(tuple(reversed(model_image_size),Image.BICUBIC))
image_data=np.array(resized_image,dtype='float32')
image_data/=255
image_data=np.expand_dims(image_data,0)#增加batch_size的维度
return image,image_data

预处理步骤:读取图片-->修改尺寸-->数组化-->归一化-->增加维度   image_data 用于输入model

2.将预处理后的image_data 输入yolo_model.

yolo_model的input的shape为(None,608,608,3),output的shape为(None,19,19,425),其中19*19为yolo算法的网格划分尺寸,425可以展开为5*(1+4+80),即(None,19,19,5,85),其中置信度box_confidence=tf.sigmoid(output[...,4:5])得出,box_xy=tf.sigmoid(output[...,:2]),box_wh=tf.exp(output[...,2:4]),box_class_probs=tf.softmax(output[...,5:])获得

3.经过上诉处理的output信息包含所有anchor_box的信息,而我们最终输出目标应该只有特定的一个box,需要经过概率阈值filter和NMS算法进行过滤筛选得到最终的唯一Box,box包含scores(置信度),boxes(尺寸信息),classes(类别信息)

4.可视化





 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值