Archive for Documentation

About isk-daemon

isk-daemon is an opensource standalone server or library capable of adding content-based (visual) image querying to any image related website or software.

Learn more about it on the main topics at the left sidebar.

Comments

Admin interface screenshots

The image database has a built-in web-based administration interface that can listen on a configurable port.

Here are some screenshots:

Similarity database statistics:

Database statistics

Adding images to the database using the built-in web admin interface:

Adding images to the database

API test example (querying for images similar to a specified one):

Database querying


Comments

Install and usage instructions

If you have interest on having the latest demo version working on your environment/web application, please don’t hesitate in contacting us with any problems during integration.

We are completely open to discuss over the improvements the demo version would need to better support your application functional and non-functional requirements. Please refer to the development roadmap and support area.

Installation

  • Requirements
    • Linux: The server was compiled on Ubuntu Dapper Linux, linking against ImageMagick, so these are the packages you should have installed on the test machine:
      • python 2.5
      • libmagick
      • libmagick++
    • Windows: The following must be installed:

For both Linux and Windows: Just unzip (or untar for the Linux version: something like tar zxvf isk-daemon.tar.gz) the latest release file inside an empty directory.

Running the server

From the root of the directory where you extracted the latest release zipped file, run

python isk-daemon.py

Windows users must make sure python.exe (located by default at C:\Python25) is on the environment path or else keep the PATH variable intact and run “C:\Python25\python isk-daemon” instead.

In case you run into some import problems please don’t hesitate in getting in contact in order to figure out what is wrong or to request a compiled version for another linux distribution.

If all goes well, you should be able to point your browser to http://localhost:31128/ for some database statistics and configuration options.

After starting up, the XML+HTTP interface for sending commands would be available at http://localhost:31128/isk and the XML-RPC one at http://localhost:31128/RPC

Daemon config is at settings.py (located at the root dir where you extracted). Edit this file at will and restart the daemon.

The default configuration is to persist the database to disk every 2 minutes, but you can always force a save using an option on the admin web interface or using the API itself.

Comments (7)

Basic features


These are the basic features for the server side daemon:

  • Query for images similar to one already indexed by the database, returning a similarity degree for the images on database that most resemble the target query image.
  • Query for images similar to one described by its signature. A client-side widget may generate such signature from what a user sketched and submit it to the daemon.
  • XML+HTTP interface for easy integration with other web and desktop or rich-client applications
  • Fast indexing of images one-by-one or in batch
  • Quickly remove images from database one-by-one or in batch
  • Key-based security for API users
  • Built-in web-based admin interface with statistics and ad-hoc maintenance commands/API testing
  • Optimized image processing code implemented in C++

More upcoming features can be found on the development roadmap.

Comments

Offline processing and image storage

When telling the daemon to index a file, you can either inform it a local file path with image data (plenty of image formats are currently supported), or a remote HTTP URL, in which case it would download the image to memory.

In both cases, as soon as the image is processed, it can be removed from disk or memory, thus removing copyright concerns when storing images. The image similarity database will only store a signature of the image (which is actually, just a few bytes long).

This signature can be seen merely as metadata describing the image, just like you probably already store image dimensions, source url, source gallery url, etc.

The provided API enables the image processing (as part of the process to add it to the image database) to be done on an adhoc basis (for example when user submits an image to your system) or in offline batches.

Comments

« Previous entries · Next entries »