Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hacking Art History

237 views

Published on

R/GA University, April 2015

Published in: Art & Photos
  • Be the first to comment

  • Be the first to like this

Hacking Art History

  1. 1. Hacking Art History for Fun and Profit John Resig
  2. 2. Lot 55: 20 Japanese Woodblock Prints Each depicting a female/Geisha figure with calligraphy throughout each print. Prints measure 13.75" H x 9.375" W. Toning to each print, some losses around edges. Estimated Price: $400 - $600
  3. 3. Step 1: Acquire and read tons of expensive books.
  4. 4. Step 2: Learn to read Japanese. * Japanese from the 17th to 19th century. * You’re not going to learn this from Rosetta Stone.
  5. 5. Step 3: Learn to read Japanese calligraphy.
  6. 6. Solution: A fast-loading, responsive, i18ned, web site: Ukiyo-e.org
  7. 7. Digital Ocean Amazon S3 Amazon Cloudfront Digital Ocean Images Data
 (HTML, XML, JSON) Images JS, CSS Images JS, CSS nginx (w/ cache) node.js express node.js express naught mongodb Elastic
 Search Scraper
  8. 8. https://github.com/jeresig/jquery-imgscrubber
  9. 9. Collecting Tons of Woodblock Print Data
  10. 10. Search Page Page Page HTML Image HTML Image HTML Image Search Page Page Page HTML Image HTML Image HTML Image Queue-based Crawling using PhantomJS Processing Queue
  11. 11. Some Website WebKit PhantomJS CasperJS SpookyJS Save Data XML Files Mongo Log libxml (+ xpath) MongoDB Extract Data Process Data Artists Images Correct Artist and Date Add to Site!
  12. 12. module.exports = function() { return { scrape: [ { start: "http://ukiyo-e.org/search", visit: "//a[@class='img']", next: "//a[contains(@rel,'next')]" }, { extract: { "title": "//p[contains(@class, 'title')]//span", "dateCreated": "//p[contains(@class, 'date')]//span", "artists[]": "//p[contains(@class, 'artist')]//a", "images[]": "//div[contains(@class,'imageholder')]//a/@href" } } ] }; };
  13. 13. "locale" : "ja", "given" : "Okiie", "given_kana" : "おきいえ", "surname" : "Hashimoto", "surname_kana" : "はしもと", "name" : "Hashimoto Okiie", "ascii" : "Hashimoto Okiie", "plain" : "Hashimoto Okiie", "kana" : "はしもとおきいえ", "_id" : ObjectId("530c0825d9a80976b2000437") } ], "names" : [ { "original" : "Hashimoto Okiie (橋本興家)", "locale" : "ja", "kanji" : "橋本興家", "given" : "Okiie", "given_kana" : "おきいえ", "surname" : "Hashimoto", "surname_kana" : "はしもと", "given_kanji" : "興家", "surname_kanji" : "橋本", "name" : "Hashimoto Okiie", "ascii" : "Hashimoto Okiie", "plain" : "Hashimoto Okiie", "kana" : "はしもとおきいえ", "_id" : ObjectId("530c0825d9a80976b2000439") } ], "extract" : [ "53dfc997cbf9fa7501d78e4820b24a9c" ], "created" : ISODate("2014-02-25T03:04:05Z"), "__v" : 0 }
  14. 14. “Stack Scraper” https://github.com/jeresig/stack-scraper https://github.com/jeresig/ukiyoe-scrapers
  15. 15. Image Similarity
  16. 16. https://github.com/jeresig/node-matchengine
  17. 17. Image Similarity Search
  18. 18. Idyll: Offline Image Cropping • https://github.com/jeresig/idyll • Crop images offline and on a mobile device. • Saves the selections back to a server. • Data is synced and saved using HTML 5 appcache. • https://github.com/jeresig/node- appcache-glob
  19. 19. by David Chester
 at Shutterstock https://github.com/dchester/perl-image-crop-calibration-target
  20. 20. http://www.ersatzlabs.com/
  21. 21. Aiding Woodblock Print Studies with Image Analysis
  22. 22. Miyagawa Shuntei Printed in 1897 Sold for: $550 Prints sell for $100-$400 individually True Estimate: $2100 - $8400 * * You just have to find someone willing to buy them!
  23. 23. Does this work for other art forms? • Collaborating with the Frick Art Reference Library • Analyzing their Anonymous Italian Art Photo Archive • Also working with the Zeri Foundation at the University of Bologna in Italy • Analyzing their Italian Art Archives
  24. 24. Similar Images Different photo, same work of art.
  25. 25. Similar Images Different photo, slightly different cropping.
  26. 26. Similar Images Different photo, dramatically different lighting.
  27. 27. Alternate Images Partial Image vs. Full Image
  28. 28. Alternate Images Color vs. Black-and-White
  29. 29. Alternate Images Partial Image vs. Much Larger Image
  30. 30. Conservation
  31. 31. Conservation Repairs and possibly removal of later additions.
  32. 32. Conservation Analysis even spots dramatic conservation work.
  33. 33. Copies
  34. 34. Copies
  35. 35. Copies
  36. 36. Copies
  37. 37. Copies
  38. 38. Graph Analysis with neo4j
  39. 39. Frick 420 420 Zeri 1583642090 Frick 417 417 ?
  40. 40. Frick 347 347 Zeri 12227 33526 Frick 348 348 33525 ?
  41. 41. 8132a 8132 57129 57134 57130 57138 8131a 8131 ?
  42. 42. • http://ejohn.org/research/ • http://ukiyo-e.org/ • https://github.com/jeresig
  43. 43. Correcting Print Data
  44. 44. Japanese Names • Utagawa Hiroshige • Ando Hiroshige • Andō Hiroshige • Hiroshige • 歌川広重 • 広重
  45. 45. 安⼟土 安堂 安島 安東 安籐 安藤 安道 安達 阿藤 Andō
  46. 46. 安藤 andō antō anzō yasuzuka A many-to-many mapping!
  47. 47. Sharaku Toshusai 東洲斎写楽
  48. 48. Sharaku Toshusai 東洲斎写楽 Is this the family name? Where are the stress marks? How do you “split” this name? Which name parts
 correlate?
  49. 49. Tools (all are Node modules!) • https://github.com/lovell/ hepburn • https://github.com/jeresig/ node-enamdict • https://github.com/jeresig/ node-ndlna • https://github.com/jeresig/ node-romaji-name ndlnahepburn enamdict romaji-name
  50. 50. Hepburn • https://github.com/lovell/ hepburn • Takes in the English form of a Japanese word. • Returns it written in Hiragana or Katakana (phonetic Japanese alphabets). ndlnahepburn enamdict romaji-name うたがわひろしげUtagawa Hiroshige
  51. 51. Enamdict • https://github.com/jeresig/ node-enamdict • Downloads and queries the ENAMDICT database • (A mapping of Japanese proper names to Hiragana and English.) • Used to correct typos and figure out surname/given name. ndlnahepburn enamdict romaji-name
  52. 52. NDLNA • https://github.com/jeresig/ node-ndlna • Queries the NDLNA database • Finds the correct Kanji for an English name. • Or the correct English for a Kanji name. ndlnahepburn enamdict romaji-name
  53. 53. ndlnahepburn enamdict romaji-name
  54. 54. { "original" : "Sharaku Toshusai (東洲斎写楽 )", "locale" : "ja", "kanji" : "東洲斎写楽", "given" : "Sharaku", "given_kana" : "しゃらく", "surname" : "Tōshūsai", "surname_kana" : "とおしゅうさい", "surname_kanji" : "東洲斎", "given_kanji" : "写楽", "name" : "Tōshūsai Sharaku", "ascii" : "Tooshuusai Sharaku", "plain" : "Toshusai Sharaku", "kana" : "とおしゅうさいしゃらく" }
  55. 55. Dates • https://github.com/jeresig/node-yearrange var yr = require("yearrange"); yr.parse("1877") // {"start": 1877, "end": 1877} yr.parse("1847-48") // {"start": 1847, "end": 1848} yr.parse("ca. 1810-20s") // {"start": 1810, "end": 1829, "circa": true} yr.parse("18th–19th century") // {"start": 1700, "end": 1899} yr.parse("Meiji era") // {"start": 1868, "end": 1912}
  56. 56. Artist Rectification

×