Artiste News Archive
Project completed and evaluated by the EU.
Week Beginning 17.06.02
- 17.6.02 Webpages: Got together the various fvg components into tar balls and stuffed them up here. I'll
try to keep them up-to-date. Note, that the MPWT may not be working due to ongoing work with the Multiscale
feature. The other multiscale features will be unaffected. I'm having trouble generating a statically linked
version of fvg at the moment.
- 17.6.02 Web pages: Moved the previous news and put it on the news page
Week Beginning 13.04.02
- 13.5.02 General: Well, today's the only day I'm back this week, because tomorrow we
fly out to Florence for the PMT meeting in Giunti Labs. Been getting the talk ready for that.
- 13.5.02 Web pages: Moved and updated the previous news and put it on the news page
Week Beginning 29.04.02
- 29.4.02 General: From tomorrow I will be away until 13th May 2002.
- 29.4.02 General: Packaged up and sent to IT Innovations the latest
MPWT code - including the new generic Multiscale parser, the PWT, and MPWT feature vectors
and image processors, and some incidental code to go along with it.
- 29.4.02 General: I've packaged up and sent to IT Innovations the latest
module. Query by Fax was sent to IT Innovations at midday today. Also I have sent on the
updates to package 4 (the colour matcher code) at the same time.
- 29.4.02 Web pages: Moved last week's news to the news page
Week Beginning 22.04.02
- 26.4.02 General: At this point, I was going to be off for the next 2 weeks, however,
I'll now be around next week on Monday only.
- 26.4.02 General: I've been busy with Faizel this afternoon attempting to get the
PWTretrieval code working. We've also had a look at the MPWT code, which seems to be working fine. We are
still unsure why the PWTretrieval is giving dodgy results. However, this all means I've not had chance
to package up the QbF code to get to IT Innovations. I'm pretty sure it's working ok, but it would be
nice to test it again.
- 26.4.02 Code: Well, a bug has been found in PWTretrieval which caused the whole thing to
bomb out. I found it was due to an array overrun, that's always been there!! Faizal has a newer version of
PWT with this sorted, however, it doesn't seem to give correct results. So he's looking into this now.
- 26.4.02 Code: I found a bug in
ImageProcessor::GetRGBImage that a VImage
was being passed back from a function, which would have caused it to go out of scope. For this reason
I've changed it to a VImage *, allocated with
new, which must be deleted afterwards.
- 26.4.02 Code: I've got the query by fax module working, and it gives the same results
as Faizal got with our test set, so that can be considered working. I will now check it for memory leaks, and
send it off to IT Innovations later today. The Multiscale PWT's results are, as I've said, less convincing
and this may be left until the beginning of next week, which means one day out of my PhD time.
- 25.4.02 Code: I've tested the query by fax module in the context of fvg. There was
a problem, but it was to do with the
ReadHeaderFromMemory function returning the wrong value.
That's fixed and the module gives results. I'm now generating the query by fax features for the FaxDemo
set (which is the same as the VAMDemo set), so that we can actually try to see if it's better.
- 25.4.02 Code: Miles and I are now breaking every rule in the book and developing
in the same directory. Miles is installing the normalisation code into the modules for which we have
normalisation values. I'm checking the PWT. The results aren't all that convincing, to be honest, but
I do believe it's working correctly. The QBF is the next one to test get working and test!
- 25.4.02 Code: I've been sorting out the MPWT code today, in both fvg and
Multiscale programs. I've found some bugs in both Multiscale and the MPWT code, so I've
been sorting them out. Unfortunately one was really hard to track down. All it was, is that the Multiscale
(feature) code wasn't
fclose()ing a feature vector which it opened!
- 24.4.02 Code: To work with the MPWT feature (in fact any multiscale feature) requires that
the query feature be a single scale version of the multiscale feature. To achieve this I had to play around
with fvg so that now there's a very slightly altered function
convertNameToMS, that now
takes a type for query feature and reference feature. Care also needs to be taken when writing a multiscale
feature using the generic multiscale code to pass the multiscale code the correct type of object (i.e. single
scale objects), otherwise you get a nasty indefinite loop thing going.
- 24.4.02 Code: A quick proof to show that the generic multiscale code is nice and easy
to work with, is that I've just written a multiscale version of a single scale algorithm in under an hour.
Got to go see if it works now!
- 24.4.02 Code: I decided it was high time to actually start work on the multiscale PWT
because up til now I've been working on the generic Multiscale module, which, although close, does not
conform to the API. So I have to write separate modules which are API compliant and use the generic
multiscale code for their multiscale implementation.
- 24.4.02 Code: I've updated fvg so that now it is able to accept extra options
into module code (such as histogram sizes or whatever) quite easily. This just requires that a special
function is written to deal with your module's special options.
- 24.4.02 Webpages: Updated Steps to implementing an Artiste API compliant
feature matcher to show how to integrate a feature vector with the fvg code.
- 23.4.02 Code: At the end of the day, I've managed to complete the new version of fvx
which to differentiate I've called fvg (feature vector generator). It takes similar commandline as fvx,
but now allows comparison of multiple features. The main improvement, though, is the size difference and the ease of
use. fvx was 1378 lines of code, at last compile. Although fvg hasn't yet got all of the feature vectors
in (which take about 5 lines of code each), fvg is only 296 lines of code. The fact that each new vector
takes such a small amount of new code, makes the whole thing easier to use. I needed to do this upgrade to test the
new modules we're getting ready for IT Innovations at the end of this week.
- 23.4.02 Code: Today, I've also re-written the ubiquitous fvx which is now getting
rather long in the tooth. The main problem with it was its inability to work with any type of
FeatureVector. Although it's not finished the code is going to be able to do this. This neans
the generate/compare code is generic.
- 23.4.02 Code: Been sorting out the Multiscale code today. I found a bug in the PWT
code which Faizal gave me which was causing the Multiscale code to trip over (it was overwriting a
loop counter). The Multiscale code is still a bit ropey itself, but it loads and saves vectors ok now,
although I'm not sure if the comparison code is working correctly at the moment. It doesn't yet do the compression
as standard as that code is not finished.
- 22.4.02 Code: Temporarily, I've gone back to using statically linked libraries
so that I can work on the Multiscale PWT and the query by fax. I will re-investigate the problems I
was having with shared libraries after the April deadline.
- 22.4.02 Code: The Query by fax algorithm has been integrated into the
abstract base class API version. It doesn't quite conform to the API, because of an oversight in the
API design where it is assumed the query feature and the reference feature would be built the same
way. However, the query by fax algorithm requires a different feature for the query image to the
reference image. The GenerateIF function can take a
choice variable which is 1 for
reference image, and 2 for query image feature vector generation. Unfortunately, it's difficult to
work out how to enforce the correct generation procedure from an abstract standing, where all features
are effectively generic.
- 22.4.02 Webpages/Code: Updated the ID's page to include
to the QbF algorithm IDs.
- 22.4.02 Code: Received the latest query by fax code to be integrated into the
- 22.4.02 Web pages: Moved last week's news to the news page
Week Beginning 15.04.02
- 19.4.02 Webpages: Updated the help pages, so they now include an example query by fax, and updated
some of the words. Also packaged the help pages for those modules which IT-Innovations have, and sent the
package to IT-Innovations, at 4:50pm.
- 19.4.02 Code: Still messing around with the Makefiles to try and get Mike's shared library stuff
to work. It's now managed to mess most stuff up, so I'm not even able to compile Multiscale to test the new
Multiscale PWT feature. Libtool is supposed to sort it all out for you, as far as I'm aware, but it doesn't seem to
- 18.4.02 Code: I've added a new function to the API which enforces the use of separate functions
for loading header information from the data information within the feature vector files. This allows meta-features,
like the multiscale code, to differentiate from data and header information. The compression routine in the Multiscale
class then only compresses data. The matching will then only match on data. However, the matching on compressed data
may only be viable for certain types of features. I haven't decided yet who should decide whether matching is viable.
The feature module writer, or the application writer?
- 17.4.02 Code: Spent today attempting to get the library files working. There are static members
in one or two of the classes which aren't too happy about being in shared libraries. Unfortunately, I've failed so
far in sorting out the problem.
- 16.4.02 Webpages: I've updated the PWT, Query
by fax, Stretcher Detector, and Stretcher Similarity help pages.
- 16.4.02 Code: I've now been given Mike's library code and a newer version of his MNS code to
put into our newer system, which required a little bit of alteration.
I've had to update the makefiles to recurse subdirectories and produce a
shared library file for the cbir system.
- 15.4.02 Webpages: Updated the help pages of the multiscale variants to include
a short description of the multiscale algorithm.
- 15.4.02 Webpages: Updated colour picker help page to include
formation and example
- 15.4.02 Code: Found a slight problem with the colour picker interface, that when a colour was
selected from the colour palette, the colour patch was not being updated. This was fixed and a new package 5
was sent to IT-Innovations.
- 15.4.02 Web pages: Updated and moved the previous news to the news page
Week Beginning 08.04.02
- 12.4.02 Code: Checked the code for the colour picker interface, and after updating,
packaged it up into package 5 which is read for IT-Innovations, which includes the code and classes, and
default palette file and Lab colour patches.
- 12.4.02 Code: Updated the colour picker to load in pre-generated colour patches, rather
than generating them on start-up. This makes it quicker. A new helper app, PatchGenerator, allows generation
of the patches to JPEG files.
- 12.4.02 General: Sent package 4 to IT-Innovations.
- 11.4.02 Code: package4 is ready for IT-Innovations, which includes the Colour Matcher,
the ColourHistogram, and the LabColourHistogram. This is the first code to be sent to IT-Innovations using
the new based classes.
- 10.4.02 Code: Been completing the colour matcher code and removing memory leaks. Hopefully
there will be no memory leaks in that code now (that includes the ColourHistogram and LabColourHistogram).
- 8.4.02 Code: Been updating the generic multiscale feature to conform to the Artiste API. I
originally wrote it away from the API, so that I wasn't bogged down in some of the nasty code practices required
while programming the API. I've now included calls back to the code I wrote from API compatible functions so that
Multiscale class is now
FeatureVector compliant. However, to make it totally compliant I
would have to implement
or multiply inherit from both
ImageProcessor. I'm not sure
which is the best yet. Whichever, there will need to be special tests made in the generation/loading stage so that
it will work with any type of vector. The
create() method helps with this, but it does not get around all
I am also considering adding the predicate method
isMultiscale() to modules so that the special case
to be run.
- 8.4.02 Web pages: Moved the previous news to the news page
Week Beginning 01.04.02
- 04.04.02 General: Came in to sort out the machine blanco, which contained the disc
from the C2RMF containing the X-ray images which Fazly needs to continue his work on Craquleur detection and
classification. However, blanco was not in an operational state, and needed reinstalling. This took from 9am
to 12pm, and the subsequent copying of the 80Gb of data took from 12pm to 3pm. IT Innovations received the
disc for re-use at about 3:30pm.
- 01.04.02 General: I'm on holiday (well, sort of) this week.
Week Beginning 25.03.02
- 25.3.02 Code: Been continuing work with the generic multiscale implementation. So far
it can decompose an image into a tiled pyramid and generate features for each of the tiles, and then
save this out to a file. Next, the loader and comparer need to be implemented. There may also be the need
to implement a compressor in a similar manner to Stephen Chan's Multiscale code.
- 25.3.02 Web pages: Moved last weeks's news to the news page
Week Beginning 18.03.02
- 22.3.02 Code: Been working on a generic Multiscale algorithm that will work with any
feature vector type, in preparation for making a multiscale PWT.
It will only be available in the newer code structure because the old image processing
code structure does not support that type of functionality. The
FeatureVector class now allows
any feature vector to be accessed generically, and therefore allows a generic multiscale algorithm. This will
also help later for a generic grid based algorithm for spatial colour matching.
- 22.3.02 Web pages: Updated the colour picker pages to show how to use the interface.
The interface is a link from the colour picker module pages. Also
added more navigation links back and forth between heirarchies.
- 21.3.02 Web pages: Added the colour picker help page (currently rather bare).
- 21.3.02 Code: Been testing the Lab Colour histogram, at various histogram sizes. For colour
picking, the 10x10x10 histogram seems rather too precise, so I will try it at 6x6x6 next. Updated the new
module code with the LabColourHistogram and made sure the stretcher detector code was working ok in it.
- 20.3.02 Code: Created an Lab Colour Histogram. Pretty easy from the new histogram code. Now
generating 10x10x10 Lab colour histograms for our dataset.
- 19.3.02 Code: Been going through the code updating and making it more user-friendly. In
particular I've altered the makefiles in the API classes directory and the Multiscale directory (the new directory).
The makefile is much easier to use now, and should automatically detect dependancies, and should only require very
small modification when a new module is inserted into the system.
- 19.3.02 General: I've moved the standard set of images that we use for the Multiscale
demos into /data/archive/ppm. From there the directories can be linked to local directories for running
Multiscale. This saves on disk space. There are scripts in the directory for automatically setting
up the links for you.
- 19.3.02 Code: Updated the colour picker so that rather than buffering Lab->RGB value
conversions, it buffers image slices in the RGB space. This makes the whole thing more responsive, and
no more of that slider lag.
- 18.3.02 Web pages: Updates to the help pages include: technical description section on CCV,
HistogramRGB and HistogramMono sections, as well as a navigation bar at the top, and a scale description and
cross reference page accessed by clicking on the value of the module accuracy and module speed. Technical
descriptions describe the feature vector, even with pictures. woo.
- 18.3.02 Web pages: Updated and moved last weeks's news to the news page
Week Beginning 11.03.02
- 15.3.02 Code: Been working on the latest colour picker interface. It now has an
Lab colour patch from which colours can be selcted. The sliders are selectable between RGB, HSV
and Lab, and the changes in colour are shown in a colour box, and in the Lab colour patch.
can be added to a set of colours to do a query on, and the various amounts of each colours can
be altered, where the total amount of selected colour is not above 100%. As many colours as the
user sees fit can be added to the selected colours and they can also be removed at will. You can
see the colour picker interface (if you're Artiste internal) at http://corot.ecs.soton.ac.uk/~dpd98r/lab_picker.
- 12.3.02 Code: Made a new histogram viewer (just a simple one) using
the xforms library, which loads in the new ColourHistogram ifo files and views them
in a similar manner to the histogram shown on the right for monochrome images.
- 12.3.02 Code: Also managed to get the new Colour picker working with this new
m (it worked pretty much straight away, and works well).
- 12.3.02 Code: Completed the new implementation of the Colour
Histogram module and got it working within both the old and new API code.
- 11.3.02 Code: I spent the day today re-writing Stephen Chan's
HistogramRGB code so that it's more flexible, and generally easier to use and read.
The new module will be ColourHistogram and it will make HistogramRGB redundant.
(Although until there's an MColourHistogram, you will still have to use
MHistogramRGB). This is in response to some requests at the user training meeting
last week, however many of these will not be possible to be completed. For example, it was
requested that the CCV be configurable also, but this will prove very difficult,
again due to Steve's code. In particular, changing an underlying algorithm will not
affect the multi-scale version, which proves even more of a problem, again due to
lack of design in the object oriented nature of the code. Hopefully the new
ColourHistogram module will also make the colour picker a possibility now, whereas before I was
fighting against the histogram code.
- 11.3.02 Web pages: Updated and moved last weeks's news to the news page
Week Beginning 04.03.02
- 08.3.02 General: Spent a very useful day with Christian who has
some good advice for the help pages, and also given some useful information regarding
algorithm developement on cracks and stretchers and planks. Lets hope it's not all
- 07.3.02 General: User meeting in IT Innovations proved useful
again, with Marco, Christian, Gert, and Margret.
- 06.3.02 PMT Meeting: The PMT meeting in the V&A Museum in London
seemed to go quite well. All involved were fairly happy with what was said, and the
progress of Artiste is on schedule.
- 04.3.02 Web pages: Moved last weeks's news to the news pa
Week Beginning 25.02.02
- 29.2.02 Code: Working on the multi-image histogram routine for plotting points. The image on the
right is a grab of the dataplotter. Click it for a larger view. Happy St.David's Day.
- 28.2.02 General: Been re-installing RedHat on my system here, so
not got any Artiste done. However, Miles now has the UV spot report up on his own site
where he is able to maintain it. http://www.ecs.soton.ac.uk/~me
- 27.2.02 Code: Updated the dataplotter, er, lots.
- 26.2.02 Web pages: Updated the help pages.
- 25.2.02 Code: Quickly knocked up a 3D data plotter
with Java3D so that we may visualise the
feature vectors that we are generating. This may allow us to determine whether clustering algorithms would work.
The image on the right shows a screen shot of the data plotter.
- 25.2.02 Web pages: Moved last weeks's news to the news page
Week Beginning 18.02.02
- 21.2.02 Code: Changed an old image viewer, and made it work properly (!) so that it can be used as
a sub-image selection tool for Artiste. I've sent this to Mike B. The online version can be seen internally at:
- 21.2.02 Code: Sent the first version of the colour picker to Mike, after the changes were made.
- 20.2.02 General: Faizal and I have just returned from a useful trip to see Mike Boniface at IT Innovations,
about the usefulness of the PWT. It looks as though the PWT for fax retrieval is not very useful, as the correct results
can be ranked quite low. Also Mike seems happy with the colour picker, so I'll just make some small changes then send that on.
- 19.2.02 Code: Mike's put out his first release to the team of his fvx replacement program, which should
be much easier to use and more robust. The features are stored in an SQL database, rather than files, which also decreases
the match time. I will attempt to plug this into the online matcher at some point, but maybe not soon. The readme for Mike's
interface is http://corot.ecs.soton.ac.uk/~mrlw00r/cbir/readme.html
- 19.2.02 Web Pages: Found the problem with the colour picker, and that was that Microsoft (well, who else
would it be?) are stupid, basically, and haven't implemented the Java interface correctly, causing the BorderLayout to have
an incorrect default functionality. I've sorted it out now so the code doesn't expect default functionality and it works. I've
also changed the classes so that they can be run as an application or an applet. If it's run as an application you can update
the colour palette. If it's run in a web browser, this contravenes the security and so cannot be done. This functionality is therefore
hidden when running as an applet.
- 18.2.02 Web Pages: Although not explicitly for the webpages, I've put a colour picker Java applet,
which although simple is nice an effective. At the moment, I'm having some problems getting it running in both
IE and Netscape. Here it is: http://corot.ecs.soton.ac.uk/~dpd98r/colour_picker (
- 18.2.02 General: A trip to the IT Innovations Centre in Chilworth to meet with James and Rachael
from the V&A proved very useful, certainly showing some of the limitations of both the Artiste interface, and the
- 18.2.02 Web pages: Moved last weeks's news to the news page
Week Beginning 11.02.02
- 15.2.02 General: The user training is occuring on Monday morning, so it looks like we may be going
up to.. hmm.. supervise, I suppose. Kirk, Miles and I also discussed colour and it looks like we may implement an Lab
histogram and try some feature vector visualisations.
- 14.2.02 General: Happy Valentine's day.
- 13.2.02 General:Faizal and I are going upto Chilworth on Wednedsay 20th to IT Innovations to see
about the PWT retrieval - and whether it's working correctly in the Artiste system. Hopefully we'll have a colour
picker to take too.
- 11.2.02 General: John C's come to the rescue with a bug that Mike was having with his generic testing
code and it's all been sorted. The problem was all to do with the way VIPS was being used to convert a 1-band image
into a 3-band image.
- 11.2.02 Web pages: Miles has produced a short report on why the U.V. Spot detection
measure is hard to implement. It can be found here: http://www.ecs.soton.ac.uk/~dpd98r/artiste/reports/UVSpot/1/UVWriteup.html.
- 11.2.02 Code: I've started development on a simple "find colour" matcher - which, yes,
is what the
HistogramRGB does, but this matcher will be geared towards finding single colours. It will
HistogramRGB feature vector, to start with at least, but match only one of the bins - the bin
containing the colour to be found. It should be stupendously quick for this reason.
- 11.2.02 General: The testing is still continuing. I left it over the weekend, after
fixing some bugs in the sorting code (!) and sorting out the problems with regard to the integer overflow
problems I was getting. However, over the weekend the thing crashed. It seemed to change directory and
lose sight of the images, and therefore couldn't produce feature vectors. It completed the blur phase though.
Now it's been started doing the rest, again.
- 11.2.02 Web pages: Moved last weeks's news to the news page
Week Beginning 04.02.02
- 04.2.02 Web pages: As a test of score normalisation I've swapped around the
HistogramMono results after normalising their distances to between 0 and 1 on the
online fvx, so that they now show
similarity percentages rather than distances. It's only implemented for these two as these are the only two that we are
sure of the maximum distance (which is 2).
- 04.2.02 General: I've generated the icons for the louvre set again into
- 04.2.02 General: Testing is still continuing as it takes ages on the Multiscale algorithms!
- 04.2.02 Code: Finally tracked down the problem causing the testing of the MHistogramMono to core
dump. It was just trying to extract a test sub-image which was outside of the original image. This has been
fixed and the tests are running.
- 04.2.02 Web pages: Moved last weeks's news to the news page
Week Beginning 28.01.02
- 01.2.02 Code: Following Mike's discovery, I've implemented a function called
GetRGBImage( VImage )
into the ImageProcessor abstract class (therefore available to all processing modules), which will convert LAB, and LABQ images
to sRGB images, and also convert non-3-band images to 3-band. Other image conversions (e.g. from UCS, XYZ, etc.) could easily
be incoorporated, but I didn't see the need right now.
- 01.2.02 Code: Pinch, punch, first of the month. Mike, while testing his test harness (!) found out
that JPGs can in fact be 1 band, which is something we didn't know. This brought back into sharp relief the problem
that CCVs and RGB and other colour-based modules don't work (i.e. crash!) on 1 band images. This will be fixed imminently.
Good bit of detective work, Mike.
- 29.1.02 General: Update to below: I just realised they're using different matching code, although
they should do the same thing, so there's still a problem. Been trying to fix it all day.
- 28.1.02 General: I've been continuing with the test process and have come across an interesting
problem, which may be what IT-Innovations are experiencing. The MHistogramMono has been shown to work in a graphical test
harness we have here, yet, seems to be ranking the correct match at 800+ in the batch-testing harness. They're using
exactly the same feature vectors and the same matching code. What could be wrong?
- 28.1.02 Web pages: Moved last weeks's news to the news page
Week Beginning 21.01.02
- 25.1.02 General: To get some sort of quantitative measure for the border finder and classifier
we need to know whether the classification of the borders by the neural network is correct or not. To achieve this
I've written a little script that shows an image and allows input of a classification. The list is stored to a file
which can be then used to work out stats. The script makes is easier and quicker to achieve this.
- 25.1.02 General: To start the day off I've started the resize tests on the HistogramMono module,
now that the noisy tests are complete. Interestingly the noisy tests took much longer (6x longer) than the blur tests.
This maybe to do with the way the populating of this histogram took place (it will be less sparsely distributed with noise).
The resize test seems to be running as quick as the blur tests.
- 24.1.02 General: Finishing the day off with a whole bunch of test runs on the HistogramMono module.
They're taking a while, as predicted, but I'll leave them going overnight. Testing under low pass filtering conditions
is complete, and is now proceeding with testing under noisy conditions.
- 24.1.02 Web Pages: Made sure the basic help pages were complete, with the links to the border
finder tests and extra information. The help pages are available at http://www.ecs.soton.ac.uk/~dpd98r/artiste/help.
- 24.1.02 General: I've altered Stephen Chan's test script to be a little more generic (or, at least, easier
to run on various modules), and have run some tests on the monochrome histogram. Not sure what to do with the results, yet.
- 24.1.02 General: I've got a page up which shows some tests of the border finder on the Uffizi
images on corot: http://corot.ecs.soton.ac.uk/~dpd98r/border/.
It shows that the border finder is working correctly, and the neural net works fairly well, only mis-classifying 4 of the 14 paintings
as circles, which are squares/rectangles. It's possible to understand how on one of the images, but rather unexpected for the others.
- 23.1.02 General: I've started running some tests to follow up my initial investigation on the
border finder problems. I also intend to run the classifier over the whole Uffizi database to determine if there's
a problem with the code (in general), or with the installation at IT Innovations. Initial tests who it is likely to be
the latter, but by running the same test with our version of the code, we can determine when/where the error occured.
- 22.1.02 Code: Faizel has been looking at the changes to the PWT code, and has yet has
not determined whether the changes have made any alterations to the expected output.
- 22.1.02 Web pages: Moved last weeks's news to the news page
Week Beginning 14.01.02
- 17.1.02 Code: Following yesterday's meeting with IT-Innovations, Miles and David looked at
the reason the Border Finder and Classifier was not working on the Uffizi images. It turns out that the
border finder algorithm is working well, and on our neural network the borders are even being classified correctly.
This implies that there is something amiss with the IT-Innovations neural network. Investigation is continuing.
- 17.1.02 General: Miles now has an email address and can be contacted at email@example.com.
- 15.1.02 Web Pages: Added an image type input to the online FVX code which allows one to search
based on the image type. For example "U.V." will find all the UV pictures, and "I.R." will find all the infrared
pictures. Also added a "List Filenames Only", which will limit the database search to showing a list of filenames, which
can be saved and used elsewhere, rather than the brief summary reports.
- 14.1.02 Code: Investigated the seemingly anomalous size of the monochrome histogram
when used inside the multiscalar code. As it turns out, there's nothing at all wrong with the code,
and the size of the feature vector for multiscale monochrome histograms is correct. The reason it's generally
larger than the 3 dimensional RGB multiscalar histograms, is that the histograms are generally less sparsely
populated than the colour counterparts, and therefore do not get compressed as effectively. One way to overcome
the problem would be to reduce the number of bins in the monochrome histogram.
- 14.1.02 Web pages: Moved last weeks's news to the news page
Week Beginning 07.01.02
- 7.1.02 General: Welcoming Miles Kluth to the IAM Artiste developement team. Miles will be an
employed RA on the team until the end of the project in July. He doesn't yet have a new user id, so has not yet
got an email address.
- 7.1.02 Web pages: Moved last weeks's news to the news page
Week Beginning 31.12.01
- 2.1.02 General: HAPPY NEW YEAAAAAAR!
- 2.1.02 Web pages: Moved last year's news to the news page :o)
Week Beginning 10.12.01
- 10.12.01 Web pages: Moved last week's news to the news page.
Week Beginning 3.12.01
- 6.12.01 Code: The plank detector is now into
Mutliscale and works ok. It allows
matching based on the number of horizontal and vertical lines it finds within the image. I've run it over the V&A
directory too, just for fun, although the matching results aren't hugely useful.
- 5.12.01 Code: The plank detector seems to be running ok in
fvx within the demo directory.
I'm now just adding it to the
- 4.12.01 Code: The plank detection (without the texture matching) has been received from
Fazly. There is a problem with
fvx with this code (on Fazly's machine), so I will try and integrate
it into the old API code (in the demo), and once that is working roll it into the new code.
- 3.12.01 General: The fest is over, but nothing is complete yet.
- 3.12.01 Web pages: Moved last week's news to the news page.
Week Beginning 26.11.01
- 27.10.01 General: It's fest time in IAM! The IAM fest, which is being held today,
tomorrow, and Thursday, allows the group to work together on a number of projects, which will hopefully
be finished by the end of the week. The Multimedia Understanding fest group, in which Kirk, Paul, Mike, Fazly,
Faizel, and a number of other people are, will work on a similar system to Artiste, but from the point of view
of a hand-held portable device in museums. The idea being that from the portable device users can find out information
about a painting by pointing the device's camera at a painting. Content retrieval finds which painting, and retrieves
information based on the result of the CBR and some context of the device's use.
- 26.11.01 Web pages: Moved last week's news to the news page.
Week Beginning 19.11.01
- 22.11.01 Code: The code for MNS has been completed, and is now being integrated into the old
version of the test harness code. The reason for this is that this is the code that IT Innovations are currently using.
Once this has been completed, it will be "upgraded" into the new code. IT Innovations will receive a copy of the MNS
code that will fit into the older version of the API. It seems to fit into the old code quite well at the moment.
- 21.11.01 Web pages: I've added an upload-image querying ability to the online fvx test-harness.
You can see it here: http://corot.ecs.soton.ac.uk/~dpd98r/test_db/
- 19.11.01 General: I've written some scripts (more robust than Kirk's) to go through a directory
and all it's subdirectories and create thumbnails, or create feature vectors (using
fvx). I'm running
the feature vector generation script (with CCVs) on the dataset so that I can continue with the PHP interface to
- 19.11.01 Demo: Added Zepler and the Hay Wain to the demo along with some images that
Kirk had taken from a video source of those images. They don't seem to work too well, though, so for this
type of retrieval some pre-processing, or a different retrieval method might be required.
- 19.11.01 Web pages: Moved last week's news to the news page.
Week Beginning 12.11.01
- 14.11.01 Web Pages: For those with internal access, you might want to look at the database
querying being done. It's basically a simpler version of the main database, but it should hopefully have support
for content based functions via
fvx at some point. Check out http://corot.ecs.soton.ac.uk/~dpd98r/test_db/.
- 13.11.01 General: Playing around with a PHP interface to fvx at the moment.
- 12.11.01 General/Code: Been getting a demo ready for Kirk to use in the Digital Imaging
seminar tomorrow in the library. Using the old version of Multiscale and a special set of images from
the V&A and the louvre.
- 12.11.01 Web pages: Moved last week's news to the news page.
Week Beginning 5.11.01
- 9.11.01 General: It has been decided that for the project review in December there needs to
be a test version of [Q]MNS available to show, and possibly of Fazly's support detection algorithm. The V&A
image set, once it's been downloaded, will be used to test some of the other algorithms, for monochrome subimage
matching testing, for example. In the future, it is foreseen that a generalised Hough transform (GHT) could be
used for butterly detection (and maybe internal shape feature and detail detection). Style classification may be
achievable using a set of features matched against a known style, to find other similar images. It is also seen that
some available texture measurement code could be used to test the PWTretrieval code against.
- 6.11.01 Web pages: Moved last week's news to the news page.
Week Beginning 29.10.01
- 30.10.01 Images: The V&A dataset which is currently held at IT innovations is going to be
retrieved to the University's servers, so that we can use those as a dataset... all 46,000 of them!!
- 29.10.01 Web pages: Moved last week's news to the news page.
Week Beginning 22.10.01
- 24.10.01 Code: Damn bugs.
- 23.10.01 General: There seem to be problems with corot at the moment, so nothing much
can be done. Bug tracing is still happening when the machine returns.
- 22.10.01 Code: All the feature modules have been updated, however a bug has been spotted in
the Multiscale program that is causing all multiscale-modules to fail comparison. This may not be due to
the most recent changes. The bug is under investigation.
- 22.10.01 Web Pages: Due to the change in the ImageProcessor, the similarity functions no longer
need to be known by the feature module implementer (other than StoreSimilarity), and so have been removed
from the pages about the code structure.
- 22.10.01 Code: The code for similarity storage and retrieval has now been extrapolated
HistogramMono class into the
ImageProcessor class and compiles and executes
correctly. Work will now go into removing code from the other image processors.
- 22.10.01 Code: There is still some code in the feature classes which is duplicated in each
class. This can be overcome by moving these functions into the base classes. This will make the process of
writing a feature module very easy. In the feature module file there will be just the functions that need to be
SaveIF, and in the image processor,
CompareIF. Work is proceeding on achieving this.
- 22.10.01 Web pages: Moved last week's news to the news page.
Week Beginning 15.10.01
- 19.10.01 Web pages: Added the information for the image processing classes to the code
structure pages which are rapidly becoming a quick reference guide to the API.
- 19.10.01 Trivia: The feature modules have reduced in size by about 300 lines of code due to the
extraction of the memory blob I/O code. The
PWTretrieval code has gone from 1135 lines to 817.
- 19.10.01 Web pages: Altered the steps to making a feature vector now that the base classes
are available. If you're really interested, the old way of doing it is in an HTML comment in the code.
- 19.10.01 Web pages: Added the ability to download the library ready built for application
development without the need to download and compile the library. Also added the latest image processing classes
tar blob with the
MemoryBlobWriter and the abstract classes.
- 19.10.01 Code: Updating of the feature modules to use the
centralised code is complete.
- 19.10.01 Code: A new class,
MemoryBlobWriter, has been defined which contains
all the implementation for the reading and writing to memory in static functions. This avoids the need to clutter
the feature modules with this, duplicating the code. The current feature modules are being altered to use this
class rather that their local versions of
- 19.10.01 Code: As well as ensuring that the modules are still API compliant and work correctly
with the new abstract base classes, work has begun on moving all the memory blob and file reading and writing
code out to a separate (possibly statically callable) class. This should clean up the modules alotand again
reduces the amount of code duplication.
- 19.10.01 Web pages: Added more to the code structure pages to include a very
brief overview of the API functions.
- 18.10.01 Trivia: The Multiscale harness has halved in size due to the abstract base classes: 2600 lines
of code to 1300.
- 18.10.01 Code: Updating of Multiscale is complete!
- 18.10.01 Code: Some extra work was needed to make sure all the feature modules correctly inherited
and conformed to the stricter API. Work is now proceeding in testing that the feature modules can be used in the way
intended, without too much code re-writing. This is achieved by altering Multiscale to use the new
- 17.10.01 Code: The updating of the feature vector and image processor definitions have
been completed and they now inherit from the abstract base classes
although fully testing this has not yet been achieved, and therefore the code tar-blobs below remain in the
- 17.10.01 Web pages: Added a code structure page.
- 17.10.01 Code: Work is continuing on converting the old feature modules to the improved OO
design. Many bad coding problems have been discovered which are being fixed in the meantime, but it slowing
down progress. The multiscale features all referred to each other's private members. This is pretty much
fixed and encapsulated now except for one call from the multiscale code to the non-multiscale
GenerateIFAux private member. This means the multiscale class has to be a friend to the non-multiscale
class. A bit nasty. That will be fixed in due course.
- 17.10.01 Web pages: Added the news archive section to keep the index page smaller.
The news section will now contain a date and type of news.
- 16.10.01 Code: The classes
have been defined which set out the abstract methods which an image processor or
feature vector need to comply to. This has been tested to comply with the API by
HistogramMono class from these and compiling successfully.
- 15.10.01 Code: Work is going ahead on making the API code of a better object oriented paradaigm
(as stated in the "stuff to do" pages). The code for the feature
vectors and image processors is based very much on a procedural programming paradaigm, despite
being implemented in an object oriented language. This makes for a lot of wasted opportunities.
The use of the API should not change at all, unless the application programmer wished to use the
extra advantages that the OO paradigm facilitates. An example of the advantage is having a
MultiscaleFeature class that provides the multiscale ability on any feature without
the need to create new features like
Current site and code maintainer: David Dupplaw - firstname.lastname@example.org
- 12.10.01 Web pages: Added a progress and contacts web page.
- 11.10.01 Code: All updates have been made, and importantly the
.c files have all been renamed to .cpp for the convenience of IT Innovations, and it's
important that all new modules should be named in this convention. The tar blob
below have been updated. The updates have also been rolled into the templates and the
- Received a package of changes made to code by IT Innovations. These changes are
currently being implemented into the base set of code. Once this is complete the
changes will be filtered into the new feature modules.
- Updated the Multiscale program to deal with command-line parameters, with
two new ones to allow for varying the location of the reference or query images. This
should allow us to use a centralised repository of feature vectors for testing, without
the need to install the test images, etc. Also the names of the default directory for
the reference images and the file containing the filenames have been altered from
ReferenceImages, and from
ReferenceDatabase.db, respectively. With the new switches -r and -d you can
set the directories in which Multiscale will work. The tar blobs for Multiscale, the
test images, and tools have been updated below.
- Completed the updating of the ifos which are part of the test set of images available
as a large tar blob below.
- Integration of the PWTretrieval into Multiscale and fvx is complete! All the code tar blobs below have been updated.
- Completed (for the moment) the restructuring of the directory, er, structure.
- The pyramid structure wavelet transform (PWT) retrieval module is complete!! It's currently
being integrated into the latest
Multiscale.c to keep the code
upto date, although it is effectively ready for IT innovations. Super work Faizal.
- The gray level histogram (GLH) retrieval module is complete!! It's already been included
into the latest version of the
Multiscale.c and is ready
for IT Innovations. It will be tested alongside the latest retrieval modules. A single-GLH
to multiscale-GLH (MGLH) module is underway.
- The hough transform based support detection module is also underway by Fazly.
- The multi-modal neighbourhood signature (MNS) is near completion to be integrated with the
latest and greatest versions of
All code, data, files and information on this site is copyrighted by the respective owners, and may not be downloaded by unauthorised persons.