【图像分类】实战——使用GoogLeNet识别动漫(2)

本文介绍了如何使用GoogLeNet进行动漫图片分类,包括制作数据集(使用ffmpeg抽取动漫视频中的图片)、数据预处理、训练过程(使用Inception_v3模型和Adam优化器)以及数据加载。作者详细展示了代码实现和关键步骤。
摘要由CSDN通过智能技术生成

摘要

==

给你一张动漫图片,你能告诉我出自哪个动漫吗?今天我们就用GoogLeNet做到这一点。我选择的的动漫有秦岭神树、吞噬星空和秦时明月。图片样例如下:

秦岭神树

秦时明月

吞噬星空

从上面的样例空可以看出,不同的动漫风格差异还是很大的,下面就说说我如何实现动漫分类的。

制作数据集

=====

制作数据集,需要用到从动漫中抽取图片,抽取图片需要用到ffmpeg工具,具体的安装和使用参考:Windows安装ffmpeg,使用ffmpeg从视频中的抽取图像_AI浩-CSDN博客

然后我们使用python,调用ffmeg实现对动漫视频的批量抽取的逻辑,在D盘中新建两个文件夹,一个文件夹命名qlss,这个文件夹存放动漫视频,一个文件夹是imags,用于存放抽取的图片。Python的代码如下:

import os

创建三个列表用来存储视频文件以及视频地址

file_list = []

file_list_path=[]

filelist = []

源文件目录

dir_path = ‘D:\qlss’

#cmd命令存入str字符串

str = 'ffmpeg ’ + ‘-i {} -ss 00:00:30 -f image2 -vf fps=1/5 -qscale:v 2 …/imags/img_{}%05d.jpg’

filenameList=os.listdir(dir_path)

print(filenameList)

for j in range(len(filenameList)):

filepath=os.path.join(dir_path,filenameList[j])

str_cmd = str.format(filepath, filenameList[j].split(‘.’)[0])

print(str_cmd)

os.popen(str_cmd)

上面代码的思路:遍历视频文件,使用Python在cmd中执行ffmpeg命令实现对图片抽取。

新建项目

新建一个图像分类的项目,data里面放数据集,dataset文件夹中自定义数据的读取方法,这次我不采用默认的读取方式,太简单没啥意思。然后再新建train.py和test.py

在项目的根目录新建train.py,然后在里面写训练代码。

导入所需要的库

=======

我这次选用的模型是inception_v3。

import torch.optim as optim

import torch

import torch.nn as nn

import torch.nn.parallel

import torch.utils.data

import torch.utils.data.distributed

import torchvision.transforms as transforms

from dataset.dataset import SeedlingData

from torch.autograd import Variable

from torchvision.models import inception_v3

设置全局参数

=====

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值