Sunday, November 1, 2015

JPEG, the nerdiest cat

A little over 5 years ago, Adam and I adopted two cats, who we named JPEG and MPEG (suggested by a good friend with a cat named Pixel). Being young-ish shelter cats, they were the same size when we got them, but they grew into their names with MPEG becoming the larger, more active cat.

MPEG (left) and JPEG (right)

Over the last two days, we were investigating JPEG's recent stomach troubles and why he'd been sporadically vomiting and losing weight, and why diet changes seemed to have no impact. He got an ultrasound on Friday, October 30, which revealed a "poorly encapsulated" mass mostly blocking his GI tract, and nodules and fluid in his abdomen. We were emailed a terrible "J-PEG.pdf" full of passive doctor language and cryptic medical words that basically spelled out BAD NEWS, CAN'T FIX. He had been sedated for the ultrasound, and he was awake when we brought him home, but that evening, he struggled to recover from the anesthesia. We brought him to an emergency vet around 5am on Halloween, two blocks away from where I lived when I first adopted JPEG. He was in poor shape, with a 10% chance of surviving the weekend until we got more biopsy results, so we decided to let him go. We couldn't have known how bad his sickness was until we did this ultrasound, and unfortunately, he was too sick to bounce back from that procedure.

Adam and I sifted through all my online photos for the past 5 years, pulling out 200+ .jpgs of JPEG to post on facebook, but I wanted to specifically highlight JPEG's participation in my image processing and computer vision hacking throughout the years.

JPEG, the computer vision muse:


JPEG, working hard at the computer while sitting on my lap
JPEG reading a research paper
MPEG and JPEG learning about recursion.

That Time Picasa Detected JPEG's Face

Normally, I don't use Picasa. But once day, I let Picasa try to detect faces in my photos... so guess who's kitty face greeted me when I scanned through the results (I still have no idea who those people in the adjacent pictures are):

Picasa face detection - Who's a kitty!

Picasa actually detected several JPEG faces.

Faces of JPEG the cat, as detected by Picasa
I took screenshots of the hilarity, and Picasa recursively went and recognized JPEG's face in those new images, until there were TONS OF JPEG FACES:

JPEG kitty-face explosion!

That Time I Had No Idea How To Do Object Detection And Made a Cat-Butt Detector

Another time, I wanted to understand OpenCV's object detection and train my own detector. I wrote a blog post here. Basically, I figured out OpenCV's pipeline for training a new detector, but I didn't give it good enough data to make it work. Here is JPEG stealing magnets off the fridge, and the detector firing on his butt. 

OpenCV cat-butt-detector

That Time JPEG Helped Me Play With Live Face Detection

One time, I was experimenting with Jason Saragih's realtime face detector (now maintained by Kyle McDonald), available here on GitHub

Sitting on the couch, trying out the face tracker, under JPEG's supervision.

Of course, JPEG and Adam wanted to try it, too.

JPEG's face, loved by computers 
JPEG is less impressed with a face being detected on his arm.

That Time JPEG Was HUGE!

I saw this on the internet once and had to recreate it. Adam's biggest question: "How did you hold the camera??" (One of these hanging on a mirror.)

Look how big JPEG is!! Just kidding.

Those Times JPEG Helped Me Make Panoramas

Of course, JPEG was there when I discovered panorama mode on my camera.

JPEG is chilling on the ledge in the kitchen (left)

JPEG finally being larger than MPEG, thanks to panorama magic.

That Recent Time JPEG Was The Subject of DEEP DREAM

Adam and I wanted to run Deep Dream code ourselves, so we used this ipython notebook and this docker setup that we ran on Digital Ocean. 

Original image: JPEG liked to bring this stuffed penguin around the house.

Eyes and faces everywhere!!

Visualizing one of those lower edgy-layers.

Visualizing a different, low level wiggly layer.

That Time You Read A Blog Post About My Cat

This last picture has nothing to do with computer vision, it's just a time that JPEG got out on the deck of our 3rd floor apartment and then got on the roof to explore and chase pigeons. 

JPEG on the roof


4 comments:

  1. First of all, I am so sorry about JPEG. It looks like he was a great friend. I came to your blog from a search for the Impressionist Fingerpaint app and then came to your more recent entry. I found your blog because I have an android tablet that I put your app on last year, and recently this tablet broke. I went to the google play store to see if I could download your app to a new tablet and the app is no longer there!!! I can't tell you of the enormity of this loss. I LOVE your app. Really. What I will do without it? You did a really great job creating it. I tried to see if there was anyplace else on the web to download it, but I was met with a confusing array of results that made me unsure of their safety. Do you know of a legitimate and safe place that it is still available to install this app on a new tablet? I really do look forward to your response, and again, I really feel for your loss of JPEG. -Allison

    ReplyDelete
    Replies
    1. Hi Allison,

      The Impressionist Fingerpaint app was managed under a different account that I don't check, and hadn't updated its content rating or re-signed developer agreements that Google needed from me.

      Anyway, I've done that now, so the app should be back in the Play store in a couple hours! (It's 8:30am pacific time, nov 20)

      I'm glad you enjoy the app so much! Also, thanks for your concern about JPEG!

      - Kathleen

      Delete
  2. Hi Kathleen,

    Hooray! Thanks so much for your response!! I can't wait to go check on it in the play store. It really is my favorite app, thanks for making it possible to download again. Have a great weekend, and thanks again.

    Best,

    Allison

    ReplyDelete