
AI
文章平均质量分 87
Arnold-FY-Chen
On the way of AI spiritual practice...
展开
-
docker容器内安装TensorRT的问题
Ubuntu上卸载已安装的版本: sudo apt-get purge "libnvinfer*"如果想把安装文件都删掉以释放空间,执行: dpkg -l | grep tensorrt查看到安装包名,假如是nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.1.6-ga-20201007,则执行:sudo dpkg -Pnv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.1.6-ga-20201007...原创 2021-05-15 11:43:38 · 1886 阅读 · 4 评论 -
我的AI之路(53)--超高清图像识别
首先这里说的超高清图像的识别问题不是超分辨率(super-resolution)问题,超分辨率这个领域问题是指使用插值等手段把相对模糊的小图放大成高清大图且保持细节基本真实自然的问题,超高清图像的识别问题是指对本身是高清大图的图片做目标分类、检测、分割(下面我说到识别默认只指分类或检测,不含分割)等处理这类问题。 顺带说一句,以便更好界定识别需求问题的范围:一般将分辨率为720p(1280x720像素)、1080p(1920×1080像素)叫高清(High Definition...原创 2021-01-01 20:01:10 · 1642 阅读 · 3 评论 -
我的AI之路(42)--不同操作系统下安装图片数据标注工具 LabelImg
因疫情带动了口罩识别等项目特殊需求,组织在家工作的多位平时从事非技术工作的同事参加口罩图片数据的收集和标注,大家在家用的多是自己的本子,安装的操作系统自然就是既有Windows也有Mac,不同操作系统的本子上安装过程中遇到多个不同的问题,对于解决办法予以记录一下便于以后再次遇到时快速解决。 Windows专业版和Ubuntu系统安装的过程按照https://github.com...原创 2020-02-22 12:24:43 · 525 阅读 · 0 评论 -
我的AI之路(41)--训练tensorflow版faster-rcnn
因为要在安卓板上部署模型供安卓app调用,目前支持安卓调用这方面做得比较成熟的当然是tensorflow,将模型训练出来后转换成pb文件即可供安卓调用。 之前用于机器人上某种识别用途的模型出于jetson-nano板子的内存约束采用的是caffe版的faster-rcnn基于某backbone训练出来的小模型,才200多M大小,现在模型需要在安卓板上部署,于是改成tenso...原创 2020-01-19 00:36:48 · 647 阅读 · 0 评论 -
我的AI之路(39)--使用深度相机之小觅深度相机
小觅深度相机的SDK代码在github上, 小觅相机的支持库需要从这里https://github.com/slightech/MYNT-EYE-D-SDK下载SDK源码后本地编译后再安装,Ubuntu上的步骤是: 1.如果没有opencv开发库需要先安装: sudo apt-get install libopencv-dev 另外,在英伟达...原创 2020-01-01 22:34:04 · 1170 阅读 · 2 评论 -
我的AI之路(38)--使用深度相机之钜芯深度相机
钜芯深度相机测距范围达100米左右,这点是一般深度相机所不能的。 钜芯相机使用USB线供电,需要使用网线通过网络来访问相机内置程序获取到图像数据和视差数据,相机的地址固定为192.168.80.10,所以如果需要接入不同地址段的网内,需要买个USB转网口的转接器,将转接器的网口用网线与相机相连,转接器的USB线插到跑你的程序的板子上的USB3口,并且在你的板子上的操作系统...原创 2020-01-01 22:04:59 · 497 阅读 · 0 评论 -
我的AI之路(37)--使用深度相机之Intel Realsense D435(i)
使用Realsense D435可以获得彩色图和同步的深度图,D435i 还可以获得IMU数据,支持在Linux\Windows\Mac OS\Android上使用。支持库可以从SDK源码编译出来后安装,或者直接在线安装,https://github.com/IntelRealSense/librealsense可以下载SDK源码,机器人的下位机上一般使用Ubuntu操作...原创 2020-01-01 16:44:11 · 4542 阅读 · 3 评论 -
我的AI之路(36)--使用深度相机
2019年一年内使用过三款深度相机用于机器人基于视觉的目标识别和测距,分别是小觅D1000-IR-120、钜芯、Intel Realsense D435(i) (D435i相对于D435来说增加了IMU功能模块),时间久了容易忘记技术细节,现予以回顾记录备忘。 目标识别当然是基于传统的OpenCV图像处理技术来实现或者使用深度学习网络模型来实现,对于简单的识别(目标和背景...原创 2020-01-01 13:48:32 · 1757 阅读 · 3 评论 -
我的AI之路(34)--py-faster-rcnn配置和训练
Faster-RCNN虽然有人觉得它过时了,但它毕竟是个经典,有的项目还在使用,部署环境是服务器的,一般只是把backbone由老旧的ZF,VGG换成了Resnet101之类的,对于需要部署到嵌入式环境进行前端边缘计算的,ZF之类的小网络由于识别效果还行而且占用资源较少,性价比高,也仍是不错的选择。把Faster-RCNN琢磨透了,对掌握其他相关RCNN网络是很有帮助的。 ...原创 2019-11-12 19:57:15 · 624 阅读 · 0 评论 -
我的AI之路(25)--ROSBridge:机器人与外部系统之间的通讯解决方案
关于ROS的书和网上讲ROS的文章已经很多,绝大多数都是人人亦云的泛泛的讲表面层次的ROS的各部分怎么运用到机器人的各部分功能上、怎么执行命令之类的,对入门当然有用,但缺乏深层次的代码分析或架构层次的结构分析或解决机器人产品某些具体需求的解决方案,对实际做产品/项目开发可借鉴的有限,所以不想再重复说前一方面的知识,而是结合本人参与开发机器人产品中积累的经验侧重讲讲后一方面的知识供分享与交...原创 2019-02-09 00:39:31 · 12652 阅读 · 16 评论 -
我的AI之路(28)--基于ROSBridgeClient实现安卓App和ROS之间的通讯
有操作屏幕的机器人通常首选安卓系统作为屏幕UI应用的开发和运行环境,机器人的导航和运动等底盘控制则通常都是基于Linux+ROS实现的,跑安卓系统的板子通常俗称上位机,跑Linux+ROS的则叫下位机,为完成机器人的整体功能控制,上下位机之间是需要通讯的,另外如果有专门的特殊设备(比如执行和传输数据频繁的实时性要求高的设备,这样的设备通常都首选只支持Linux)跑起来如果比较耗资源,连...原创 2019-05-02 00:16:23 · 5803 阅读 · 12 评论 -
我的AI之路(27)--用C++实现机器人与机器人后端控制系统之间的双向通讯
前面说过,机器人和机器人后端管理系统之间通常要求频繁双向传输数据、尤其需要最好保持长连接的通讯需求,使用WebSocket连接是最好的选择,可以基于RosBridge来实现,但是RosBridge实现的是websocket server,对于要求机器人后端管理系统在系统启动时主动连接机器人的需求是比较合适的,对于反过来要求机器人启动时作为client主动连接机器人管理系统的这种更常见需...原创 2019-03-17 00:10:15 · 2864 阅读 · 2 评论 -
我的AI之路(31)--在Jetson Nano上试验安装部署py-faster-rcnn
想试验英伟达的Jetson序列套件或者其他公司的类似边缘计算开发板能否跑我们的模型并部署到机器人上,于是买了块今年上市的Jetson Nano板子和一张64G的SD卡。 首先要到英伟达的网站https://developer.nvidia.com/embedded/downloads点击Jetson Nano Developer Kit SD Card Image然后...原创 2019-07-13 20:28:08 · 3387 阅读 · 3 评论 -
我的AI之路(24)--ROS环境安装
换了新工作后,近几个月来太忙了,每天连睡觉5小时的时间都没保证,所以根本没时间写博,2018年的最后一天,终于有点时间来写篇博文,打算写写ROS相关的东西,算是跨年纪念 :) 。 本来原计划沿着我原来的大致学习路线: AI框架工具环境的安装和使用-->AI所需的高等数学知识-->常用网络模型-->常用算法 这样的路线写下去的,但是因为新工作需要的原因,不得不暂停,先...原创 2019-01-01 00:14:53 · 1267 阅读 · 0 评论 -
我的AI之路(26)--使用ROSBridge WebSocket和roslibjs构建一个简单的控制机器人的web demo
在一个复杂的机器人后端控制平台系统开发完成以前,往往需要对你的机器人产品进行简单的软件架构设计验证或进行控制测试,这时,如果能花比较少的时间快速做一个web页面或者一个Android app来作此用途的话能节省不少人力,本人花比较少的时间做了一个web demo和几个安卓app用于不同机器人的通讯和控制的验证和测试,先只说怎么做web demo,实现安卓app的思路跟基于Java EE开...原创 2019-02-09 16:07:02 · 10668 阅读 · 37 评论 -
我的AI之路(29)--使用Boost Asio和Rapidjson实现机器人与机器人后端系统之间的自定义协议的通讯
如果机器人与后端系统或其他系统之间根据实际情况需要使用自定义协议通讯,例如第三方系统使用的是自定义协议或者传输大文件之类的,那么多半需要回到使用TCP Socket编程,传输的数据既有二进制数据又有控制命令的文本数据时,直接使用C++的API进行网络编程和进行json格式数据的构建和解析的话需要费不少劲进行编码和调试,如果使用某种框架来进行开发就省事不少,Boost是使用较多的C++...原创 2019-06-09 01:59:29 · 1447 阅读 · 0 评论 -
我的AI之路(6)--安装PyTorch
边看<<深度学习框架 PyTorch入门与实践>>,边满怀欢喜的跑到https://pytorch.org/ 上准备安装PyTorch 0.4版,根据https://github.com/pytorch/pytorch/releases说的0.4做了一些重要的改进而且还支持Windows了,好事啊,可是怎么点击https://pytorch.org/ 这些按钮怎么都...原创 2018-05-26 11:35:43 · 1109 阅读 · 0 评论 -
我的AI之路(30)--C++调用Python版AI模型步骤、遇到的问题及解决
机器人移动过程中需识别目标并根据距离作出相应处理,这些功能的移动和获取距离数据的代码都是C++写的,目标识别功能则由一个采用自己收集和标注的数据训练出的py-faster-rcnn模型来实现,这里功能上的整合实现就涉及到需要使用C++代码调用AI模型的python代码。 https://docs.python.org/2/c-api/index.html给出了一些Pytho...原创 2019-06-20 22:15:15 · 1934 阅读 · 0 评论 -
我的AI之路(33)--解决CUDA10.1和NVIDIA GPU新版驱动430.xx序列造成黑屏或循环登录问题
到目前为止,CUDA最新版仍然是10.1版,只是出了update2 https://developer.nvidia.com/cuda-downloads,自CUDA10.1开始,使用run文件安装过程中有了较大的变化,步骤进行了简化,也不再包含opengl文件所以无需--no-opengl-files参数,但是对于装有集成显卡+N卡的双显卡的环境,安装CUDA10.1有可能会造成问题。...原创 2019-10-03 01:58:22 · 2895 阅读 · 0 评论 -
我的AI之路(5)--如何选择和正确安装跟Tensorflow版本对应的CUDA和cuDNN版本
补充:最新的Tensorlfow2.0 gpu版要求使用的CUDA是CUDA 10.0,安装错版本了会用不了,最新的pytorch 1.3.1要求使用CUDA 10.1,如果你两者都需要使用,可以先把CUDA 10.0和CUDA 10.1都安装上,然后linux下把/usr/local/cuda链接到CUDA 10.0所在的目录, windows下吧CUDA v10.1改名成别的名字,然后把CUD...原创 2018-05-20 20:46:41 · 75401 阅读 · 132 评论 -
我的AI之路(23)--在Windows下编译Bazel和使用Bazel编译tensorflow
有时需要最新版的tensorflow安装文件国内镜像网站又还没提供,或者需要一个针对你自己的机器环境的版本,这时知道怎么自己从源码编译出tensorflow的whl安装文件就必须的了,要自己编译首先就得了解下Bazel这工具,谷歌废弃使用CMake改用并力推自己的Bazel看来这是大势所趋,花了几天时间琢磨了下Bazel的编译和使用Bazel编译tensorflow,一般人工作都没同时配有...原创 2018-10-06 20:37:09 · 7720 阅读 · 5 评论 -
我的AI之路(18)--Tensorflow的模型安装之object_detection
https://github.com/tensorflow/models下有不少各种用途的模型用于图片、语音、视频等方面的处理,这里以现在不少公司都使用来做对象检测或目标识别的object_detection为例来说明模型的安装和使用过程。 如果你不嫌慢,可以使用clone 或checkout https://github.com/tensorflow/models....原创 2018-09-14 20:01:40 · 886 阅读 · 0 评论 -
我的AI之路(13)--解决编译gcc/g++源码过程中出现的错误
假若你的Linux版本比较高,默认安装使用的gcc/g++版本比较高,比如Fedora28使用的gcc/g++ 8.1,而某些软件源码编译只支持较低版本的gcc版本,比如cuda9.0只支持gcc6(Fedora25默认使用的),cuda9.1/9.2使用gcc7(Fedora27默认使用的),那么一般可以有两种办法:(1)安装scl后然后安装CentOS的repos源,然后安装de...原创 2018-07-08 13:08:39 · 5862 阅读 · 7 评论 -
我的AI之路(12)--如何配置Caffe使用GPU计算并解决编译中出现的若干错误
前面说过(安装Anaconda3 和Caffe),在github上下载Caffe源码后,安装以下依赖包:dnf install autoconf automakednf install protobuf-devel boost-devel openblas-devel opencv-devel leveldb-devel lmdb-devel hdf5-devel gflags-devel...原创 2018-07-08 01:50:01 · 2352 阅读 · 0 评论 -
我的AI之路(9)--使用scikit-learn
看了深度学习理论和算法的一些书后想动手实践找感觉的话,scikit-learn.org是个很好的选择,一般书上给的例子都零散不成体系,而且往往只是书的作者本人用到过或者了解的那几个算法,或者干脆抄的框架工具网站上的示例,而scikit-learn上面提供了有监督学习(Supervised Learning)的分类(Classification)和回归(Regression)、无监督学...原创 2018-06-10 20:12:02 · 517 阅读 · 0 评论 -
我的AI之路(8)--体验用OpenCV 3的ANN进行手写数字识别及解决遇到的问题
花了几周的晚上和周末时间断断续续看完了<<Learning OpenCV3 Computer Vision with Python Second Edition>>,把书上的示例代码全部拷贝到PyCharm里整理修改跑了一遍,收获不少,但是呢,不得不说这书的作者和编辑都是丢三落四不大严谨的人,里面文字错误、代码错误不少啊(当然,作者是基于Python 2写的代码...原创 2018-06-02 19:34:21 · 2440 阅读 · 15 评论 -
我的AI之路(4)--在Anaconda3 下安装Tensorflow 1.8
在Anaconda3安装好后,有一个默认的base(root)环境,你可以打开Anaconda Navigator后点左边列表中的Environments可以看到,或者在command窗口中输入conda activate或者activate,这时激活的默认环境就是base。 这个base(root) env实际上是融合于Anaconda本身的环境,也就是说如果在base...原创 2018-05-20 20:38:30 · 12789 阅读 · 0 评论 -
我的AI之路(3)--安装Anaconda3 和Caffe
安装Caffe之前得安装好支持环境,你可以在Linux下一个个地安装那些编译支持库包,但是那样太麻烦了,Anaconda提供了完整的支持库,下载Caffe源码后编译前修改配置文件,把支持库改为Anaconda的路径即可轻松build,省去按照出错提示一步步安装很多支持库的麻烦。 最新的Anaconda 5.1 支持Windows、MacOS和Linux,有Python 2...原创 2018-05-13 16:47:26 · 9870 阅读 · 10 评论 -
我的AI之路(2)--安装Fedora 28
打赢硬仗人重要 好装备也重要,看书上网上说的AI软件计算需要机器硬件好,想着动手前先准备好利器,趁笔记本每年3-4月降价的机会,去卖港行本本的店家买了个配置比较可以的Thinkpad T470P(笔记本我只相信Thinkpad的品质)准备动手实践,另外花了六百多大元JD上买了个L公司的256G SSD加装到笔记本里作为单独安装Linux的盘,总成本不过万(加了硬盘都还比官网大陆境内报价...原创 2018-05-12 23:35:43 · 4713 阅读 · 0 评论 -
我的AI之路(1)--前言
现在觉得非常有必要写文章,把知道的记录下来才不会遗忘,再好的记忆力比不上三寸烂笔头,真是这样,有时积累了一点技术经验自恃记性还好懒得写,结果一两年后再干同样的活时想不起来当初怎么干的细节,那后悔啊,抓耳挠腮,好在有blog这好玩意,到博客上打字记录比较好玩。 目前在嵌入式行业用C谋生十年了,之前在Java EE平台上干C/S/S、B/S/S三层系统6年多,再之前用古老的PB...原创 2018-05-12 18:14:24 · 2595 阅读 · 5 评论 -
我的AI之路(14)--Caffe example:使用MNIST数据集训练和测试LeNet-5模型
好久以前就体验了,没时间作记录,现在补上。 MNIST(Mixed National Institute of Standards and Technology)是一个手写数字图形数据库,由Yann LeCun(在深度学习的各种书中经常会被提到的大神之一,CNN的提出者) N年前整理出来的,训练数据集有60000个样本,测试数据集有10000个样本,每张图都已进行了尺...原创 2018-07-08 16:13:58 · 1037 阅读 · 2 评论 -
我的AI之路(10)--如何在Linux下安装CUDA和cuDNN
这些天很忙有些时间没上来写东西了,怕时间久了忘记遇到过的各种错误及解决办法的细节,今天周末来补上前面没做完的功课。 前面说过,需安装什么版本的CUDA和cuDNN取决于你安装的Tensorflow GPU版本对应支持到了哪个版本的CUDA,Tensorflow1.8仍只支持到了CUDA9.0,所以你盲目下载最新的CUDA9.2安装的话,后面你安装gpu版Tensorflow后...原创 2018-07-07 15:41:57 · 5419 阅读 · 4 评论 -
我的AI之路(22)--使用Object_Detection_Tensorflow_API
在安装好Tensorflow models(参见我的AI之路(18)--Tensorflow的模型安装之object_detection)后,下载Object_Detection_Tensorflow_API.ipynb文件,这个文件相对于object_detection里自带的object_detection_tutorial.ipynb来说,除了对静态测试图片中的狗和人等物体的识别,后面增...原创 2018-09-23 16:03:57 · 1307 阅读 · 0 评论 -
我的AI之路(21)--用Tensorflow object_detection跑PASCAL VOC 2012数据集
PASCAL VOC(Visual Object Classes)http://host.robots.ox.ac.uk/pascal/VOC/竞赛项目提供了用于目标分类识别的图片数据集以及development kit(用于访问数据和标签的MATLAB代码),分四种竞赛:对象分类/识别竞赛(Classification/Detection Competitions) 目标轮...原创 2018-09-17 18:19:55 · 1947 阅读 · 0 评论 -
我的AI之路(20)--用Tensorflow object_detection跑raccoon数据集
Raccoon是一个小巧有趣的加标签了的数据集,总共200张图片,用来训练识别浣熊,我们用它来学习体验object_detection的训练测试过程是可以的。 到https://github.com/datitran/raccoon_dataset 下载zip压缩文件到本地解压到D:\AI\dataset\raccoon_dataset-master,可以看到,在images下...原创 2018-09-16 17:56:38 · 2155 阅读 · 2 评论 -
我的AI之路(19)--如何在Windows下安装pycocotools PythonAPI
当你在Windows下执行Tensorflow object_detection的脚本时可能会如下报错:这时因为object_detection下面默认是没有包含cocotools的python实现代码的,Anaconda默认也没提供这个库,需要安装pycocotools,但如果你执行: python -m pip install pycocotools又可能会出现如下错...原创 2018-09-16 16:28:45 · 13176 阅读 · 57 评论 -
我的AI之路(17)--Tensorflow和Caffe的API及Guide
个人经验觉得,任何一门语言或框架或SDK工具,功能越多API也越多,不可能在短时间内全部熟悉且记得住,一般都是工作中一点一点多次使用接触后才慢慢熟悉掌握全部API的,在此之前只能是在读别人的代码、修改别人的代码或自己写代码时根据需要去多次反复查阅API和Guide文档,来逐渐熟悉和掌握每个API。 为作为一个读代码时方便查阅的集中入口,把Tensorflow和Caffe的API...原创 2018-09-09 17:15:01 · 687 阅读 · 0 评论 -
我的AI之路(16)--云服务器上安装和调试基于Tensorflow 1.10.1的训练环境
个人笔记本平时个人学习时用来跑跑小数据集的简单网络模型训练还行,如果跑大数据集加复杂网络模型,笔记本是扛不住的,跑得不怎么快不说,机身发热厉害、风扇一直呼呼响,估计你也会心疼,这样下去不知道能用几天几次笔记本估计要报废了,起码风扇容易坏,不是品质过硬的笔记本估计更是撑不住多久,另外有的模型代码训练过程中分配占用内存很大,用于笔记本的2G内存的GPU是撑不住的(这种情况下设置了per_pro...原创 2018-09-05 12:14:25 · 1882 阅读 · 0 评论 -
我的AI之路(15)--Linux下编译OpenCV3的最新版OpenCV3.4.1及错误解决
断断续续的花费了很长时间才从URL https://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/3.4.1/opencv-3.4.1.zip把OpenCV3的最新版OpenCV3.4.1下载到了本地,因为下载很慢,而且中途总是中断,所以下载一定要使用有断点续传功能的工具。为了方便有需要的同学下载,我把这个文件上传...原创 2018-07-14 23:04:02 · 3695 阅读 · 1 评论 -
我的AI之路(11)--如何解决在Linux下编译OpenCV3时出现的多个错误
最新版的OpenCV3.4可以使用下面的命令下载,或者在浏览器中下载:wget https://github.com/opencv/opencv/archive/3.4.1.tar.gz由于在github上下载大文件非常慢而且经常中断,个人觉得还是用有断点续传功能的浏览器下载好。无法忍受下载的龟速,所以网上搜了一下,csdn这里有位好同志共享了多个OpenCV版本的百度盘链接:ht...原创 2018-07-07 20:29:24 · 3303 阅读 · 0 评论