- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bought the Movidius stick to further explore AI, however getting a bit confused after doing some initial 'out-of-the-box' tests.
Successfully installed all the required software on my Ubuntu 16.04 workstation, followed all the instructions step by step (1 to 4) and ran the stream_infer.py example (SqueezeBet). This is the result (see steam_infer.jpg).
As you can see, best guess: paper towel (53.76%).
Also installed Yolo and ran './darknet detector demo cfg/coco.data cfg/yolo.cfg yolo.weights' with the following result (see yolo.jpg).
I am struggling to understand why stream_infer.py did not resolve this scene and Yolo could. Yes, if I replace these objects with a 'computer keyboard', the keyboard is recognized (score about 30%). Obviously, I am missing something here. Can someone put me on the right track?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
SqueezeNet is an image classification network. It will try to come up with one class for the entire image. In this case it seems to fail doing that. Yolo is an object detection method and will find regions in the image and classify them.
If you want similar results to yolo you need to find a way to run in or e.g. Single Shot Multibox Detector (SSD) on the NCS. I'm not sure if that's possible yet. Also if you want better classification accuracy you could try better models like GoogLeNet, which can be chosen by editing the stream_infer.py file.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@pascalm Hi paslcalm, there was actually a bug with the stream_infer.py file that came in the SDK release that was fixed. Please download the new stream_infer app from this link https://ncs-forum-uploads.s3.amazonaws.com/neal/stream_infer.py.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks mantu. Indeed when I change to a single object object-recognition works a lot better. By the way 'GoogLeNet' did not do much better in my scene.
Also, thanks Tome for pointing me to the new version of stream_infer.py. I already tried that before, however no difference in my scenario.
Tome on your website you have a picture with fruit being recognized ('What can you do with the NCS'). Can this be done with the NCS at this stage?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@pascalm Assuming that you are referring to the picture on the https://developer.movidius.com/ website, yes it should be possible to do this. You can visit this page for more information: https://github.com/xingwangsfu/caffe-yolo
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried converting tiny_yolo for NCS by following the links by @Tome_at_Intel . However I get the following error:
python3 mvNCCompile.pyc -w ../caffe-yolo/yolo_tiny.caffemodel ../caffe-yolo/yolo_tiny_deploy.prototxt -s 12 -o test.model
mvNCCompile v02.00, Copyright @ Movidius Ltd 2016
WARNING: Logging before InitGoogleLogging() is written to STDERR
F0907 13:36:50.256151 4625 net.cpp:750] Check failed: target_blobs.size() == source_layer.blobs_size() (1 vs. 2) Incompatible number of blobs for layer conv1
*** Check failure stack trace: ***
Aborted (core dumped)
The solution I found online was that the model weights file would contain biases and the prototxt didn't have them enabled, but enabling them for the convolutional layers creates another error.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, it looks like the model file and prototxt I downloaded were not compatible at all. I guess I need to find a way to do the conversion from darknet to caffe myself.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
mantu, the yolo small model and weights match, but tiny don't. The tiny model that match weights can be downloaded from the older revision https://raw.githubusercontent.com/xingwangsfu/caffe-yolo/16f30c81e2ad6fc70da4dcaf7ae2bd6efd6ff6ea/prototxt/yolo_tiny_deploy.prototxt
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi@dagoff
I would like to convert yolo_tiny model and yolo_small model to graph file.
However, both of the following errors occurred
python3 mvNCCompile.pyc yolo_small_deploy.prototxt -s 12 -w yolo_small.caffemodel -o graph
python3 mvNCCompile.pyc yolo_tiny_deploy.prototxt -s 12 -w yolo_tiny.caffemodel -o graph
[Error 13] Toolkit Error: Provided OutputNode/InputNode name does not exist or does not match with one contained in caffemodel file Provided: result
Please give me some advices.
Thanks.
hide
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@dagofff Thanks! Now the conversion worked.
@hide To fix that problem, I changed the top parameter of the last layer to be the same as the name of that layer. E.g. if the name is "fc12" I changed the top parameter to "fc12". I'm not sure if that's the right way, but the graph looks fine.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@mantu, FYI I made YOLOv1 working. The speed is ~5FPS for YOLO tiny model. The small model doesn't work yet… will check
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@dagofff nice! Thanks for sharing!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@dagofff, Do you mean that you got YOLO tiny working on the NCS? If you so can you provide more details on what you needed to do?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@nickfragale This post may help: https://ncsforum.movidius.com/discussion/218/tiny-yolo-on-ncs and dagoff has posted a link to his github here with the Tiny Yolo project: https://github.com/gudovskiy/yoloNCS
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page