There must be a way…
How do I do this?
Think, think, think, think…
How do I organize all my pictures. There are soooo many! How?
Wait!
Wait just a second. I think what I need…
… is Amazon.com’s “Mechanical Turk”!
Let me explain…
Amazon provides this service that lets you distribute labor, consisting of repetitive menial tasks, to workers all over the world who are willing and able to work for peanuts.
A cat is lucky to even have peanuts. On average, they get less $1.50 per HOUR. I do what I have to do.
It’s genius!
I can have them describe my 618 cat pictures that don’t have descriptions.
Don’t give me that look. I’m not going to pay them that little.
I mean, I expect very high quality descriptions of my pictures!
First, I’ll use Dropbox to put small versions of them online.
Then I’ll write up a little python script, to let Mechanical Turk know where they are:
(You don’t have to understand the python code)
import urllib from os import listdir from os.path import isfile, join o = open('mech_turk_input.csv', 'w') o.write("image_url1,image_url2,image_url3\r\n") a = [] def listfiles(target_path): files = [ f for f in listdir(target_path) if isfile(join(target_path,f)) ] for str in files: enc = urllib.quote(str) a.append("https://dl.dropboxusercontent.com/u/28419853/lunapix/%s" % enc) if len(a) == 3: o.write("%s,%s,%s\r\n" % (a[0],a[1],a[2])) a[:] = [] listfiles("new_luna_imgs") listfiles("old_luna_imgs")
That generates the comma-separated URLs…
Then, on Amazon, I will upload that list and create a form like this:
See how it loads my little pictures in? That’s how they’ll be describing my pictures.
Three at a time, which should help improve efficiency.
Hopefully they’ll do a decent job.
I want good descriptions. Mechanical Turk lets you reject bad results, but that’d be a shame if I had to.
I’m getting tired from all that effort. YAWN!
It was a small Python script, but cats normally don’t program at all.
Meow. Submitting.
Look at them work! See, that hourly rate isn’t too bad.
Now let’s check out what sort of descriptions they’re coming up with.
Not bad, not bad. Wait… what’s this?
I think that third one is missing. That’s too bad.
So tired! YYYYYYAAAAAAAAAAAAAA…..
…AAAAAAAAWWWWWWWWNNNNNN!
Rejected.
Meow. What else we got?
Meow? I’ll check the pictures:
This is me doing pushups?
And this…
This is me staring at something that isn’t there…
Whatever that is. So descriptive!
And invisible string?
Maybe there really IS invisible string in that one.
No matter.
Rejected!
A few of them look good, but it’s going to take a while. What’s this “Workers” page?
Yeah, I see a couple of workers who are not that great, but look at that dude who got my approval ten out of 10 times!
*click*
Purr!… $0.10 coming to you!
Meow. Nevermind.
Time for sleep. Purrpurr…
ZZZZzzzzz….
Good morning!
Let’s see where we are. Approve, approve, approve…
YAY!
All 618 pictures are done!
Now I’ll just write another little script to change the output into a “photo renaming script”…
import csv import urllib o = open('rename.sh', 'w') with open('cat_descs.csv', 'rb') as f: next(f) for row in csv.reader(f, delimiter=','): for i in range(0, 3): if row[16] == "Approved": old_fn_with_path = row[27+i] new_fn = row[30+i] fn_path_list = old_fn_with_path.rsplit('/', 1) old_fn_encoded = fn_path_list[1] old_fn = urllib.unquote(old_fn_encoded) new_fn = new_fn.rstrip('.') o.write('mv "%s" "%s.jpg"\n' % (old_fn,new_fn))
And I’ll run it…
Purr! Looking good!
First try!
And wait… a spelling error?
Fixing!
Meow! There are so many typos that I have to fix!
To be honest, I probably could have written the descriptions in less time than it took me to deal with all the problems I’ve encountered.
Running the picture renaming script on the full size pictures. Finally!
Purr!
Now you know a little bit about how I operate.
It’s important, you know. I need to find my pictures!
And… time to sleep again…
Purrpurrpurr… Zzzzz….
That sounds incredibly useful. I have so many photos. The problem is going to be releasing control of my images to others to name, being the control freak I am! But at least Luna gave me an avenue. Thanks, Luna!
LikeLiked by 1 person
I mentioned making “small” versions of the images. Instead of the 5000 pixel-width images, I made them into 360 pixel-width images. You could watermark them too, but I didn’t bother. Pictures don’t sell too well these days. I used “Capture One” to export them as the smaller images, and I used to use “ResizeMe” for that. There are a bunch of other tools which can do the same. The problem is that there are some workers that do a pretty bad job at your task, even when I requested “Master-level workers”. But when I rejected enough, they stopped and only the good workers continued to finish the rest up.
LikeLike
Could you append each image with a code that helps you at least narrow down the sorting process?
E.g. [photo month and year] [larm] [rarm] [lleg][rleg] [room][where in room][sleeping /awake]
this way, sleeping with all limbs curled up near East window in dining room, in Feb 15 would be
0215ccccDEWS
If you have several photos that fit the description you can number them in order.
0215_1ccccDEWS
0215_2 ccccDEWS
etc.
LikeLiked by 1 person
Hmm… it could work. Would take a ton of effort though. It seems to actually work where you just type 5-10 words about what a picture is about… noting prominent features. I’m not sure if I could outsource the scientific coding that you proposed…for reasonable money anyway. I think your solution could be the ideal though. The main problem I noticed, with the outsourcing, is that they don’t have a feel for what certain things are. They might call something maroon when it’s really brown in person, or they might refer to something as a “little house” when it’s a room in a cat tree. So I wouldn’t find them. But most of these pictures weren’t too important, and I can fix the ones I care about down the road anyway 🙂
LikeLike
If you ever decide to write a post about String Theory you could use the photo of Luna trying to look at an “invisible string” to illustrate it.
LikeLiked by 1 person
That would certainly demonstrate my mastery over the subject matter.
LikeLike
Hey Scott.
Luna sure is a little cutie.
I don’t really get how to use these types of programs and all. Like you said toward the end, “I probably could have written the descriptions in less time than it took me to deal with all the problems I’ve encountered.”
I noticed you’re an indie filmmaker. My hubby’s a filmmaker. He’s done two feature-length films, a few shorts and a few documentaries as well. He’s going to Lebanon in December to produce/direct a documentary and will be directing another feature-length soon.
Hope you’re well.
🙂
LikeLiked by 1 person