I take a lot of pictures, maybe 10k annually. Most of them aren't that great, but if you take enough you'll get some good ones, and even the discards can be a useful reference. How do I handle these?

I have an Android phone, set to automatically upload any pictures to Google Photos. My wife does as well, and we have it configured to use a shared camera roll, which is super useful. As soon as a photo or video either of us has taken uploads, the other one can see it as well.

The Photos interface struggles a little with this many photos, but mostly does a good job. I like that I can search by text descriptions or people, and not just scroll back to a certain date, though I wish I could combine these with some sort of "see in context" option after finding a picture in a search.

As I take pictures, if I get an especially cute or funny one I'll share it in our kids FB group, but mostly I leave pictures for one big page at the end of the year with my favorites.

I'm thinking about this because I just finished pictures for 2023 (here). Choosing which pictures to include to represent the year is a bunch of work, but it's also pretty fun. I'll sit down with one or more of the kids (Nora does a lot of asking to look at pictures with me) and we'll flip through Google Photos. I'll press Ctrl+D on any that look reasonably good, and at the end of the session save my progress with:

mv ~/Downloads/PXL_*.jpg \
   ~/Google\ Drive/My\ Drive/2023-Photos/

Then I take a second pass, usually also with kids, where I go through my initial selections a month at a time (open PXL_202301*). At this stage I'll pick my favorite when I initially selected several pictures, and I'll crop them a bit. Almost every picture gets at least a little cropping: what are the odds I framed a shot perfectly on my camera in the moment?

Once I've completely finished, usually in January, I use ImageMagick to make thumbnails (standard and hidpi) and exiftool to remove metadata with a command like:

for x in *.jpg ; do
  echo $x
  exiftool -overwrite_original -all= "$x"
  convert -resize 1000000x400 $x ${x/.jpg/-tn.jpg}
  convert -resize 1000000x800 $x ${x/.jpg/-2x.jpg}
done

Then I'll make an initial web page with something like:

for tn in *-tn.jpg; do
  base=${tn/-tn.jpg/}
  echo "<div><figure>
<a href='$base.jpg'><img src='${base}-tn.jpg}'
   srcset='${base}-2x.jpg 2x'></a><figcaption
></figcaption></figure></div>"
done > draft.html

I'll go through again, terminal and browser side by side, adding captions. This is also usually a joint activity with kids.

At this point it's ready to go, but there's a final look over for Julia and the two older kids to make sure I don't have any pictures they'd rather not have online. I also run pictures by a few other people I know who are generally cautious about having pictures publicly accessible. This year that last stage added about two months of delay, because it just ended up being really hard to find time to review with them.

It probably takes me a few dozen hours to make each year's album, but it's spread out over the year and it's fun to sit together looking back at things we've done and picking our favorites.

Comment via: facebook, mastodon

New Comment
3 comments, sorted by Click to highlight new comments since: Today at 4:11 AM

If you want to make it more efficient and spend less time fast-forwarding through redundant images, you could experiment with clustering and sorting images in a NN embedding space: https://github.com/MaartenGr/Concept https://every.to/napkin-math/6-new-theories-about-ai https://gwern.net/design#sort-by-magic

It could be fun to see how much of this is automatable: I have a camera roll that goes back to early 2012 combined with my selections for each year. That's a decent amount of annotated data!

I don't think phrasing it as a classification problem is necessarily the best approach. It may be that there are many very similar images and which one out of a cluster you pick is fairly arbitrary, so any attempt at a classifying 'picked/'not picked' wouldn't tell you much, but clustering/sorting still makes it much easier/pleasant to do the curation.

(Speaking of classification and images and blogs, you might find it useful to know that we just launched the InvertOrNot.com API (HN) for dark-mode images.)