[Data-modeling] New properties for the "Visual Art" domain "Color" type
Nick Thompson
nix at metaweb.com
Sat Jun 14 19:14:38 UTC 2008
BlanchedAlmond isn't really a color, it's an alias for #FFEBCD
that's defined in the CSS spec.
by contrast, /en/red is a topic with an array of associated
metaphors and culturally specific meanings. secondarily
it is a color family with all the pigments, dyes, and css color
names that have been used to create the impression of red.
css_color could be used as a cotype to associate an #FF0000
triplet with /en/red, but i still think that's a little
misleading - there are probably at least 10 css_colors that are
relevant to the topic /en/red, so the css_color would have to
be a separate object to express this one-to-many relationship.
i'm pretty skeptical about associating *any* css_color with colors like
violet. violet (as in ROYGBIV) is a saturated color that is way outside
the rgb gamut - the closest thing in css would be #0000FF. but that
didn't stop the css committee from defining "violet" as #EE82EE,
which anybody with normal human vision will readily identify as
pink.
plenty of other css colors are misleadingly named, and many of
the more exotic "colors" we have may have been imported from
css. i hope freebase can do better than css here - if anything
gets imported from css it should be typed as a css_color. it's
probably not a color topic unless it has a reasonable wikipedia
article.
back to color spaces, it looks like the thing to model is probably
"ICC Color Profile". the color profile includes things like
a standard illuminant, so there are defined conversions between
additive and subtractive color profiles.
nick
Faye Li wrote:
> Thanks, Nick. While I agree keeping track of values of the same colors
> in multiple representations is a lot like keeping track of mountain
> height in feet and meters, there's less standardization in the color
> domain than in the measurement units of mountains, and different
> applications have different preferred color systems. Luckily, taking
> away properties is quite easy. I've hidden CMYK and HSV for now. I've
> also added a property for CIE xy value. You're sure you're not
> interested in CIE LUV or CIE Lab or NCS while I'm at it? ;)
>
> Freebase has 250+ colors to date. I picked a couple of easy ones ("red",
> "magenta") to use as examples, but feel free to experiment with the
> model using more defined colors, like "blanched almond", for example.
>
> Red is both a color and a color family. As for the high-accuracy RGB
> value of (255, 0, 0) for the color red, I'm referring to the definitive
> CSS color named "red". I think you have the wider range of generic color
> in mind. One way to address this, which I hesitate to mention, might be
> to create "is a sub-color of" and "sub colors" properties, so that one
> can say that crimson and maroon are both "sub colors" or "in the color
> family" of red. I have to admit I have mixed feelings about this one:
> I'm somewhat weary of ending up with data that would assert "medium
> spring green" as a sub color of "lime green", or that "camel" is a sub
> color of "sand".
>
> You mentioned color spaces. I think it would make sense to move the
> Color type and the helper types to a Color domain, where Gordon's work
> on color spaces (see post from earlier this week) can be incorporated as
> well.
>
> Here's the updated schema:
> http://sandbox.freebase.com/tools/schema/visual_art/color
>
> -- Faye
>
>
> Nick Thompson wrote:
>> for magenta it's pretty easy to pick the CMYK value, but in
>> general it depends both on the choice of printing inks and
>> on the algorithm used to choose the black level. i believe
>> sRGB has a well-defined set of primaries, but many colors
>> don't even have an sRGB representation.
>>
>> so the most canonical specification for visible color is probably
>> CIE xy coordinates. representations like RGB only make sense
>> in terms of a set of primaries - the primaries themselves are
>> usually referenced to CIE XYZ, which is like CIE xy except that
>> it includes an intensity component as well as color. note that
>> capitalization is significant in these coordinate systems:
>> it's "CIE xy" and "CIE XYZ".
>>
>> color systems should probably be treated in the same way as
>> units of measure or the datum for geographic information. i
>> would propose that CIE xy coordinates are the most standard
>> and most flexible. the major advantage is that it includes
>> all visible colors, unlike any of the infinite variations on
>> RGB. converting from CIE xy to any particular RGB is not
>> much code. HSV is a somewhat harder.
>>
>> adding values in lots of different color systems is a bit like
>> keeping track of mountain heights in both meters and feet.
>> CIE xy is a no brainer, and some kind of CSS RGB is worth
>> including since that's the primary output device for freebase
>> users.
>>
>> note that for just about any pure color, the CIE xy value will
>> not actually be the same color as the RGB value: the RGB value
>> is a best-effort approximation given some assumed hardware,
>> which may have very little to do with the actual hardware.
>>
>> i would probably leave out HSV, many of the HSV values floating
>> around out there are probably bogus and the right thing to do
>> is to compute it from the CIE xy for consistency. unless there's
>> a use case it's just duplicated information.
>>
>> CMY depends too heavily on the output device and what kind
>> of lights you own. CMYK is also under-determined and i think
>> in some cases it even depends on the choice of halftone pattern.
>>
>> one could also create the "Color Space" type which is a
>> collection of named colors. so the sRGB coordinate space would
>> be defined in terms of the sRGB red, green, and blue primaries.
>> CSS red (if it's actually defined) is probably a different color
>> from the sRGB red. subtractive color systems might be a different
>> type, not sure.
>>
>> i think that where this leads is probably to leaving most numbers
>> off the articles about abstract color concepts like "red" and
>> having a separate type for concrete colors with actual numbers
>> attached. some kind of RGB value is needed for rendering but
>> a 0-255 range for each component would be misleadingly precise.
>>
>> nick
>>
>>
>> Faye Li wrote:
>>
>>> Well, no Pantone, but CMYK modeling is done. I also added a property for
>>> HSV, since it's well-populated in Wikipedia.
>>>
>>> As an example, see Magenta:
>>> http://sandbox.freebase.com/view/guid/9202a8c04000641f800000000005c565
>>>
>>> Considering I've created three types already for these color properties,
>>> I like Gordon's idea of moving the expanding Color-related types out
>>> into a Color domain. Backward-compatibility will be maintained by
>>> supporting the type key /visual_art/color (and add an appropriate key
>>> for the new domain).
>>>
>>> What do you all think?
>>>
>>> -- Faye
>>>
>>>
>>> Robert Cook wrote:
>>>
>>>> Pantone colors might be a problem. From wikipedia
>>>> <http://en.wikipedia.org/wiki/Pantone>:
>>>>
>>>>
>>>>> Intellectual property
>>>>>
>>>>> Pantone asserts that their lists of color numbers and pigment values
>>>>> are the intellectual property of Pantone and free use of the list is
>>>>> not allowed.[9] This is frequently held as a reason why Pantone
>>>>> colors cannot be supported in Open Source software such as GNU Image
>>>>> Manipulation Program (GIMP) and are not often found in low-cost
>>>>> software. It has been claimed that "it seems as if the company is
>>>>> being intentionally unclear" but it is acknowledged that "the
>>>>> simplest claim would be trademark misappropriation or dilution
>>>>> towards someone who produced a color palette marketed as compatible
>>>>> with Pantone's".[10] However, Pantone palettes supplied by printer
>>>>> manufacturers can be obtained freely, and depending on supplier, do
>>>>> not come with usage restriction beyond sales ban on hard copy of the
>>>>> palette.
>>>>>
>>>>> Pantone also possesses patent 5,734,800, a six-color Hexachrome
>>>>> printing system.
>>>>>
>>>> On Jun 11, 2008, at 12:49 PM, Jeff Prucher wrote:
>>>>
>>>>
>>>>> +1 for Pantone and CMYK properties. As long as we're getting
>>>>> technical, we
>>>>> might as well go all the way.
>>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: data-modeling-bounces at freebase.com
>>>>>> <mailto:data-modeling-bounces at freebase.com>
>>>>>> [mailto:data-modeling-bounces at freebase.com] On Behalf Of Faye Li
>>>>>> Sent: Tuesday, June 10, 2008 7:14 PM
>>>>>> To: Freebase data modeling mailing list
>>>>>> Subject: Re: [Data-modeling] New properties for the "Visual
>>>>>> Art" domain "Color" type
>>>>>>
>>>>>> Hi Ed,
>>>>>>
>>>>>> The wavelength and frequency are for spectral colors only (as
>>>>>> noted in the property description). I had them named
>>>>>> "Spectral Wavelength Range (nm)" and "Spectral Frequency
>>>>>> Range (THz)" at first which was a mouthful. I'll be happy to
>>>>>> change them back if that would remove ambiguity as to what
>>>>>> I'm referring to, light or pigment. Clarity trumps brevity.
>>>>>>
>>>>>> I want to draw the distinction between color and color
>>>>>> product. A red BMW is not going to match the color of a red
>>>>>> Honda. The blue in IBM's logo is going to match the blue in
>>>>>> HP's logo. Those colors are only the same in name, and when
>>>>>> prefixed with their brand or corporate identity or other
>>>>>> context, it's obvious to most people that they're different.
>>>>>> That should address most of the naming "conflicts". CMYK and
>>>>>> Pantone properties can also be added to allow exact
>>>>>> specification of reflective colors.
>>>>>>
>>>>>> Aside from that, isn't color one of those things defined and
>>>>>> governed by some international standard? I'll do a little
>>>>>> research on that tonight.
>>>>>>
>>>>>> -- Faye
>>>>>>
>>>>>>
>>>>>> Ed Laurent wrote:
>>>>>>
>>>>>>> Great job Faye! Your model even addresses ROY G BIV's first initial
>>>>>>> (i.e., wavelength and frequency range). Do your properties
>>>>>>>
>>>>>> apply only
>>>>>>
>>>>>>> to frequencies of light and not to the pigments that
>>>>>>>
>>>>>> reflect it? For
>>>>>>
>>>>>>> example, how would you use this information to whip up a can of red
>>>>>>> paint?
>>>>>>>
>>>>>>> I agree with you that some reds are red no matter how detailed the
>>>>>>> description. A user can accurately specify red as a
>>>>>>>
>>>>>> property and not
>>>>>>
>>>>>>> need to know red's physical properties to do so, but the
>>>>>>>
>>>>>> link should
>>>>>>
>>>>>>> take them to that information if they desire. If we take Gordon's
>>>>>>> approach instead, how big is the box of Crayolas that is used to
>>>>>>> single out simple colors without detailed properties and
>>>>>>>
>>>>>> what property
>>>>>>
>>>>>>> do you use to distinguish the the simple color scheme from
>>>>>>>
>>>>>> the complex
>>>>>>
>>>>>>> one? Is it only the domain they are in?
>>>>>>>
>>>>>>> Similarly, conflicts in naming conventions might be an
>>>>>>>
>>>>>> issue. How do
>>>>>>
>>>>>>> you handle two interpretations of "Blood Red"? Can there be
>>>>>>>
>>>>>> a link to
>>>>>>
>>>>>>> the namer or naming convention publication?
>>>>>>>
>>>>>>> -Ed
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Jun 10, 2008 at 4:50 AM, Faye Li <faye at metaweb.com
>>>>>>> <mailto:faye at metaweb.com>
>>>>>>> <mailto:faye at metaweb.com>> wrote:
>>>>>>>
>>>>>>> Interesting idea.
>>>>>>>
>>>>>>> The properties I added are all taken from the Wikipedia infobox
>>>>>>> for colors. See "Red" here:
>>>>>>> http://en.wikipedia.org/wiki/Red
>>>>>>>
>>>>>>> Are you saying that we should model "casual" uses of color
>>>>>>> separately from scientific or professional uses of
>>>>>>>
>>>>>> color? Although
>>>>>>
>>>>>>> the current Color type has carried no properties, it's used as a
>>>>>>> property's expected type in quite a few types: sport teams,
>>>>>>> fraternities/sororities, and material in fiction, etc. These
>>>>>>> everyday usage examples of color are not so concerned with the
>>>>>>> scientific side of color science as say, a visual device
>>>>>>> manufacturer. I'm open to expanding and exploring the color data
>>>>>>> into a full-fledged domain on its own, but I think it
>>>>>>>
>>>>>> makes sense
>>>>>>
>>>>>>> to have only one "Red" topic for the color to carry all its
>>>>>>> information, regardless of where it is.
>>>>>>>
>>>>>>> -- Faye
>>>>>>>
>>>>>>>
>>>>>>> ----- Original Message -----
>>>>>>> From: "Gordon Mackenzie" <gordon at metaweb.com
>>>>>>> <mailto:gordon at metaweb.com>
>>>>>>> <mailto:gordon at metaweb.com>>
>>>>>>> To: "Freebase data modeling mailing list"
>>>>>>> <data-modeling at freebase.com <mailto:data-modeling at freebase.com>>
>>>>>>> Sent: Tuesday, June 10, 2008 1:28:09 AM (GMT-0800)
>>>>>>>
>>>>>> America/Los_Angeles
>>>>>>
>>>>>>> Subject: Re: [Data-modeling] New properties for the "Visual Art"
>>>>>>> domain "Color" type
>>>>>>>
>>>>>>> I think maybe Color should be it's on domain, a Visual
>>>>>>>
>>>>>> Perception
>>>>>>
>>>>>>> Domain? These properties look more appropriate to an
>>>>>>> Energy/Wavelengths?
>>>>>>>
>>>>>>> Here's a little somethin I was messing with earlier:
>>>>>>>
>>>>>>> http://www.freebase.com/view/user/gmackenz/color
>>>>>>>
>>>>>>> Color schemes, color systems, theories/models.
>>>>>>>
>>>>>>> Additive and Subtractive color methods for different media
>>>>>>> (printing, video, etc.)
>>>>>>>
>>>>>>> http://www.freebase.com/view/user/gmackenz/color/color_type
>>>>>>>
>>>>>>> ----- Original Message -----
>>>>>>> From: "Faye Li" <faye at metaweb.com <mailto:faye at metaweb.com>>
>>>>>>> To: data-modeling at freebase.com <mailto:data-modeling at freebase.com>
>>>>>>>
>>>>>> <mailto:data-modeling at freebase.com>
>>>>>>
>>>>>>> Sent: Tuesday, June 10, 2008 12:54:11 AM (GMT-0800)
>>>>>>> America/Los_Angeles
>>>>>>> Subject: [Data-modeling] New properties for the "Visual Art"
>>>>>>> domain "Color" type
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> In response to user spatialed's suggestion (from a while back),
>>>>>>> I've finally gotten to adding some properties to the
>>>>>>>
>>>>>> empty "Color"
>>>>>>
>>>>>>> type on Sandbox for review:
>>>>>>>
>>>>>>> http://sandbox.freebase.com/tools/schema/visual_art/color
>>>>>>>
>>>>>>> 1) Wavelength Range (nm), expected type "Integer Range", for
>>>>>>> spectral wavelength range of the color, in nanometers.
>>>>>>> 2) Frequency Range (THz), expected type "Integer Range", for
>>>>>>> spectral frequency range of the color, in terahertz.
>>>>>>> 3) sRGB Value, expected type (new type) "RGB
>>>>>>>
>>>>>> Representation", for
>>>>>>
>>>>>>> 24-bit RGB representation of the color. Valid range is 0-255
>>>>>>> inclusive for each dimension.
>>>>>>> 4) Hex Triplet, expected type "Machine readable string", for
>>>>>>> 6-digit RGB value in hex with the conventional pound sign # as a
>>>>>>> prefix.
>>>>>>>
>>>>>>> All properties have the "restrict to one value" option checked.
>>>>>>>
>>>>>>> As an example, I've filled out the "Red" topic with values from
>>>>>>> Wikipedia:
>>>>>>> http://sandbox.freebase.com/view/en/red
>>>>>>>
>>>>>>> For now, I've left out HSV hexacone and CIE XYZ color spaces
>>>>>>> (what, you can't convert color representations between color
>>>>>>> spaces in your head?), but if desired, they can be
>>>>>>>
>>>>>> modeled without
>>>>>>
>>>>>>> too much effort.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> -- Faye
>>>>>>> _______________________________________________
>>>>>>> Data-modeling mailing list
>>>>>>> Data-modeling at freebase.com <mailto:Data-modeling at freebase.com>
>>>>>>> http://lists.freebase.com/mailman/listinfo/data-modeling
>>>>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> Data-modeling mailing list
>>>> Data-modeling at freebase.com
>>>> http://lists.freebase.com/mailman/listinfo/data-modeling
>>>>
>>>>
>>> _______________________________________________
>>> Data-modeling mailing list
>>> Data-modeling at freebase.com
>>> http://lists.freebase.com/mailman/listinfo/data-modeling
>>>
>> _______________________________________________
>> Data-modeling mailing list
>> Data-modeling at freebase.com
>> http://lists.freebase.com/mailman/listinfo/data-modeling
>>
>>
>
> _______________________________________________
> Data-modeling mailing list
> Data-modeling at freebase.com
> http://lists.freebase.com/mailman/listinfo/data-modeling
More information about the Data-modeling
mailing list