1 环境搭建

1.1 安装python 3.6.7

安装成功后,在命令行中运行版本命令确认python 安装成功
> python --version
python 3.6.7

> pip --version
pip 10.0.1 from d:\appdata\python\python36\lib\site-packages\pip (python 3.6)

1.2 安装环境库

通过控制台命令行进行安装
> pip install .\numpy-1.16.4-cp36-cp36m-win_amd64.whl
> pip install .\scipy-1.3.0-cp36-cp36m-win_amd64.whl
> pip install .\scikit_learn-0.23.2-cp36-cp36m-win_amd64.whl
> pip install .\tensorflow-1.12.0-cp36-cp36m-win_amd64.whl
> pip install .\Keras-2.2.4-py2.py3-none-any.whl
> pip install .\opencv_python-3.4.2-cp36-cp36m-win_amd64.whl

# 安装其他需要的环境,可联网安装
> pip install pillow
> pip install image
> pip install matplotlib

特别提示:
对于需要从网络安装的库,可以通过更换国内镜像源来提高安装速度,例如改为清华镜像源
详情可参考 将pip源更换到国内镜像
例如安装 matpliotlib 可使用下面的命令

# pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

补充说明:
本地库或者在线库安装的时候,可以依照依赖关系的顺序进行安装,减少安装工作量以及潜在的版本冲突
可使用pipideptree查看某个库的依赖关系
详见 pip 用pipdeptree查看包依赖


1.3 确认环境

通过查看库版本确认环境安装是否成功,下文以opencv为例
> python

>>> import cv2
>>> cv2.__version__

1.4 配置PyCharm

安装PyCharm,建议安装CE版本
建立项目前,可以配置一个通用环境。

  • 选择Customize(个性化) -> All setting(所有设置)
  • 在打开的窗口中选择python interpreter(python解释器) -> 最右侧齿轮进行配置
  • 本例通过python安装,添加新的环境Add Interpreter应当选择System Interpreter
  • 如果是通过Conda安装维护的python环境,添加环境时应当选择Conda Interpreter

2 数据集预处理

图片数据集的处理,翻转、调整大小等处理
使用opencv(或tensorflow)

例程一: 图片大小调整,图片翻转

# -*- coding: utf-8 -*-
import cv2

IMAGE_SIZE = 100
def resize_image(image, height=IMAGE_SIZE, width=IMAGE_SIZE):
    """按指定宽高调整图片,边缘补齐黑色

    :param image: cv图片
    :param height: 默认值 IMAGE_SIZE
    :param width: 默认值 IMAGE_SIZE
    :return: cv图片
    """
    top, bottom, left, right = (0, 0, 0, 0)
    h, w, _ = image.shape
    longest_edge = max(h, w)
    if h < longest_edge:
        dh = longest_edge - h
        top = dh // 2
        bottom = dh - top
    elif w < longest_edge:
        dw = longest_edge - w
        left = dw // 2
        right = dw - left
    else:
        pass
    # 边缘填充黑色 RGB_BLACK = [0, 0, 0]
    constant = cv2.copyMakeBorder(image, top, bottom, left, right,
                                  cv2.BORDER_CONSTANT, value=[0, 0, 0])
    return cv2.resize(constant, (height, width))

if __name__ == "__main__":
	img = cv2.imread(filename)
	cv2.imshow('winTitle', resize_image(img))
	cv2.waitKey(0)

3 检测器调用

使用opencv分类器进行检测调用
摄像头调用

4 模型训练

tensorflow模型训练及优化
给定示例代码,进行调用和调整
ckpp模型 - rknn模型 相互转化
tensorboard模型分析流程显示

5 模型调用

在RK3399上进行模型调用
给出示例代码,进行实际调用

补充~

各项目任务之间无强关联,各自有得分项

引用参考:
JC-6、OpenCV+Tensorflow入门人工智能图像处理

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐