File size: 18,644 Bytes
8a0af76 401a153 7a3dcec 401a153 55595b1 cb7296b 7a3dcec 5029ed6 1a3083b 8a0af76 af3b02c d22e2d1 9b33a50 1425882 31ddf1e 85039bd 7797c0c 977d10b 8dd2f18 3793417 12e0344 40e69a1 7a1ee24 3f53c64 3ebf5bd ae41f92 f816179 82a5704 ae41f92 6c66e9f f816179 6c66e9f f816179 6c66e9f 3ebf5bd 4e98433 40e69a1 3ebf5bd d22e2d1 3f53c64 40e69a1 d22e2d1 3f53c64 d22e2d1 3f53c64 dc2a7d0 d22e2d1 85039bd 3f53c64 40e69a1 3f53c64 3ebf5bd 85039bd 9fd869e 85039bd 32119b6 85039bd 977d10b 85039bd 32119b6 85039bd 977d10b 945332c 977d10b 4bb7d18 977d10b 7db2dbf 977d10b 7db2dbf 8dd2f18 7db2dbf 0ec97f5 85039bd f32ce2c 6c66e9f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 |
---
license: agpl-3.0
tags:
- pytorch
- YOLOv8
- art
- Ultralytics
base_model:
- Ultralytics/YOLOv8
- Ultralytics/YOLO11
library_name: ultralytics
pipeline_tag: object-detection
metrics:
- mAP50
- mAP50-95
---
# Description
YOLOs in this repo are trained with datasets that i have annotated myself, or with the help of my friends(They will be appropriately mentioned in those cases). YOLOs on open datasets will have their own pages.
#### Want to request a model?
Im open to commissions, hit me up in Discord - **anzhc**
> ## **Table of Contents**
> - [**Face segmentation**](#face-segmentation)
> - [*Universal*](#universal)
> - [*Real Face, gendered*](#real-face-gendered)
> - [**Eyes segmentation**](#eyes-segmentation)
> - [**Head+Hair segmentation**](#headhair-segmentation)
> - [**Breasts**](#breasts)
> - [*Breasts Segmentation*](#breasts-segmentation)
> - [*Breast size detection/classification*](#breast-size-detection-and-classification)
> - [**Drone detection**](#drone-detection)
> - [**Anime Art Scoring**](#anime-art-scoring)
> - [**Support**](#support)
P.S. All model names in tables have download links attached :3
## Available Models
### Face segmentation:
#### Universal:
Series of models aiming at detecting and segmenting face accurately. Trained on closed dataset i annotated myself.
| Model | Target | mAP 50 | mAP 50-95 |Classes |Dataset size|Training Resolution|
|----------------------------------------------------------------------------|-----------------------|--------------------------------|---------------------------|---------------|------------|-------------------|
| [Anzhc Face -seg.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhc%20Face%20-seg.pt) | Face: illustration, real | LOST DATA | LOST DATA |2(male, female)|LOST DATA| 640|
| [Anzhc Face seg 640 v2 y8n.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhc%20Face%20seg%20640%20v2%20y8n.pt) | Face: illustration, real |0.791(box) 0.765(mask) | 0.608(box) 0.445(mask)|1(face) |~500| 640|
| [Anzhc Face seg 768 v2 y8n.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhc%20Face%20seg%20768%20v2%20y8n.pt) | Face: illustration, real | 0.765(box) 0.748(mask) | 0.572(box) 0.431(mask) |1(face) |~500| 768|
| [Anzhc Face seg 768MS v2 y8n.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhc%20Face%20seg%20768MS%20v2%20y8n.pt) | Face: illustration, real | 0.807(box) 0.770(mask) | 0.601(box) 0.432(mask) |1(face) |~500| 768|(Multi-scale)|
| [Anzhc Face seg 1024 v2 y8n.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhc%20Face%20seg%201024%20v2%20y8n.pt) | Face: illustration, real | 0.768(box) 0.740(mask) | 0.557(box) 0.394(mask)|1(face) |~500| 1024|
| [Anzhc Face seg 640 v3 y11n.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhc%20Face%20seg%20640%20v3%20y11n.pt) | Face: illustration | 0.882(box) 0.871(mask) | 0.689(box) 0.570(mask)|1(face) |~660| 640|
UPDATE: v3 model has a bit different face target compared to v2, so stats of v2 models suffer compared to v3 in newer benchmark, especially in mask, while box is +- same.
Dataset for v3 and above is going to be targeting inclusion of eyebrows and full eyelashes, for better adetailer experience without large dillution parameter.
Also starting from v3, im moving to yolo11 models, as they seem to be direct upgrade over v8. v12 did not show significant improvement while requiring 50% more time to train, even with installed Flash Attention, so it's unlikely i will switch to it anytime soon.
Benchmark was performed in 640px.
Difference in v2 models are only in their target resolution, so their performance spread is marginal.


#### Real Face, gendered:
Trained only on real photos for the most part, so will perform poorly with illustrations, but is gendered, and can be used for male/female detection stack.
| Model | Target | mAP 50 | mAP 50-95 |Classes |Dataset size|Training Resolution|
| --------------------------- | --------------------- | ----------------------------- | ------------------------- |---------------|------------|-------------------|
| [Anzhcs ManFace v02 1024 y8n.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhcs%20ManFace%20v02%201024%20y8n.pt) | Face: real | 0.883(box),0.883(mask) | 0.778(box), 0.704(mask) |1(face) |~340 |1024|
| [Anzhcs WomanFace v05 1024 y8n.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhcs%20WomanFace%20v05%201024%20y8n.pt) | Face: real | 0.82(box),0.82(mask) | 0.713(box), 0.659(mask) |1(face) |~600 |1024|
Benchmark was performed in 640px.


### Eyes segmentation:
Was trained for the purpose of inpainting eyes with Adetailer extension, and specializes on detecting anime eyes, particularly - sclera area, without adding eyelashes and outer eye area to detection.
Current benchmark is likely inaccurate (but it is all i have), due to data being re-scrambled multi times (dataset expansion for future versions).
| Model | Target | mAP 50 | mAP 50-95 |Classes |Dataset size|Training Resolution|
| --------------------------- | --------------------- | ----------------------------- | ------------------------- |---------------|------------|-------------------|
| [Anzhc Eyes -seg-hd.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhc%20Eyes%20-seg-hd.pt) | Eyes: illustration | 0.925(box),0.868(mask) | 0.721(box), 0.511(mask) |1(eye) |~500(?) |1024|


### Head+Hair segmentation:
An old model (one of my first). Detects head + hair. Can be useful in likeness inpaint pipelines that need to be automated.
| Model | Target | mAP 50 | mAP 50-95 |Classes |Dataset size|Training Resolution|
| --------------------------- | --------------------- | ----------------------------- | ------------------------- |---------------|------------|-------------------|
| [Anzhc HeadHair seg y8n.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhc%20HeadHair%20seg%20y8n.pt) | Head: illustration, real | 0.775(box),0.777(mask) | 0.576(box), 0.552(mask) |1(head) |~3180 |640|
| [Anzhc HeadHair seg y8m.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhc%20HeadHair%20seg%20y8m.pt) | Head: illustration, real | 0.867(box),0.862(mask) | 0.674(box), 0.626(mask) |1(head) |~3180 |640|


### Breasts:
#### Breasts segmentation:
Model for segmenting breasts. Was trained on anime images only, therefore has very weak realistic performance, but still is possible.
| Model | Target | mAP 50 | mAP 50-95 |Classes |Dataset size|Training Resolution|
| --------------------------- | --------------------- | ----------------------------- | ------------------------- |---------------|------------|-------------------|
| [Anzhc Breasts Seg v1 1024n.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhc%20Breasts%20Seg%20v1%201024n.pt) | Breasts: illustration | 0.742(box),0.73(mask) | 0.563(box), 0.535(mask) |1(breasts) |~2000 |1024|
| [Anzhc Breasts Seg v1 1024s.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhc%20Breasts%20Seg%20v1%201024s.pt) | Breasts: illustration | 0.768(box),0.763(mask) | 0.596(box), 0.575(mask) |1(breasts) |~2000 |1024|
| [Anzhc Breasts Seg v1 1024m.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhc%20Breasts%20Seg%20v1%201024m.pt) | Breasts: illustration | 0.782(box),0.775(mask) | 0.644(box), 0.614(mask) |1(breasts) |~2000 |1024|


#### Breast size detection and classification:
Model for Detecting and classifying breast size. Can be used for tagging and moderating content.
Utilizes custom scale, combining default Booru sizes with quite freeform upper range of scale from rule34, simplifying and standartizing it.
Size range is established relative to body proportion, instead of relative to scene, to not be confused in cases of gigantism and be disentangled from scene.
And of course it's subjective, since i was the only one annotating data.
| Model | Target |Classes |Dataset size|Training Resolution|
| --------------------------- | --------------------- |---------------|------------|-------------------|
| [Anzhcs Breast Size det cls v8 y11m.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhcs%20Breast%20size%20det%20cls%20v8%20640%20y11m.pt)| Breasts: illustration and real |15(size range)|~16100 |640|
mAPs are not displayed in table, because i think we need more complex stats for this model.

Accurate ratio - correct predictions, exactly matching val.
+1, -1, +-1 ratio - expanded range of acceptable predictions, by +,- and +-1 class. I suggest using this stat as main accuracy, because +-1 range is likely an acceptable margin of error.
At annotation, usual rate of error of original data according to this size scale was in range of +-2 to +-3 in some cases, so +-1 should be quite good.
Miscalss ratio - Correct detection, but classification goes beyond +-1 error.
Miss ratio - Not seen by model, completely missed.
False-Positive ratio - Detection of something that isn't there.
In case of this model i suspect that FPR is also including confusion rate. In some cases multiple detection will be made for single instance, and only 1 will be accepted.
That can be counted as false-positive, while it will be covered in +-1 acc. Actual FPR should be lower than reported, as tested manually.
GT Instances - amount of instances of data per class in dataset.
With that established,
v8 provides pretty decent quality detection and classification, except for extremes of class 11+, and class 0(flat chest), well, since it's not too simple to detect what's not there.
Class 2(medium) is one of the most confusing in this case, and has lowest accuracy. From charts, it's mostly mistaken with class 1.
Rest of classes with reasonable amount of data perform quite well, and achieve high 70s to mid 80s for normal sizes, and up to high 90s for bigger size range.
Misclassification is quite rare, and im happy with model performance in that regard. Average rate of misclassification is just ~3%.
Missing predictions is unfortunately over 10%, but data is highly skewed with classes 0-2, which are hard to detect.
FPR for v8 is very reasonable, assuming confused detections(of 2 classes at once) are counted as FPR. Size range is smooth, and lots of cases where both classes could be applied.
Last class(unmeasurable) is used for classifying outliers that are hard to measure in currently visible area(e.g. mostly out of frame), but model will try to reasonably predict obstructed and partially visible instances.
All ratios are calculated relative to their respective GT instance count.
I will continue to use this benchmark approach for future detection models.

### Drone detection
Model for segmenting and detecting drones. What a wild swing after entry for breast model, huh. I don't really know, just had an idea, made it work, here we are.
**I would highly advice against using it in anything serious.**
Starting from v03. Consider it as v1, since v03 is my internal iteration.
HIGHLY SENSITIVE TO DRONE MODELS - will have hard time detecting certain types, especially close-up.
Performs poorly on cluttered background.
| Model | Target | mAP 50 | mAP 50-95 |Classes |Dataset size|Training Resolution|
| --------------------------- | --------------------- | ----------------------------- | ------------------------- |---------------|------------|-------------------|
| [Anzhcs Drones v03 1024 y11n.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhcs%20Drones%20v03%201024%20y11n.pt) | Drones | 0.927(box) 0.888(mask) | 0.753(box) 0.508(mask) |1(drone) |~3460 |1024|


## Anime Art Scoring
A classification model trained to assign a percentile group based on human preference, instead of trying to directly assign a "quality" label.
Dataset was composed of about 100k images aged from 1 to 2 years on Danbooru (newer and older images were not used). That limits data to images that were sufficiently viewed and rated, while not being overly exposed due to age, nor underexposed.
Scores were used and split into percentile groups, each 10%.
Main interest in making this one was to find out if there is a significant discoverable correlation between scores and image quality.
Here are my custom charts:

(top100 is second class due to alphabetical sorting, but for margin acceptance chart it was re-sorted)
From this chart, considering there are 10 classes in total, i found weak-to-modest correlation between scores and upper half of chart, negative correlation with middle-low part, weak for low, and moderate for lowest.
What does that mean?
It means that there is meaningful correlation between scoring of people relative to features of art in question, but there is no meaningful correlation between art that is scoring neutrally.
Negative scoring (top80-100) has moderate correlation, which suggests that there are some uniform negative features we can infere.
Top60 class is very interesting, because it presents no correlation between provided images, even in top-3 accuracy(it performs at near-random selection in that case(10%)).
That suggests that there is no feature correlation between art being not noticed, at least not the one YOLO was able to find.
We can reasonably predict art that will end up in top of the chart by human score, but we are not able to predict middle-of-the line art, which would constitute majority of art in real case.
We can predict low quality based on human preference reasonably well, but far from ideal.
Margin acceptance charts - A top-1 accuracy, but with margin of class acceptance(1, 2 and 3(starts with -1, then adds +1 and then -2 class)(it/s not +-1-3 as naming suggests))
This allows us to see how well are classes correlate. If we see significant increase relative to first chart, that means that second best prediction was selected as top-1.
We can also see extended correlation trend across classes. We once again can see that middle classes have very low correlation and accuracy, suggesting no meaningful features.
That kinda suggests to me that there is no reason for art that ended up in middle of dataset to be there, and it would end up higher or lower in perfect world.
Top10-40 correlates very well, and that can be used for human preference detection. Funny note on that: **bigger the breasts - better the score**.
And i wholeheartedly support that notion.
NSFW art in general will have higher preference score, well, what an unexpected outcome, amirite? Dataset was composed ~50/50% from Danbooru/Safebooru(safebooru.donmai.us), so it's not due to overrepresentation of NSFW.
That is also why you should not use scores for quality tagging, but if you are looking for a thing to maintain high compatibility with current anime models - be my guest.
Correlation between bottom scores(that you'd use for low quality/worst quality) is weaker, so be conservative with that.
Bigger model and data will likely see more correlation, but from quick test of just running larger variation did not lead me to better performance.
| Model | Target |Top-1 acc/(w/ margin(1/2/3))|Top-2 acc|Top-3 acc|Classes |Dataset size|Training Resolution|
| --------------------------- | --------------------- |---------|---------|---------|---------------|------------|-------------------|
| [Anzhcs Anime Score CLS v1.pt](https://huggingface.co/Anzhc/Anzhcs_YOLOs/blob/main/Anzhcs%20Anime%20Score%20CLS%20v1.pt)| Anime illustration |0.336(0.467/0.645/0.679)|0.566|0.696|10(top10 to top100)|~98000 |224|
Additionally, i will provide a script for tagging your datasets with that, if you want - [Simple Utility Scripts repo](https://github.com/Anzhc/Simple-Utility-Scripts-for-YOLO/tree/main)
### Support
If you want to support me, feel free to donate on ko-fi:
https://ko-fi.com/anzhc
Or send me some BTC:
bc1qpc5kmxrpqp6x8ykdu6976s4rvsz0utk22h80j9
/--UNDER CONSTRUCTION--/ |