首页 > 编程知识 正文

yolov3代码,yolov3算法详解

时间:2023-05-03 20:24:39 阅读:27350 作者:573

原因:

1 .主要想提高识别速度(减小识别类别时) ) ) ) )。

2 .减小数据库大小

3 .消除不想要的类别

4 .仍然想使用官方的weight (()比我自己训练的更准确() ) ) ) ) ) ) ) ) ) )

由于对keras不熟悉,不知道如何在convert.py时直接从数据库阉割

过程:

yolo3无论是视频还是图像检查都调用yolo.py的detect_image

在yolo.py中,detect_image关于类别self.classes

out_boxes,out_scores,out_classes=self.sess.run (

[self.boxes,self.scores,self.classes],

feed_dict={

self.yolo _ model.input : image _ data,

self.input _ image _ shape : [ image.size [1],image.size[0]],

K.learning_phase () : 0

() )

generate(_init__调用) )的

boxes,scores,classes=yolo _ eval (self.yolo _ model.output,self.anchors,

len(self.class_names ),self.input_image_shape,

score_threshold=self.score,iou_threshold=self.iou )

返回盒、scores、classes

的yolo_eval(yolo3的model.py ) )的下一段中,添加if语句即可)第2行被注释掉了) ) )。

forcinrange(num_classes ) :

#if c==32: #32-sports ball 32是与model_data/coco_classes.txt对应的行减1 (从0开始)

# todo : usekerasbackendinsteadoftf。

class _ boxes=TF.boolean _ mask (boxes,mask[:c] ) ) ) ) ) ) ) )。

class _ box _ scores=TF.boolean _ mask (box _ scores [ :c],mask[:c] ) ) )。

NMS _ index=TF.image.non _ max _ suppression (

class_boxes,class_box_scores,max_boxes_tensor,iou_threshold=iou_threshold )

class _ boxes=k.gather (class _ boxes,nms_index ) ) ) ) ) ) ) )。

class _ box _ scores=k.gather (class _ box _ scores,nms_index ) ) ) ) ) ) ) ) )。

classes=k.ones _ like (class _ box _ scores,' int32 ' ) c

Boxes_.append(class_Boxes ) )。

scores _.append (class _ box _ scores ) )。

classes_.append(classes )

综合来看,在yolo3/model.py 213行下添加if进行判断即可

ps:作者还写了评论use keras backend instead of tf似乎想脱离tf呢

ps:

1 .数据库中的数据相同,只是减少了查询次数,效果稍好,但不明显

2 .因为想用官方的微信,所以想阉割官方的微信:

测试修改了coco_classes.txt和相应yolov3.cfg下三个yolo下的classes(80-3 )

重新生成yolo.h5文件

实行.

错误在yolo.py上

self.yolo _ model.layers [-1 ].output _ shape [-1 ]==num _ anchors/len (self.yolo _ model.output ) )

调试程序为以下:

self.yolo _ model.layers [-1 ].output _ shape [-1 ]-255

num_anchors-9

len(self.yolo_model.output )-3

(num_classes5(-85#num_classes是coco_classes.txt下的类别数

不知道self.yolo _ model.layers [-1 ].output _ shape [-1 ]是什么,怎么训练都是255

随意删除这句话阉割数据库失败了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。