1、AbstractContent-based retrieval of (image) databases hasbee more popular than before. Algorithm develop-ment for this purpose requires testing/simulation tools,but there are no suitable mercial tools on themarket.A simulation environment for retrieving images fromdatabase according histogram similar
2、ities is presentedin this paper. This environment allows the use ofdifferent color spaces and numbers of bins. Thealgorithms areimplemented with MATLAB. Each colorsystem has its own m-files.The phases of the software building process are pre-sented from system design to graphical user interface(GUI)
3、. The functionality is described with snapshots ofGUI.1. IntroductionNowadays there are thousands or hundreds ofthousands of digital images in an image database. If theuser wants to find a suitable image for his/herpurposes, he/she has to go through the database untilthe correct image has been found
4、 or use a referencebook or some “intelligent” program. Video on demand(VoD) services also requires an intelligent searchsystem for end-users. VoD systems search methodsdiffer slightly from image databases methods.A reference book is a suitable option, if the imagesare arranged with a useful method,
5、for example: 1)categories: animals, flags, etc, 2) names (requires agood naming technique) or 3) dates. An experienceduser can use these systems as well as textual searches(keywords have to be inserted in a database)efficiently. There are situations when a multi-languagesystem has to be used. There
6、a language independentsearch systems best properties can be utilized. A toolwhich is based on the images properties can be madelanguage independent. These properties can be forexample color, shape, texture, spatial location of shapeetc.In the MuVi-project 1 this kind of tool is underconstruction. It
7、 will cover the properties presented above.Research work on content-based image retrieval has beendone in 2 6. The system, which is presented in thispaper, is a simulation environment, where MuVis colorcontent based retrieval has been developed and tested.2. System developmentMATLAB is an efficient
8、program for vector and matrixdata processing. It contains ready functions for matrixmanipulations and image visualization and allows aprogram to have modular structure. Because of these factsMATLAB has been chosen as prototyping software.2.1 System designBefore any m-files have been written, the sys
9、tem designhas been done. A system design for the HSV (hue, saturation and value) color system based retrieval processis presented in Figure 1. Similar design has been done forall used color systems.Figure 1: Function chart for HSV color spacewith 27 bins histogram.Tesths27 is the main function for t
10、his color systemand this number of bins. It calls other functions(hs27read, dif_hsv and image_pos) when needed. Eachcolor system has a main function of its own andvariable number (2 3) ofsub-functions. If there is noneed for color space conversion there are 2functions,otherwise 3 functions on the fi
11、rst branch of the functionchart.The function call of the main function is:matches=tesths27(imagen,directory,num)The variable imagen specifies the query images nameand path. The directory is a path of the image databaseand num is a desired number of retrieved images.2.2 FunctionsAt this moment there
12、are functions implemented forfour color spaces: HSV, L*a*b*, RGB and XYZ 7.Each color space has from 2 to 4 implementations fordifferent numbers of bins. There are altogether 14 mainfunctions.For some color systems it is possible to make thesefunctions dynamic, i.e. dynamic histogram calculation.Eve
13、ry color system / bin bination requires its ownhistograms and these can be made only with anexhaustive method (pixel by pixel). Histogramcalculation takes - 5 minutes per image, eachapproximately 320240 pixels, depending on theplexity of the color space on 150 MHz Pentium.Thus it is not reasonable t
14、o let the user select a binnumber freely, especially in the case of large databases.The functions have been named so that the namescontain information of the color space used, thepurpose of the functions and the number of used bins.Some functions, for example image_pos, have beenused by many or all
15、main functions and these functionshave not been named as described above.The main function checks, if the function call iscorrect. If the query images name doesnt contain apath, the function assumes that the image is situated inthe database directory. In addition to this, the mainfunction checks, if
16、 the query image already has ahistogram in the currently used database. If therequired histogram is not there, the image read (forexample hs27read) function is called. This functionalso normalizes pixel values and arranges image matrixdata to a vector format. After that stage a color spaceconversion
17、 function (if needed) is called. Finally aquantization function builds thehistogram with thecorrect number of bins.The histogram will then be saved into the databasedirectory. If the histogram already exists there, thethree previous steps will not be executed. Now thequery image has been analyzed. T
18、hen the mainfunction will go through all images in thedatabasedirectory with an almost similar algorithm as in the case ofthe query image. The difference is that now there will be ahistogram difference calculation between the queryimages and current images histogram. Finally theimage_pos function wi
19、ll be used to put a query image andthe desired number of best match images on the display.2.3 LinkingIt is not possible to use a program before the main functionand sub-functions are connected to each other. The mainfunction will be calledfrom the mand line or throughthe graphical user interface, wh
20、ich will bepresented laterin this paper. In both cases the function call will containthe same arguments. For multi-level search purposesseparate main functionshave been implemented, but it ispossible to utilize “normal” functions and add oneparameter, where the best matches array can be transferredf
21、or second a stage parison function.The main function calls an image read function with theimages name. The histogram will be returned to the mainfunction. If a color space conversion is needed, theconversion function will be called from the read functionwith r, g and b vectors. The histogram will be
22、 returned tothe calling function. Finally the histogram build functionwill be called with converted color vectors. This functionreturns a quantized histogram, which will go through allfunctions until it achieves the main function.The main function calls the histogram difference functionwith two hist
23、ogram vectors and will get a difference valueas a response. The difference function uses Euclidean-distance calculation, but it can be easily changed toanother algorithm due to the modularity of the program. Ifthe difference is smaller than largest difference on a bestmatch table, the current result
24、 will be written over the lastresult on the best match table. After that the table isarranged again in an ascending order of distance. When allthe images have been analyzed, the sorted best matchtable, the number of desired output images, the queryimages name, the search images path and the database
25、path are transferred to the image_pos function. Thesevalues can be transferred into larger ponents(vectors/containers). Now the program works faster withseveral input arguments, because there is no need forpicking up variables from a container.2.4 Graphical user interfaceThe graphical user interface
26、 (GUI) is an important part ofsoftware development. The designing of the GUI have tosolve the following problems: learning time, speed ofperformance, rate of errors by users, retention over time, and subjective satisfaction 9. This software is, at themoment, intended to be used only for testing purp
27、oses.The most important property of this software is that theresults of different test queries can be seen quickly and theresults can be saved safely on a disk. Thus the visuallayout is not as important as in case of a mercialsoftware product.In Figure 2 the first screen on GUI is presented. Thepurp
28、oses of the buttons, menus and other ponentswill be presented later. If this software is developedinto a mercial product, the menu bar will bedisabled in the future and the exit and help buttons willbe added on the canvas.Figure 2: GUI before the search image selection.In Figure 3 the search screen
29、is presented just beforestarting a search. The user is shown a search image,and in this way he/she can be sure that the search willbe made with the correct image.Figure 3: GUI just before running a query.The results of the query will be presented on the screenin the format which is presented in Figu
30、re 6.3. Using the softwareThe first screen has already been presented in Figure 2.The user can choose from pop-up menus (see Figure4), if the search is made with one a color system or asa multi-level search. In a one-level search a roughlyquantized or a more accurate histogram is used in one loop (o
31、ne color system).Figure 4: Color system selection from a popup menu.The second menu is disabled because a one-level search is selected.In a multi-level search two different color systems /histograms are used. During the first loop the roughly quantized histograms are used and during the second loop.
32、 the more accurate histograms are utilized for the best matches from the first loop. The color system on the second loop can be either the same as on the first loop or adifferent one. For queries with one-level search the selection of a second color system is disabled. The user can select the number of retrie
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2