1.1设定实验路径
设定OpenVINO的路径:
export OV=/opt/intel/openvino_2021/
设定当前实验的路径:
export WD=~/OV-300/01/3D_Human_pose/
注:实验文件夹名为OV-300,位于主目录下。本环境下,文件的上传与下载方法,参考右上角帮助手册。
1.2 运行初始化OpenVINO的脚本
source $OV/bin/setupvars.sh
当你看到:[setupvars.sh] OpenVINO environment initialized 表示OpenVINO环境已经成功初始化。
运行OpenVINO依赖脚本的安装
进入脚本目录:
cd $OV/deployment_tools/model_optimizer/install_prerequisites/
1.3 安装OpenVINO需要的依赖:
sudo ./install_prerequisites.sh
PS:此步骤为模拟开发机本地进行OpenVINO使用的步骤,所以 之后你在本地使用OpenVINO之前需要遵循此步骤。
1.4 安装OpenVINO模型下载器的依赖文件
进入到模型下载器的文件夹:
cd $OV/deployment_tools/tools/model_downloader/
安装模型下载器的依赖:
python3 -mpip install --user -r ./requirements.in
安装下载转换pytorch模型的依赖:
sudo python3 -mpip install --user -r ./requirements-pytorch.in
安装下载转换caffe2模型的依赖:
sudo python3 -mpip install --user -r ./requirements-caffe2.in
PS:此步骤为模拟开发机本地进行OpenVINO使用的步骤,所以 之后你在本地使用OpenVINO之前需要遵循此步骤。
1.5 通过模型下载器下载人体姿势识别模型
正式进入实验目录:
cd $WD
查看human_pose_estimation_3d_demo需要的模型列表:
cat /opt/intel/openvino_2021//deployment_tools/inference_engine/demos/human_pose_estimation_3d_demo/python/models.lst
通过模型下载器下载模型:
python3 $OV/deployment_tools/tools/model_downloader/downloader.py --list $OV/deployment_tools/inference_engine/demos/human_pose_estimation_3d_demo/python/models.lst -o $WD
1.6 使用模型转换器把模型转换成IR格式
OpenVINO支持把市面上主流的框架比如TensorFlow/Pytorch->ONNX/CAFFE等框架构建好的模型转换为IR格式:
python3 $OV/deployment_tools/tools/model_downloader/converter.py --list $OV/deployment_tools/inference_engine/demos/human_pose_estimation_3d_demo/python/models.lst
PS:目前OpenVINO的推理引擎只能够推理经过转换完成的IR文件,无法直接推理.pb/.caffemode/.pt等文件。
1.7 编译OpenVINO的Python API
只需要编译一次:
source $OV/inference_engine/demos/build_demos.sh -DENABLE_PYTHON=ON
若你需要使用OpenVINO的PythonAPI,请加入如下编译出来的库地址(否则会找不到库):
export PYTHONPATH="$PYTHONPATH:/home/dc2-user/omz_demos_build/intel64/Release/lib/"
1.8 播放待识别的实验视频
由于网页播放器限制,请手动输入如下命令来播放视频:
show 3d_dancing.mp4
PS:请务必使用键盘逐字母进行输入
播放待识别的实验视频
由于网页播放器限制,请手动输入如下命令来播放视频:
show 3d_dancing.mp4
PS:请务必使用键盘逐字母进行输入
1.9 转换并播放识别结果视频
由于平台限制,我们必须先将输出结果视频转换为MP4格式,使用如下命令:
ffmpeg -i output.avi output.mp4
手动输入如下命令进行推理结果视频播放:
show output.mp4
2.1设置实验路径
初始化OpenVINO
source $OV/bin/setupvars.sh
2.2 初始化OpenVINO
source $OV/bin/setupvars.sh
2.3开始实验
正式进入工作目录:
cd $WD
查看该demo的所需模型:
cat $OV/deployment_tools/inference_engine/demos/colorization_demo/python/models.lst
由于该实验模型较大,模型已经提前下载好了,请继续下一步。
2.4查看原始视频
所有show命令都请手动输入:
show butterfly.mp4
2.5运行着色Demo
python3 $OV/inference_engine/demos/colorization_demo/python/colorization_demo.py -m $WD/public/colorization-siggraph/colorization-siggraph.onnx -i butterfly.mp4 --no_show -o output.avi
PS:细心的同学会发现,这个实验中可以直接使用onnx格式进行实验,这说明推理引擎是支持简单的onnx进行推理(当然你转换为IR也可以)。请耐心等待程序运行完成,你将会看到“Inference Completed”的字样。输出avi将保存于当前文件夹,使用小写“LL”命令查看当前文件夹。
2.6查看着色实验的输出结果视频
请先使用ffmpeg将.avi转换为.mp4格式:
ffmpeg -i output.avi output.mp4
手动输入播放视频的指令:
show output.mp4
PS:若转换完成使用show命令无法显示,请稍后30s再试。
3.1初始化环境
#初始化工作目录
export OV=/opt/intel/openvino_2021/
export WD=~/OV-300/01/Audio-Detection/
#初始OpenVINO
source $OV/bin/setupvars.sh
3.2进入音频检测目录
#进入OpenVINO中自带的音频检测示例:
cd $OV/data_processing/dl_streamer/samples/gst_launch/audio_detect
#你可以查看检测的标签文件
vi ./model_proc/aclnet.json
#你也可以播放待会待检测的音频文件
show how_are_you_doing.mp3
3.3运行音频检测
#运行示例
bash audio_event_detection.sh
3.4分析音频检测结果
#结果并不是很适合观察,你可以运行如下命令
bash audio_event_detection.sh | grep “label”:" |sed ‘s/.*label"//’ | sed ‘s/"label_id.start_timestamp"/’ | sed 's/}].//’
#现在你可以看到在时间戳600000000的时候,我们检测到语音了,但并不知道内容是什么,因为它知识一个检测示例,并不是一个识别示例:“Speech”,600000000
4.1初始化环境
#初始化环境
export OV=/opt/intel/openvino_2021/
export WD=~/OV-300/01/Formula_recognition/
#初始化OpenVINO
source $OV/bin/setupvars.sh
4.2查看可识别的字符
cd $WD
#手写字符:
vi hand.json
#打印字符:
vi latex.json
4.3查看待识别的公式
#进入材料目录
cd $WD/…/Materials/
#查看打印公式
show Latex-formula.png
#查看手写公式
show Hand-formula.png
4.4运行公式识别
cd $WD
#识别打印公式
python3 $OV/inference_engine/demos/formula_recognition_demo/python/formula_recognition_demo.py -m_encoder $WD/intel/formula-recognition-medium-scan-0001/formula-recognition-medium-scan-0001-im2latex-encoder/FP16/formula-recognition-medium-scan-0001-im2latex-encoder.xml -m_decoder $WD/intel/formula-recognition-medium-scan-0001/formula-recognition-medium-scan-0001-im2latex-decoder/FP16/formula-recognition-medium-scan-0001-im2latex-decoder.xml --vocab_path latex.json -i $WD/…/Materials/Latex-formula.png -no_show
4.5识别手写公式
#识别手写公式
python3 $OV/inference_engine/demos/formula_recognition_demo/python/formula_recognition_demo.py -m_encoder $WD/intel/formula-recognition-polynomials-handwritten-0001/formula-recognition-polynomials-handwritten-0001-encoder/FP16/formula-recognition-polynomials-handwritten-0001-encoder.xml -m_decoder $WD/intel/formula-recognition-polynomials-handwritten-0001/formula-recognition-polynomials-handwritten-0001-decoder/FP16/formula-recognition-polynomials-handwritten-0001-decoder.xml --vocab_path hand.json -i $WD/…/Materials/Hand-formula.png -no_show
#对比原始图片,检查识别是否正确。
5.1初始化环境
#环境目录
export OV=/opt/intel/openvino_2021/
export WD=~/OV-300/01/MonoDepth_Python/
#初始化OpenVINO
source $OV/bin/setupvars.sh
5.2转换原始模型文件为IR文件
进入工作目录
cd $WD
#下载好的模型为TensorFlow格式,使用converter准换为IR格式:
python3 $OV/deployment_tools/tools/model_downloader/converter.py --list $OV/deployment_tools/inference_engine/demos/monodepth_demo/python/models.lst
5.3查看需要被识别的原始图片
#查看原始文件
show tree.jpeg
5.4运行深度识别示例
#进入工作目录
cd $WD
#运行示例,该示例的作用是自动分离图片中景深不同的地方:
python3 $OV/inference_engine/demos/monodepth_demo/python/monodepth_demo.py -m $WD/public/midasnet/FP32/midasnet.xml -i tree.jpeg
#查看显示结果
show disp.png
6.1初始化环境
#定义OpenVINO 目录
export OV=/opt/intel/openvino_2021/
#定义工作目录
export WD=~/OV-300/01/Object_Detection/
#初始化OpenVINO
source $OV/bin/setupvars.sh
#进入工作目录
cd $WD
6.2选择适合你的模型
#由于支持目标检测的模型较多,你可以在不同拓扑网络下选择适合模型:
vi $OV/inference_engine/demos/object_detection_demo/python/models.lst
注:关于SSD, Yolo, centernet, faceboxes or Retina拓扑网络的区别,本课程不会继续深入,有兴趣的同学可以自行上网了解。在OpenVINO中的deployment_tools/inference_engine/demos/的各个demo文件夹中都有model.lst列出了该demo支持的可直接通过downloader下载使用的模型
6.3转换模型至IR格式
#本实验已经事先下完成:pedestrian-and-vehicle-detector-adas 与 yolo-v3-tf
#使用Converter进行IR转换,由于pedestrian-and-vehicle-detector-adas 为英特尔预训练模型,已经转换IR完成,只需要对yolo-v3进行转换:
python3 $OV/deployment_tools/tools/model_downloader/converter.py --name yolo-v3-tf
6.4查看待检测的视频
cd $WD/…/Materials/
#播放视频:
show Road.mp4
6.5使用SSD模型运行目标检测示例
cd $WD
#运行 OMZ (ssd) model
python3 $OV/inference_engine/demos/object_detection_demo/python/object_detection_demo.py -m $WD/intel/pedestrian-and-vehicle-detector-adas-0001/FP16/pedestrian-and-vehicle-detector-adas-0001.xml --architecture_type ssd -i $WD/…/Materials/Road.mp4 --no_show -o $WD/output_ssd.avi
#转换为mp4格式进行播放
ffmpeg -i output_ssd.avi output_ssd.mp4
show output_ssd.mp4
6.5运行Yolo-V3下的目标检测示例
#运行 the Yolo V3 model
python3 $OV/inference_engine/demos/object_detection_demo/python/object_detection_demo.py -m $WD/public/yolo-v3-tf/FP16/yolo-v3-tf.xml -i $WD/…/Materials/Road.mp4 --architecture_type yolo --no_show -o $WD/output_yolo.avi
#转换为mp4格式进行播放
ffmpeg -i output_yolo.avi output_yolo.mp4
show output_yolo.mp4
!请对比两个模型在相同代码下的检测性能
7.1初始化环境
#定义工作目录
export OV=/opt/intel/openvino_2021/
export WD=~/OV-300/01/NLP-Bert/
#初始化OpenVINO
source $OV/bin/setupvars.sh
#进入目录
cd $WD
7.2查看支持的模型列表
#可用列表:
cat $OV/deployment_tools/inference_engine/demos/bert_question_answering_demo/python/models.lst
注:在OpenVINO中的deployment_tools/inference_engine/demos/的各个demo文件夹中都有model.lst列出了该demo支持的可直接通过downloader下载使用的模型,且我们已经事先下载好全部模型为IR格式。
7.3打开待识别的网址
#使用浏览器打开一个英文网址进行浏览,例如Intel官网:https://www.intel.com/content/www/us/en/homepage.html
7.4运行NLP示例
python3 $OV/inference_engine/demos/bert_question_answering_demo/python/bert_question_answering_demo.py -m $WD/intel/bert-small-uncased-whole-word-masking-squad-0001/FP16/bert-small-uncased-whole-word-masking-squad-0001.xml -v $OV/deployment_tools/open_model_zoo/models/intel/bert-small-uncased-whole-word-masking-squad-0001/vocab.txt --input=https://www.intel.com/content/www/us/en/homepage.html --input_names=input_ids,attention_mask,token_type_ids --output_names=output_s,output_e
#在Type question (empty string to exit): 输入core。即可查看当前对于core(酷睿)的可知信息,例如: Intel® Core™ processors provide a range of performance from entry-level to the highest level 。当然你也可以输入别的问题。对比网站上的相关描述
注:–input=https://www.intel.com/content/www/us/en/homepage.html 为我们需要访问的英文网站
7.5挑战任务
#在上一个步骤的实验基础上,尝试使用不同的网址作为–input 的输入,并尝试提出一些别的关键词问题。并思考如何能够提升这个示例的准确性。
#在上一个步骤的实验基础上,尝试使用不同的模型作为-m/-v 的输入(模型位于$WD/INTEL/目录下),并尝试提出一些别的关键词问题。并思考如何能够提升这个示例的准确性。
注:该示例只支持英文网站,且该网站可正常访问。