Comments (31)
I have one of these NN compute sticks where I just tried it out once on a raspberry pi:
https://www.intel.com/content/www/us/en/developer/articles/tool/neural-compute-stick.html
Sort of sucks they are being discontinued in June this year but it works for better performance for sure. If you want to buy it from me I paid $200 US originally I would sell it cheap because am no longer in need of anything like this. email me if you are interested.
from yolov7_openvino_cpp-python.
@bbartling i never know this option,i saw first time, its applicable for all models? specially i m trying v7
from yolov7_openvino_cpp-python.
from my brief experimentation it will make a huge difference if just using CPU. Just need to see/verify if this repo supports it which I think it does? From my experience of testing it on a rasp pi is open VINO just automatically recognizes it is plugged into the USB port on the computer and automatically just starts using for better inference...
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest does this repo support NN compute stick ?
from yolov7_openvino_cpp-python.
is there any reference to adding deepsort tracker with .int8 or openvino ir format? should i need to convert deepsort weight to IR format or directly i need to use? i want to improve my fps speed on cpu
I think deepsort tracker a non-deeplearning algorism, right ? or you mean detection model or REID model ?
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest does this repo support NN compute stick ?
Since there is no device with me now, Im not sure on it. You can try it. but you can try it compiled_model = core.compile_model("model.xml", "MRIAD")
Configurations for Intel® Neural Compute Stick 2. , and if you see a unsupported operator in NCS2 during inference, you can implement HETRO mode to shift unsupported part of your network into a CPU device
from yolov7_openvino_cpp-python.
@bbartling @OpenVINO-dev-contest how much fps should I expect from cpu?
should i need to convert object tracking weights to .xml format? or only yolov7.xml weight conversion is fine?
from yolov7_openvino_cpp-python.
@bbartling @OpenVINO-dev-contest how much fps should I expect from cpu?
should i need to convert object tracking weights to .xml format? or only yolov7.xml weight conversion is fine?
It depends on the CPU you deploy with, there is huge gap between high ends and low ends products. We have some benchmark results for your reference: https://docs.openvino.ai/latest/openvino_docs_performance_benchmarks_openvino.html
Yes I personally recommend you to convert the model file to .xml in advance, cause it will improve the performance of first-time inference.
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest any plans for supporting openvino (int8 .xml weight )& deepsort/any tracker .xml weight for object tracking? i want to load both weights at same time on cpu
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest i want to implement tracker code in your current development code, so we can use yolov7-int8.xml &
--reid-weights osnet_x0_25_market1501.xml / .onnx weight
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest any plans for supporting openvino (int8 .xml weight )& deepsort/any tracker .xml weight for object tracking? i want to load both weights at same time on cpu
There is an example of deepsort implementation in https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/407-person-tracking-webcam
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest okay thanks , may i know what changes should i need to do for loading yolov7 int8.xml file with deepsort.
direct putting yolov7.xml weight will work here or not?
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest
i simply passed, yolov7-tiny.xml model path instead od default person detection .xml file
detection_model_path='model\intel\person-detection-0202\FP16\yolov7-tiny_int8.xml'
reidentification_model_path='model\intel\person-reidentification-retail-0287\FP16\person-reidentification-retail-0287.xml'
& im getting this error,
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest i simply passed, yolov7-tiny.xml model path instead od default person detection .xml file
detection_model_path='model\intel\person-detection-0202\FP16\yolov7-tiny_int8.xml' reidentification_model_path='model\intel\person-reidentification-retail-0287\FP16\person-reidentification-retail-0287.xml'
& im getting this error,
Did switch the pre-post preprocessing part of codes ? these 2 models' input and output layout are different.
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest
should i need to do the process on image part of the model part?
seems for the image part, is exactly same as yolov7 preprocess
from yolov7_openvino_cpp-python.
i need to do postprocess for it, im getting 163200 value which is bounding box
& thats reason im getting error,
ValueError: cannot reshape array of size 1632000 into shape (7)
i need to do something like this
can you please help me to solve this issue. thank you
the shape of the models
from yolov7_openvino_cpp-python.
i need to do postprocess for it, im getting 163200 value which is bounding box
& thats reason im getting error,
ValueError: cannot reshape array of size 1632000 into shape (7)
i need to do something like this
can you please help me to solve this issue. thank you
the shape of the models
Yes, since the output shapes of them are different, you have to replace the persondetection's postprocessing with YOLOv7's postprocessing. Sorry Im busy this week, and I have no time to show you the code, could you try it firstly and let's discuss on it later ?
from yolov7_openvino_cpp-python.
yes, I'm working on it & thanks for your time.ill update on it
from yolov7_openvino_cpp-python.
as per your suggestion, im implementing yolov7 postprocessing in the person tracker notebook,& I got this error while doing detection on the image @OpenVINO-dev-contest ,its easy for you if you can guide me here, i know your time is very valuable,but im working on this last few days & not able to figuring it out,
from yolov7_openvino_cpp-python.
I think the problem coming with the wrong input shape, so you have the resize your input image to match your YOLOv7 model's input requirement.
from yolov7_openvino_cpp-python.
how should i reshape the .xml file?
error im getting
File "D:\openVINO\openvino_env\lib\site-packages\openvino\runtime\ie_api.py", line 273, in __call__
return self.infer_new_request(inputs)
File "D:\openVINO\openvino_env\lib\site-packages\openvino\runtime\ie_api.py", line 266, in infer_new_request
return self.create_infer_request().infer(inputs)
File "D:\openVINO\openvino_env\lib\site-packages\openvino\runtime\ie_api.py", line 152, in infer
return super().infer(normalize_inputs(self, {index: input for index, input in enumerate(inputs)}))
RuntimeError: The input blob size is not equal to the network input size: got 153600 expecting 98304
my model dimension of person_reid.xml is
input_layer <Output: names[data] shape[1,3,256,128] type: f32>
self.input_shape [1,3,256,128]
self.height 256
self.height 128
## input shape [1,3,256,128]
inp shape batchsize 1
i triedd to reshape model
# self.model_resized = self.model.reshape([1,3,256,256])
# print("resized model")
im getting path not found error ,seems this is not working, may i know how should i solve this issue?
basically im tryitng to pass extractor in deepsort
from yolov7_openvino_cpp-python.
I recommend you to resize your input image, but not the model network.
If you got a issue like "path not found error", which means your model path is incorrect.
from yolov7_openvino_cpp-python.
i tried to resize input images, still i got error
"D:\openVINO\openvino_env\lib\site-packages\openvino\runtime\ie_api.py", line 152, in infer
return super().infer(normalize_inputs(self, {index: input for index, input in enumerate(inputs)}))
RuntimeError: The input blob size is not equal to the network input size: got 196608 expecting 98304
from yolov7_openvino_cpp-python.
Can you print the shape of you new image after resizing, and also the model's input shape. we can do a comparison on their difference.
from yolov7_openvino_cpp-python.
yes
my model input
input_layer <Output: names[data] shape[1,3,256,128] type: f32>
self.input_shape [1,3,256,128]
self.height 256
self.height 128
## input shape [1,3,256,128]
inp shape batchsize 1
here is shape after resizing it
shape of image: (256, 128, 3)
<class 'RuntimeError'> The input blob size is not equal to the network input size: got 196608 expecting 98304 <traceback object at 0x000002179990D980>
Traceback (most recent call last):
from yolov7_openvino_cpp-python.
i guess i need to resize model?
im using reid weight from here:
```reidentification_model_path = f"model/intel/{reidentification_model_name}/{precision}/{reidentification_model_name}.xml"``
how should i do reshape of this weight?
self.extractor = ModelExtractor(reidentification_model_path,-1)
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest
Orignal_model_shape [1,3,256,128]
~~~~ RESHAPED MODEL ~~~~
after resuze input shape [1,3,256,256]
after resize height 256
after resize width 256
compiled_model input shape: [1,3,256,256]
compiled_model output shape: [9,256]
shape of image: (256, 256, 3)
i was able to detect first few frames & got this error again
return super().infer(normalize_inputs(self, {index: input for index, input in enumerate(inputs)}))
RuntimeError: The input blob size is not equal to the network input size: got 393216 expecting 196608```
from yolov7_openvino_cpp-python.
i guess i need to resize model?
im using reid weight from here:
```reidentification_model_path = f"model/intel/{reidentification_model_name}/{precision}/{reidentification_model_name}.xml"``
how should i do reshape of this weight?
self.extractor = ModelExtractor(reidentification_model_path,-1)
Yes you should do it, making the batch size of model dynamic, because the number of detected object is arbitrary
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest
also my code working fine with mobilenet_v2_fp32.xml & yolov7x-custom model.xml , I'm getting error for this personreid.xml file, i want to load this .xml file with my yolov7
i did it, now im getting error after few frames,
how should I solve it?
is it something normalization issue? or what?
can you check here, openvinotoolkit/openvino_notebooks#854 (comment)
from yolov7_openvino_cpp-python.
@OpenVINO-dev-contest i have successfully implemented the object tracker (person reid.xml ) with custom yolov7.xml file
thanks a lot for your help.
from yolov7_openvino_cpp-python.
also please check my pr it will be helpful for many others thanks. @OpenVINO-dev-contest
from yolov7_openvino_cpp-python.
Related Issues (20)
- Yolov7 Tiny setting confidence Thres HOT 4
- Link not working HOT 1
- any support for --grid parameter while exporting .onnx model? HOT 24
- [Bug] The line `img.transpose(2, 0, 1)` should be `img = img.transpose(2, 0, 1)`. NumPy's transpose operation does not support in-place assignment. HOT 1
- output processing is slow HOT 24
- fps code is not working HOT 2
- float data1[img_h*img_w*3] compile error HOT 1
- Inference with 1280 images HOT 4
- fps im getting is varing too much
- Yolov7-seg support HOT 2
- Downloading Yolo7 modex HOT 4
- hardware to run HOT 4
- Process multiple video feeds ansyc HOT 5
- Python Run Issue
- c++ has encountered an error HOT 1
- getting setup HOT 11
- webcam.py HOT 13
- 4 anchor boxes instead of 3 HOT 1
- YOLOv7 with Multiple Object Tracker - SORT Algorithm HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yolov7_openvino_cpp-python.