TNTWEN / OpenVINO-YOLOV4

This is implementation of YOLOv4,YOLOv4-relu,YOLOv4-tiny,YOLOv4-tiny-3l,Scaled-YOLOv4 and INT8 Quantization in OpenVINO2021.3
MIT License
239 stars 66 forks source link

我识别的结果都是label:0.99xx这样 #12

Closed feolcn closed 4 years ago

feolcn commented 4 years ago

按你的流程走下来都是正常,就是最后跑demo的时候,识别的结果都是显示label 而不是具体的目标名称,请问可能是什么问题?

TNTWEN commented 4 years ago

https://github.com/TNTWEN/OpenVINO-YOLOV4/blob/7947ce4ca4e6602947484d98585abb013a422ece/object_detection_demo_yolov3_async.py#L54 跑demo时候需要设置一下labels python object_detection_demo_yolov3_async.py -i cam -m frozen_darknet_yolov4_model.xml -d CPU --labels cfg/coco.names 像这个样子

feolcn commented 4 years ago

谢谢,改成这样就好了,我又碰到各新问题,完全按照一样的步骤,我转换yolov4-tiny.weight 后,报错 [ ERROR ] Size of dims(3) and format(NCHW) are inconsistent.

TNTWEN commented 4 years ago

这个问题还没有人遇到过,不过应该是你的某步操作出了问题。 前两天一个小伙伴测试了tiny,还写了个博客https://blog.csdn.net/shukebeta008/article/details/108336192 你可以参考一下。

不知道你用的是不是你自己训练的模型。 我提供一些易错点,你排查一下: 如果是自己数据集训练的模型,保证cfg/ .names 与你的数据集相符。也要保证与json文件中的"classes"相符。 保证.pb文件路径是正确的,很多人会把tiny的.pb文件和之前v4的.pb文件弄混。 总之检查一下权重文件是不是对的,有没有和别的文件搞混

feolcn commented 4 years ago

十分感谢您的快速回复,我又对照做了一遍,结果还是一样,确认下 python "C:\Program Files (x86)\IntelSWTools\openvino_2020.4.287\deployment_tools\model_optimizer\mo.py" --input_model frozen_darknet_yolov4_model.pb --transformations_config yolo_v4-tiny.json --batch 1 --reverse_input_channels 这个cofnig 文件是需要替换城 yolo_v4-tiny.json吧,我使用的是默认的yolov4 tiny 权重文件。环境是 openvino2020R4 。 cfg 和json classes 都是80 。 但是转换后还是报这个错误,是不是yolo_v4-tiny.py 还需要修改什么地方?

TNTWEN commented 4 years ago

先试试官方权重吧,coco 80个类: https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.weights

我刚刚git clone了一下 ,没有改动任何内容,终端测试信息如下,你对照一下:

`C:\Users\27776\Downloads\OpenVINO-YOLOV4-master>python convert_weights_pb.py --class_names cfg/coco.names --weights_file yolov4-tiny.weights --data_format NHWC --tiny 2020-09-04 15:56:12.266197: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 466 ops written to frozen_darknet_yolov4_model.pb.

C:\Users\27776\Downloads\OpenVINO-YOLOV4-master>"C:\Program Files (x86)\IntelSWTools\openvino\bin\setupvars.bat" Python 3.6.5 [setupvars.bat] OpenVINO environment initialized

C:\Users\27776\Downloads\OpenVINO-YOLOV4-master>python "C:\Program Files (x86)\IntelSWTools\openvino_2020.4.287\deployment_tools\model_optimizer\mo.py" --input_model frozen_darknet_yolov4_model.pb --transformations_config yolo_v4_tiny.json --batch 1 --reverse_input_channels Model Optimizer arguments: Common parameters:

[ SUCCESS ] Generated IR version 10 model. [ SUCCESS ] XML file: C:\Users\27776\Downloads\OpenVINO-YOLOV4-master.\frozen_darknet_yolov4_model.xml [ SUCCESS ] BIN file: C:\Users\27776\Downloads\OpenVINO-YOLOV4-master.\frozen_darknet_yolov4_model.bin [ SUCCESS ] Total execution time: 16.36 seconds.`

feolcn commented 4 years ago

您好,我转换是正常的,再执行的时候报错 feol@feol-ZW:Release$ ./object_detection_demo_yolov3_async -i cam -m /data/aitest/intel/OpenVINO-YOLOV4-master/frozen_darknet_yolov4_model.xml -d MYRIAD --labels /data/aitest/intel/OpenVINO-YOLOV4-master/cfg/coco.names InferenceEngine: 0x7f14aa71d030 [ INFO ] Parsing input parameters [ INFO ] Reading input [ INFO ] Loading Inference Engine [ INFO ] Device info: MYRIAD myriadPlugin version ......... 2.1 Build ........... 2020.4.0-359-21e092122f4-releases/2020/4 [ INFO ] Loading network files [ INFO ] Checking that the inputs are as the demo expects [ INFO ] Checking that the outputs are as the demo expects [ ERROR ] Size of dims(3) and format(NCHW) are inconsistent.

TNTWEN commented 4 years ago

貌似你用的不是我项目里的demo 虽然这个demo也是直接拿官方的,一点都没改,你跑一下我的python demo试试,我这是正常的 我没有去测c++的demo,只知道有小伙伴跑成了。 C:\Users\27776\Downloads\OpenVINO-YOLOV4-master>python object_detection_demo_yolov3_async.py -i cam -m frozen_darknet_yolov4_model.xml -d CPU [ INFO ] Creating Inference Engine... [ INFO ] Loading network [ INFO ] Preparing inputs [ INFO ] Loading model to the plugin [ INFO ] Starting inference... To close the application, press 'CTRL+C' here or switch to the output window and press ESC key To switch between min_latency/user_specified modes, press TAB key in the output window [ INFO ] [ INFO ] Mode: USER_SPECIFIED [ INFO ] FPS: 11.5 [ INFO ] Latency: 82.7 ms

如果我的python demo可以跑,而你的c++的跑不了,你可以去咨询一下那个博客的作者,问问他用的什么版本的c++demo。

feolcn commented 4 years ago

十分感谢,问题解决了, python /home/feol/intel/openvino/deployment_tools/model_optimizer/mo.py --input_model frozen_darknet_yolov4_model.pb --transformations_config yolo_v4_tiny.json --reverse_input_channels --input_shape [1,416,416,3] 我再转换的代码里加了这个参数 --input_shape [1,416,416,3] 就可以了,十分感谢。

TNTWEN commented 4 years ago

哈哈,好滴好滴! 感谢你的尝试!

feolcn commented 4 years ago

貌似你用的不是我项目里的demo 虽然这个demo也是直接拿官方的,一点都没改,你跑一下我的python demo试试,我这是正常的 我没有去测c++的demo,只知道有小伙伴跑成了。 C:\Users\27776\Downloads\OpenVINO-YOLOV4-master>python object_detection_demo_yolov3_async.py -i cam -m frozen_darknet_yolov4_model.xml -d CPU [ INFO ] Creating Inference Engine... [ INFO ] Loading network [ INFO ] Preparing inputs [ INFO ] Loading model to the plugin [ INFO ] Starting inference... To close the application, press 'CTRL+C' here or switch to the output window and press ESC key To switch between min_latency/user_specified modes, press TAB key in the output window [ INFO ] [ INFO ] Mode: USER_SPECIFIED [ INFO ] FPS: 11.5 [ INFO ] Latency: 82.7 ms

如果我的python demo可以跑,而你的c++的跑不了,你可以去咨询一下那个博客的作者,问问他用的什么版本的c++demo。

方便留个联系方式吗?我wx:feolcn