系统制作

取一个U盘用作做电脑linux系统。

制作系统启动盘网址:

https://www.cnblogs.com/coxiseed/p/9851459.html

按照这个做的linux系统会起不来,提示错误,需要改动一下其中的步骤,如下入所示↓,选择红色剪头指向的选项即可。写入镜像后U盘控件会变成2兆大小,再次格式化重新换个选项即可恢复正常空间。

 

进入系统后联网问题。

这个网址有介绍:

https://blog.csdn.net/yuanwuwei/article/details/114143789?spm=1001.2101.3001.6650.16&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-16.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-16.nonecase

最后临时解决办法用手机连接数据线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下载(需要注册登录):

cuDNN 下载|英伟达开发者 (nvidia.com)

 

 

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