基于PP-PicoDet的【PP吸烟视频分析预警系统】

简介: 基于PP-PicoDet的【PP吸烟视频分析预警系统】

一、PP吸烟视频分析预警检测系统


image.png

项目地址:基于PP-PicoDet的【PP视频分析预警系统】 aistudio.baidu.com/aistudio/pr…

欢迎fork交流!


1.功能介绍


PP视频分析预警系统【吸烟检测】,区域内一旦检测到人员吸烟,系统立即触发报警,提醒管理人员处理。有效提高监管效率,减少安全隐患。广泛应用于仓库、公园、加油站、厨房、森林、商场等一系列禁烟场所、防火防爆场所。


2.项目背景


吸烟有害健康,而吸烟带来的安全隐患更是为公众的日常生活环境带来了巨大的威胁。据报道,全国每年的火灾中有10%以上是吸烟引发的。据上海、北京、江苏等省市统计,抽烟不慎引起的火灾占10—20%,在各种火灾原因中居第3位。传统的控烟技术手段主要以烟雾传感器为主,当传感器检测到烟雾时产生报警。但是管理人员无法对其高效的管理,不能及时取证,无法追溯,没有形成一个有效的闭环,导致控烟效果不佳,并且还会出现漏报、误报。


3.吸烟监测


PP视频分析预警系统【吸烟检测】基于飞桨自研的轻量级系列模型PP-PicoDet,对人吸烟的主要活动结合对香烟的识别,对监控区域内的人员抽烟行为进行分析,当发现异常情况系统即刻报警,提醒管理人员及时处理,接入广播系统前端可喊话提醒,真正做到事前预警、事中常态检测、事后规范管理。


4.应用场景


PP视频分析预警系统【吸烟检测】广泛应用于仓库、公园、加油站、厨房、森林、商场、地铁站以及消防楼道等一系列禁烟场所、防火防爆场所


烟头虽小,祸患无穷。PP视频分析预警系统【吸烟检测】能有效提高监管效率,减少安全隐患。可广泛部署于边缘设备上,经济、稳定、实用。


二、数据处理


1.解压缩数据


# 解压缩数据
!unzip -qoa data/data94796/pp_smoke.zip


2.按比例划分数据集


ratio比例系数


import random
import os
#生成train.txt和val.txt
random.seed(2020)
xml_dir  = '/home/aistudio/Annotations'#标签文件地址
img_dir = '/home/aistudio/images'#图像文件地址
path_list = list()
for img in os.listdir(img_dir):
    img_path = os.path.join(img_dir,img)
    xml_path = os.path.join(xml_dir,img.replace('jpg', 'xml'))
    path_list.append((img_path, xml_path))
random.shuffle(path_list)
ratio = 0.9
train_f = open('/home/aistudio/work/train.txt','w') #生成训练文件
val_f = open('/home/aistudio/work/val.txt' ,'w')#生成验证文件
for i ,content in enumerate(path_list):
    img, xml = content
    text = img + ' ' + xml + '\n'
    if i < len(path_list) * ratio:
        train_f.write(text)
    else:
        val_f.write(text)
train_f.close()
val_f.close()
#生成标签文档
label = ['smoke']#设置你想检测的类别
with open('/home/aistudio/work/label_list.txt', 'w') as f:
    for text in label:
        f.write(text+'\n')


3.数据查看


源数据格式为VOC格式,存储格式如下:

dataset/
    ├── Annotations
    │   ├── xxx1.xml
    │   ├── xxx2.xml
    │   ├── xxx3.xml
    │   |   ...
    ├── Images
    │   ├── xxx1.jpg
    │   ├── xxx2.jpg
    │   ├── xxx3.jpg
    │   |   ...
├── label_list.txt (必须提供)
├── train.txt (训练数据集文件列表, ./Images/xxx1.jpg ./Annotations/xxx1.xml)
├── valid.txt (测试数据集文件列表)


三、环境准备


1.PP-PicoDet介绍

image.png

PaddleDetection中提出了全新的轻量级系列模型PP-PicoDet,在移动端具有卓越的性能,成为全新SOTA轻量级模型。详细的技术细节可以参考我们的arXiv技术报告

PP-PicoDet模型有如下特点:


  • 🌟 更高的mAP: 第一个在1M参数量之内mAP(0.5:0.95)超越30+(输入416像素时)。
  • 🚀 更快的预测速度: 网络预测在ARM CPU下可达150FPS。
  • 😊 部署友好: 支持PaddleLite/MNN/NCNN/OpenVINO等预测库,支持转出ONNX,提供了C++/Python/Android的demo。
  • 😍 先进的算法: 我们在现有SOTA算法中进行了创新, 包括:ESNet, CSP-PAN, SimOTA等等。目前


2.数据格式


目前PP-PicoDet支持 VOC 和 COCO 两种格式,可根据需要选择。

image.png


3.基线


模型 输入尺寸 mAPval
0.5:0.95
mAPval
0.5
参数量
(M)
FLOPS
(G)
预测时延NCNN(ms) 预测时延Lite(ms) 下载 配置文件
PicoDet-S 320*320 27.1 41.4 0.99 0.73 8.13 6.65 model | log config
PicoDet-S 416*416 30.7 45.8 0.99 1.24 12.37 9.82 model | log config
PicoDet-M 320*320 30.9 45.7 2.15 1.48 11.27 9.61 model | log config
PicoDet-M 416*416 34.8 50.5 2.15 2.50 17.39 15.88 model | log config
PicoDet-L 320*320 32.9 48.2 3.30 2.23 15.26 13.42 model | log config
PicoDet-L 416*416 36.6 52.5 3.30 3.76 23.36 21.85 model | log config
PicoDet-L 640*640 40.9 57.6 3.30 8.91 54.11 50.55 model | log config

更多的配置

模型 输入尺寸 mAPval
0.5:0.95
mAPval
0.5
参数量
(M)
FLOPS
(G)
预测时延NCNN
(ms)
预测时延Lite
(ms)
下载 配置文件
PicoDet-Shufflenetv2 1x 416*416 30.0 44.6 1.17 1.53 15.06 10.63 model | log config
PicoDet-MobileNetv3-large 1x 416*416 35.6 52.0 3.55 2.80 20.71 17.88 model | log config
PicoDet-LCNet 1.5x 416*416 36.3 52.2 3.10 3.85 21.29 20.8 model | log config
PicoDet-LCNet 1.5x 640*640 40.6 57.4 3.10 - - - model | log config
PicoDet-R18 640*640 40.7 57.2 11.10 - - - model | log config

注意事项:

  • 时延测试: 我们所有的模型都在骁龙865(4xA77+4xA55) 上测试(4线程,FP16预测)。上面表格中标有NCNN的是使用NCNN库测试,标有Lite的是使用Paddle Lite进行测试。 测试的benchmark脚本来自: MobileDetBenchmark
  • PicoDet在COCO train2017上训练,并且在COCO val2017上进行验证。
  • PicoDet使用4卡GPU训练(PicoDet-L-640使用8卡训练),并且所有的模型都是通过发布的默认配置训练得到。


其他模型的基线


模型 输入尺寸 mAPval
0.5:0.95
mAPval
0.5
参数量
(M)
FLOPS
(G)
预测时延NCNN(ms)
YOLOv3-Tiny 416*416 16.6 33.1 8.86 5.62 25.42
YOLOv4-Tiny 416*416 21.7 40.2 6.06 6.96 23.69
PP-YOLO-Tiny 320*320 20.6 - 1.08 0.58 6.75
PP-YOLO-Tiny 416*416 22.7 - 1.08 1.02 10.48
Nanodet-M 320*320 20.6 - 0.95 0.72 8.71
Nanodet-M 416*416 23.5 - 0.95 1.2 13.35
Nanodet-M 1.5x 416*416 26.8 - 2.08 2.42 15.83
YOLOX-Nano 416*416 25.8 - 0.91 1.08 19.23
YOLOX-Tiny 416*416 32.8 - 5.06 6.45 32.77
YOLOv5n 640*640 28.4 46.0 1.9 4.5 40.35
YOLOv5s 640*640 37.2 56.0 7.2 16.5 78.05


4.安装


环境要求

  • PaddlePaddle >= 2.1.2
  • Python >= 3.5
  • PaddleSlim >= 2.1.1
  • PaddleLite >= 2.10
# 下载PaddleDetection源码,执行如下命令
!git clone https://gitee.com/PaddlePaddle/PaddleDetection.git -b develop --depth 1
Cloning into 'PaddleDetection'...
remote: Enumerating objects: 1993, done.
remote: Counting objects: 100% (1993/1993), done.
remote: Compressing objects: 100% (1511/1511), done.
remote: Total 1993 (delta 689), reused 1118 (delta 415), pack-reused 0
Receiving objects: 100% (1993/1993), 175.80 MiB | 4.03 MiB/s, done.
Resolving deltas: 100% (689/689), done.
Checking connectivity... done.
# 安装其他依赖
%cd ~/PaddleDetection
!pip install -U pip --user
!pip install -r requirements.txt 
# 编译安装paddledet
!python setup.py install
!pip install paddleslim==2.1.1


四、执行训练


1.模型选择


因为要部署在移动端,且保证速度快和精度高,因此我们选择PaddleDetection提出的全新轻量级系列模型PP-PicoDet,模型有如下特点:


  • 更高的mAP: 第一个在1M参数量之内mAP(0.5:0.95)超越30+(输入416像素时)。
  • 更快的预测速度: 网络预测在ARM CPU下可达150FPS。
  • 部署友好: 支持PaddleLite/MNN/NCNN/OpenVINO等预测库,支持转出ONNX,提供了C++/Python/Android的demo。
  • 先进的算法: 我们在现有SOTA算法中进行了创新, 包括:ESNet, CSP-PAN, SimOTA等等。


在此选择PP-PicoDet的VOC数据集训练配置


2.配置修改


(1)首先修改configs/datasets/voc.yml

metric: VOC
map_type: 11point
num_classes: 1
TrainDataset:
  !VOCDataSet
    dataset_dir: /home/aistudio/images
    anno_path: /home/aistudio/work/train.txt
    label_list: /home/aistudio/work/label_list.txt
    data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult']
EvalDataset:
  !VOCDataSet
    dataset_dir: /home/aistudio/images
    anno_path: /home/aistudio/work/val.txt
    label_list: /home/aistudio/work/label_list.txt
    data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult']
TestDataset:
  !ImageFolder
    anno_path: /home/aistudio/work/label_list.txt

数据集包含的类别数:num_classes 包含训练集、验证集、测试集的图片路径image_dir、标注json文件路径anno_path、数据集路径dataset_dir


(2)然后修改 configs/picodet/picodet_s_320_voc.yml

预训练模型:pretrain_weights

训练超参数:epoch、batch_size、base_lr

详细配置文件改动和说明

# 已配置好,覆盖
%cd ~
cp voc.yml ~/PaddleDetection/configs/datasets/voc.yml


3.模型训练


PaddleDetection提供了单卡/多卡训练模型,满足用户多种训练需求,具体代码如下:

# 单卡GPU上训练
%cd ~/PaddleDetection/
!export CUDA_VISIBLE_DEVICES=0 #windows和Mac下不需要执行该命令
!python tools/train.py -c  configs/picodet/picodet_s_320_voc.yml --eval
# 多卡GPU上训练
# !export CUDA_VISIBLE_DEVICES=0,1,2,3
# !python -m paddle.distributed.launch --gpus 0,1,2,3 tools/train.py \
#             -c configs/picodet/picodet_l_640_coco.yml

日志

[03/11 00:47:54] ppdet.engine INFO: Epoch: [290] [0/5] learning_rate: 0.001711 loss_vfl: 0.479042 loss_bbox: 0.254253 loss_dfl: 0.178100 loss: 0.905043 eta: 0:02:34 batch_cost: 2.7071 data_cost: 0.9844 ips: 47.2839 images/s
[03/11 00:48:10] ppdet.engine INFO: Epoch: [291] [0/5] learning_rate: 0.001386 loss_vfl: 0.477680 loss_bbox: 0.251249 loss_dfl: 0.178367 loss: 0.908022 eta: 0:02:18 batch_cost: 2.7419 data_cost: 1.0017 ips: 46.6828 images/s
[03/11 00:48:25] ppdet.engine INFO: Epoch: [292] [0/5] learning_rate: 0.001096 loss_vfl: 0.481945 loss_bbox: 0.250645 loss_dfl: 0.179363 loss: 0.913140 eta: 0:02:03 batch_cost: 2.6677 data_cost: 0.9474 ips: 47.9814 images/s
[03/11 00:48:41] ppdet.engine INFO: Epoch: [293] [0/5] learning_rate: 0.000839 loss_vfl: 0.484040 loss_bbox: 0.255441 loss_dfl: 0.178693 loss: 0.920747 eta: 0:01:47 batch_cost: 2.6138 data_cost: 0.8594 ips: 48.9717 images/s
[03/11 00:48:57] ppdet.engine INFO: Epoch: [294] [0/5] learning_rate: 0.000617 loss_vfl: 0.487185 loss_bbox: 0.259508 loss_dfl: 0.179363 loss: 0.927957 eta: 0:01:32 batch_cost: 2.7094 data_cost: 1.0264 ips: 47.2421 images/s
[03/11 00:49:15] ppdet.engine INFO: Epoch: [295] [0/5] learning_rate: 0.000428 loss_vfl: 0.487185 loss_bbox: 0.258693 loss_dfl: 0.178415 loss: 0.928867 eta: 0:01:17 batch_cost: 2.7961 data_cost: 1.2018 ips: 45.7784 images/s
[03/11 00:49:31] ppdet.engine INFO: Epoch: [296] [0/5] learning_rate: 0.000274 loss_vfl: 0.487185 loss_bbox: 0.258693 loss_dfl: 0.177018 loss: 0.924824 eta: 0:01:01 batch_cost: 2.8753 data_cost: 1.2545 ips: 44.5171 images/s
[03/11 00:49:48] ppdet.engine INFO: Epoch: [297] [0/5] learning_rate: 0.000154 loss_vfl: 0.484518 loss_bbox: 0.252453 loss_dfl: 0.176589 loss: 0.916203 eta: 0:00:46 batch_cost: 2.9412 data_cost: 1.4018 ips: 43.5202 images/s
[03/11 00:50:05] ppdet.engine INFO: Epoch: [298] [0/5] learning_rate: 0.000069 loss_vfl: 0.480916 loss_bbox: 0.249677 loss_dfl: 0.175895 loss: 0.913992 eta: 0:00:30 batch_cost: 2.9504 data_cost: 1.4170 ips: 43.3835 images/s
[03/11 00:50:22] ppdet.engine INFO: Epoch: [299] [0/5] learning_rate: 0.000017 loss_vfl: 0.483217 loss_bbox: 0.249677 loss_dfl: 0.175399 loss: 0.913660 eta: 0:00:15 batch_cost: 2.9036 data_cost: 1.2665 ips: 44.0839 images/s
[03/11 00:50:29] ppdet.utils.checkpoint INFO: Save checkpoint: output/picodet_s_320_voc
[03/11 00:50:29] ppdet.engine INFO: Eval iter: 0
[03/11 00:50:33] ppdet.metrics.metrics INFO: Accumulating evaluatation results...
[03/11 00:50:33] ppdet.metrics.metrics INFO: mAP(0.50, 11point) = 85.92%
[03/11 00:50:33] ppdet.engine INFO: Total sample number: 78, averge FPS: 19.29553460230837
[03/11 00:50:33] ppdet.engine INFO: Best test bbox ap is 0.859.
[03/11 00:50:34] ppdet.utils.checkpoint INFO: Save checkpoint: output/picodet_s_320_voc


五、模型评估


!python -u tools/eval.py -c  configs/picodet/picodet_s_320_voc.yml  -o weights=output/picodet_s_320_voc/best_model.pdparams
W0311 00:52:53.690088 19588 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1
W0311 00:52:53.741935 19588 device_context.cc:465] device: 0, cuDNN Version: 7.6.
[03/11 00:53:13] ppdet.utils.checkpoint INFO: Finish loading model weights: output/picodet_s_320_voc/best_model.pdparams
[03/11 00:53:17] ppdet.engine INFO: Eval iter: 0
[03/11 00:53:20] ppdet.metrics.metrics INFO: Accumulating evaluatation results...
[03/11 00:53:20] ppdet.metrics.metrics INFO: mAP(0.50, 11point) = 85.92%
[03/11 00:53:20] ppdet.engine INFO: Total sample number: 78, averge FPS: 11.196457662129422
运行耗时: 49秒620毫秒
W0311 00:52:53.690088 19588 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1
W0311 00:52:53.741935 19588 device_context.cc:465] device: 0, cuDNN Version: 7.6.
[03/11 00:53:13] ppdet.utils.checkpoint INFO: Finish loading model weights: output/picodet_s_320_voc/best_model.pdparams
[03/11 00:53:17] ppdet.engine INFO: Eval iter: 0
[03/11 00:53:20] ppdet.metrics.metrics INFO: Accumulating evaluatation results...
[03/11 00:53:20] ppdet.metrics.metrics INFO: mAP(0.50, 11point) = 85.92%
[03/11 00:53:20] ppdet.engine INFO: Total sample number: 78, averge FPS: 11.196457662129422


六、模型预测


1.动态图预测


在执行tools/infer.py后,在output文件夹下会生成对应的预测结果

%cd ~/PaddleDetection
!python tools/infer.py -c configs/picodet/picodet_s_320_voc.yml  -o weights=output/picodet_s_320_voc/best_model.pdparams --infer_img=/home/aistudio/smoke1.jpg
/home/aistudio/PaddleDetection
W0311 00:59:59.968083 20342 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1
W0311 00:59:59.973002 20342 device_context.cc:465] device: 0, cuDNN Version: 7.6.
[03/11 01:00:03] ppdet.utils.checkpoint INFO: Finish loading model weights: output/picodet_s_320_voc/best_model.pdparams
[03/11 01:00:04] ppdet.engine INFO: Detection bbox results save in output/smoke1.jpg


1. 结果展示


原图


网络异常,图片无法展示
|

预测图

网络异常,图片无法展示
|


2.模型导出


在模型训练过程中保存的模型文件是包含前向预测和反向传播的过程,在实际的工业部署则不需要反向传播,因此需要将模型进行导成部署需要的模型格式。 执行下面命令,即可导出模型

!export CUDA_VISIBLE_DEVICES=0
%cd ~/PaddleDetection/
!python tools/export_model.py \
      -c configs/picodet/picodet_s_320_voc.yml \
      -o weights=output/picodet_s_320_voc/best_model.pdparams \
      --output_dir=inference_model
/home/aistudio/PaddleDetection
[03/11 01:08:30] ppdet.utils.checkpoint INFO: Finish loading model weights: output/picodet_s_320_voc/best_model.pdparams
[03/11 01:08:30] ppdet.engine INFO: Export inference config file to inference_model/picodet_s_320_voc/infer_cfg.yml
W0311 01:08:34.320701 20767 device_context.cc:447] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1
W0311 01:08:34.320773 20767 device_context.cc:465] device: 0, cuDNN Version: 7.6.
[03/11 01:08:37] ppdet.engine INFO: Export model and saved in inference_model/picodet_s_320_voc
!tree ./inference_model/picodet_s_320_voc
./inference_model/picodet_s_320_voc
├── infer_cfg.yml
├── model.pdiparams
├── model.pdiparams.info
└── model.pdmodel
0 directories, 4 files

预测模型会导出到inference_model/目录下,包括model.pdmodel、model.pdiparams、model.pdiparams.info和infer_cfg.yml四个文件,分别表示模型的网络结构、模型权重、模型权重名称和模型的配置文件(包括数据预处理参数等)的流程配置文件。


3.静态图预测


在终端输入以下命令进行预测,详细教程请参考Python端预测部署:

!export CUDA_VISIBLE_DEVICES=0
'''
    --model_dir: 上述导出的模型路径
    --image_file:需要测试的图片
    --image_dir:也可以指定要测试的文件夹路径
    --device:运行时的设备,可选择CPU/GPU/XPU,默认为CPU
    --output_dir:可视化结果保存的根目录,默认为output/
'''
!python deploy/python/infer.py \
        --model_dir=./inference_model/picodet_s_320_voc \
        --image_file=/home/aistudio/smoke1.jpg \
        --device=GPU
-----------  Running Arguments -----------
batch_size: 1
camera_id: -1
cpu_threads: 1
device: GPU
enable_mkldnn: False
image_dir: None
image_file: /home/aistudio/smoke1.jpg
model_dir: ./inference_model/picodet_s_320_voc
output_dir: output
reid_batch_size: 50
reid_model_dir: None
run_benchmark: False
run_mode: paddle
save_images: False
save_mot_txt_per_img: False
save_mot_txts: False
scaled: False
threshold: 0.5
trt_calib_mode: False
trt_max_shape: 1280
trt_min_shape: 1
trt_opt_shape: 640
use_dark: True
use_gpu: False
video_file: None
------------------------------------------
-----------  Model Configuration -----------
Model Arch: PicoDet
Transform Order: 
--transform op: Resize
--transform op: NormalizeImage
--transform op: Permute
--transform op: PadStride
--------------------------------------------
class_id:0, confidence:0.8912, left_top:[2122.73,1425.18],right_bottom:[3712.47,1949.28]
save result to: output/smoke1.jpg
------------------ Inference Time Info ----------------------
total_time(ms): 3041.3, img_num: 1
average latency time(ms): 3041.30, QPS: 0.328807
preprocess_time(ms): 3019.60, inference_time(ms): 16.80, postprocess_time(ms): 4.90


4K的图片,推理速耗时 16.80ms ,速度相当不错。


七、总结


1.与PP-YOLOV2对比


eval结果如下,感觉不错,具体如下:

  • mAP(0.50, 11point) = 85.92%
  • FPS: 11.196457662129422

但是对比PP-YOLOV2 的 86.74%,还差0.82%,应该是数据增强等没做好。


2.优化方案


  • 预训练模型:使用预训练模型可以有效提升模型精度,PP-PicoDet模型提供了在COCO数据集上的预训练模型
  • 修改loss:将目标检测中的GIOU loss改为DIOU loss
  • 修改lr:调整学习率,这里将学习率调小一半
  • 修改lr再训练:当模型不再提升,可以加载训练好的模型,把学习率调整为十分之一,再训练。

image.png

项目地址:基于PP-PicoDet的【PP视频分析预警系统】 aistudio.baidu.com/aistudio/pr…

欢迎fork交流!


相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
目录
相关文章
|
2月前
|
存储 安全 固态存储
临床试验医学影像PACS系统源码
影像采集 ·采用多种方式获取影像,支持各种标准及非标准数字或模拟视频接口图像格式。 ·标准DICOM影像采集功能 ·非标准DICOM影像采集功能
40 3
|
8月前
|
SQL Java 关系型数据库
基于Android新生预报到系统APP的设计与实现
基于Android新生预报到系统APP的设计与实现
129 0
|
2月前
|
安全 JavaScript 前端开发
JAVA药物不良反应(Adverse Drug Reaction,ADR)智能监测系统源码
ADR智能监测系统由系统管理、规则管理、监测报告三个大的功能模块组成。方便药师维护监测规则知识库,以及监测主题库,提高临床工作效率。
27 0
|
2月前
|
数据采集 机器学习/深度学习 自然语言处理
Java药物不良反应ADR智能监测系统源码
药物不良反应(Adverse Drug Reaction,ADR)是指在使用合格药品时,在正常的用法和用量下出现的与用药目的无关的有害反应。这些反应往往因药物种类、使用方式、个体差异等因素而异,可能导致患者身体不适、病情恶化。
45 0
|
2月前
|
存储 固态存储 数据安全/隐私保护
医学影像PACS临床信息系统源码
医学影像PACS临床信息系统源码
36 0
|
2月前
|
固态存储 数据安全/隐私保护 计算机视觉
C++医院影像科PACS源码:三维重建、检查预约、胶片打印、图像处理、测量分析等
C++医院影像科PACS源码:三维重建、检查预约、胶片打印、图像处理、测量分析等
70 0
|
存储 数据采集 固态存储
PACS系统医学影像信息系统源码 心脏图像冠脉钙化
支持读取DCMDIR文件,显示并打开相关联的DICOM文件; 显示多种图像文件格式,并能转换成DICOM格式; 支持多屏和竖屏显示;支持动态影像电影方式回放、逐帧漫游和冻结; 支持同屏显示多幅影像,自定义显示矩阵; 支持同屏显示同一患者在不同检查设备检查的多个动态电影图像; 支持检查模式、比较模式和打印模式的图像显示; 支持多屏显示同一患者的不同序列图像或不同患者的图像; 支持同屏分格显示患者不同体位和不同设备的影像;
|
存储 移动开发 人机交互
全院级PACS系统源码,涵盖放射、超声、内镜、病理以病人为中心的数据整合
强大的阅片工具,不仅提供常规测量、调节功能,并且内置包括MPR、CMPR、VR等强大的三维处理功能,解决放射科日常重建需求。提供丰富诊断模板的基础上支持公有、私有模板的自定义编辑功能,患者自助应用通过虚拟打印技术,提供基于报告、胶片的患者自助打印功能
|
人工智能 索引
基于PP-ShiTu的高空抛物检测
基于PP-ShiTu的高空抛物检测
353 0
基于PP-ShiTu的高空抛物检测
|
机器学习/深度学习 算法 自动驾驶
[Paddle Detection]基于PP-PicoDet行车检测(完成安卓端部署)
基于PP-PicoDet行车检测(完成安卓端部署)_哔哩哔哩_bilibili基于视觉深度学习的自动驾驶场景,旨在对车载摄像头采集的视频数据进行道路场景解析(行车检测),为自动驾驶提供一种解决思路。该项目使用bdd100k_car数据集训练,并完成了安卓部署。现如今,汽车在日益普及人们的生活,再给人们带来极大便利的同时也造成了拥堵的交通更为频发的交通事故。通过行车检测不仅能够更好的帮助司机检查路况,并且还能够更好的规化当前的路程管理,减轻道路的拥堵情况。 在车辆驾驶中主要考验的是司机如何应对其他行驶车辆的可
352 0
[Paddle Detection]基于PP-PicoDet行车检测(完成安卓端部署)