Releases: ChenglongMa/SkinToneClassifier
v1.0.0
We officially release the 1.0.0 version of the library. In this version, we have made the following changes:
- ✨ NEW!: We add the
threshold
parameter to control the proportion of face areas (Defaults to 0.3).- In previous versions, the library could incorrectly identify non-face areas as faces, such as shirts, collars, necks, etc.
In order to improve its accuracy, the new version will further calculate the proportion of skin in the recognized area
after recognizing the facial area. If it is less than thethreshold
value, the recognition area will be ignored.
(While it's still not perfect, it's an improvement over what it was before.)
- In previous versions, the library could incorrectly identify non-face areas as faces, such as shirts, collars, necks, etc.
- ✨ NEW!: Now, we will back up the previous results if it already exists.
The backup file will be named asresult_bak_<current_timestamp>.csv
. - 🐛 FIX!: We fix the bug that the
image_type
option does not work in the previous version. Thanks @wrightmk. - 🐛 FIX!: We fix the bug that the library will create an empty
log
folder when checking the help information by runningstone -h
.
v0.2.2
v0.2.1
Fix bugs
v0.2.0
Changelog (v0.2.0)
In this version, we have made the following changes:
-
✨ NEW!: Now we support skin tone classification for black and white images.
-
In this case, the app will use different skin tone palettes for color images and black/white images.
-
We use a new parameter
-t
or--image_type
to specify the type of the input image.
It can becolor
,bw
orauto
(default).
auto
will let the app automatically detect whether the input is color or black/white image. -
We use a new parameter
-bw
or--black_white
to specify whether to convert the input to black/white image.
If so, the app will convert the input to black/white image and then classify the skin tones based on the
black/white palette.For example:
-
-
✨ NEW!: Now we support multiprocessing for processing the images. It will largely speed up the processing.
- The number of processes is set to the number of CPU cores by default.
- You can specify the number of processes by
--n_workers
parameter.
-
🧬 CHANGE!: We add more details in the report image to facilitate the debugging, as shown above.
- We add the face id in the report image.
- We add the effective face or skin area in the report image. In this case, the other areas are blurred.
-
🧬 CHANGE!: Now, we save the report images into different folders based on their
image_type
(color or
black/white) and the number of detected faces.- For example, if the input image is color and there are 2 faces detected, the report image will be saved
in./debug/color/faces_2/
folder. - If the input image is black/white and no face has been detected, the report image will be saved
in./debug/bw/faces_0/
folder. - You can easily to tune the parameters and rerun the app based on the report images in the corresponding folder.
- For example, if the input image is color and there are 2 faces detected, the report image will be saved
-
🐛 FIX!: We fix the bug that the app will crash when the input image has dimensionality errors.
- Now, the app won't crash and will report the error message in
./result.csv
.
- Now, the app won't crash and will report the error message in
v0.1.12
Changelogs
- [Fix] dimensionality bugs when generating debug images;
- [Add] a subfolder to store debug images:
./path/to/output/debug/faces_<n>
folder, where<n>
is the number of faces detected in the image.
v0.1.11
Patch numpy asscaler function
v0.1.10
Tune parameters
v0.1.9
Add filename sorting and category label
v0.1.8
Fix bugs of filename
v0.1.7
Fix directory settings