基于tensorflow目标检测API的口罩检测模型

效果预览

image

image

以下内容是tensorflow目标检测官方demo,用于测试自己训练好的模型

Object Detection Demo

Welcome to the object detection inference walkthrough! This notebook will walk you step by step through the process of using a pre-trained model to detect objects in an image. Make sure to follow the installation instructions befor

阅读全文 →

基于tensorflow目标检测API训练自己的目标检测模型

准备

  1. 准备数据集,做好标注。把下载好的tensorflow的迁移训练文件(object_detection)放到工程目录下。使用labelImg工具标注
  2. xml转换到csv

因为用于训练的.record格式文件时用的是csv格式文件,可以通过xml_to_csv.py程序处理,其中xml_df = xml_to_csv(image_path) 其中image_path为xml目录路径。

安装pandas后,运行xml_to_csv.bat文件,会生成label.csv文件。

  1. 生成tfrecord格式文件

generate_tfrecord.py用于生成自己的tfrecord格式文件,

阅读全文 →

特征工程

数据处理,特征工程,特征选择

# 工具库
import pandas as pd


# 泰坦尼克数据集
df_train = pd.read_csv('titanic.csv')

# 了解一下数据集
df_train.head()
  • surived:0 遇难 1 获救
  • pclass: 船舱等级 1 2 3
  • sibsp:堂兄弟姐妹个数
  • parch:父母 小孩个数
  • cabin:船舱号
  • Embarked:登船的口岸
df_train.shape  # 查看维度
df_train.info()  # 数据集信息
  • Age有714个值
  • Cabin Embarked 也有不同程度

阅读全文 →

决策树-回归树

引包

import pandas as pd
from sklearn import preprocessing
from sklearn import tree
from sklearn.datasets import load_boston  # 波士顿房价

加载数据

boston_house = load_boston()
boston_feature_name = boston_house.feature_names
boston_features = boston_house.data
boston_target = boston_house.target
boston_featu

阅读全文 →

决策树-对连续特征值数据进行分类

import pandas as pd
from sklearn import preprocessing
from sklearn import tree
from sklearn.datasets import load_iris  # 花瓣种类
# 加载数据
iris = load_iris()
dir(iris)  # iris包含的内容有哪些 如果不懂某些方法 可用 help(iris)

['DESCR', 'data', 'feature_names', 'filename', 'target', 'target_names']

iris_feature_names = ir

阅读全文 →

用决策树模型完成分类问题

把需要的工具库引入

# 用于数据处理和分析的工具包
import pandas as pd
# 数据处理/特征工程的包
from sklearn import preprocessing
# 决策树建模包
from sklearn import tree

读取数据

adult_data = pd.read_csv('./DecisionTree.csv')
# 读取前5行
adult_data.head(5)

image

adult_data.info()  # 读入数据的信息
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1000 e

阅读全文 →

逻辑回归

导包

#conding=utf-8
import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

from scipy.optimize import minimize
from sklearn.preprocessing import PolynomialFeatures

# pandas 基础设置
pd.set_option('display.notebook_repr_html',False)
pd.set_option('disp

阅读全文 →

线性回归

导包

#conding=utf-8
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

from sklearn.linear_model import LinearRegression
from mpl_toolkits.mplot3d import axes3d

# pandas 基础设置
pd.set_option('display.notebook_repr_html',False)
pd.set_option('display.max_columns',Non

阅读全文 →

CNN应用于手写数字识别

import numpy as np
from keras.datasets import mnist
from keras.utils import np_utils
from keras.models import Sequential
from keras.layers import Dense,Dropout,Convolution2D,MaxPooling2D,Flatten  # Flatten扁平化
from keras.optimizers import Adam
# 载入数据
(x_train,y_train),(x_test,y_test) = mnist.load_dat

阅读全文 →

图像数据增强

我们有时候训练集的数据不够时,可以尝试把一张图片做做变换,生成多张图片。

from keras.preprocessing.image import ImageDataGenerator, array_to_img ,img_to_array, load_img
import numpy as np
  • rotation_range是一个0~180的度数,用来指定随机选择图片的角度。
  • width_shift和height_shift用来指定水平和竖直方向随机移动的程度,这是两个0~1之间的比
  • rescale值将在执行其他处理前乘到整个图像上,我们的图像在RGB通道都是0~255的整数,这

阅读全文 →