Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • May 19 06:29
    symisc closed #30
  • May 18 06:19
    symisc commented #30
  • May 12 02:46
    shuo-Liu opened #30
  • Apr 03 16:00
    symisc closed #29
  • Apr 03 02:51
    KurtKoo commented #29
  • Apr 02 23:32
    symisc commented #29
  • Apr 02 07:36
    KurtKoo opened #29
  • Jan 27 01:20
    symisc closed #28
  • Jan 27 01:20
    symisc commented #28
  • Jan 26 21:10
    123toorc opened #28
  • Nov 28 2020 23:09

    symisc on master

    docs: fix simple typo, accomida… Merge pull request #26 from tim… (compare)

  • Nov 28 2020 23:09
    symisc closed #26
  • Nov 28 2020 09:03
    timgates42 opened #26
  • Nov 04 2020 22:44
    symisc commented #25
  • Nov 02 2020 02:32
    Zumbalamambo opened #25
  • Sep 24 2020 02:23
    symisc commented #24
  • Sep 24 2020 01:33
    zjp0317 commented #24
  • Sep 24 2020 00:04
    symisc commented #24
  • Sep 16 2020 23:52
    zjp0317 commented #24
  • Sep 16 2020 23:33
    symisc commented #24
PixLab | Symisc Systems
@symisc
@hkarrson Your question has been answered. Check your inbox for the response.
hkarrson
@hkarrson
Thank you! Unfortunately, I don't know where the inbox is. Do you mean my Gitter inbox? (i'm not sure if that exists. I'm new to gitter)
Nevermind. The message was hidden. I found it!
Thanks!
Nickolas Damofli
@ndamofli
Hi there, has anyone tried to use SOD with Unity 3d?
Nickolas Damofli
@ndamofli
There is a huge need from Unity game/app developers to create robust AR experiences. I believe a Unity plugin implementation exposing SOD capabilities to Unity framework would create a solid revenue stream for Symisc. A RealNet frontal face detector would be a massive hit on Unity Asset Store.
Similar plugins (with very low performance) sell for $500....
Javier Velilla
@jvelilla
Hi, Is there a document describing how to build the library using Microsoft Visual C in mode C.?
PixLab | Symisc Systems
@symisc
@jvelilla Hi. SOD is written in C99 so compiling with MSVC should be fine (In fact SOD is being developed in Visual Studio 2017). Older version of Microsoft C should have a command line option where you can specify the desired C specification hence C99. SOD is a just a single C file so its a matter of compiler command line invocation no more.
PixLab | Symisc Systems
@symisc
@ndamofli Hi Nickolas. In fact we are planning todo so in the future. If you have the expertise to port such thing to Unity, please let us know!
SYED
@syedmustafa54
@symisc GPU training is free or we should purchase it. I want to train cnn face detection, gender detection, and more using sod platform. I have trained using TensorFlow, PyTorch, Darknet, and more but this are slow for inference need to see the inference using sod . So CNN with CPU will take years is there any guide to train using GPU.
PixLab | Symisc Systems
@symisc
@syedmustafa54 The face detection model is already available to download from https://pixlab.io/downloads. If you plan to train a single class such as pedestrian, car, dog, etc., then there is no need for a GPU version, the Realnet training interfaces (https://sod.pixlab.io/api.html#sod_realnet_trainer) should do the work for you. Do not ask for tutorials here, please read the documentation first.
Devansh Gupta
@devu1999
@reBertran while trying to run the code for license plate detection, I am also getting the same issue "cannot open SOD model". Did it get resolved for you ?? Does anyone know what could be the reason behind it?? Moreover, to what extent can this library be useful in its open-source version??
PixLab | Symisc Systems
@symisc
@soham24 Could you share the code snippet you used for license plate detection? License plate detection does not need any external SOD model to operate
Rhonal
@Leopoldo32
Good morning, I have a question, can I use the SOD API to implement it on Android or iOS? and if so, where can I get the documentation, thanks.
PixLab | Symisc Systems
@symisc
@Leopoldo32 Hi. Your question has been answered on the mailing list where you first posted it.
jimmyryan2
@jimmyryan2
Hi, Is there a list of known MCUs that this has been tested on. Mainly looking for info if esp32, stm32 etc.
Looks great, as our project was specifically looking to avoid the heaviness of opencv and doing light edge device side processing
PixLab | Symisc Systems
@symisc
@jimmyryan2 Yes, SOD should work without issues on any target, restricted platform with a decent C99 compiler. This is especially true if you are mainly doing image processing such as sod_canny_edge_image() and so forth
adwait19
@adwait19
I have tried to run the realnet_train_model.c. It compiled but when it runs it is failing at sod_realnet_train_start() because pLayer->xExec address is 0x00. The only changes I made were to comment the #ifdef SOD_ENABLE_NET_TRAIN statements. My train.txt file is: [paths]
pos = C:\train\positives
neg = C:\train\background
recurse = true
PixLab | Symisc Systems
@symisc
@adwait19 if xExec() is set to null, then no built-in training layer(s) were found for the configuration file you entered. In other words, SOD does not know what to train or what to generate. Take a look at the training samples at https://sod.pixlab.io/c_api/sod_realnet_train_config.html for how to train a simple Pedestrian detector.
adwait19
@adwait19
The call I am using is: rc = sod_realnet_train_config(pNet, SOD_REALNET_TR_OUTPUT_MODEL, "pedestrian_detector.realnet"); I only see the difference that I have no directory path only the name, which should put it in the same place as the executable. Am I missing any variables in the train.txt ? The code is the same at the example you have referred. I did note that in the previous call there is an xExec() returned. rc = sod_realnet_train_config(pNet, SOD_REALNET_TR_LOG_CALLBACK, log_consumer_callback, 0);
adwait19
@adwait19
ok..I figured it out, the problem was it appears not to work by commenting the #ifdef SOD_ENABLE_NET_TRAIN, instead I had to add #define SOD_ENABLE_NET_TRAIN in sod.h
However, I am having a new problem. I downloaded the face.realnet.sod file and processed a crowd image and it found no images. It appears to only work if there is a single face in the frame. Is this the expected behavior ?
PixLab | Symisc Systems
@symisc
face.realnet.sod is for real-time, frontal face detection from Webcam or Smartphone camera stream. It is mainly used to implement snapchat-like filters or facial recognition. If you want to detect a lot of people's face in a crowd, then you should rely on the CNN face detector (face_cnn at https://pixlab.io/downloads ). Note that the CNN face detector may not work at real-time unless you use the commercial version of SOD which implement multi-threading
adwait19
@adwait19
I am trying to train a sod network and it is giving message that: Too many background image collection rounds (> 10K). Perhaps should you stop training and test the accuracy of your model? There are only a few background images and I tried reducing the number but the message persists. What does this mean ?
PixLab | Symisc Systems
@symisc
Yes. This is because SOD splits each background image it ecncounter into smaller chunks of equal size to the detection window you specify on your training file (ie. a face of 75x75 pixels) so maybe you should stop training and test the accuracy of your output model!
adwait19
@adwait19
I couldn't see a detection window parameter in the training file. I did stop training and it didn't detect anything. Should I be using smaller background images ? The images are 800 x 600 or around that size for the background of random pictures without people in them.
adwait19
@adwait19
If I leave it running with that message, will the model complete training ?
PixLab | Symisc Systems
@symisc
Could you share your training file? What is the minimum window size of the object you are trying to detect? for example for a face a reasonable minimal size is 75x75 pixels
jimmyryan2
@jimmyryan2
Hello, we are evaluating the sod framework and have a few questions. 1) we are getting a warn about bitshifting. We have a no warn policy so is there a recommended change here. warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) 2. minsizerel on windows is 500K for sod.c. Is that expected and what kind of flash capacity should a microcontroller have to run sod. Thanks
jimmyryan2
@jimmyryan2
Also, just wanted to get a performance check. Doing the tiny20.sod on the default test.png built in release mode on an i7 8 core box took ~2 seconds. Is that expected?
PixLab | Symisc Systems
@symisc
MSVC tend to exaggerate about warnings especially with the Warn all option. If you are targeting a micro-controller, then you should disable the entire CNN layer. You'll quickly run out of memory since CNNs are known to be memory hog. Realnets (https://sod.pixlab.io/intro.html#realnets) on the other side (single class object detection) are know to work at real-time on embedded devices or low end mobile devices.
@jimmyryan2 Yes, the community edition of SOD will use a single core for processing unlike the commercial version which uses all your CPU cores for processing
2 seconds is pretty slow, even for the community edition. Make sure to compile with full optimizations options using your compiler.
jimmyryan2
@jimmyryan2
Thanks for fast response. I'm getting familiar on windows before trying it on esp32 etc. 1) How do I disable CNN? 2) I'm perplexed on performance. There are no GPU optimizations right? Are there other typical flags you recommend
jimmyryan2
@jimmyryan2
Update: 1) Found the build flag for disable CNN (SOD_DISABLE_CNN) 2) CNN perf is still curiously slow 3) HOWEVER realnet is 3 ms! amazing. Curious if you had any test harnesses on your side to confirm if i have a build problem for CNN or 2 seconds is as expected for community edition\
jimmyryan2
@jimmyryan2
how do you recommend writing text on images?
how do you recommend doing motion detection?
PixLab | Symisc Systems
@symisc
Writing text on images, require a TTF font and a font drawer library like https://github.com/nothings/stb/blob/master/stb_truetype.h
motion detection can be done via Blob detection (https://sod.pixlab.io/c_api/sod_image_find_blobs.html) after background subtraction for each processed frame
jimmyryan2
@jimmyryan2
Nice. Sorry to keep hitting you up but these are things I'm used to on opencv which I don't want to use. What do you recommend for contour detection and calculating size of blobs?
For background subtraction you take the grey and do what w/ it? I'm used to gaussian blur + a delta() or diff() function then clean up etc.
jimmyryan2
@jimmyryan2
I think there is more information needed for SOD_ENABLE_OPENCV for opencv 3.x re: C vs CPP. What version do you guys use for testing? Thanks
jimmyryan2
@jimmyryan2
Did project w/ opencv and brought in sod. Cloned the ipl_into_image function after converting opencv MAT (new) to legacy IPLImage. I get this (looks like blue and red are swapped). Any ideas?
cv-test.png
jimmyryan2
@jimmyryan2
Got SOD working on Esp32 for those interested.
jimmyryan2
@jimmyryan2
Out of the box it had a missing header /#include <sys/mman.h>. Commenting that out led to one function UnixVfs_Mmap that didn't compile. Commenting out some stuff in there made everything a go. I see a note for a compile time flag to skip this stuff but don't see the impl. Anyhow I don't see any calls to it.
PixLab | Symisc Systems
@symisc
Great Hack! Nice. SOD does offer advanced image manipulation routine, just disable the CNN layer as you did and you should be ready to go. OpenCV is optional, you can do amazing image manipulation stuff without relying on opencv, just open your image using https://sod.pixlab.io/c_api/sod_img_load_from_file.html for example and do your processing!
jimmyryan2
@jimmyryan2
Doing a lot of performance tests on ESP32 and STM32. I'm curious why the core data structure is float. If I have a 300x300 grey image I was thinking it would take 90,000 bytes but it takes 360,000 in RAM. I'm guessing b/c each pixel can have more fidelity right? but its crushing to using SOD as a more basic toolkit