PulseFocusPlatform/README.md

141 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Pulse Focus Platform脉冲聚焦
## 0. 软件介绍
Pulse Focus Platform脉冲聚焦是面向水底物体图像识别的实时检测软件。软件以面向对象的设计理念采用Python语言编程基于pyqt、paddle、pyyaml以及ppdet等技术开发支持多批量图像、长视频等多种本地数据源预置多种物体识别模型并提供扩展接口方便新模型的集成与验证。平台安装简单运行方便可选参数丰富扩展性高非常适用于相关研究领域的工程技术人员和学生掌握学习侧扫或光学数据等形成的水底图像中关注物体的识别方法。
脉冲聚焦软件设计了图片和视频两种数据输入下的多物体识别功能。针对图片数据,调用模型进行单张图片预测,随后在前端可视化输出多物体识别结果;针对视频流动态图像数据,首先对视频流数据进行分帧采样,获取采样图片,再针对采样图片进行多物体识别,将采样识别结果进行视频合成,然后在前端可视化输出视频流数据识别结果。为了视频流数据处理的高效性,设计了采样-识别-展示的多线程处理方式,可加快视频流数据处理。
软件界面简单,易学易用,包含参数的输入选择,程序的运行,算法结果的展示等,源代码公开,算法可修改。
开发人员K. Wang、H.P. Yu、J. Li、Z.Y. Zhao、L.F. Zhang、G. Chen、H.T. Li、Z.Q. Wang、Y.G. Han
## 1. 开发环境配置
运行以下命令:
```bash
conda env create -f create_env.yaml
```
该命令会创建一个名为`Focus`的conda虚拟环境用`conda activate Focus`即可激活该虚拟环境。
## 2. 软件运行
运行以下命令运行软件:
```python
python main.py
```
## 3. 软硬件运行平台
1配置要求
<table>
<tr>
<th>组件</th>
<th>配置</th>
<th>备注</th>
</tr>
<tr>
<td>系统 </td>
<td>Windows 10 家庭中文版 20H2 64位</td>
<td>扩展支持Linux和Mac系统</td>
</tr>
<tr>
<td>处理器</td>
<td>处理器类型:
酷睿i3兼容处理器或速度更快的处理器
处理器速度:
最低1.0GHz
建议2.0GHz或更快
</td>
<td>不支持ARM、IA64等芯片处理器</td>
</tr>
<tr>
<td>内存</td>
<td>RAM 16.0 GB (15.7 GB 可用)</td>
<td></td>
</tr>
<tr>
<td>显卡</td>
<td>最小:核心显卡
推荐GTX1060或同类型显卡
</td>
<td></td>
</tr>
<tr>
<td>硬盘</td>
<td>500G</td>
<td></td>
</tr>
<td>显示器</td>
<td>3840×2160像素高分屏</td>
<td></td>
</tr>
<tr>
</tr>
<td>软件</td>
<td>Anaconda3 2020及以上</td>
<td>Python3.7及以上,需手动安装包</td>
</tr>
</table>
2手动部署及运行
推荐的安装步骤如下:
安装Anaconda3-2020.02-Windows-x86_64或以上版本
手动安装pygame、pymunk、pyyaml、numpy、easydict和pyqt安装方式推荐参考如下
```
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame==2.0.1
```
将软件模块文件夹拷贝到电脑中以D盘为例路径为D:\island-multi_ships
## 4. 软件详细介绍
软件总体开发系统架构图如下所示。
![开发系统架构图](https://osredm.com/repo/PulseFocusPlatform/PulseFocusPlatform/raw/branch/master/pic1/1.png)
1界面设计
平台界面设计如上图所示,界面各组件功能设计如下:
![界面设计](https://osredm.com/repo/PulseFocusPlatform/PulseFocusPlatform/raw/branch/master/pic1/2.png)
* 静态图像导入用于选择需要进行预测的单张图像可支持jpgpngjpeg等格式图像选择图像后会在下方界面进行展示。
* 动态图像导入:用于选择需要进行预测的单个视频,可支持pm4等格式视频选择视频后会在下方界面进行展示。
* 信息导出:用于在预测完成后,将预测后的照片,视频导出到具体文件夹下。
* 特征选择:由于挑选相关特征。
* 预处理方法:由于选择相关预处理方法。
* 识别算法用于选择预测时的所需算法目前支持YOLO与RCNN两种模型算法。
* GPU加速选择是否使用GPU进行预测加速对视频预测加速效果明显。
* 识别:当相关配置完成后,点击识别选项,会进行预测处理,并将预测后的视频或图像在下方显示。
* 训练目前考虑到GPU等资源限制未完整开放。
* 信息显示在界面右下角显示类别flvgxmbwobject的识别目标个数。
2主要功能设计
设计了图片和视频两种数据输入的多目标识别功能。针对图片数据,调用模型进行单张图片预测,随后在前端可视化输出多目标识别结果;针对视频流动态图像数据,首先对视频流数据进行分帧采样,获取采样图片,再针对采样图片进行多目标识别,将采样识别结果进行视频合成,然后在前段可视化输出视频流数据识别结果。为求视频流数据处理的高效性,设计了采样-识别-展示的多线性处理方式,可加快视频流数据处理。
* 侧扫声呐图像多目标识别功能
* 侧扫声呐视频多目标识别功能
## 5. 软件使用结果
Faster-RCNN模型在四种目标物图片上的识别验证结果如下所示
![D:\pic\脉冲](https://osredm.com/repo/PulseFocusPlatform/PulseFocusPlatform/raw/branch/master/pic1/3.png)
YOLOV3模型在四种目标物图片上的识别验证结果如下所示
![D:\pic\脉冲](https://osredm.com/repo/PulseFocusPlatform/PulseFocusPlatform/raw/branch/master/pic1/4.png)
PP-YOLO-BOT模型在四种目标物图片上的识别验证结果如下所示
![D:\pic\脉冲](https://osredm.com/repo/PulseFocusPlatform/PulseFocusPlatform/raw/branch/master/pic1/5.png)
调用PP-YOLO-BOT模型对视频数据进行识别验证结果如下截图所示
![D:\pic\脉冲](https://osredm.com/repo/PulseFocusPlatform/PulseFocusPlatform/raw/branch/master/pic1/6.png)
## 6. 其他说明
* 使用GPU版本
参考百度飞桨paddle官方网站安装
[安装链接](https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/windows-pip.html)
* 模型文件全部更新在inference_model中pic为测试图片