From 3ad73a752c636c21c39bee67c3d82060b281c467 Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Sun, 12 Apr 2020 15:39:36 +0200 Subject: [PATCH] Backend: Update label rules Signed-off-by: Michael Mayer --- internal/classify/rules.go | 210 ++++++++++++++++++++---------------- internal/classify/rules.yml | 101 +++++++++-------- internal/query/photo.go | 4 +- 3 files changed, 176 insertions(+), 139 deletions(-) diff --git a/internal/classify/rules.go b/internal/classify/rules.go index c75823e2e..91243e513 100644 --- a/internal/classify/rules.go +++ b/internal/classify/rules.go @@ -27,10 +27,10 @@ var rules = LabelRules{ Categories: []string{}, }, "acorn": { - Label: "tree", - Threshold: 0.800000, - Priority: 0, - Categories: []string{"plant"}, + Label: "", + Threshold: 1.000000, + Priority: -2, + Categories: []string{}, }, "acorn squash": { Label: "pumpkin", @@ -70,7 +70,7 @@ var rules = LabelRules{ }, "african crocodile": { Label: "crocodile", - Threshold: 0.500000, + Threshold: 0.750000, Priority: 0, Categories: []string{"reptile", "animal"}, }, @@ -160,7 +160,7 @@ var rules = LabelRules{ }, "american alligator": { Label: "alligator", - Threshold: 0.500000, + Threshold: 0.750000, Priority: 0, Categories: []string{"reptile", "animal"}, }, @@ -214,7 +214,7 @@ var rules = LabelRules{ }, "anemone fish": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, @@ -225,10 +225,10 @@ var rules = LabelRules{ Categories: []string{"animal"}, }, "ant": { - Label: "", - Threshold: 0.450000, + Label: "insect", + Threshold: 0.300000, Priority: 0, - Categories: []string{"animal", "insect"}, + Categories: []string{"animal"}, }, "ape": { Label: "ape", @@ -248,6 +248,12 @@ var rules = LabelRules{ Priority: 5, Categories: []string{"animal"}, }, + "apron": { + Label: "", + Threshold: 1.000000, + Priority: -2, + Categories: []string{}, + }, "arabian camel": { Label: "animal", Threshold: 0.700000, @@ -256,7 +262,7 @@ var rules = LabelRules{ }, "arctic fox": { Label: "fox", - Threshold: 0.600000, + Threshold: 0.850000, Priority: 0, Categories: []string{"animal"}, }, @@ -292,7 +298,7 @@ var rules = LabelRules{ }, "axolotl": { Label: "salamander", - Threshold: 0.500000, + Threshold: 0.700000, Priority: 0, Categories: []string{"animal"}, }, @@ -304,7 +310,7 @@ var rules = LabelRules{ }, "baby": { Label: "baby", - Threshold: 0.250000, + Threshold: 0.500000, Priority: 0, Categories: []string{"people"}, }, @@ -430,7 +436,7 @@ var rules = LabelRules{ }, "barn spider": { Label: "spider", - Threshold: 0.750000, + Threshold: 0.950000, Priority: 0, Categories: []string{"animal"}, }, @@ -442,7 +448,7 @@ var rules = LabelRules{ }, "barracouta": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, @@ -490,7 +496,7 @@ var rules = LabelRules{ }, "bassinet": { Label: "baby", - Threshold: 0.250000, + Threshold: 0.500000, Priority: 0, Categories: []string{"people"}, }, @@ -568,7 +574,7 @@ var rules = LabelRules{ }, "bee": { Label: "", - Threshold: 0.300000, + Threshold: 0.600000, Priority: 0, Categories: []string{"animal"}, }, @@ -700,7 +706,7 @@ var rules = LabelRules{ }, "black and gold garden spider": { Label: "spider", - Threshold: 0.750000, + Threshold: 0.950000, Priority: 0, Categories: []string{"animal"}, }, @@ -724,7 +730,7 @@ var rules = LabelRules{ }, "black widow": { Label: "spider", - Threshold: 0.750000, + Threshold: 0.950000, Priority: 0, Categories: []string{"animal"}, }, @@ -1144,8 +1150,8 @@ var rules = LabelRules{ }, "carton": { Label: "", - Threshold: 0.500000, - Priority: 0, + Threshold: 1.000000, + Priority: -2, Categories: []string{}, }, "cash machine": { @@ -1269,9 +1275,9 @@ var rules = LabelRules{ Categories: []string{"animal"}, }, "chest": { - Label: "box", - Threshold: 0.500000, - Priority: 0, + Label: "", + Threshold: 1.000000, + Priority: -2, Categories: []string{}, }, "chickadee bird": { @@ -1362,7 +1368,7 @@ var rules = LabelRules{ Label: "landscape", Threshold: 0.200000, Priority: 0, - Categories: []string{"water", "rocks"}, + Categories: []string{}, }, "cliff dwelling": { Label: "building", @@ -1438,7 +1444,7 @@ var rules = LabelRules{ }, "coho fish": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, @@ -1480,7 +1486,7 @@ var rules = LabelRules{ }, "common newt salamander": { Label: "salamander", - Threshold: 0.500000, + Threshold: 0.700000, Priority: 0, Categories: []string{"animal"}, }, @@ -1492,7 +1498,7 @@ var rules = LabelRules{ }, "conch": { Label: "shell", - Threshold: 0.500000, + Threshold: 0.600000, Priority: 0, Categories: []string{}, }, @@ -1624,7 +1630,7 @@ var rules = LabelRules{ }, "crib": { Label: "stained glass", - Threshold: 0.300000, + Threshold: 0.400000, Priority: 0, Categories: []string{}, }, @@ -1695,10 +1701,10 @@ var rules = LabelRules{ Categories: []string{"animal"}, }, "dam": { - Label: "wall", + Label: "water", Threshold: 0.300000, Priority: 0, - Categories: []string{"architecture"}, + Categories: []string{}, }, "damselfly": { Label: "insect", @@ -1924,13 +1930,13 @@ var rules = LabelRules{ }, "eel": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, "eft": { Label: "salamander", - Threshold: 0.500000, + Threshold: 0.700000, Priority: 0, Categories: []string{"animal"}, }, @@ -1966,7 +1972,7 @@ var rules = LabelRules{ }, "electric ray": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, @@ -2038,7 +2044,7 @@ var rules = LabelRules{ }, "european fire salamander": { Label: "salamander", - Threshold: 0.500000, + Threshold: 0.700000, Priority: 0, Categories: []string{"animal"}, }, @@ -2116,7 +2122,7 @@ var rules = LabelRules{ }, "fish": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, @@ -2152,7 +2158,7 @@ var rules = LabelRules{ }, "fly": { Label: "", - Threshold: 0.300000, + Threshold: 0.600000, Priority: 0, Categories: []string{"animal"}, }, @@ -2206,7 +2212,7 @@ var rules = LabelRules{ }, "fox": { Label: "fox", - Threshold: 0.600000, + Threshold: 0.850000, Priority: 0, Categories: []string{"animal"}, }, @@ -2272,7 +2278,7 @@ var rules = LabelRules{ }, "gar fish": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, @@ -2284,7 +2290,7 @@ var rules = LabelRules{ }, "garden spider": { Label: "spider", - Threshold: 0.750000, + Threshold: 0.950000, Priority: 0, Categories: []string{"animal"}, }, @@ -2328,7 +2334,7 @@ var rules = LabelRules{ Label: "landscape", Threshold: 0.400000, Priority: 0, - Categories: []string{"water"}, + Categories: []string{}, }, "giant panda": { Label: "panda", @@ -2380,14 +2386,14 @@ var rules = LabelRules{ }, "goldfish": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, "golf ball": { Label: "", - Threshold: 1.000000, - Priority: -2, + Threshold: 0.000000, + Priority: 0, Categories: []string{}, }, "golfcart": { @@ -2470,7 +2476,7 @@ var rules = LabelRules{ }, "great white shark": { Label: "shark", - Threshold: 0.300000, + Threshold: 0.600000, Priority: 0, Categories: []string{"water", "fish", "animal"}, }, @@ -2506,7 +2512,7 @@ var rules = LabelRules{ }, "grey fox": { Label: "fox", - Threshold: 0.600000, + Threshold: 0.850000, Priority: 0, Categories: []string{"animal"}, }, @@ -2538,7 +2544,7 @@ var rules = LabelRules{ Label: "wedding", Threshold: 0.300000, Priority: 0, - Categories: []string{"event"}, + Categories: []string{"event", "portrait"}, }, "ground beetle": { Label: "beetle", @@ -2602,7 +2608,7 @@ var rules = LabelRules{ }, "hammerhead": { Label: "shark", - Threshold: 0.300000, + Threshold: 0.600000, Priority: 0, Categories: []string{"water", "fish", "animal"}, }, @@ -2674,7 +2680,7 @@ var rules = LabelRules{ }, "harvestman": { Label: "spider", - Threshold: 0.750000, + Threshold: 0.950000, Priority: 0, Categories: []string{"animal"}, }, @@ -2734,7 +2740,7 @@ var rules = LabelRules{ }, "hippopotamus": { Label: "hippo", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"animal", "wildlife"}, }, @@ -3112,7 +3118,7 @@ var rules = LabelRules{ }, "kit fox": { Label: "fox", - Threshold: 0.600000, + Threshold: 0.850000, Priority: 0, Categories: []string{"animal"}, }, @@ -3328,7 +3334,7 @@ var rules = LabelRules{ }, "lionfish": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, @@ -3620,6 +3626,12 @@ var rules = LabelRules{ Priority: 0, Categories: []string{"people"}, }, + "milk can": { + Label: "", + Threshold: 1.000000, + Priority: -2, + Categories: []string{}, + }, "miniature pinscher dog": { Label: "dog", Threshold: 0.200000, @@ -3711,10 +3723,10 @@ var rules = LabelRules{ Categories: []string{"architecture"}, }, "mongoose": { - Label: "", + Label: "animal", Threshold: 0.300000, Priority: 0, - Categories: []string{"animal"}, + Categories: []string{}, }, "monitor": { Label: "screen", @@ -4224,7 +4236,7 @@ var rules = LabelRules{ Label: "", Threshold: 0.300000, Priority: 0, - Categories: []string{}, + Categories: []string{"architecture", "water"}, }, "piggy bank": { Label: "", @@ -4246,14 +4258,14 @@ var rules = LabelRules{ }, "pineapple": { Label: "", - Threshold: 0.450000, + Threshold: 0.600000, Priority: 0, Categories: []string{"fruit", "food"}, }, "ping-pong ball": { Label: "", - Threshold: 1.000000, - Priority: -2, + Threshold: 0.000000, + Priority: 0, Categories: []string{}, }, "pinwheel": { @@ -4464,7 +4476,7 @@ var rules = LabelRules{ Label: "landscape", Threshold: 0.200000, Priority: 0, - Categories: []string{"water", "rocks"}, + Categories: []string{}, }, "ptarmigan": { Label: "bird", @@ -4480,7 +4492,7 @@ var rules = LabelRules{ }, "puffer": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, @@ -4588,7 +4600,7 @@ var rules = LabelRules{ }, "red fox": { Label: "fox", - Threshold: 0.600000, + Threshold: 0.850000, Priority: 0, Categories: []string{"animal"}, }, @@ -4702,7 +4714,7 @@ var rules = LabelRules{ }, "rock beauty fish": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, @@ -4786,7 +4798,7 @@ var rules = LabelRules{ }, "salamander": { Label: "salamander", - Threshold: 0.500000, + Threshold: 0.700000, Priority: 0, Categories: []string{"animal"}, }, @@ -4832,6 +4844,12 @@ var rules = LabelRules{ Priority: -2, Categories: []string{}, }, + "scabbard": { + Label: "", + Threshold: 1.000000, + Priority: -2, + Categories: []string{}, + }, "scale": { Label: "display", Threshold: 0.300000, @@ -4930,9 +4948,9 @@ var rules = LabelRules{ }, "sea urchin": { Label: "", - Threshold: 0.800000, - Priority: 0, - Categories: []string{"water", "animal"}, + Threshold: 1.000000, + Priority: -2, + Categories: []string{}, }, "sealyham terrier dog": { Label: "dog", @@ -4954,7 +4972,7 @@ var rules = LabelRules{ }, "shark": { Label: "shark", - Threshold: 0.300000, + Threshold: 0.600000, Priority: 0, Categories: []string{"water", "fish", "animal"}, }, @@ -4976,6 +4994,12 @@ var rules = LabelRules{ Priority: -2, Categories: []string{}, }, + "shih-tzu dog": { + Label: "dog", + Threshold: 0.200000, + Priority: 5, + Categories: []string{"animal"}, + }, "ship": { Label: "ship", Threshold: 0.150000, @@ -5018,6 +5042,12 @@ var rules = LabelRules{ Priority: -1, Categories: []string{}, }, + "shower cap": { + Label: "portrait", + Threshold: 0.300000, + Priority: 0, + Categories: []string{"people"}, + }, "shower curtain": { Label: "living", Threshold: 0.670000, @@ -5127,7 +5157,7 @@ var rules = LabelRules{ Categories: []string{}, }, "snow leopard": { - Label: "", + Label: "leopard", Threshold: 0.600000, Priority: 5, Categories: []string{"cat", "animal", "wildlife"}, @@ -5230,7 +5260,7 @@ var rules = LabelRules{ }, "spider": { Label: "spider", - Threshold: 0.750000, + Threshold: 0.950000, Priority: 0, Categories: []string{"animal"}, }, @@ -5278,7 +5308,7 @@ var rules = LabelRules{ }, "spotted salamander": { Label: "salamander", - Threshold: 0.500000, + Threshold: 0.700000, Priority: 0, Categories: []string{"animal"}, }, @@ -5294,12 +5324,6 @@ var rules = LabelRules{ Priority: 2, Categories: []string{"animal"}, }, - "sshih-tzu dog": { - Label: "dog", - Threshold: 0.200000, - Priority: 5, - Categories: []string{"animal"}, - }, "staffordshire bullterrier dog": { Label: "dog", Threshold: 0.200000, @@ -5356,7 +5380,7 @@ var rules = LabelRules{ }, "stingray": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, @@ -5402,6 +5426,12 @@ var rules = LabelRules{ Priority: 0, Categories: []string{"food"}, }, + "street sign": { + Label: "sign", + Threshold: 0.000000, + Priority: 0, + Categories: []string{"traffic"}, + }, "streetcar": { Label: "", Threshold: 0.200000, @@ -5428,7 +5458,7 @@ var rules = LabelRules{ }, "sturgeon fish": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, @@ -5505,10 +5535,10 @@ var rules = LabelRules{ Categories: []string{"people"}, }, "swimming trunks": { - Label: "sunshine", + Label: "portrait", Threshold: 0.200000, Priority: 0, - Categories: []string{"people", "portrait"}, + Categories: []string{"people"}, }, "swing": { Label: "moment", @@ -5566,7 +5596,7 @@ var rules = LabelRules{ }, "tarantula": { Label: "spider", - Threshold: 0.750000, + Threshold: 0.950000, Priority: 0, Categories: []string{"animal"}, }, @@ -5590,14 +5620,14 @@ var rules = LabelRules{ }, "tench fish": { Label: "fish", - Threshold: 0.200000, + Threshold: 0.400000, Priority: 0, Categories: []string{"water", "animal"}, }, "tennis ball": { Label: "", - Threshold: 1.000000, - Priority: -2, + Threshold: 0.000000, + Priority: 0, Categories: []string{}, }, "terrapin": { @@ -5686,7 +5716,7 @@ var rules = LabelRules{ }, "tiger shark": { Label: "shark", - Threshold: 0.300000, + Threshold: 0.600000, Priority: 0, Categories: []string{"water", "fish", "animal"}, }, @@ -6165,10 +6195,10 @@ var rules = LabelRules{ Categories: []string{"reptile", "animal"}, }, "whistle": { - Label: "", - Threshold: 0.700000, + Label: "portrait", + Threshold: 0.350000, Priority: 0, - Categories: []string{}, + Categories: []string{"people"}, }, "white stork": { Label: "bird", @@ -6202,7 +6232,7 @@ var rules = LabelRules{ }, "window": { Label: "window", - Threshold: 0.400000, + Threshold: 0.700000, Priority: 0, Categories: []string{"architecture"}, }, @@ -6250,7 +6280,7 @@ var rules = LabelRules{ }, "wolf spider": { Label: "spider", - Threshold: 0.750000, + Threshold: 0.950000, Priority: 0, Categories: []string{"animal"}, }, diff --git a/internal/classify/rules.yml b/internal/classify/rules.yml index 73802eded..dcbb94e20 100644 --- a/internal/classify/rules.yml +++ b/internal/classify/rules.yml @@ -46,7 +46,13 @@ leopard: see: wild cat snow leopard: - see: wild cat + label: leopard + priority: 5 + threshold: 0.6 + categories: + - cat + - animal + - wildlife jaguar: see: wild cat @@ -77,7 +83,7 @@ cardoon: window: label: window - threshold: 0.4 + threshold: 0.7 categories: - architecture @@ -267,7 +273,7 @@ goldfish: shark: label: shark - threshold: 0.3 + threshold: 0.6 categories: - water - fish @@ -362,7 +368,7 @@ great grey owl bird: salamander: label: salamander - threshold: 0.5 + threshold: 0.7 categories: - animal @@ -470,14 +476,14 @@ komodo dragon: african crocodile: label: crocodile - threshold: 0.5 + threshold: 0.75 categories: - reptile - animal american alligator: label: alligator - threshold: 0.5 + threshold: 0.75 categories: - reptile - animal @@ -555,7 +561,7 @@ scorpion: spider: label: spider - threshold: 0.75 + threshold: 0.95 categories: - animal @@ -716,7 +722,7 @@ nematode: conch: label: shell - threshold: 0.5 + threshold: 0.6 snail: label: snail @@ -881,7 +887,7 @@ maltese dog: pekinese dog: see: dog -sshih-tzu dog: +shih-tzu dog: see: dog blenheim spaniel dog: @@ -1256,7 +1262,7 @@ hyena: fox: label: fox - threshold: 0.6 + threshold: 0.85 categories: - animal @@ -1291,9 +1297,8 @@ sloth bear: see: bear mongoose: + label: animal threshold: 0.3 - categories: - - animal meerkat: threshold: 0.3 @@ -1333,12 +1338,12 @@ weevil: see: beetle fly: - threshold: 0.3 + threshold: 0.6 categories: - animal bee: - threshold: 0.3 + threshold: 0.6 categories: - animal @@ -1346,10 +1351,7 @@ apiary: see: ignore ant: - threshold: 0.45 - categories: - - animal - - insect + see: insect walking stick: see: ignore @@ -1419,10 +1421,7 @@ starfish: - animal sea urchin: - threshold: 0.8 - categories: - - water - - animal + see: ignore sea cucumber: threshold: 0.8 @@ -1497,7 +1496,7 @@ warthog: hippopotamus: label: hippo - threshold: 0.2 + threshold: 0.4 categories: - animal - wildlife @@ -1720,7 +1719,7 @@ giant panda: fish: label: fish - threshold: 0.2 + threshold: 0.4 categories: - water - animal @@ -2092,10 +2091,8 @@ crock pot: label: cooking dam: - label: wall + label: water threshold: 0.3 - categories: - - architecture stone wall: label: wall @@ -2639,6 +2636,9 @@ pickup: pier: threshold: 0.3 + categories: + - architecture + - water piggy bank: threshold: 0.5 @@ -2943,11 +2943,10 @@ suspension bridge: - building swimming trunks: - label: sunshine + label: portrait threshold: 0.2 categories: - people - - portrait table lamp: see: living @@ -3240,7 +3239,7 @@ fig: see: fruit pineapple: - threshold: 0.45 + threshold: 0.6 categories: - fruit - food @@ -3325,9 +3324,6 @@ alp: cliff: label: landscape threshold: 0.2 - categories: - - water - - rocks promontory: see: cliff @@ -3335,8 +3331,6 @@ promontory: geyser: label: landscape threshold: 0.4 - categories: - - water sandbar: label: beach @@ -3360,10 +3354,7 @@ corn: see: vegetables acorn: - label: tree - threshold: 0.8 - categories: - - plant + see: ignore buckeye: label: plant @@ -3416,8 +3407,7 @@ croquet ball: see: ignore ball: - threshold: 1 - priority: -2 + see: ignore baseball: see: ball @@ -3544,6 +3534,9 @@ portrait: categories: - people +shower cap: + see: portrait + band aid: see: portrait @@ -3576,7 +3569,7 @@ bucket: baby: label: baby - threshold: 0.25 + threshold: 0.5 categories: - people @@ -3656,6 +3649,7 @@ groom: threshold: 0.3 categories: - event + - portrait maypole: label: festival @@ -3824,8 +3818,7 @@ chain: see: ignore chest: - label: box - threshold: 0.5 + see: ignore christmas stocking: see: ignore @@ -3842,7 +3835,7 @@ cowboy boot: see: shoe crib: - threshold: 0.3 + threshold: 0.4 label: stained glass drumstick: @@ -3989,7 +3982,7 @@ turnstile: threshold: 0.45 whistle: - threshold: 0.7 + see: fashion umbrella: threshold: 0.6 @@ -4004,7 +3997,7 @@ tick: see: ignore carton: - threshold: 0.5 + see: ignore teddy: label: toy @@ -4029,3 +4022,17 @@ horse cart: mailbox: threshold: 0.5 + +apron: + see: ignore + +milk can: + see: ignore + +scabbard: + see: ignore + +street sign: + label: sign + categories: + - traffic diff --git a/internal/query/photo.go b/internal/query/photo.go index 6b7664fd3..ad8ae8d94 100644 --- a/internal/query/photo.go +++ b/internal/query/photo.go @@ -76,8 +76,8 @@ type PhotoResult struct { FileAspectRatio float64 FileColors string // todo: remove from result? FileChroma uint8 // todo: remove from result? - FileLuminance string // todo: remove from result? - FileDiff uint32 // todo: remove from result? + FileLuminance string // todo: remove from result? + FileDiff uint32 // todo: remove from result? } func (m *PhotoResult) DownloadFileName() string {