IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 深度学习物体检测实战算法4——视频物体检测测试 -> 正文阅读

[人工智能]深度学习物体检测实战算法4——视频物体检测测试

视频物体检测测试

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SSD训练商品数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

主程序

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

GPU版本运行

在这里插入图片描述

import pickle
from utils.detection_generate import Generator
from utils.ssd_utils import BBoxUtility
from nets.ssd_net import SSD300
from utils.ssd_losses import MuliboxLoss
from tensorflow.python import keras


class SSDTrain(object):
    def __init__(self,num_classes=9,input_shape=(300,300,3),epochs=30):
        """
        初始化网络指定一些参数,训练数据类别,图片需要指定模型输入大小,迭代次数
        :param num_classes:
        """
        self.num_classes = num_classes
        self.batch_size = 32
        self.input_shape = input_shape
        self.epochs = epochs
        #指定训练和读取数据的相关参数
        self.gt_path = "./datasets/commodity_gt.pkl"
        self.image_path = "./datasets/commodity/JPEGImages/"
        prior = pickle.load(open("./datasets/prior_boxes_ssd300.pkl","rb"))
        self.bbox_util = BBoxUtility(self.num_classes,prior)
        self.pre_trained = "./ckpt/pre_trained/weights_SSD300.hdf5"
        #初始化模型
        self.model = SSD300(self.input_shape,num_classes=self.num_classes)




    def get_detefction_data(self):
        """
        获取检测的迭代数据
        :return:
        """
        #1.读取标注数据,构造训练图片名字列表,测试图片名字列表
        gt = pickle.load(open(self.gt_path,'rb'))
        print(gt)
        #图片名字列表
        name_keys = sorted(gt.keys())
        number = int(round(0.8*len(name_keys)))
        #获取训练集长度
        train_keys = name_keys[:number]
        val_keys = name_keys[number:]
        #2.通过generator去获取迭代批次数据
        # gt:所有数据的目标值字典
        # path_prefix:图片的路径
        # image_size:转换成的固定图片大小
        # do_crop: 是否裁剪
        bbox_util = 0
        gen = Generator(gt,self.bbox_util,self.batch_size,self.image_path,
                        train_keys,val_keys,(self.input_shape[0],self.input_shape[1]),do_crop=False)
        return gen
    def init_model_param(self):
        """
        初始化网络模型参数,指定微调的时候,训练部分
        :return:
        """
        #1.加载本地预训练号的模型
        self.model.load_weights(self.pre_trained,by_name = True)
        #2.指定模型当中某些结构冻结freeze
        #冻结模型部分为SSD当中的VGG前半部分
        freeze = ['input_1','conv1_1','conv1_2','pool1',
                  'conv2_1','conv2_2','pool2',
                  'conv3_1','conv3_2','conv3_3','pool3']
        for L in self.model.layers:
            if L.name in freeze:
                L.trainable = False
        return None
    def compile(self):
        """编译模型
        SSD网络的损失函数计算Multiboxloss的compute_loss
        """
        #MultiboxLoss:N个类别+1个背景类别、
        self.model.compile(optimizer = keras.optimizers.Adam(),
                           loss = MuliboxLoss(self.num_classes).compute_loss)
 
if __name__ == '__name__':
    ssd = SSDTrain(num_classes=9)
    gen = ssd.get_detefction_data()


  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 18:49:57  更:2021-11-16 18:52:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 6:08:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码