YOLO
文章平均质量分 93
Yehchitsai
厚积薄发
展开
-
Day 26 - HBuilderX 与 Native.js API 读取图片
Day 26 - HBuilderX 与 Native.js API 读取图片在 Day 25 - HBuilder X 产生 apk 已经完成使用 HBuilderX 来打包 Android apk,接下来要做的是将观赏鱼辨识相关的功能实作到这个前端系统中,需要的功能分析如下:使用相机跟相簿:这在打包 apk 时已经有设定权限了。压缩图片,因为 YOLO 辨识不需要太高的解析度,可以将图片先压缩至宽度为 1024 就可以。上传图片到 AWS EC2。读取回传值,并显示结果。设计画面先设计原创 2021-10-31 09:13:16 · 816 阅读 · 0 评论 -
Day 27 - 成本估计与 Amazon DynamoDB
Day 27 - 成本估计与 Amazon DynamoDB观赏鱼辨识成本估计根据 Day 01 - 观赏鱼辨识系统说明所介绍的服务,这个系统需要一个 g4dn.2xlarge 的 Amazon EC2 主机,以及一个 Amazon Elastic IP 的固定 IP 位置,在不考虑流量的情况下,一年的固定成本为 4,393.56 USD,这是以主机建置在 US East (Ohio) 地区来计算的, AWS 提供一个 AWS 价钱计算机 (AWS Pricing Calculator),计算结果如下图原创 2021-10-31 09:19:46 · 509 阅读 · 0 评论 -
Day 25 - HBuilder X 产生 apk
Day 25 - HBuilder X 产生 apk使用 HBuilder X 来开发手机端应用,原则上需要包含这几个步骤下载开发工具并安装注册 dcloud 开发帐号新增项目设定 Andriod 组态透过云端进行编译成apk修改手机设定并安装apk下载开发工具并安装打开本地浏览器,输入 HBuilderX 官方网站的网址 https://hx.dcloud.net.cn/ ,根据自己的作业系统,下载开发工具并安装,如下图所示,在 MacOSX 安装 HBuilderX。图 1、M原创 2021-10-31 07:40:18 · 1424 阅读 · 0 评论 -
Day 10 - 介绍影像辨识的处理流程
介绍影像辨识的处理流程 - Day 10所有影像辨识的问题都会面临以下几个问题:图片中有几个要辨识的物件 (影像切割,Image Segmentation),他们的位置在哪里 (物件定位,Object Localization),要如何辨识(影像分类,Image Classification)。而物件侦测 (Object detection) 的技术,就算是物件定位与影像分类的完整解决方案。从这个概念开始就可以清楚理解,为何近年来物件侦测的算法,有所谓的二阶式 (two-stage),也就是先找到定位的原创 2021-10-27 19:57:07 · 469 阅读 · 0 评论 -
Day 05 - Django + MariaDB 在 Amazon Linux 2
Day 05 - Django + MariaDB 在 Amazon Linux 2每天的目的是要让 Django Web 应用程序可以读取 MariaDB 的资料,在前一篇我们新增了一个专案为fishsite,这个专案下的fishsite子文件夹是整个网站的进入点,下图有文件夹目录的内容:__init__.py: 是一个空文件,指示Python目录命名Python套件。__pycache__文件夹:当.py档案第一次被汇入时,它会被直译器视为位元组程序码,将位元组码写入同名的.pyc档案中,简单的原创 2021-10-27 21:02:45 · 190 阅读 · 0 评论 -
Day 14 - 安装与执行 YOLO
Day 14 - 安装与执行 YOLO在 介绍影像辨识的处理流程 - Day 10 有提到 YOLO 模型是由 Joseph Redmon 所提出,而到了 YOLOV4 后才换成另外一群人继续发展,YOLOV4 的作者是 Alexey Bochoknovskiy, Chien-Yao Wang, 与 Hong-Yuan Mark Liao,YOLOV5 的作者 Glenn Jocher。安装 YOLO今天会将 YOLOV3 安装在 Amazon Linux 2,首先从 Joseph Redmon 所建原创 2021-10-27 20:39:03 · 974 阅读 · 0 评论 -
Day 22 - Django + YOLO 后台整合应用
Day 22 - Django + YOLO 后台整合应用今天的任务是将 Day 07 - RESTful API 在 Amazon Linux 2 上传图片实作、Day 08 - Amazon Linux 2 上将 Django 与 Nginx 整合、Day 09 - Amazon Linux 2 上解决跨来源资源共用 (CORS) 与开机自动启动 uwsgi 这三天完成的 Django 后端结合 Day 14 - 安装与执行 YOLO 的 Joseph/darknet ,这样就可以完成观赏鱼辨识系统的原创 2021-10-30 10:14:15 · 3784 阅读 · 0 评论 -
Day 06 - Django + MariaDB + RESTful API + ARC
Django + MariaDB + RESTful API + ARC-Day 06开发 Web API 需要有工具来模拟 API 的呼叫,所以我们安装 Advanced REST client,使用方法很简单,只要输入适当的参数即可,以上一个案例而言,HTTP 请求的方法是 GET ,而读取的URL为 [EC2_IPv4]:8000/imgUpload/,所以安装完 Advanced REST client (ARC),后启动 ARC,分别设定方法与 URL ,按下送出,就可以在回应(Response原创 2021-10-27 19:15:23 · 201 阅读 · 0 评论 -
Day 12 - 标签图片的方法与实作
标签图片的方法与实作 - Day 12资料增量 (Data Augmentation) 的部份因为 YOLOV3 可以透过 cfg 档的设定来自动进行资料增量,所以我们就不在这边进行资料增量的前置处理。接着进行的是图片标签 (Labeling/Annotation) 的动作,这是一个很乏味的动作,主要就是把原始图片中要训练的图片标示出来,并说明标示物件标签,而把这些资讯存成文字档。光是标签就可以分成三类需要考虑的因素:图片标注的类型 (Image Annotation Types):可以是边界框 (原创 2021-10-27 20:14:08 · 463 阅读 · 0 评论 -
Day 08 - Amazon Linux 2 上将 Django 与 Nginx 合并
Amazon Linux 2 上将 Django 与 Nginx 合并 -Day 08先前我们都是直接使用 Django 所建立的网页伺服器,但是毕竟 Django 并非专注于网页伺服器这个领域,所以在 Python PEP 3333 号文件中有提出了一个 Python Web Server Gateway Interface (wsgi)规范,就是用来协助网站伺服器与 Python 框架结合的主要协议,下图就是 Nginx 结合 Django 的架构,一开始,我们都是使用浏览器直接存取 Django,透原创 2021-10-27 19:36:13 · 283 阅读 · 0 评论 -
Day 17 - YOLO 相关概念说明
Day 17 - YOLO 相关概念说明如果不说明一下 YOLO 的运作概念,对于如何调整 YOLO 参数将会是一筹莫展,所以今天就来说明一下影像辨识的基础概念一直到 YOLO 的运作概念人工智慧、机器学习与深度学习影像识别其实是深度学习的一种应用,而深度学习是机器学习的一个子集,机器学习则是包含在人工智慧这个大范围内。人工智慧当初的发想是希望透过计算机来取代人类的许多能力,可以包含五感,如视觉、听觉、嗅觉、味觉和触-压觉五种感官的感知,在透过大脑的思考来进行判断,广义上可以这样思考。而机器学习则势将原创 2021-10-30 09:09:01 · 846 阅读 · 0 评论 -
Day 16 - 进行影像辨识训练
Day 16 - 进行影像辨识训练在进行训练的过程中,我们可能因为某些关系而中断训练,可能是网路断线或是电脑断电等问题,这时候我们可以用以下指令重新开始训练,简单来说就是把原先 darknet53.conv.74 的权重,换成最新一个训练权重结果,而后面是记录整个训练过程的纪录档,因为是用 -a 选项,所以也是会继续附加上去。cd /home/ec2-user/fishRecognition/fishsite/FishRecognition../darknet/darknet detector tra原创 2021-10-30 08:57:30 · 289 阅读 · 0 评论 -
Day 23 - 前端开发工具 - HBuilder X
Day 23 - 前端开发工具 - HBuilder X完成了后端开发,接下来就要将透过前端跨平台开发框架来存取后端的资源,底下介绍几种常见的跨平台应用开发框架。FlutterIonicReact nativeApache CordovaXamarin所谓的跨平台应用开发框架就是,开发人员可以使用一套相同的代码,一次性地编码即可在多个平台上面运行起来,如 iOS, Android,Windows, macOS 以及 Linux。它减少了开发人员开发应用的时间,并且能够快速地交付。作为用户来原创 2021-10-30 10:47:02 · 10558 阅读 · 0 评论 -
Day 13 - 半自动标签图片的方法与实作
Day 13 - 半自动标签图片的方法与实作以下介绍一个自制的简易的半自动标签图片的作法,主要是因为手动标签真的很麻烦,于是上网找了一些文章,有一篇文章 Image Segmentation With 5 Lines 0f Code 是最令人开心的,因为只要 5 行代码就可以把一张图片的物件分割出来。测试结果还令人蛮满意的,如下图所示。图 1、使用 pixellib 套件分割图片实作步骤如下:建立一个虚拟环境安装相关套件运行代码将分割的讯息转成 YOLO 格式针对目录进行处理建立一个原创 2021-10-27 20:27:35 · 220 阅读 · 0 评论 -
Day 07 - RESTful API 在 Amazon Linux 2 上传图片实作
RESTful API 在 Amazon Linux 2 上传图片实作-Day 07RESTful API 规格书因为 RESTful API 需要前后端的合作,前端呼叫,后端设计开发,因此最好在正式运作之前先撰写 RESTful API 规格书,如下图所示。必须要确认的资讯有:功能说明:用来说明这个服务所提供的目的。服务路径 (URI): /imgUpload/请求方法:POST请求格式:multipart/form-data,需要说明,不然前端不知该如何传递资料的编码方式。请求输入的参数原创 2021-10-27 19:29:34 · 442 阅读 · 0 评论 -
Day 15 - 说明 YOLO 相关设定
Day 15 - 说明 YOLO 相关设定先前在 Day 10 - 介绍影像辨识的处理流程 有提到,整个影像辨识的流程如下:取得数据集。将影片转换成图片,并调成 YOLO 可以处理的大小。资料增量。影像分割与标注。安装合适的影像辨识模型。分成训练、验证与测试数据集分析测试结果进行优化布署到后端伺服器我们已经完成前 5 项工作,现在要进行的是调整影像辨识模型的参数,这些参数的功能主要分成针对数据集:需要设定的是训练集与验证集的文件夹、要辨识的鱼类有多少种、每种鱼类的名称、训练后的原创 2021-10-30 08:49:11 · 477 阅读 · 0 评论 -
Day 20 - 重新检视 mAP, F1, IoU, Precision-Recall 精准度
Day 20 - 重新检视 mAP, F1, IoU, Precision-Recall 精准度AlexeyAB/darknet 版本的 YOLO 最被称羡的就是可以输出很多研究需要用的评估数据,因为有这些数据才有办法评量目前的准确度是否足够使用者满意,安装方式可以参照 Day 19 - 安装 AlexeyAB/darknet ON Amazon Linux 2,下图是安装 AlexeyAB/darknet 版本的 YOLO 的档案结构图,介绍一下比较重要的档案或文件夹:build_release:原创 2021-10-30 10:01:46 · 618 阅读 · 0 评论 -
Day 24 - 设定开发帐号 HBuilder X - DCloud 注册
Day 24 - 设定开发帐号 HBuilder X - DCloud 注册HBuilder X 是开发前端用的整合开发环境 (Integration Development Environment, IDE),可以结合后端来进行编译成安卓或是苹果的手机 app,所以需要注册 dcloud 帐号。打开本机浏览器,输入 dcloud 开发者官方网站 https://dev.dcloud.net.cn ,使用个人信箱注册一个帐号,如下图所示,这里的验证码比较有趣,是要去做加法计算,而非输入看到的内容。注册原创 2021-10-30 10:51:29 · 6975 阅读 · 2 评论 -
Day 18 - 深入讨论 YOLO 相关设定
Day 18 - 深入讨论 YOLO 相关设定今天来分析 Joseph Redmon 所设计的 YOLOV3 的设定档,里面会看到他是如何设计整个卷积网路结构,下图是 github 中 cfg 文件夹的 YOLO 结构的档案,看 yolov1.cfg, yolov2.cfg, yolov3.cfg 等档名后面带着-xxx,例如: yolov2-voc.cfg, yolov3-voc.cfg。这是指针对不同的数据集 (datasets) 训练时的网路结构组态档案,没有带 -xxx 的组态档,基本上的数据集就原创 2021-10-30 09:35:02 · 943 阅读 · 0 评论 -
Day 11 - 视频转换成图片
将影片转换成图片 - Day 11今天要完成的工作是将搜集到的影片或是照片转换成 YOLOV3 可以接受的格式,所以要完成的工作如下:建立目录结构安装需要的套件撰写程式读写目录影片转图片变更尺寸为608建立目录结构将 github 上所下载的影片放在 video 文件夹,而 utils 文件夹放资料预处理的程式,如今天需要用到的将影片转成图片,images 用来放处理后的图片,labels 是用来存放标签文件,如下图所示。图 1、 YOLOV3 资料预处理文件夹安装需要的套原创 2021-10-27 20:01:47 · 1594 阅读 · 0 评论 -
Day 09 - Amazon Linux 2 上解决跨来源资源共用 (CORS) 与开机自动启动 uwsgi
Amazon Linux 2 上解决跨来源资源共用 (CORS) 与开机自动启动 uwsgi - Day 09在应用的后端,我们已经解决了以下几个问题:资料库存取: MariaDB。RESTful API 实作:使用 post 上传图片。后端伺服器整合:Nginx 并合并 Django。最后还有两个问题待解决:跨来源资源共用与自动启动。跨来源资源共用 (Cross-Origin Resource Sharing, CORS) 是指当使用者代理请求一个不是目前文件来源,例如来自于不同网域(dom原创 2021-10-27 19:43:09 · 415 阅读 · 0 评论 -
Day 21 - 嵌入 AlexeyAB/darknet 的 Python
Day 21 - 嵌入 AlexeyAB/darknet 的 Python如同先前的 Joseph/darknet 一样, AlexeyAB/darknet 版本也提供了 Python 的介面,可以让 Python 的开发人员直接调用,好方便结合原有的 Python 代码,比较不同的是,他并没有特别放在 python 这个目录,而是直接放在根目录里,在 Day 20 - 重新检视 mAP, F1, IoU, Precision-Recall 精准度 这篇文章有详细介绍 AlexeyAB/darknet 的原创 2021-10-30 10:08:32 · 420 阅读 · 0 评论 -
Day 03 - 安装数据库 MariaDB 在 Amazon Linux 2
安装数据库 MariaDB 在 Amazon Linux 2-Day 03启动 EC2 后每小时就要开始收费,务必要记得没有使用的时候就把 EC2 停止(stop),但不要把它终止掉(terminate),终止掉就会把整个个体回收,相对应的设定跟数据都会不见了,而停止状态只会收取 EBS 的费用。取得 EC2 的公有 IPv4 地址,登入到 EC2,详细操作可以参考 Amazon Elastic Compute Cloud (EC2) 笔记 的 联机到Amazon EC2(Windows) 这个部分,因原创 2021-10-26 20:43:43 · 660 阅读 · 0 评论 -
Day 01 - 观赏鱼辨识系统说明
观赏鱼辨识系统说明-Day 01在接下来的35天会制作一个完整的系统包含前端-手机/网页,后端-Nginx + Django,以及辨识模型YOLO的建立,详细构架如下图。图1、观赏鱼辨识系统架构图用户使用手机拍摄观赏鱼的照片,透过RESTful Web API上传到亚马逊AWS的EC2虚拟主机上,在主机上我们安装了Nginx网页服务器来接收网页需求,它会把RESTful Web API的请求转送到Python的Django网页框架,把图片传给YOLO的图像辨识模型进行辨识,得到预测结果后,把文字结果原创 2021-10-21 11:03:44 · 897 阅读 · 0 评论 -
Day 04 - 安装 Django 在 Amazon Linux 2
安装 Django 在 Amazon Linux 2-Day 04因为鱼类辨识系统会使用到 Python 来进行训练跟预测,而这些功能都是会在后端完成,为了考虑与后端的 YOLO 的整合,所以选择一个后端的 Python 开发框架,因为所需要的功能并不复杂,Flask 与 Django 都是可以参考的对象后来考虑这项项目对于后端的需求如下:可以实作 RESTful Web Service可以实作跨域共享(Cross-origin resource sharing,CORS),这主要是因为需要提供手机原创 2021-10-26 20:57:02 · 223 阅读 · 0 评论 -
Day 02 - 选择具有GPU的EC2并完成配置
选择具有GPU的EC2并完成配置-Day 02需要配置一台电脑来处理接下来所有的服务,因为这是深度学习的应用,所以需要使用到GPU,而GPU的配置十分繁琐,而透过AWS EC2来配置的话,只要选择好对应的个体类型与AMI(Amazon Machine Image),可以很快的完成主机的配置。关于EC2的详细操作,可参考先前的 Amazon Elastic Compute Cloud (EC2) 笔记),在这里只简单的把画面撷取下来。首先要确认随选的个体(instance)是否有足够的数量可供使用,因为通原创 2021-10-26 20:25:20 · 831 阅读 · 0 评论 -
Day 33 - 实作 S3 驱动 Lambda 函数进行镜像
Day 33 - 实作 S3 驱动 Lambda 函数进行镜像AWS 有个教学课程,教学课程:使用 Amazon S3 触发条件建立缩图影像,今天我们就以这个教程为基础,并结合Day 32 - 透过手机呼叫 Amazon API Gateway 上传图片到 S3这篇文章,让使用者可以上传一个图片后,就完成图片镜像的动作。以上这个实验需要的 AWS 服务有Amazon API Gateway:提供上传图片用的 APIAWS Lambda: 执行将图片执行镜像处理的运算。Amazon S3: 提供两原创 2021-10-31 10:21:32 · 499 阅读 · 0 评论 -
Day 32 - 透过手机呼叫 Amazon API Gateway 上传图片到 S3
Day 32 - 透过手机呼叫 Amazon API Gateway 上传图片到 S3Day 31 - 使用 Amazon API Gateway 上传图片到 S3 演示了如何透过 API Gateway 直接上传一个图片到 S3,但如果要让手机也可以上传图片的话,那必须让这个 API Gateway 所实作的 REST API 可以有跨预存取 (CORS) 的功能,这篇文章的目的为:打开跨预存取 (CORS) 的功能。使用 curl 指令验证跨预存取的功能。如何针对 API Gateway 除原创 2021-10-31 10:13:58 · 370 阅读 · 0 评论 -
Day 31 - 使用 Amazon API Gateway 上传图片到 S3
Day 31 - 使用 Amazon API Gateway 上传图片到 S3建立 S3 存储桶 (bucket),关闭封锁所有公开存取权,并设定一个资料夹允许对外公开读取。建立 IAM 的角色:具备执行 Amazon API Gateway 的许可,而且拥有存取 CloudWatch Logs 许可以及读写 S3 存取桶的许可。建立 Amazon API Gateway 设定使用 PUT 方法上传。建立 S3 存储桶进入 Amazon S3 管理控制台,单击左手边的 存储桶,接着单击 建立存原创 2021-10-31 09:55:22 · 1095 阅读 · 0 评论 -
Day 30 - 实作 Amazon API GateWay 整合 AWS Lambda 与 Dynamodb
Day 30 - 实作 Amazon API GateWay 整合 AWS Lambda 与 DynamodbAmazon API GateWay 简介Amazon API Gateway 是由 AWS 提供的完全托管服务,使开发者可以创建、发布、维护、监控和保护任意规模的 API,可以使用它来创建充当应用程式前门的 RESTful 和 WebSocket API。这样,应用程式可以从后端服务访问数据、业务逻辑或功能,例如在 Amazon Elastic Compute Cloud (Amazon EC原创 2021-10-31 09:40:59 · 740 阅读 · 0 评论 -
Day 29 - AWS Lambda 接收参数查询 Dynamodb
Day 29 - AWS Lambda 接收参数查询 DynamodbDay 28 - AWS Lambda 结合 Dynamodb 介绍了如何利用 AWS Lambda 来读取 Dynamodb,只是查询的条件太过单调,只能用事先定义好的主键,在这里展示两种常见的用法:指定 Dynamodb 特定属性查询传入参数给 AWS Lambda指定 Dynamodb 特定属性查询如果要在 Dynamodb 的资料表中基于非主键属性来查询资料的话,需要建立二级索引。通过二级索引,使用者可以对表主键之外原创 2021-10-31 09:31:36 · 779 阅读 · 0 评论 -
Day 28 - AWS Lambda 结合 Dynamodb
Day 28 - AWS Lambda 结合 Dynamodb有了 DynamoDB 可以存储资料,接着需要透过适当的方法去存取 DynamoDB ,于是 AWS 提供了 AWS Lambda 作为撰写程式的全托管服务。AWS LambdaAWS Lambda 是一种无伺服器的运算服务,可让软体设计者开发并执行程式但不必布建或管理伺服器、建立工作负载感知丛集扩展逻辑、维护事件整合或管理执行阶段。使用 Lambda,软体设计者可以透过虚拟方式执行任何类型的应用程式或后端服务,全部无需管理。只要以 ZIP原创 2021-10-31 09:26:12 · 610 阅读 · 0 评论 -
Day 19 - 安装 AlexeyAB/darknet ON Amazon Linux 2
Day 19 - 安装 AlexeyAB/darknet ON Amazon Linux 2今天的任务案安装 AlexeyAB/darknet 版本的 YOLO,这是 YOLOV4 的主要作者,而这个版本的可以产生更多的衡量指标,当然,也可以使用 YOLOV4 来进行影像辨识,只是安装难度比较高。以下的安装设定需使用下列的 AWS EC2:EC2 Instance type: g4dn.2xlargeAMI ID: ami-0cccf4ac9f2e9bd92AMI 名称: Deep Learni原创 2021-10-30 09:41:53 · 1848 阅读 · 0 评论