系统制作
取一个U盘用作做电脑linux系统。
制作系统启动盘网址:
https://www.cnblogs.com/coxiseed/p/9851459.html
按照这个做的linux系统会起不来,提示错误,需要改动一下其中的步骤,如下入所示↓,选择红色剪头指向的选项即可。写入镜像后U盘控件会变成2兆大小,再次格式化重新换个选项即可恢复正常空间。
进入系统后联网问题。
这个网址有介绍:
最后临时解决办法用手机连接数据线USB共享网络功能。
系统版本要求
Ubuntu 18及以上即可。测试使用的是Ubuntu 20.04。
软件准备
cuda和cudnn
软件介绍
用显卡计算需要安装cuda和cudnn来支持。没有则无需安装。
先安装cuda,再安装对应版本的cudnn。
安装步骤
查看 cuda 版本命令:nvcc -V
网址:Linux下安装cuda和对应版本的cudnn (1024sky.cn)
严格按照下面得网址操作。提示相同,没有问题。本地文件夹中有cuda相关得压缩包。
(23条消息) Ubuntu20.04 安装cuda和cudnn_Archy瞬的博客-CSDN博客_ubuntu20.04安装cuda和cudnn
安装cuda命令:
sudo sh cuda_9.0.176_384.81_linux.run
cuda安装完成,输入nvcc -V
命令查看cuda信息
用到的文件↓:
下面是官网下载介绍。公司网有时无法下载。也做个记录。
Cuda下载:
Cudnn下载(需要注册登录):
OpenCV
软件介绍
OpenCV是一个开源的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。提供了Python、Ruby、MATLAB等语言的接口,并且实现了图像处理和计算机视觉方面的很多通用算法,可以给开发者调用
环境搭建
安装opencv命令操作网址:按照下面的网址中命令进行编译。
https://docs.opencv.org/4.5.4/d7/d9f/tutorial_linux_install.html
需要注意的是下载的解压缩后要把.master的文件名放到主目录中。如下图所示↓
opencv安装完毕编译成功。在ubuntu系统中测试是否安装成功↓
cd opencv –版本号/samples/cpp/example_cmake
cmake .
make
./opencv_example
安装问题整理
安装编译Opencv会遇到很多问题。主要问题如图示例:
问题记录都有总结和说明↓。
***************************************************************************************************************************************************************
安装opencv命令操作网址:
https://docs.opencv.org/4.5.4/d7/d9f/tutorial_linux_install.html
最后安装cmake命令:
由于 由 root 用户拥有,因此应使用提升的权限 () 执行安装:/usr/local sudo
sudo make install
相关命令:**********************************************************************
查看cmake的版本:
cmake --version
查看当前路径命令:pwd
Ubuntu查看OpenCV版本
pkg-config --modversion opencv
新建文件命令:
sudo touch videoio.h
执行命令测试:
heng@ubuntu:~/opencv/build$ cmake --build .
mkdir -p build && cd build
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../opencv-master
编译完成,输入sudo make install 进行安装
提示:tessearct相关:下载tessearct
相关两个网址:
https://copyfuture.com/blogs-details/20201208173533930bxpgaw7s24uhrwr
https://blog.csdn.net/cleanarea/article/details/85846257
1.$ cd ~ $ git clone https://github.com/tesseract-ocr/tesseract.git $ cd tesseract
2.使用cmake重新编译,保证没有错误
sudo ./autogen.sh
编译命令:sudo ./configure
提示error:Leption 1.74 or higher is required...
编译命令:sudo apt-get install libleptionica-dev
make
sudo make install
sudo make 最后有提示命令。
暂时编译还提示找不到的话,先按照网址下载安装编译解决VTK问题。
安装教程的命令,即可。再次编译,两者都找到了。
JNI安装后重启才会生效。
提示:# Module opencv_alphamat disabled because the following dependencies are not Found: Eigen3
解决:sudo apt-get install libeigen3-dev
提示: Module opencv_ovis disabled because OGRE3D was not found
这里需要安装ogre3d,但是在安装它之前,需要先安装ois
1)从git上下载
sudo git clone https://github.com/ogre3d/OIS.git (提示无法访问的话多试几次,是网络的问题。)
2)cmake一下,先新建build文件夹(cmake -H. -B.)
然后执行sudo make命令
完成 sudo make install
3)git上下载
https://github.com/OGRECave/ogre.git 安装命令同上。
从github上下载ceres-solver
git clone https://github.com/ceres-solver/ceres-solver.git
重新编译,记得在build文件中运行sudo make 然后 sudo make install 安装命令同上。
可能出现问题:fatal error:pugixml.hpp:没有那个文件或目录
sudo apt-get install libpugixml-dev
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev
# BLAS & LAPACK
sudo apt-get install libatlas-base-dev
sudo add-apt-repository ppa:bzindovic/suitesparse-bugfix-1319687
sudo apt-get update
sudo apt-get install libsuitesparse-dev
编译提示:imgcodes:OpenEXR codec is disabled in runtime.Details:http://git......
解决:sudo apt-get install libopenexr-dev zlib1g-dev
sudo apt install python3-pip
pip install OpenEXR
问题:提示libva.h找不到head(大概)
http://www.mamicode.com/info-detail-175931.html
解决:
$ git clone git://anongit.freedesktop.org/wayland/wayland
$ cd wayland(看里面的readme文件编译 重启就好了。)
$ ./autogen.sh --prefix=$WLD
$ make && make install
$ cd .
提示找不到BLAS, Atlas, LAPACK:
一定要按照网址提示安装。仔细一点,确定编译成功,并把相关得库文件考到对应目录。卡了两天
https://copyfuture.com/blogs-details/20201208173533930bxpgaw7s24uhrwr
cblas 文件夹中:Makefile.in 中BLLIB = libblas.a 需要加完全路径。/usr/local/lib/libblas.a
Lapack文件夹中:make.inc中 末尾:也都加相应路径:/usr/local/lib/XXX.a
编译失败记得make clean 再重新编译。
相关命令:**********************************************************************
问题:CMake Error at CMakeLists.txt:3 (project):
No CMAKE_CXX_COMPILER could be found.
原因:缺库
解决:
sudo apt-get update
sudo apt-get install -y build-essential
opencv编译安装--踩坑。先看这几个!!
https://blog.csdn.net/cleanarea/article/details/85846257
https://copyfuture.com/blogs-details/20201208173533930bxpgaw7s24uhrwr
https://blog.csdn.net/sheqianweilong/article/details/102646929
在下载的过程中,我们可以添加opencv所需要的依赖库:
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
错误:*********************************************************************************************************************************
提示-:-------------- Looking for ccache -not found
解决命令-:----------sudo apt-get install ccache
提示-:-------------- Could NOT find HDF5
解决命令-:----------sudo apt-get install libhdf5-dev
安装python 命令 要不编译opencv 报错1.
sudo apt-get install python-dev
安装libgtk3库.要不编译opencv 报错2.
sudo apt-get install libgtk-3-dev
安装gtk2.0.要不编译opencv 报错3.
sudo apt-get install libgtk2.0-dev
安装aptitude命令:报错4.
sudo apt-get install aptitude
安装下列包命令:报错5.
sudo aptitude install libavcodec-dev libavformat-dev libswscale-dev libavutil-dev
安装下列包命令:报错6.
sudo apt-get install libjpeg-dev
安装下列包命令:报错7.
Could NOT find TIFF (missing: TIFF_LIBRARY TIFF_INCLUDE_DIR)
sudo apt-get install libtiff5-dev
https://www.cnblogs.com/rohens-hbg/p/12326084.html
问题1:
E: Unable to locate package libjasper-dev
解决方法:
https://blog.csdn.net/weixin_41053564/article/details/81254410
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
成功的解决了问题,其中libjasper1是libjasper-dev的依赖包
问题2:
No package 'gstreamer-base-1.0' found
解决方法:
https://stackoverflow.com/questions/37678324/compiling-opencv-with-gstreamer-cmake-not-finding-gstreamer
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
问题3:
No package 'libavresample' found
解决方法:
sudo apt-get install libavresample-dev
问题4:
No package 'libgphoto2' found
解决方法:
sudo apt-get install libgphoto2-dev
问题5:
IPPICV: Download failed: 7;"Couldn't connect to server"
解决方法:
问题6:
Could not find OpenBLAS include. Turning OpenBLAS_FOUND off
-- Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off
-- Could NOT find Atlas (missing: Atlas_CBLAS_INCLUDE_DIR Atlas_CLAPACK_INCLUDE_DIR Atlas_CBLAS_LIBRARY Atlas_BLAS_LIBRARY Atlas_LAPACK_LIBRARY)
-- A library with BLAS API not found. Please specify library location.
-- LAPACK requires BLAS
-- A library with LAPACK API not found. Please specify library location.
-- Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
-- Could NOT find Matlab (missing: MATLAB_MEX_SCRIPT MATLAB_INCLUDE_DIRS MATLAB_ROOT_DIR MATLAB_LIBRARIES MATLAB_LIBRARY_DIRS MATLAB_MEXEXT MATLAB_ARCH MATLAB_BIN)
-- VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file
CMake Error at cmake/OpenCVModule.cmake:288 (message):
No modules has been found:
/home/program/opencv-3.4.2/opencv_contrib-3.4.0/modules
Call Stack (most recent call first):
cmake/OpenCVModule.cmake:368 (_glob_locations)
modules/CMakeLists.txt:7 (ocv_glob_modules)
解决方法:
sudo apt-get install libopenblas-dev
https://blog.sciencenet.cn/blog-3233813-1001369.html
问题7:
fatal error: linux/videodev.h: No such file or directory
fatal error: sys/videoio.h: No such file or directory
问题8:No package 'libdc1394' found 已解决
sudo apt-get install libdc1394-22-dev
无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),请查看您是否正以 root 用户运行?
解锁命令:heng@ubuntu:~$ sudo rm /var/lib/dpkg/lock-frontend
问题9:-- Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
https://www.cnblogs.com/renfu/p/12898040.html
解决编译opencv时,卡在IPPICV: Download: ippicv_2020_lnx_intel64_20191018_general.tgz
https://blog.csdn.net/qq_43478260/article/details/109458079
IPPICV: Download failed: 37;"Couldn't read a file:// file"
这里就要注意ippicv.cmake文件中,这一句:
if(X86_64)
set(OPENCV_ICV_NAME "ippicv_2020_lnx_intel64_20191018_general.tgz")
的("ippicv_2020_lnx_intel64_20191018_general.tgz")是否与你下载的压缩包文件名称是否一致。
压缩包放在下列路径下方。
"file:///home/test/download/
"file:///home/heng/ippicv_2020/"
配置不完整,出现错误!
Configuring incomplete, errors occurred!
错误:*********************************************************************************************************************************
安装 opencv 所需依赖包
https://blog.csdn.net/weixin_41896508/article/details/80795239
*******************************************************************************************************************************************************************
相关需要下载的文件已经保存在文件夹中:↓用到的文件用红色圈画出来了。其他是出问题的文件做个保留,出现问题会用的到。
编译最后提示Configuring done、Generating done、-- Build files have been written to: /home/heng/build即完成。
到此opencv配置完成。
Darknet框架
介绍
darknet是一个较为轻型的完全基于C与CUDA的开源深度学习框架,其主要特点就是容易安装,没有任何依赖项(OpenCV都可以不用),移植性非常好,支持CPU与GPU两种计算方式。
安装步骤和相关命令
yolov3安装过程和和相关命令
Linux 直接从网上git下载。
git clone https://github.com/pjreddie/darknet.git
cd darknet
make
运行命令:
./darknet
您应该得到输出:usage: ./darknet <function>
说明此此时darknet成功安装。
测试命令:
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
会在文件夹生成一个“prediction.jpg”图片。有opencv会自动弹出窗口。
Yolov4安装过程和和相关命令
https://blog.csdn.net/weixin_44771532/article/details/105495755
首先把代码下载下来,可以用下面命令下载。
git clone https://github.com/AlexeyAB/darknet.git
1.编译
如果需要使用GPU加速,那么得打开项目里面的makefile文件修改一些参数的值。修改完成之后在直接make。
GPU=1
CUDNN=1
CUDNN_HALF=1
OPENCV=1
OPENMP=1
LIBSO=1
DEBUG=1
# cd到darknet-master目录下
make
或者 make -j8
2.测试一下开源权重
# 测试图片,结果保存在darknet-master/predictions.jpg
./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg
3.准备自己要训练的数据集,以voc数据集的格式存放
先按照上面格式准备好数据
Annotations是存放标签xml文件
JPEGImage 存放图片
ImageSets 里面txt按行存放着图片名字
如
000001
000002
000003…
4.制作yolov4需要的label以及txt
这个时候只用voc数据集的格式是不满足我们这里需要的格式。首先打开路径下 build/darknet/x64/data/voc/voc_label.py,修改voc_label.py里面的内容。
先把7行的关于2012的去掉,再把第9行改成自己的类别。
接着给每个路径前面加个data,如下图
修改完了之后在主目录darknet-master下执行voc_label.py,否则哪些文件会生成在build/darknet/x64/data下面,执行完成后你会看到主目录下的data/目录下会生成几个txt。主目录darknet-master下的data/VOCdevkit/VOC2007/下面会生成一个label文件夹。
5.修改配置文件
<a.>cfg/目录下复制coco.data,并且重命名为obj.data。然后使用修改下面以下内容
<b.>cfg/目录下复制coco.names,并且重命名为obj.names。改成自己类别的名称
<c.>复制cfg/yolov4-custom.cfg,并且重命名为yolo-obj.cfg,同时修改一下内容
上图中修改width和height为416,修改最大batch迭代多少个数max_batches = 6000,修改steps多久学习率下降一次,一般设置为batch个数的80%和90%。
然后三个classes的地方要修改
还有三个filters=255的地方要修改成自己的。
6.开始训练自己的数据集
./darknet detector train cfg/obj.data cfg/yolo-obj.cfg yolov4.conv.137
如若报错这个错误,则将cfg/yolo-obj.cfg 里面26行mosaic=1改成mosaic=0或者注释掉。没报错就忽略。
下图为训练时的状态界面,红色圈内为剩余时间。
7.预测
./darknet detector test cfg/obj.data cfg/yolo-obj.cfg yolo-obj_xxxx.weights
相关软件介绍-labelImg
识别训练过程需要标注工具标注图片。
labelImg安装步骤
Linux下载命令下图所示↓
使用视频学习网址推荐:
https://www.bilibili.com/video/BV1V44y1i7Av/
linux labelImg打开命令:
cd labelImg
sudo make qt5py3
python3 labelImg.py
写的很详细。
https://www.cnblogs.com/answerThe/p/11481564.html
https://pjreddie.com/darknet/yolo/
windows安装使用:
本地文件夹中labelImg-master文件是windows图像标注工具。windows启动命令↓:
Anaconda 是相关环境工具。
Darknet 安装问题记录
在darknet-master文件夹目录下,执行编译执行文件命令:./build.sh
可能会提示:./build 找不到命令
解决方式:鼠标右键build.sh文件,选择属性-权限-将允许执行文件(E)进行勾选,再次操作。
提示:Couldn’t open file:data/XXXX
一般就是文件路径写的有问题,设置成绝对路径:/home/user/darknet/data/XXXX.
需要注意的是路径改成自己的路径。Python里路径格式为:
C:\\Users\wz\Desktop\VOCdevkit\VOC2007 C:后面是两个\\。
软件运行相关命令
1、创建文件夹
mkdir -p 文件夹名
p 确保目录名称存在,不存在的就建一个。
2、创建文件
如:touch a.txt
3、运行pthon文件命令
python test.py