DL之RetinaNet:基于RetinaNet算法(keras框架)利用resnet50_coco数据集(.h5文件)实现目标检测
生活随笔
收集整理的這篇文章主要介紹了
DL之RetinaNet:基于RetinaNet算法(keras框架)利用resnet50_coco数据集(.h5文件)实现目标检测
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
DL之RetinaNet:基于RetinaNet算法(keras框架)利用resnet50_coco數(shù)據(jù)集(.h5文件)實現(xiàn)目標檢測
?
?
?
相關(guān)文章
DL之RetinaNet:RetinaNet算法的簡介(論文介紹)、架構(gòu)詳解、案例應(yīng)用等配圖集合之詳細攻略?之6、ResNet50RetinaNet在程序中如何實現(xiàn)的?——結(jié)構(gòu)框圖詳解
?
輸出結(jié)果
?
?
?
設(shè)計思路
更新……
?
?
?
核心代碼
更新……
def __create_pyramid_features(C3, C4, C5, feature_size=256):""" Creates the FPN layers on top of the backbone features. 在ResNet基礎(chǔ)上創(chuàng)建FPN金字塔特征:參照博客的框架圖,輸入[C3,C4,C5],返回5個特征級別[P3, P4, P5, P6, P7]參考博客:https://yunyaniu.blog.csdn.net/article/details/100010853ArgsC3 : Feature stage C3 from the backbone.C4 : Feature stage C4 from the backbone.C5 : Feature stage C5 from the backbone.feature_size : The feature size to use for the resulting feature levels.ReturnsA list of feature levels [P3, P4, P5, P6, P7]."""# upsample C5 to get P5 from the FPN paperP5 = keras.layers.Conv2D(feature_size, kernel_size=1, strides=1, padding='same', name='C5_reduced')(C5)P5_upsampled = layers.UpsampleLike(name='P5_upsampled')([P5, C4])P5 = keras.layers.Conv2D(feature_size, kernel_size=3, strides=1, padding='same', name='P5')(P5)# add P5 elementwise to C4P4 = keras.layers.Conv2D(feature_size, kernel_size=1, strides=1, padding='same', name='C4_reduced')(C4)P4 = keras.layers.Add(name='P4_merged')([P5_upsampled, P4])P4_upsampled = layers.UpsampleLike(name='P4_upsampled')([P4, C3])P4 = keras.layers.Conv2D(feature_size, kernel_size=3, strides=1, padding='same', name='P4')(P4)# add P4 elementwise to C3P3 = keras.layers.Conv2D(feature_size, kernel_size=1, strides=1, padding='same', name='C3_reduced')(C3)P3 = keras.layers.Add(name='P3_merged')([P4_upsampled, P3])P3 = keras.layers.Conv2D(feature_size, kernel_size=3, strides=1, padding='same', name='P3')(P3)# "P6 is obtained via a 3x3 stride-2 conv on C5"P6 = keras.layers.Conv2D(feature_size, kernel_size=3, strides=2, padding='same', name='P6')(C5)# "P7 is computed by applying ReLU followed by a 3x3 stride-2 conv on P6"P7 = keras.layers.Activation('relu', name='C6_relu')(P6)P7 = keras.layers.Conv2D(feature_size, kernel_size=3, strides=2, padding='same', name='P7')(P7)return [P3, P4, P5, P6, P7]def default_submodels(num_classes, num_anchors):""" Create a list of default submodels used for object detection.兩個子模型:目標分類子模型default_classification_model、框回歸子模型default_regression_modelThe default submodels contains a regression submodel and a classification submodel.Argsnum_classes : Number of classes to use.num_anchors : Number of base anchors.ReturnsA list of tuple, where the first element is the name of the submodel and the second element is the submodel itself."""return [('regression', default_regression_model(4, num_anchors)),('classification', default_classification_model(num_classes, num_anchors))]def __build_model_pyramid(name, model, features):""" Applies a single submodel to each FPN level.真正的構(gòu)造金字塔模型Argsname : Name of the submodel.model : The submodel to evaluate.features : The FPN features.ReturnsA tensor containing the response from the submodel on the FPN features."""return keras.layers.Concatenate(axis=1, name=name)([model(f) for f in features])""" The default anchor parameters. 默認的anchors參數(shù),組合以后有9個anchors """ AnchorParameters.default = AnchorParameters(sizes = [32, 64, 128, 256, 512],strides = [8, 16, 32, 64, 128],ratios = np.array([0.5, 1, 2], keras.backend.floatx()),scales = np.array([2 ** 0, 2 ** (1.0 / 3.0), 2 ** (2.0 / 3.0)], keras.backend.floatx()), )def anchor_targets_bbox(anchors,image_group,annotations_group,num_classes,#negative_overlap和positive_overlap,根據(jù)IOU區(qū)分negative_overlap=0.4, positive_overlap=0.5 ):def focal(alpha=0.25, gamma=2.0):""" Create a functor for computing the focal loss.Argsalpha: Scale the focal weight with alpha.gamma: Take the power of the focal weight with gamma.ReturnsA functor that computes the focal loss using the alpha and gamma."""def _focal(y_true, y_pred):""" Compute the focal loss given the target tensor and the predicted tensor.As defined in https://arxiv.org/abs/1708.02002Argsy_true: Tensor of target data from the generator with shape (B, N, num_classes).y_pred: Tensor of predicted data from the network with shape (B, N, num_classes).ReturnsThe focal loss of y_pred w.r.t. y_true."""labels = y_true[:, :, :-1]anchor_state = y_true[:, :, -1] # -1 for ignore, 0 for background, 1 for objectclassification = y_pred# filter out "ignore" anchorsindices = backend.where(keras.backend.not_equal(anchor_state, -1))labels = backend.gather_nd(labels, indices)classification = backend.gather_nd(classification, indices)# compute the focal lossalpha_factor = keras.backend.ones_like(labels) * alphaalpha_factor = backend.where(keras.backend.equal(labels, 1), alpha_factor, 1 - alpha_factor)focal_weight = backend.where(keras.backend.equal(labels, 1), 1 - classification, classification)focal_weight = alpha_factor * focal_weight ** gamma#定義分類損失: 權(quán)重*原來的交叉熵損失cls_loss = focal_weight * keras.backend.binary_crossentropy(labels, classification)# compute the normalizer: the number of positive anchorsnormalizer = backend.where(keras.backend.equal(anchor_state, 1))normalizer = keras.backend.cast(keras.backend.shape(normalizer)[0], keras.backend.floatx())normalizer = keras.backend.maximum(keras.backend.cast_to_floatx(1.0), normalizer)return keras.backend.sum(cls_loss) / normalizerreturn _focaldef smooth_l1(sigma=3.0): #框回歸損失采用smooth_l1函數(shù)""" Create a smooth L1 loss functor.Argssigma: This argument defines the point where the loss changes from L2 to L1.ReturnsA functor for computing the smooth L1 loss given target data and predicted data."""sigma_squared = sigma ** 2def _smooth_l1(y_true, y_pred):""" Compute the smooth L1 loss of y_pred w.r.t. y_true.Argsy_true: Tensor from the generator of shape (B, N, 5). The last value for each box is the state of the anchor (ignore, negative, positive).y_pred: Tensor from the network of shape (B, N, 4).ReturnsThe smooth L1 loss of y_pred w.r.t. y_true."""# separate target and stateregression = y_predregression_target = y_true[:, :, :-1]anchor_state = y_true[:, :, -1]# filter out "ignore" anchorsindices = backend.where(keras.backend.equal(anchor_state, 1))regression = backend.gather_nd(regression, indices)regression_target = backend.gather_nd(regression_target, indices)# compute smooth L1 loss# f(x) = 0.5 * (sigma * x)^2 if |x| < 1 / sigma / sigma# |x| - 0.5 / sigma / sigma otherwiseregression_diff = regression - regression_targetregression_diff = keras.backend.abs(regression_diff)regression_loss = backend.where(keras.backend.less(regression_diff, 1.0 / sigma_squared),0.5 * sigma_squared * keras.backend.pow(regression_diff, 2),regression_diff - 0.5 / sigma_squared)# compute the normalizer: the number of positive anchorsnormalizer = keras.backend.maximum(1, keras.backend.shape(indices)[0])normalizer = keras.backend.cast(normalizer, dtype=keras.backend.floatx())return keras.backend.sum(regression_loss) / normalizerreturn _smooth_l1?
?
更多輸出
Using TensorFlow backend. 2019-08-27 21:56:31.376015: __________________________________________________________________________________________________ Layer (type) Output Shape Param # Connected to ================================================================================================== input_1 (InputLayer) (None, None, None, 3 0 __________________________________________________________________________________________________ padding_conv1 (ZeroPadding2D) (None, None, None, 3 0 input_1[0][0] __________________________________________________________________________________________________ conv1 (Conv2D) (None, None, None, 6 9408 padding_conv1[0][0] __________________________________________________________________________________________________ bn_conv1 (BatchNormalization) (None, None, None, 6 256 conv1[0][0] __________________________________________________________________________________________________ conv1_relu (Activation) (None, None, None, 6 0 bn_conv1[0][0] __________________________________________________________________________________________________ pool1 (MaxPooling2D) (None, None, None, 6 0 conv1_relu[0][0] __________________________________________________________________________________________________ res2a_branch2a (Conv2D) (None, None, None, 6 4096 pool1[0][0] __________________________________________________________________________________________________ bn2a_branch2a (BatchNormalizati (None, None, None, 6 256 res2a_branch2a[0][0] __________________________________________________________________________________________________ res2a_branch2a_relu (Activation (None, None, None, 6 0 bn2a_branch2a[0][0] __________________________________________________________________________________________________ padding2a_branch2b (ZeroPadding (None, None, None, 6 0 res2a_branch2a_relu[0][0] __________________________________________________________________________________________________ res2a_branch2b (Conv2D) (None, None, None, 6 36864 padding2a_branch2b[0][0] __________________________________________________________________________________________________ bn2a_branch2b (BatchNormalizati (None, None, None, 6 256 res2a_branch2b[0][0] __________________________________________________________________________________________________ res2a_branch2b_relu (Activation (None, None, None, 6 0 bn2a_branch2b[0][0] __________________________________________________________________________________________________ res2a_branch2c (Conv2D) (None, None, None, 2 16384 res2a_branch2b_relu[0][0] __________________________________________________________________________________________________ res2a_branch1 (Conv2D) (None, None, None, 2 16384 pool1[0][0] __________________________________________________________________________________________________ bn2a_branch2c (BatchNormalizati (None, None, None, 2 1024 res2a_branch2c[0][0] __________________________________________________________________________________________________ bn2a_branch1 (BatchNormalizatio (None, None, None, 2 1024 res2a_branch1[0][0] __________________________________________________________________________________________________ res2a (Add) (None, None, None, 2 0 bn2a_branch2c[0][0] bn2a_branch1[0][0] __________________________________________________________________________________________________ res2a_relu (Activation) (None, None, None, 2 0 res2a[0][0] __________________________________________________________________________________________________ res2b_branch2a (Conv2D) (None, None, None, 6 16384 res2a_relu[0][0] __________________________________________________________________________________________________ bn2b_branch2a (BatchNormalizati (None, None, None, 6 256 res2b_branch2a[0][0] __________________________________________________________________________________________________ res2b_branch2a_relu (Activation (None, None, None, 6 0 bn2b_branch2a[0][0] __________________________________________________________________________________________________ padding2b_branch2b (ZeroPadding (None, None, None, 6 0 res2b_branch2a_relu[0][0] __________________________________________________________________________________________________ res2b_branch2b (Conv2D) (None, None, None, 6 36864 padding2b_branch2b[0][0] __________________________________________________________________________________________________ bn2b_branch2b (BatchNormalizati (None, None, None, 6 256 res2b_branch2b[0][0] __________________________________________________________________________________________________ res2b_branch2b_relu (Activation (None, None, None, 6 0 bn2b_branch2b[0][0] __________________________________________________________________________________________________ res2b_branch2c (Conv2D) (None, None, None, 2 16384 res2b_branch2b_relu[0][0] __________________________________________________________________________________________________ bn2b_branch2c (BatchNormalizati (None, None, None, 2 1024 res2b_branch2c[0][0] __________________________________________________________________________________________________ res2b (Add) (None, None, None, 2 0 bn2b_branch2c[0][0] res2a_relu[0][0] __________________________________________________________________________________________________ res2b_relu (Activation) (None, None, None, 2 0 res2b[0][0] __________________________________________________________________________________________________ res2c_branch2a (Conv2D) (None, None, None, 6 16384 res2b_relu[0][0] __________________________________________________________________________________________________ bn2c_branch2a (BatchNormalizati (None, None, None, 6 256 res2c_branch2a[0][0] __________________________________________________________________________________________________ res2c_branch2a_relu (Activation (None, None, None, 6 0 bn2c_branch2a[0][0] __________________________________________________________________________________________________ padding2c_branch2b (ZeroPadding (None, None, None, 6 0 res2c_branch2a_relu[0][0] __________________________________________________________________________________________________ res2c_branch2b (Conv2D) (None, None, None, 6 36864 padding2c_branch2b[0][0] __________________________________________________________________________________________________ bn2c_branch2b (BatchNormalizati (None, None, None, 6 256 res2c_branch2b[0][0] __________________________________________________________________________________________________ res2c_branch2b_relu (Activation (None, None, None, 6 0 bn2c_branch2b[0][0] __________________________________________________________________________________________________ res2c_branch2c (Conv2D) (None, None, None, 2 16384 res2c_branch2b_relu[0][0] __________________________________________________________________________________________________ bn2c_branch2c (BatchNormalizati (None, None, None, 2 1024 res2c_branch2c[0][0] __________________________________________________________________________________________________ res2c (Add) (None, None, None, 2 0 bn2c_branch2c[0][0] res2b_relu[0][0] __________________________________________________________________________________________________ res2c_relu (Activation) (None, None, None, 2 0 res2c[0][0] __________________________________________________________________________________________________ res3a_branch2a (Conv2D) (None, None, None, 1 32768 res2c_relu[0][0] __________________________________________________________________________________________________ bn3a_branch2a (BatchNormalizati (None, None, None, 1 512 res3a_branch2a[0][0] __________________________________________________________________________________________________ res3a_branch2a_relu (Activation (None, None, None, 1 0 bn3a_branch2a[0][0] __________________________________________________________________________________________________ padding3a_branch2b (ZeroPadding (None, None, None, 1 0 res3a_branch2a_relu[0][0] __________________________________________________________________________________________________ res3a_branch2b (Conv2D) (None, None, None, 1 147456 padding3a_branch2b[0][0] __________________________________________________________________________________________________ bn3a_branch2b (BatchNormalizati (None, None, None, 1 512 res3a_branch2b[0][0] __________________________________________________________________________________________________ res3a_branch2b_relu (Activation (None, None, None, 1 0 bn3a_branch2b[0][0] __________________________________________________________________________________________________ res3a_branch2c (Conv2D) (None, None, None, 5 65536 res3a_branch2b_relu[0][0] __________________________________________________________________________________________________ res3a_branch1 (Conv2D) (None, None, None, 5 131072 res2c_relu[0][0] __________________________________________________________________________________________________ bn3a_branch2c (BatchNormalizati (None, None, None, 5 2048 res3a_branch2c[0][0] __________________________________________________________________________________________________ bn3a_branch1 (BatchNormalizatio (None, None, None, 5 2048 res3a_branch1[0][0] __________________________________________________________________________________________________ res3a (Add) (None, None, None, 5 0 bn3a_branch2c[0][0] bn3a_branch1[0][0] __________________________________________________________________________________________________ res3a_relu (Activation) (None, None, None, 5 0 res3a[0][0] __________________________________________________________________________________________________ res3b_branch2a (Conv2D) (None, None, None, 1 65536 res3a_relu[0][0] __________________________________________________________________________________________________ bn3b_branch2a (BatchNormalizati (None, None, None, 1 512 res3b_branch2a[0][0] __________________________________________________________________________________________________ res3b_branch2a_relu (Activation (None, None, None, 1 0 bn3b_branch2a[0][0] __________________________________________________________________________________________________ padding3b_branch2b (ZeroPadding (None, None, None, 1 0 res3b_branch2a_relu[0][0] __________________________________________________________________________________________________ res3b_branch2b (Conv2D) (None, None, None, 1 147456 padding3b_branch2b[0][0] __________________________________________________________________________________________________ bn3b_branch2b (BatchNormalizati (None, None, None, 1 512 res3b_branch2b[0][0] __________________________________________________________________________________________________ res3b_branch2b_relu (Activation (None, None, None, 1 0 bn3b_branch2b[0][0] __________________________________________________________________________________________________ res3b_branch2c (Conv2D) (None, None, None, 5 65536 res3b_branch2b_relu[0][0] __________________________________________________________________________________________________ bn3b_branch2c (BatchNormalizati (None, None, None, 5 2048 res3b_branch2c[0][0] __________________________________________________________________________________________________ res3b (Add) (None, None, None, 5 0 bn3b_branch2c[0][0] res3a_relu[0][0] __________________________________________________________________________________________________ res3b_relu (Activation) (None, None, None, 5 0 res3b[0][0] __________________________________________________________________________________________________ res3c_branch2a (Conv2D) (None, None, None, 1 65536 res3b_relu[0][0] __________________________________________________________________________________________________ bn3c_branch2a (BatchNormalizati (None, None, None, 1 512 res3c_branch2a[0][0] __________________________________________________________________________________________________ res3c_branch2a_relu (Activation (None, None, None, 1 0 bn3c_branch2a[0][0] __________________________________________________________________________________________________ padding3c_branch2b (ZeroPadding (None, None, None, 1 0 res3c_branch2a_relu[0][0] __________________________________________________________________________________________________ res3c_branch2b (Conv2D) (None, None, None, 1 147456 padding3c_branch2b[0][0] __________________________________________________________________________________________________ bn3c_branch2b (BatchNormalizati (None, None, None, 1 512 res3c_branch2b[0][0] __________________________________________________________________________________________________ res3c_branch2b_relu (Activation (None, None, None, 1 0 bn3c_branch2b[0][0] __________________________________________________________________________________________________ res3c_branch2c (Conv2D) (None, None, None, 5 65536 res3c_branch2b_relu[0][0] __________________________________________________________________________________________________ bn3c_branch2c (BatchNormalizati (None, None, None, 5 2048 res3c_branch2c[0][0] __________________________________________________________________________________________________ res3c (Add) (None, None, None, 5 0 bn3c_branch2c[0][0] res3b_relu[0][0] __________________________________________________________________________________________________ res3c_relu (Activation) (None, None, None, 5 0 res3c[0][0] __________________________________________________________________________________________________ res3d_branch2a (Conv2D) (None, None, None, 1 65536 res3c_relu[0][0] __________________________________________________________________________________________________ bn3d_branch2a (BatchNormalizati (None, None, None, 1 512 res3d_branch2a[0][0] __________________________________________________________________________________________________ res3d_branch2a_relu (Activation (None, None, None, 1 0 bn3d_branch2a[0][0] __________________________________________________________________________________________________ padding3d_branch2b (ZeroPadding (None, None, None, 1 0 res3d_branch2a_relu[0][0] __________________________________________________________________________________________________ res3d_branch2b (Conv2D) (None, None, None, 1 147456 padding3d_branch2b[0][0] __________________________________________________________________________________________________ bn3d_branch2b (BatchNormalizati (None, None, None, 1 512 res3d_branch2b[0][0] __________________________________________________________________________________________________ res3d_branch2b_relu (Activation (None, None, None, 1 0 bn3d_branch2b[0][0] __________________________________________________________________________________________________ res3d_branch2c (Conv2D) (None, None, None, 5 65536 res3d_branch2b_relu[0][0] __________________________________________________________________________________________________ bn3d_branch2c (BatchNormalizati (None, None, None, 5 2048 res3d_branch2c[0][0] __________________________________________________________________________________________________ res3d (Add) (None, None, None, 5 0 bn3d_branch2c[0][0] res3c_relu[0][0] __________________________________________________________________________________________________ res3d_relu (Activation) (None, None, None, 5 0 res3d[0][0] __________________________________________________________________________________________________ res4a_branch2a (Conv2D) (None, None, None, 2 131072 res3d_relu[0][0] __________________________________________________________________________________________________ bn4a_branch2a (BatchNormalizati (None, None, None, 2 1024 res4a_branch2a[0][0] __________________________________________________________________________________________________ res4a_branch2a_relu (Activation (None, None, None, 2 0 bn4a_branch2a[0][0] __________________________________________________________________________________________________ padding4a_branch2b (ZeroPadding (None, None, None, 2 0 res4a_branch2a_relu[0][0] __________________________________________________________________________________________________ res4a_branch2b (Conv2D) (None, None, None, 2 589824 padding4a_branch2b[0][0] __________________________________________________________________________________________________ bn4a_branch2b (BatchNormalizati (None, None, None, 2 1024 res4a_branch2b[0][0] __________________________________________________________________________________________________ res4a_branch2b_relu (Activation (None, None, None, 2 0 bn4a_branch2b[0][0] __________________________________________________________________________________________________ res4a_branch2c (Conv2D) (None, None, None, 1 262144 res4a_branch2b_relu[0][0] __________________________________________________________________________________________________ res4a_branch1 (Conv2D) (None, None, None, 1 524288 res3d_relu[0][0] __________________________________________________________________________________________________ bn4a_branch2c (BatchNormalizati (None, None, None, 1 4096 res4a_branch2c[0][0] __________________________________________________________________________________________________ bn4a_branch1 (BatchNormalizatio (None, None, None, 1 4096 res4a_branch1[0][0] __________________________________________________________________________________________________ res4a (Add) (None, None, None, 1 0 bn4a_branch2c[0][0] bn4a_branch1[0][0] __________________________________________________________________________________________________ res4a_relu (Activation) (None, None, None, 1 0 res4a[0][0] __________________________________________________________________________________________________ res4b_branch2a (Conv2D) (None, None, None, 2 262144 res4a_relu[0][0] __________________________________________________________________________________________________ bn4b_branch2a (BatchNormalizati (None, None, None, 2 1024 res4b_branch2a[0][0] __________________________________________________________________________________________________ res4b_branch2a_relu (Activation (None, None, None, 2 0 bn4b_branch2a[0][0] __________________________________________________________________________________________________ padding4b_branch2b (ZeroPadding (None, None, None, 2 0 res4b_branch2a_relu[0][0] __________________________________________________________________________________________________ res4b_branch2b (Conv2D) (None, None, None, 2 589824 padding4b_branch2b[0][0] __________________________________________________________________________________________________ bn4b_branch2b (BatchNormalizati (None, None, None, 2 1024 res4b_branch2b[0][0] __________________________________________________________________________________________________ res4b_branch2b_relu (Activation (None, None, None, 2 0 bn4b_branch2b[0][0] __________________________________________________________________________________________________ res4b_branch2c (Conv2D) (None, None, None, 1 262144 res4b_branch2b_relu[0][0] __________________________________________________________________________________________________ bn4b_branch2c (BatchNormalizati (None, None, None, 1 4096 res4b_branch2c[0][0] __________________________________________________________________________________________________ res4b (Add) (None, None, None, 1 0 bn4b_branch2c[0][0] res4a_relu[0][0] __________________________________________________________________________________________________ res4b_relu (Activation) (None, None, None, 1 0 res4b[0][0] __________________________________________________________________________________________________ res4c_branch2a (Conv2D) (None, None, None, 2 262144 res4b_relu[0][0] __________________________________________________________________________________________________ bn4c_branch2a (BatchNormalizati (None, None, None, 2 1024 res4c_branch2a[0][0] __________________________________________________________________________________________________ res4c_branch2a_relu (Activation (None, None, None, 2 0 bn4c_branch2a[0][0] __________________________________________________________________________________________________ padding4c_branch2b (ZeroPadding (None, None, None, 2 0 res4c_branch2a_relu[0][0] __________________________________________________________________________________________________ res4c_branch2b (Conv2D) (None, None, None, 2 589824 padding4c_branch2b[0][0] __________________________________________________________________________________________________ bn4c_branch2b (BatchNormalizati (None, None, None, 2 1024 res4c_branch2b[0][0] __________________________________________________________________________________________________ res4c_branch2b_relu (Activation (None, None, None, 2 0 bn4c_branch2b[0][0] __________________________________________________________________________________________________ res4c_branch2c (Conv2D) (None, None, None, 1 262144 res4c_branch2b_relu[0][0] __________________________________________________________________________________________________ bn4c_branch2c (BatchNormalizati (None, None, None, 1 4096 res4c_branch2c[0][0] __________________________________________________________________________________________________ res4c (Add) (None, None, None, 1 0 bn4c_branch2c[0][0] res4b_relu[0][0] __________________________________________________________________________________________________ res4c_relu (Activation) (None, None, None, 1 0 res4c[0][0] __________________________________________________________________________________________________ res4d_branch2a (Conv2D) (None, None, None, 2 262144 res4c_relu[0][0] __________________________________________________________________________________________________ bn4d_branch2a (BatchNormalizati (None, None, None, 2 1024 res4d_branch2a[0][0] __________________________________________________________________________________________________ res4d_branch2a_relu (Activation (None, None, None, 2 0 bn4d_branch2a[0][0] __________________________________________________________________________________________________ padding4d_branch2b (ZeroPadding (None, None, None, 2 0 res4d_branch2a_relu[0][0] __________________________________________________________________________________________________ res4d_branch2b (Conv2D) (None, None, None, 2 589824 padding4d_branch2b[0][0] __________________________________________________________________________________________________ bn4d_branch2b (BatchNormalizati (None, None, None, 2 1024 res4d_branch2b[0][0] __________________________________________________________________________________________________ res4d_branch2b_relu (Activation (None, None, None, 2 0 bn4d_branch2b[0][0] __________________________________________________________________________________________________ res4d_branch2c (Conv2D) (None, None, None, 1 262144 res4d_branch2b_relu[0][0] __________________________________________________________________________________________________ bn4d_branch2c (BatchNormalizati (None, None, None, 1 4096 res4d_branch2c[0][0] __________________________________________________________________________________________________ res4d (Add) (None, None, None, 1 0 bn4d_branch2c[0][0] res4c_relu[0][0] __________________________________________________________________________________________________ res4d_relu (Activation) (None, None, None, 1 0 res4d[0][0] __________________________________________________________________________________________________ res4e_branch2a (Conv2D) (None, None, None, 2 262144 res4d_relu[0][0] __________________________________________________________________________________________________ bn4e_branch2a (BatchNormalizati (None, None, None, 2 1024 res4e_branch2a[0][0] __________________________________________________________________________________________________ res4e_branch2a_relu (Activation (None, None, None, 2 0 bn4e_branch2a[0][0] __________________________________________________________________________________________________ padding4e_branch2b (ZeroPadding (None, None, None, 2 0 res4e_branch2a_relu[0][0] __________________________________________________________________________________________________ res4e_branch2b (Conv2D) (None, None, None, 2 589824 padding4e_branch2b[0][0] __________________________________________________________________________________________________ bn4e_branch2b (BatchNormalizati (None, None, None, 2 1024 res4e_branch2b[0][0] __________________________________________________________________________________________________ res4e_branch2b_relu (Activation (None, None, None, 2 0 bn4e_branch2b[0][0] __________________________________________________________________________________________________ res4e_branch2c (Conv2D) (None, None, None, 1 262144 res4e_branch2b_relu[0][0] __________________________________________________________________________________________________ bn4e_branch2c (BatchNormalizati (None, None, None, 1 4096 res4e_branch2c[0][0] __________________________________________________________________________________________________ res4e (Add) (None, None, None, 1 0 bn4e_branch2c[0][0] res4d_relu[0][0] __________________________________________________________________________________________________ res4e_relu (Activation) (None, None, None, 1 0 res4e[0][0] __________________________________________________________________________________________________ res4f_branch2a (Conv2D) (None, None, None, 2 262144 res4e_relu[0][0] __________________________________________________________________________________________________ bn4f_branch2a (BatchNormalizati (None, None, None, 2 1024 res4f_branch2a[0][0] __________________________________________________________________________________________________ res4f_branch2a_relu (Activation (None, None, None, 2 0 bn4f_branch2a[0][0] __________________________________________________________________________________________________ padding4f_branch2b (ZeroPadding (None, None, None, 2 0 res4f_branch2a_relu[0][0] __________________________________________________________________________________________________ res4f_branch2b (Conv2D) (None, None, None, 2 589824 padding4f_branch2b[0][0] __________________________________________________________________________________________________ bn4f_branch2b (BatchNormalizati (None, None, None, 2 1024 res4f_branch2b[0][0] __________________________________________________________________________________________________ res4f_branch2b_relu (Activation (None, None, None, 2 0 bn4f_branch2b[0][0] __________________________________________________________________________________________________ res4f_branch2c (Conv2D) (None, None, None, 1 262144 res4f_branch2b_relu[0][0] __________________________________________________________________________________________________ bn4f_branch2c (BatchNormalizati (None, None, None, 1 4096 res4f_branch2c[0][0] __________________________________________________________________________________________________ res4f (Add) (None, None, None, 1 0 bn4f_branch2c[0][0] res4e_relu[0][0] __________________________________________________________________________________________________ res4f_relu (Activation) (None, None, None, 1 0 res4f[0][0] __________________________________________________________________________________________________ res5a_branch2a (Conv2D) (None, None, None, 5 524288 res4f_relu[0][0] __________________________________________________________________________________________________ bn5a_branch2a (BatchNormalizati (None, None, None, 5 2048 res5a_branch2a[0][0] __________________________________________________________________________________________________ res5a_branch2a_relu (Activation (None, None, None, 5 0 bn5a_branch2a[0][0] __________________________________________________________________________________________________ padding5a_branch2b (ZeroPadding (None, None, None, 5 0 res5a_branch2a_relu[0][0] __________________________________________________________________________________________________ res5a_branch2b (Conv2D) (None, None, None, 5 2359296 padding5a_branch2b[0][0] __________________________________________________________________________________________________ bn5a_branch2b (BatchNormalizati (None, None, None, 5 2048 res5a_branch2b[0][0] __________________________________________________________________________________________________ res5a_branch2b_relu (Activation (None, None, None, 5 0 bn5a_branch2b[0][0] __________________________________________________________________________________________________ res5a_branch2c (Conv2D) (None, None, None, 2 1048576 res5a_branch2b_relu[0][0] __________________________________________________________________________________________________ res5a_branch1 (Conv2D) (None, None, None, 2 2097152 res4f_relu[0][0] __________________________________________________________________________________________________ bn5a_branch2c (BatchNormalizati (None, None, None, 2 8192 res5a_branch2c[0][0] __________________________________________________________________________________________________ bn5a_branch1 (BatchNormalizatio (None, None, None, 2 8192 res5a_branch1[0][0] __________________________________________________________________________________________________ res5a (Add) (None, None, None, 2 0 bn5a_branch2c[0][0] bn5a_branch1[0][0] __________________________________________________________________________________________________ res5a_relu (Activation) (None, None, None, 2 0 res5a[0][0] __________________________________________________________________________________________________ res5b_branch2a (Conv2D) (None, None, None, 5 1048576 res5a_relu[0][0] __________________________________________________________________________________________________ bn5b_branch2a (BatchNormalizati (None, None, None, 5 2048 res5b_branch2a[0][0] __________________________________________________________________________________________________ res5b_branch2a_relu (Activation (None, None, None, 5 0 bn5b_branch2a[0][0] __________________________________________________________________________________________________ padding5b_branch2b (ZeroPadding (None, None, None, 5 0 res5b_branch2a_relu[0][0] __________________________________________________________________________________________________ res5b_branch2b (Conv2D) (None, None, None, 5 2359296 padding5b_branch2b[0][0] __________________________________________________________________________________________________ bn5b_branch2b (BatchNormalizati (None, None, None, 5 2048 res5b_branch2b[0][0] __________________________________________________________________________________________________ res5b_branch2b_relu (Activation (None, None, None, 5 0 bn5b_branch2b[0][0] __________________________________________________________________________________________________ res5b_branch2c (Conv2D) (None, None, None, 2 1048576 res5b_branch2b_relu[0][0] __________________________________________________________________________________________________ bn5b_branch2c (BatchNormalizati (None, None, None, 2 8192 res5b_branch2c[0][0] __________________________________________________________________________________________________ res5b (Add) (None, None, None, 2 0 bn5b_branch2c[0][0] res5a_relu[0][0] __________________________________________________________________________________________________ res5b_relu (Activation) (None, None, None, 2 0 res5b[0][0] __________________________________________________________________________________________________ res5c_branch2a (Conv2D) (None, None, None, 5 1048576 res5b_relu[0][0] __________________________________________________________________________________________________ bn5c_branch2a (BatchNormalizati (None, None, None, 5 2048 res5c_branch2a[0][0] __________________________________________________________________________________________________ res5c_branch2a_relu (Activation (None, None, None, 5 0 bn5c_branch2a[0][0] __________________________________________________________________________________________________ padding5c_branch2b (ZeroPadding (None, None, None, 5 0 res5c_branch2a_relu[0][0] __________________________________________________________________________________________________ res5c_branch2b (Conv2D) (None, None, None, 5 2359296 padding5c_branch2b[0][0] __________________________________________________________________________________________________ bn5c_branch2b (BatchNormalizati (None, None, None, 5 2048 res5c_branch2b[0][0] __________________________________________________________________________________________________ res5c_branch2b_relu (Activation (None, None, None, 5 0 bn5c_branch2b[0][0] __________________________________________________________________________________________________ res5c_branch2c (Conv2D) (None, None, None, 2 1048576 res5c_branch2b_relu[0][0] __________________________________________________________________________________________________ bn5c_branch2c (BatchNormalizati (None, None, None, 2 8192 res5c_branch2c[0][0] __________________________________________________________________________________________________ res5c (Add) (None, None, None, 2 0 bn5c_branch2c[0][0] res5b_relu[0][0] __________________________________________________________________________________________________ res5c_relu (Activation) (None, None, None, 2 0 res5c[0][0] __________________________________________________________________________________________________ C5_reduced (Conv2D) (None, None, None, 2 524544 res5c_relu[0][0] __________________________________________________________________________________________________ P5_upsampled (UpsampleLike) (None, None, None, 2 0 C5_reduced[0][0] res4f_relu[0][0] __________________________________________________________________________________________________ C4_reduced (Conv2D) (None, None, None, 2 262400 res4f_relu[0][0] __________________________________________________________________________________________________ P4_merged (Add) (None, None, None, 2 0 P5_upsampled[0][0] C4_reduced[0][0] __________________________________________________________________________________________________ P4_upsampled (UpsampleLike) (None, None, None, 2 0 P4_merged[0][0] res3d_relu[0][0] __________________________________________________________________________________________________ C3_reduced (Conv2D) (None, None, None, 2 131328 res3d_relu[0][0] __________________________________________________________________________________________________ P6 (Conv2D) (None, None, None, 2 4718848 res5c_relu[0][0] __________________________________________________________________________________________________ P3_merged (Add) (None, None, None, 2 0 P4_upsampled[0][0] C3_reduced[0][0] __________________________________________________________________________________________________ C6_relu (Activation) (None, None, None, 2 0 P6[0][0] __________________________________________________________________________________________________ P3 (Conv2D) (None, None, None, 2 590080 P3_merged[0][0] __________________________________________________________________________________________________ P4 (Conv2D) (None, None, None, 2 590080 P4_merged[0][0] __________________________________________________________________________________________________ P5 (Conv2D) (None, None, None, 2 590080 C5_reduced[0][0] __________________________________________________________________________________________________ P7 (Conv2D) (None, None, None, 2 590080 C6_relu[0][0] __________________________________________________________________________________________________ anchors_0 (Anchors) (None, None, 4) 0 P3[0][0] __________________________________________________________________________________________________ anchors_1 (Anchors) (None, None, 4) 0 P4[0][0] __________________________________________________________________________________________________ anchors_2 (Anchors) (None, None, 4) 0 P5[0][0] __________________________________________________________________________________________________ anchors_3 (Anchors) (None, None, 4) 0 P6[0][0] __________________________________________________________________________________________________ anchors_4 (Anchors) (None, None, 4) 0 P7[0][0] __________________________________________________________________________________________________ regression_submodel (Model) (None, None, 4) 2443300 P3[0][0] P4[0][0] P5[0][0] P6[0][0] P7[0][0] __________________________________________________________________________________________________ anchors (Concatenate) (None, None, 4) 0 anchors_0[0][0] anchors_1[0][0] anchors_2[0][0] anchors_3[0][0] anchors_4[0][0] __________________________________________________________________________________________________ regression (Concatenate) (None, None, 4) 0 regression_submodel[1][0] regression_submodel[2][0] regression_submodel[3][0] regression_submodel[4][0] regression_submodel[5][0] __________________________________________________________________________________________________ boxes (RegressBoxes) (None, None, 4) 0 anchors[0][0] regression[0][0] __________________________________________________________________________________________________ classification_submodel (Model) (None, None, 80) 4019920 P3[0][0] P4[0][0] P5[0][0] P6[0][0] P7[0][0] __________________________________________________________________________________________________ clipped_boxes (ClipBoxes) (None, None, 4) 0 input_1[0][0] boxes[0][0] __________________________________________________________________________________________________ classification (Concatenate) (None, None, 80) 0 classification_submodel[1][0] classification_submodel[2][0] classification_submodel[3][0] classification_submodel[4][0] classification_submodel[5][0] __________________________________________________________________________________________________ filtered_detections (FilterDete [(None, 300, 4), (No 0 clipped_boxes[0][0] classification[0][0] ================================================================================================== Total params: 38,021,812 Trainable params: 37,915,572 Non-trainable params: 106,240 __________________________________________________________________________________________________ None processing time: 16.85137176513672 當前目標為: bicycle 當前目標為: person 當前目標為: car 當前目標為: person?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的DL之RetinaNet:基于RetinaNet算法(keras框架)利用resnet50_coco数据集(.h5文件)实现目标检测的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成功解决:将后缀.pyx格式文件(lin
- 下一篇: 成功解决TypeError: Scala