==========================================================================================================================
I modified the old face detection project(http://www.adapteva.com/white-papers/fa ... -processor) to make it run on parallella and current eSDK. The program can run correctly but still have some problems, please have a look at the code and help me to fix these.
Code addr: https://github.com/leonfg/face_detect
Parallella board model: Embedded Platform
Image: ubuntu-14.04-headless-z7020-20150130
esdk: 15.1.
Remaining problems:
Working principle: resizing the input image into several different sizes, then dividing the resized images into many subimages with a given size window, the cascade classifier will do feature matching calculation to distinguish if a subimage is a human face. We use Epiphany cores to do the feature matching work parallelly to achieve speedup. There are some problems in current code:
1. Core number: When use most of the cores like 16 or 15, the device program always hang. I have to use less cores to prevent this.
2. Number of loop iterations: There are two main "for" loop sequences in the device program, one is dmacopy the subimages from shared memory, the other is classifier calculation. When there are too many dmacopy loop iterations in core the program will hang too. So I have to use more cores to reduce the loop iterations in each core.
The hang situation will happen randomly, but the workflow and logic are definitely correct, I can not figure out the reason of the problem, so I have to use nether too less nor too more cores to balance the core number and the loop iterations, 4~12 cores will get successful execution most time.
- t1.jpg (283.83 KiB) Viewed 71761 times
- t2.jpg (698.61 KiB) Viewed 71761 times