Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regarding the MIT License #53

Closed
ssrp opened this issue Sep 24, 2019 · 5 comments · Fixed by #133
Closed

Regarding the MIT License #53

ssrp opened this issue Sep 24, 2019 · 5 comments · Fixed by #133

Comments

@ssrp
Copy link

ssrp commented Sep 24, 2019

Hi, thank you for this MTCNN implementation!

Regarding the MIT license of this repo -- if you have used FDDB/WIDERFace dataset for training your models (which are provided only for the research purposes, not commercial usage), how can the weights you provide be on the MIT license?

MIT license allows anyone to use this commercially, which is a derivative work of the images which are not allowed to be used commercially.

Looking forward to your reply. Thanks!

@ipazc
Copy link
Owner

ipazc commented Sep 24, 2019

Hi, only the code is released under MIT. You are absolutely right, the weights of the network should not be used for commercial purposes, the model should be retrained in such case, that is why MTCNN accepts weights in the constructor.

I will add clarification upon this. Thank you for this comment.

@ipazc
Copy link
Owner

ipazc commented Sep 24, 2019

By the way, the model is an adapted version coming from the original https://github.com/kpzhang93/MTCNN_face_detection_alignment version, which is also released under MIT license. You might be interested in sending also this question to that repo.

@ssrp
Copy link
Author

ssrp commented Sep 25, 2019

Thank you for the fast response and the clarification!
I have raised the same issue on the original repository, thanks!

Also, if you could clear one more thing -- what did you mean when you say "this is why" MTCNN accepts weights in the constructor? Is this the usual practice?
Most of the repositories have released the pre-trained models under MIT License and as the MIT License is non-revocable, it allows companies to use the models commercially.

Thanks again!

@ipazc
Copy link
Owner

ipazc commented Sep 25, 2019

I don't know if it is the usual practice. I understand it is a good way to support custom or different models with the same architecture without the need to override files. That allows having two instances of the MTCNN with different weights at the same time, without modification of the code.

@perets-dev
Copy link

ssrp

Hi! Where can i view, that FDDB/WIDERFace dataset can be used only for research purposes, not commercial ones? I can not find the license

ipazc pushed a commit that referenced this issue Oct 7, 2024
…tch processing support

- Completely refactored the MTCNN implementation following best coding practices.
- Optimized code by removing unnecessary transpositions, resulting in faster computation. Fixes #22.
- Transposed convolutional layer weights to eliminate the need for additional transpositions during preprocessing and postprocessing, improving overall efficiency.
- Converted preprocessing and postprocessing functions into matrix operations to accelerate computation. Fixes #14, #110.
- Added batch processing support to enhance performance for multiple input images. Fixes #9, #71.
- Migrated network architecture to TensorFlow >= 2.12 for improved compatibility and performance. Fixes #80, #82, #90, #91, #93, #98, #104, #112, #114, #115, #116.
- Extensively documented the project with detailed explanations of thresholds and parameters. Fixes #12, #41, #52, #57, #99, #122, #117.
- Added support for selecting computation backends (CPU, GPU, etc.) with the `device` parameter. Fixes #23.
- Added new parameters to control the result format (support for x1, y1, x2, y2 instead of x1, y1, width, height) and the ability to return tensors instead of dictionaries. Fixes #72.
- Configured PyLint support to ensure code quality and style adherence.
- Organized functions into specific modules (`mtcnn.utils.*` and `mtcnn.stages.*`) for better modularity.
- Created Jupyter notebooks for visualization and ablation studies of each stage, allowing detailed exploration of layers, weights, and intermediate results. Fixes #88, #102.
- Added a comprehensive training guide for the model. Fixes #35, #39.
- Updated README with information on the new version, including the complete Read the Docs documentation that describes the process, theoretical background, and usage examples. Fixes #53, #73.
- Configured GitHub Actions for continuous integration and delivery (CI/CD).
- Fixed memory leak by switching to a more efficient TensorFlow method (`model(tensor)` instead of `model.predict(tensor)`). Fixes #87, #109, #121, #125, #128.
- Made TensorFlow an optional dependency to prevent conflicts with user-installed versions. Fixes #95.
- Added comprehensive unit tests for increased reliability and coverage.
@ipazc ipazc mentioned this issue Oct 8, 2024
@ipazc ipazc closed this as completed in #133 Oct 8, 2024
@ipazc ipazc closed this as completed in b6eba4b Oct 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants