debkbanerji / lego-art-remix

Powerful computer vision assisted Lego mosaic creator · Over 1 million images created (so far!)
https://lego-art-remix.com
GNU General Public License v3.0
288 stars 70 forks source link

Just verify the RGB values for bright pink, dark pink, and (vibrant) coral #75

Closed douglasblash closed 2 years ago

douglasblash commented 2 years ago

Hey again,

When I do images of faces and skin-tones, tiles of bright pink, dark pink, and (vibrant) coral pop up very often. But those colors are extremely vivid in the real plastic, so they do not usually work right as flesh-tones, unless it's some wild Post-Impressionism!

Can you double-check the RGB values for them, and realize that BrickLink sometimes artificially tweaks the RGB values to make it easier for the sellers to distinguish one subtle shade from another. Especially (vibrant) coral is outrageously too vivid for a flesh-tone.

Thanks again!

debkbanerji commented 2 years ago

Unfortunately, I cannot for the life of me remember where I sourced the hex codes from, but I do believe it was a Bricklink page. If things are looking off for certain colors, it might be worth re sourcing everything. My concern is that manually tweaking specific colors by eye might cause messiness and inconsistency when compared to the other colors. Unless Bricklink deviated significantly in a measurable way which is documented somewhere, it's weird from an eng perspective. Everyone's eyes are different, and I want to avoid biasing towards my own for this set of colors.

See https://www.bricklink.com/catalogColors.asp - do the pink colors here look closer to the real ones than the Lego Art Remix ones do? If so, we could pull the colors from here instead. If not, some more digging would need to be done - i.e. tracing how these hex codes were determined.

douglasblash commented 2 years ago

I am sure they use a light box, the kind used by professional designers, to basically take a controlled photo and sample the RGB from that image. It's worth noting that these color swatches on BrickLink look much more accurate than the renderings on Lego Pick-A-Brick.

So the hues look very accurate, but the intensity/saturation and brightness play a big role in some of the more fluorescent tones. It's also a matter of a monitor's max brightness settings. Essentially, if the RGB values you have match what you can sample with a dropper-tool off of that page, then it's about the best you can do.

At any rate, if coral and dark pink show up, I first try replacing them with just bright pink instead, which is more subtle, and it can work as a flesh tone for cheeks and lips. If that is still too bright, then I just replace it with the best matching flesh-tone.

And that generally solves the problem!

debkbanerji commented 2 years ago

Closing for now since it's not clear how to deal with varying intensity and saturation (see earlier note about subjective nature of colors). Feel free to reopen if there is an actionable way to make sure this is more accurate - unless we're able to confidently say that these colors are better in most situations, making this change could throw off results for everyone.

douglasblash commented 2 years ago

Yeah, I totally agree. If your RGB values are the same as what BrickLink defines, then that is the best workable solution!

Essentially, both "vibrant coral" and "neon yellow" have more red channel, and more overall saturation, than the maximum that an RGB monitor can show... Cool, so just leave it as is! =)

Thanks!