Video Summarization is the Biggest Problem with Internet Cameras

What happens when you record every frame emitted by an IP-camera? You end up with too much data to make sense of. I now have nearly unlimited data storage, but have little interest in reviewing everything stored. Watching recorded footage in real-time is too time-consuming to be enjoyable, or even reasonable. While playing it back at 2x or 4x speed might sound like a good idea, that’s still a lot of video to look at.

Please Summarize!

Most video editing software offers a “scrubbing” operation for rapidly finding a point in time. Scrubbing is the act of manually moving the transport control backwards and forwards through the images. If you’ve ever scrubbed looking for a single frame you remember seeing, you’ll have noticed that it’s sometimes hard to find the frame. Your monitor is displaying no more than 60 or 75 frames per second: if you scrub over a time period with a resulting rate faster than this, you are not seeing everything.

“Video summarization” is a field of study aimed at developing algorithms and methods to help abstract and identify interesting features in a segment of video to help direct viewer’s attention. Here is a great quote describing video summarization [ 1 ].

Video summarization methods attempt to abstract the main occurrences, scenes, or objects in a clip in order to provide an easily interpreted synopsis.

At Sensr.net, we consider video summarization to be an important part of our technology, recognizing that keeping a collection of all the frames your camera emits is just too much data to use. Our summarization techniques are straightfoward: we use motion-detection algorithms and save only those frames. We also offer a simple form of “hierarchical video-summarization.” When you look at a shot of all of the hours-of-the-day you are presented with the most important 24 frames of that day. Similarly, the days-of-the-month are summarized by the most important frame of each day.

Sensr.net has been hard at work laying the “pipes” for moving the frames emitted by internet cameras through our processors and into the cloud. You can expect to see more from us in the video summarization arena. Until then, take a look at this excellent slide presentation and think about what sorts of summarization you would like to see for your internet camera application.

[1] http://www.cs.utexas.edu/~grauman/courses/spring2008/slides/Video_Summarization.pdf

Embed your DCS-920 in your Web-page or Blog

To the right of this article, you can see a streaming view of the DCS-920 from my house.  This capability is enable by a new service from Sensr.net.  The viewer is called a “widget” and can be plugged into any web-site or blog.

Viewer widgets can be created for any cameras that you own.  First, add your DCS-920 to Sensr.net (shown here http://www.tsheffler.com/blog/?p=187).  Then, select the “My Widgets” item from the pull-down menu.  This will show you the HTML embed codes for the widget.

Sensr Widgets

The rest is easy.  Copy the HTML and paste it into your blog like I did here.

Setting up Sensr to monitor a DCS-920 Camera

Sensr.net makes it easy to Watch Your Stuff with an Internet-enabled Wireless camera.  The D-Link DCS-920 is one such camera that is often available on Amazon for a good price ($48 in April 2010).  This article takes you through the steps to add a new camera to your Sensr account and program your DCS-920 to send its images there.  Many other brands of Network Cameras (both wired and wireless) have FTP-upload capabilities too.  If you have one of them, you may find this article helpful in setting it up.

The DCS-920 Network Camera

Add a New Camera to your Sensr Account

Login to Sensr using your Facebook username and password.   Select the “My Cameras” page.  Here you will see thumbnails of the latest images from your cameras.  To add a new camera to your account, click on the big green button labeled “Add New Camera.”

Sensr.net - "My Cameras"
Select the "Add New Camera" button on the "My Cameras" Page

Tell Sensr About your Camera

On the “Camera Info” page you should fill in the fields marked with arrows.  Give your camera a name that you like.   Select an appropriate timezone.   When you are done, click the “Add Camera” button at the bottom.

"Add New Camera" Setup Page

The “Add Camera” step allocates a new Camera Server on Sensr to watch your DCS-920.  As part of creating a server, Sensr has created a new FTP account for your DCS-920 to upload its images to.  The FTP credentials are displayed on the following page.  The important bits of information are

  1. the FTP server,
  2. the FTP Username, and
  3. the FTP Password.

These three items of information need to be entered into the camera."FTP Settings" Setup Page

Tell your Camera about Sensr

Now we turn our attention to programming the DCS-920 so that it sends its images to Sensr.  You should have already gotten your camera added to your network.  If you have not already done that, you may find my previous post about the adding the DCS-920 to my home network helpful.  Now, navigate to your DCS-920 Home Page.  On my network, the camera gives itself the address http://dcs-920 – which makes it easy to find.

From the Home page, select the “Setup” tab.

DCS-920 Home Page
DCS-920 "Home" Page

And from the “Setup” Page, select the “FTP” Parameters page.

DCS-920 "Setup" Page
DCS-920 "Setup" Page

The FTP Setup Page is where you enter all of the detailed parameters – including the FTP Credentials created for you by Sensr.

  1. In the “Host Name” field, enter the “FTP Server” from Sensr.  (In our example it is “f4.sensr.net”.)
  2. In the “User Name” field, enter the “Username” from Sensr.  (In our example it is “cam205”.)
  3. In the “Password” field, enter the “Password” from Sensr. ( In our example it is “itbazlmx4t”.)
  4. Select the “Passive Mode” check box.
  5. Double-check that you’ve left the “Path” field with it’s default value “/”.

There are a few other parameters we want to set in the camera.  We want to tell the DCS-920 to upload a new image every second, so be sure to select the “Enable uploading images to the FTP server” button.  Also set the upload frequency to “One Frame Per Second.”

A few parameters that set the uploaded file name should also be set for best results.  Leave the “Base File Name” as “DCS-920.”  Select the “Date/Time” suffix option.  (What these two settings do is tell the camera to give each uploaded image a unique filename of the form “DCS-920-201001021231.jpg.”  Giving each file a unique name prevents successive uploads from interfering with one another.)

Finally, click the “Save Settings” button at the top of the page to store these settings in the Camera.

DCS-920 Ftp Setup
DCS-920 "FTP Setup" Page

At this point, you are done!  You can close the browser window programming your Camera and go back to Sensr.  Click on the “Take Me To My Camera” button to see the Gallery view of images coming from your camera.

Now you can share your camera and its images with your friends on Facebook.  Have fun!

D-Link DCS-920 IP-Camera

[See also my more recent post Setting up Sensr to monitor a DCS-920 Network Camera.]

Wow.  Long time, no postings.  I’ve been busy — more on that another time.

Last week I picked up a D-Link DCS-920 wireless IP-Camera on Amazon for $62 (after rebate).  I did not have high hopes for such an affordable camera, but was pleasantly surprised with the installation process and resulting image quality.

dcs-920

The last time I bought one of these types of cameras, the installation process was a little complicated.  This time, it was far easier.  By default, the camera has DHCP enabled, so you plug it into your network using the supplied Ethernet cable and it grabs an address on your network.  I looked at my router status page to see that it had added itself.  Mine also registered itself on my network as “dcs-920” so I could connect to its admin page at http://dcs-920.  Nice!  The default login is “admin” and the password is blank.

The next step was to add the camera to my wireless home network.  Here is how to do that.  Go to the Setup>>Wireless page and click the “Site Survey” button.  This scans the available wireless networks and shows their signal strength.  (My network was right at the top as the strongest.)  Select the network.

Now, the wireless network password has to be set.  This step always seems confusing and error-prone, and I’m not sure why.  Perhaps there are too many security options.  Before I set up the camera, I went back to my wireless hub and checked its settings.  It was set for “WEP, Open System, 64-bits, Hex.”  I copied all of these settings into the camera.  Then I uplugged the ethernet cable and power-cycled the camera, hoping it would connect to the wireless network.

It did not connect the first time, and I suspect I had some of the wireless settings wrong.  I ended up repeating the settings->disconnect->reboot loop a couple of times, and eventually succeeded.

I’ve got the camera set to upload an image via FTP every second.  It’s looking good!

Troubleshooting FTP Upload

The DCS-920 has a great facility for troubleshooting the FTP upload.  On the FTP Setup page (Setup >> FTP) there is a “Test” button in the “TEST FTP SERVER” section.  Pressing this button causes the camera to upload an image to the FTP server.  You can see the result of the test by going to the  Status page.

If all is well you will see the following message after a successful FTP upload.

FTP Server Test2010-08-11 04:04:43 Test succeeded.

I helped diagnose one user who was having upload errors and was observing the following error.

FTP Server Test2010-08-11 04:00:17 TCP/IP socket error.

This turned out to be because the user had not left the “Path” field on the FTP page the default value of “/” … and had mistakenly put a name like “/foo.jpg” in there.   The Path should be left as “/”.