{"action":"created","issue":{"url":"https://api.github.com/repos/bbernhard/imagemonkey-core/issues/156","repository_url":"https://api.github.com/repos/bbernhard/imagemonkey-core","labels_url":"https://api.github.com/repos/bbernhard/imagemonkey-core/issues/156/labels{/name}","comments_url":"https://api.github.com/repos/bbernhard/imagemonkey-core/issues/156/comments","events_url":"https://api.github.com/repos/bbernhard/imagemonkey-core/issues/156/events","html_url":"https://github.com/bbernhard/imagemonkey-core/issues/156","id":336089317,"node_id":"MDU6SXNzdWUzMzYwODkzMTc=","number":156,"title":"brainstorming/analogy - painting process","user":{"login":"dobkeratops","id":1120754,"node_id":"MDQ6VXNlcjExMjA3NTQ=","avatar_url":"https://avatars2.githubusercontent.com/u/1120754?v=4","gravatar_id":"","url":"https://api.github.com/users/dobkeratops","html_url":"https://github.com/dobkeratops","followers_url":"https://api.github.com/users/dobkeratops/followers","following_url":"https://api.github.com/users/dobkeratops/following{/other_user}","gists_url":"https://api.github.com/users/dobkeratops/gists{/gist_id}","starred_url":"https://api.github.com/users/dobkeratops/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dobkeratops/subscriptions","organizations_url":"https://api.github.com/users/dobkeratops/orgs","repos_url":"https://api.github.com/users/dobkeratops/repos","events_url":"https://api.github.com/users/dobkeratops/events{/privacy}","received_events_url":"https://api.github.com/users/dobkeratops/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-06-27T06:11:07Z","updated_at":"2018-07-03T10:50:53Z","closed_at":null,"author_association":"NONE","body":"Basically annotation is a **painting** task.\r\n\r\nThe recent tweaks have made many cases much easier (hence see the improved activity chart :) ),\r\n\r\nI can explain clearer now what was wrong originally, and where to go to improve further:-\r\n\r\n**the original workflow is like being told to paint images one colour at a time** \r\n\"here's a red brush.. here's a random image.. draw **all** the red. now here's a green brush.. here's a different random image.. draw **all** the green ..etc\"\r\n\r\nNow with the browser mode, at least you pick one 'brush' and find the images where it's ok ... hence success with road, pavement (clear areas) - and of course the original single-subject stock photos were probably fine too.\r\n\r\nThe \"add labels\" mode works ok because it's more like asking _\"what palette does this image need?\"_ .. that's often doable.\r\n\r\nBut the best way to handle an image is to see the context and gradually refine it.. (i) pick the predominant areas, block them out (\"start with the mid-tones and broad brush shapes\"), then refine by clipping details out.(add the highlights and shadows.. refine the boundaries..). the optimum order depends on the size and specific shapes (zoomed in, you clip out what isn't the subject.. but zoomed out, you start with the background then draw the subjects)\r\n\r\nSaying \"the unpainted area is a certain set of labels\" might work ok, because this is like a background fill. (see also the idea of an 'unoccluded sky' label, and 'anti-label'- draw all the 'not-tree' in a forest). **imagine being able to plan the task for an image**, e.g. \"we will start by filling with {this mix..}, then paint over {these details..}\". (the idea of saying \"un-annotated pixels are a mix of the unused labels\" is kind of like that but more dynamic).  I think that's also where I was going with the requests for \"sparse/dense, few/many, foreground/background\" _label qualifiers_: Those would hint whats _the background fill_, and _what tasks are optimum to do first_  (related idea in rendering.. https://en.wikipedia.org/wiki/Painter%27s_algorithm, a layering order refines the boundaries).\r\nsee #149 - the need for arbitrary expansion of the label list: drawing *any* object for occlusion is useful information.. waiting for labels is like saying \"we can only draw certain pieces\". it's often easier to draw the occluder rather than the precise boundary of a part you can see.\r\ne.g here's a peice of pavement/building, but to precisely identify the pixels today i'd have to trace around the litter bin, because there's no litter bin label yet.\r\n<img width=\"128\" alt=\"screen shot 2018-06-27 at 09 07 29\" src=\"https://user-images.githubusercontent.com/1120754/41961151-90a9bf2c-79e9-11e8-9b3f-9a4f3071b9c4.png\"> . It's fewer clicks to draw the broad area for the pavement & building, then the occluding object infront... (more occluding 'containers'. imagine being able to draw those in.. rather than tracing the outline around them \r\n<img width=\"139\" alt=\"screen shot 2018-06-27 at 09 46 14\" src=\"https://user-images.githubusercontent.com/1120754/41963314-2100cfb6-79ef-11e8-9db7-eba992d079ef.png\">\r\n)\r\n\r\n\r\nGoing back to the label/color analogy, the label list needs to be exhaustive - _imagine trying to paint without all the primary colours_.. (e.g. if there's no label \"litter bin\", a broader label \"container\" could still cover it)\r\n\r\n\r\n(see also per-label occlusion hints, e.g. it's probably ok to assume certain labels(ground-types) occlude others (moveable object types), but over-ride might be useful)\r\n\r\n\r\n\r\n\r\n\r\nTelling what colours are can be difficult in the real world because of relative perception.. labels aren't far off, because many shapes in the distance aren't clear, and there's overlapping categories.. but sometimes once you figure out surrounding context, those difficult parts get easier.\r\n\r\nFrom this POV i'll re-iterate the idea of **general label blending** #141: you do get areas where it's optimum to mix '2 colours' (2 labels).. this is especially true of any organic parts (e.g. mixture of soil, bushes, grass, fallen leaves,bark,moss) but also anything moving. You sometimes get vegetation growing between paving stones (so a label \"pavement/grass\" would be optimal). see also #142 #84 \r\n\r\nThen there's bits of road covered in gravel around a construction site (\"gravel/road\"), moving crowds, trash or litter (cleaning bot..)\r\n\r\nHere's a nice example of complex ground:-\r\n<img width=\"865\" alt=\"screen shot 2018-06-27 at 06 59 57\" src=\"https://user-images.githubusercontent.com/1120754/41955428-e7e6c4f4-79d7-11e8-9ec3-b038612724a2.png\">\r\n you might start with a blend 'concrete/soil/grass/gravel'  to fill the floor,(\"fill with a grey/green/brown random texture\") then clip out the areas which are clearly one or two types ('the clear patches of grass, clear patches of concrete, etc'). as I'm looking at it now i'm still finding it hard to guess what the distant areas are (dry soil, or gravel, or dirty concrete?). It looks mostly concrete.. but the presence of grass implies other parts must be soil. regarding distant vegetation, you might say 'grass/foilage' (for the bushier parts)"},"comment":{"url":"https://api.github.com/repos/bbernhard/imagemonkey-core/issues/comments/402106658","html_url":"https://github.com/bbernhard/imagemonkey-core/issues/156#issuecomment-402106658","issue_url":"https://api.github.com/repos/bbernhard/imagemonkey-core/issues/156","id":402106658,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMjEwNjY1OA==","user":{"login":"dobkeratops","id":1120754,"node_id":"MDQ6VXNlcjExMjA3NTQ=","avatar_url":"https://avatars2.githubusercontent.com/u/1120754?v=4","gravatar_id":"","url":"https://api.github.com/users/dobkeratops","html_url":"https://github.com/dobkeratops","followers_url":"https://api.github.com/users/dobkeratops/followers","following_url":"https://api.github.com/users/dobkeratops/following{/other_user}","gists_url":"https://api.github.com/users/dobkeratops/gists{/gist_id}","starred_url":"https://api.github.com/users/dobkeratops/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dobkeratops/subscriptions","organizations_url":"https://api.github.com/users/dobkeratops/orgs","repos_url":"https://api.github.com/users/dobkeratops/repos","events_url":"https://api.github.com/users/dobkeratops/events{/privacy}","received_events_url":"https://api.github.com/users/dobkeratops/received_events","type":"User","site_admin":false},"created_at":"2018-07-03T10:50:53Z","updated_at":"2018-07-03T10:50:53Z","author_association":"NONE","body":">> it probably also depends a lot on which device you are working \r\n\r\ndefinitely.. the difference between using a  laptop, and using a laptop+wacom is massive.\r\n\r\nhaving said that, even with the wacom many blended areas remain (e.g. the seperate parts being few pixels. this can be either in the distance, or in intricate surfaces\r\n"}}
{"actor":{"display_login":"dobkeratops"}}