前言

我现在在准备做一个全流程的机器视觉的工程,之前做了很多理论相关的工作。大概理解了机器视觉的原理,然后大概了解了一下,我发现现在的库其实已经很发展了,完全不需要用到非常多的理论,只需要知道开发过程就可以了,甚至paddlex已经直接有了傻瓜式模型训练的软件,所以我现在准备来做一个全流程机器视觉工程开发,不涉及过多理论。

准备

现在准备一下机器视觉工程的前情提要。

我准备使用paddledetection来做机器视觉。什么是paddleDetection?你可以理解为paddlepaddle对于目前主流的机器学习模型做了一些整合,只需要使用paddleDetection库就可以做一个很方便的训练、预测等工作。

准备好paddledetection之后,也就是我们的模型工具之后,还需要对现有图片做一些简单的划分工作,这里就需要用到labelme工具来进行.

环境安装

我这个教程和别的教程不太一样。因为年代久远,paddledetection库的原始安装方式已经不太适用了,所以我这里重新写一个paddledetection安装方式。

主要流程大概如下:

  1. 安装anaconda
  2. 安装paddle库
  3. 安装CUDA库
  4. 去github上下载paddledetection仓库
  5. 给自己安装pycocotools和lap库
  6. 直接安装paddledetection的依赖包requirements.txt
  7. 安装paddledetection

流程

  1. 安装anaconda

    这步略,不知道的可以浏览:Anaconda安装教程(超详细版)

  2. 安装paddle库

    这步略,参考paddle官网,不行就自己在csdn上搜,或者看我往期

    这里给出官网链接:开始使用

  3. 安装CUDA库

    这步略,参考本人往期文章:简易机器学习笔记(十)Windows下 PaddlePaddle配置CUDA加速环境

  4. 去github上下载paddledetection仓库

    github链接:PaddleDetection

    你要做的就是直接把这个仓库clone到本地,拉下来的项目大概是这样的



里面是这一大堆东西,暂时先不管是干嘛的,只需要先放在这里就可以了。

  1. pycocotools和lap库

    到一般的教程了,这里会告诉你直接去安装requirements.txt,但是很多人现在可能会直接报错numpy的问题,这个可能是因为库实在是年久失修了,主要出问题的库实际上就那么两个,一个是pycocotools,一个是lap

首先可以尝试一下能不能直接安装这两个库,也就是直接尝试以下两条命令

  1. pip install pycocotools
  2. pip install lap

一般情况下这个pycocotools是没问题的,出问题的是这个lap库,我这里主要演示lap库怎么手动安装,pycocotools也是同理

首先我们找到两个库的github地址:

pycocotools

lap

把这两个库clone到本地,大概是这样



在cmd中使用python尝试安装这个setup.py文件,指令大概是:

  1. #path/to/setup.py指代setup.py的路径
  2. python path/to/setup.py install

注意这条指令需要使用setuptools,怎么安装这个库不过多赘述了

一般这样手动安装就可以正常安装成功了,pycocotools和lap库都是这样安装的。

  1. 直接安装paddledetection的依赖包requirements.txt

lap库和pycocotools安装完毕后,基本上问题就不大了。现在只需要使用以下指令来对paddledetection包中的requirements进行安装就行了

  1. #path/to/requirements.txt 指代paddledetection库下的requirements.txt的路径
  2. pip install -r path/to/requirements.txt

我们可以打开requirements.txt来看一看,里面也只有一些库的名字而已

  1. 安装paddledetection

    到这里基本上就快安装完了,只需要最后一步,就是安装paddledetection,流程和安装lap库差不多
  1. #path/to/setup.py 指代paddledetection库下的setup.py的路径
  2. python path/to/setup.py install

数据标注工具labelme

刚刚我们安装完了paddledetection库,也就是准备好模型,接下来要准备的就是数据标注工具labelme

这个比较简单,直接参考博客:添加链接描述

全流程机器视觉工程开发(一)环境准备,paddledetection和labelme的更多相关文章

  1. 全球首个全流程跨平台界面开发套件,PowerUI分析

    一.       首个全流程跨平台界面开发套件,PowerUI正式发布 UIPower在DirectUI的基础上,自主研发全球首个全流程跨平台界面开发套件PowerUI(PUI)正式发布,PowerU ...

  2. halcon机器视觉工程开发思路

    参考:halcon学习笔记——机器视觉工程应用的开发思路https://www.cnblogs.com/hanzhaoxin/archive/2013/02/15/2912879.html

  3. AI全流程开发难题破解之钥

    摘要:通过对ModelArts.盘古大模型.ModelBox产品技术的解读,帮助开发者更好的了解AI开发生产线. 本文分享自华为云社区<[大厂内参]第16期:华为云AI开发生产线,破解AI全流程 ...

  4. Java/JDK安装教程手册(正规图文全流程)、运行、环境配置

    Java/JDK教程手册 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 一 Download Resouc ...

  5. Unity3D 发布APK安卓环境配置步骤、安装、教程(含Java/Android)(超全流程)

    Unity3D安卓环境配置运行 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...

  6. 基于Jenkins的开发测试全流程持续集成实践

    今年一直在公司实践CI,本文将近半年来的一些实践总结一下,可能不太完善或优美,但的确初步解决了我目前所在项目组的一些痛点.当然这仅是一家之言也不够完整,后续还会深入实践和引入Kubernetes进行容 ...

  7. 超全详解Java开发环境搭建

    摘自:https://www.cnblogs.com/wangjiming/p/11278577.html 超全详解Java开发环境搭建   在项目产品开发中,开发环境搭建是软件开发的首要阶段,也是必 ...

  8. 十分钟带你了解CANN应用开发全流程

    摘要:CANN作为昇腾AI处理器的发动机,支持业界多种主流的AI框架,包括MindSpore.TensorFlow.Pytorch.Caffe等,并提供1200多个基础算子. 2021年7月8日,第四 ...

  9. atitit.研发管理--标准化流程总结---java开发环境与项目部署环境的搭建工具包总结

    atitit.研发管理--标准化流程总结---java开发环境与项目部署环境的搭建工具包总结 1. ide系列(只开发环境需要,但部署环境也做好放上,很有用) 1 2. web服务器+sdk+网站程序 ...

  10. Halcon学习笔记——机器视觉应用工程开发思路及相机标定

    机器视觉应用工程开发思路 机器视觉应用工程主要可划分为两大部分,硬件部分和软件部分. 1.硬件部分,硬件的选型至关重要,决定了后续工作是否可以正常开展,其中关键硬件部分包括:光源,相机以及镜头. 2. ...

随机推荐

  1. Unicode编码解码

    一.Unicode概述 Unicode是一种字符编码标准,旨在解决不同字符集之间的兼容性问题.它为全球所有语言提供了一种统一的编码方式,使得各种字符能够在计算机系统中正确显示和处理.Unicode字符 ...

  2. MySQL笔记01: MySQL入门_1.2 MySQL下载安装与配置

    2.2 MySQL下载安装与配置 2.2.1 MySQL下载 MySQL中文官网:https://www.mysql.com/cn/ MySQL英文官网:https://www.mysql.com/ ...

  3. 吉特日化MES & SQL Server 无法执行数据库脚本

    打开服务器打算远程执行一下脚本,突发发现数据库无法执行脚本,就想着是不是安装了 海康AGV 控制系统的问题导致,问题如下: 问题截图如下: 报错信息如下: ====================== ...

  4. CompletableFuture入门

    CompletableFuture入门 1.Future vs CompletableFuture 1.1 准备工作 先定义一个工具类 import java.nio.file.Files; impo ...

  5. 华企盾DSC使用outlook发送加密文件提示解密插件未加载

    1.如果是非exchange邮箱,不能勾选"启用邮件白名单outlook插件(exchange邮箱建议勾选)"​ 2.如果是exchange邮箱则需要勾选"启用邮件白名单 ...

  6. EvilBox : ONE - WriteUp

    EvilBox : ONE 信息收集 扫描网段内存活主机,得到目标 nmap 进一步收集有效信息,只开放了22和80 访问80的页面没有什么有效信息 接着扫一下目录, 没有敏感的文件 在robots中 ...

  7. 这些常见的python编码习惯,你都会吗

    本文分享自华为云社区<不得不知的十个常见PY编码习惯>,作者:码乐. 简介 语言在发展和变化,编码习惯也在发生改变.这里简单聊聊 17个python中常见的编码习惯或者风格. 1,可变数据 ...

  8. STM32CubeMX教程11 RTC 实时时钟 - 入侵检测和时间戳

    使用STM32CubeMX软件配置STM32F407开发板RTC实现入侵检测和时间戳功能,具体为周期唤醒回调中使用串口输出当前RTC时间,按键WK_UP存储当前RTC时间到备份寄存器,按键KEY_2从 ...

  9. 这一次,弄明白JS中的文件相关(一):概念篇

    概念是学习的基础.在学习JS中的文件操作之前,先把文件相关的各种概念搞清楚,很有好处. 1. 二进制: 计算机硬件仅能处理和存储二进制数据,所以不管是你正在写的代码,还是你硬盘里的小姐姐,都是以二进制 ...

  10. 为什么vacuum后表还是继续膨胀?

    摘要: 对于更新和删除操作频繁的表,会存在大量垃圾数据,导致磁盘空间的浪费和查询扫描时额外的IO开销,需要定期执行清理操作(vacuum)来控制行存表以及表上索引的膨胀.本文将对vacuum的原理以及 ...