Blazingly Fast, Async, Multi-Task, All-in-One, Image Recognition Modules
Cyclens is an All-in-One recognition API server with Async features.
-
Age Prediction
-
Emotion Recognition
-
Face Recognition
-
Gender Prediction
-
Pipeline based process structure between tasks
-
Async powered, non-blocking API loop
-
Multitask struct for each module process
-
Apache Solr powered face search engine
- Download the Cyclens Mobile Client here
Just send a POST request with module parameters to the Flask server.
- cURL POST
$ curl -F "file=@/home/path/to/your/image/file.jpg" http://localhost:5000/api/v1/demo/single?ar=true&ap=true&er=true&fr=true&gp=true
- Face Recognition
$ curl -F "file=@/home/path/to/your/image/file.jpg" http://localhost:5000/api/v1/demo/face_add?id=0&name=FooBar
- Example Output:
{
"success": true,
"message": "null",
"process": {
"start": "2019-06-02T01:50:05.731130",
"end": "2019-06-02T01:50:06.580368",
"total": 849.24
},
"modules": [
{
"success": true,
"module": "module_name",
"message": "null",
"process": {
"start": "2019-06-02T01:50:05.731208",
"end": "2019-06-02T01:50:06.579839",
"total": 848.63,
"locations": 97.39,
"encodings": 240.98,
"search": 21.1
},
"found": 1,
"rate": 100.0,
"faces": [
{
"result": "Test",
"confidence": 0.87
}
]
},
]
}
- Clone the project to your computer and navigate to folder by executing the following command:
$ git clone https://github.com/Dentrax/Cyclens.git && cd ./Cyclens/
- Create your own virtualenv and install the requirements by executing the following commands:
$ virtualenv -p python ./
$ source ./bin/activate
$ pip install -r requirements.txt
- Run the Cyclens with following command
$ sh ./start.sh
- Run this command if you want to test all cases
$ python -m unittest -v
- Run this command if you want to test demo project
$ python ./demo/demo.py
- Download this and put in
./models/data/age/
- Download this and put in
./models/data/emotion/
- Download this and put in
./models/data/face/
- Download this and put in
./models/data/gender/
- Download the Apache Solr from here
- Start the Solr with:
./bin/solr start
- Make sure the Solr running on the port
8983
- Please see the requirements.txt file for dependency informations
We publish source for the [Cyclens] in single rolling branch:
The master branch is extensively tested and makes a great starting point. Also tracks live changes by commits.
All program code (i.e. .py) is licensed under MIT License unless otherwise specified. Please see the LICENSE file for more information.
References
While this repository is being prepared, it may have been quoted from some sources.
Please see the REFERENCES file for more information.
If there is an unspecified source or if you think that I made a copyright infringement, please contact with me.
Please check the CONTRIBUTING.MD file for contribution instructions and naming guidelines.