DAY26 Aidea专案实作-AOI瑕疵检测(1/4)

经过一系列的学习,我们从了解概念、程序练习到昨天的论文导读,我们似乎已经把深度学习的基础概念完整的Round过一遍,如今就是我们正式上战场,检视自己的学习状况,我挑选的案例是Aidea上的议题,虽然这个竞赛已经截止了,但Aidea也有将它放在练习场让大家去练习,所以大家还是可以下载到资料集,网址我放在下面(规则会跟已下架的比赛不同,练习场的评分标准为准确度)
Aidea人工智慧共创平台-AOI瑕疵检测(练习场)
Aidea人工智慧共创平台-AOI瑕疵检测(原比赛网址)

主题介绍

自动光学检查(Automated Optical Inspection,简称 AOI),为高速高精度光学影像检测系统,运用机器视觉做为检测标准技术,可改良传统上以人力使用光学仪器进行检测的缺点,应用层面包括从高科技产业之研发、制造品管,以至国防、民生、医疗、环保、电力…等领域。工研院电光所投入软性电子显示器之研发多年,在试量产过程中,希望藉由 AOI 技术提升生产品质。本次邀请各界资料科学家共襄盛举,针对所提供的 AOI 影像资料,来判读瑕疵的分类,藉以提升透过数据科学来加强 AOI 判读之效能。

竞赛环境

此议题主要是要测试对嵌入式开发平台 (NVIDIA Jetson Nano) 的能力,Jetson Nano 是一台边缘运算机,内含CPU与GPU的微型电脑,可同时执行多个神经网路工作,适合应用於图像辨识(ImageClassification)、物件侦测(Object Detection)、语意分割(Instance Segmentation)…。

评分标准

模型准确度(60%)、推论速度(30%)、模型载入速度(10%)

资料集介绍

竞赛平台提供了2528影像,包含了六种类别(正常类别+5种瑕疵类别),我们的任务为在指定的环境中(有一些套件的使用限制),训练出一个快、小、准的模型来预测图片。

使用工具

这边我们要介绍一个新的使用工具,因为在进行神经网路的训练时,其实是非常消耗记忆体的,若我们的电脑没有GPU,或是CPU不够强,训练时就会花上非常久的时间,因此我们需要借助别的工具来帮我们完成这个任务。
Colaboratory是Google提供的一种云计算平台,我们可以在浏览器上使用它来撰写Python,且具备了以下优点:

  • 不必进行任何设定
  • 免费使用 GPU
  • 轻松共用

更详细介绍的连结我放在这边:Google Colaboratory

使用Google Colaboratory

至我们的云端硬碟中-右键新增-更多-开启Google Colaboratory
https://ithelp.ithome.com.tw/upload/images/20210914/20140427ORj0AUWC16.jpg
可以看到它其实长得跟Jupyter Notebook蛮像的,运作方式也雷同,可以一行一行的Key程序同时察看结果,我们在这边也可以import许多套件且不用下载,省去很多版本的问题。

取得权限来汇入资料

在训练时我们需要汇入一些图片资料或汇出模型,需要先执行一些程序码来挂载我们的云端硬碟。

输入以下程序码

# 云端执行须执行这行,取得权限
from google.colab import drive
drive.mount('/content/drive')

执行後会看到一段连结跟输入格

https://ithelp.ithome.com.tw/upload/images/20210914/20140427Y4ArVBvgTE.jpg

点入连结并选取欲使用的云端硬碟帐户,会看到一段验证码

https://ithelp.ithome.com.tw/upload/images/20210914/20140427ROVjp6PgiS.jpg

将这段乱码复制後贴上输入格中,即完成挂载

https://ithelp.ithome.com.tw/upload/images/20210914/20140427HZbbKNGJKx.jpg

接着再输入以下程序变更环境路径

# 云端执行须执行这行,变更环境路径
os.chdir("//content/drive/MyDrive/AOI") #这边输入欲使用的资料夹路径
os.getcwd()

这样一来我们就可以开始使用Colab了,接着教大家如何使用Google的GPU资源。

至上方工具栏位中点选"执行阶段"-"变更执行阶段类型",将硬体加速器由"None"改为"GPU"并储存

https://ithelp.ithome.com.tw/upload/images/20210914/20140427wmfFKu71Ij.jpg
最後我们做个检查,输入以下程序:

import tensorflow as tf
tf.config.list_physical_devices('GPU')

https://ithelp.ithome.com.tw/upload/images/20210914/20140427l3e4DH1qad.jpg
看到这边代表我们成功启动了GPU的功能,在训练网路的时候就会自动使用GPU来加速,这边要特别注意的是,Google有限制使用者每天的使用量,所以没在用的时候记得要Kill掉,才不会浪费。


以上就是我们专案实作的第一部分的内容啦!先大概把主题还有使用工具介绍了一下,下一篇就会开始实做了,大家再会罗!


<<:  DAY25 轻量级模型-MobileNets

>>:  DAY27 Aidea专案实作-AOI瑕疵检测(2/4)

[Day6] Flutter - 置中容器 ( Center )

前言 Hi, 我是鱼板伯爵今天要教大家 Center 这个元件,教学内容只会撷取片段程序码,建议大家...

< 关於 React: 开始打地基| 事件处理 >

09-11-2021 本章内容 事件处理的不同写法 事件处理 事件的值 React中的预设行为 将参...

OpenStack Nova 介绍 2

本系列文章同步发布於笔者网站 上一篇文章我们介绍了 Nova 的功能与其使用方法,本篇文章将会继续介...

Vue3 ( CLI + github ) -4

1.SAP 多一个#前端所管理的路由,只会渲染部分区域 2.环境安装 CLI (1) 安装 Node...

[13th][Day11] errgroup

既然已经有了 waiting group 为什麽还需要 error group 呢? Using e...