Описание на методите за сравняване на изображения...
TRANSCRIPT
ОПИСАНИЕ НА МЕТОДИТЕ ЗА СРАВНЯВАНЕ
НА ИЗОБРАЖЕНИЯ EVALUATESCORE И
ISSIMILAR В ORACLE MULTIMEDIA
Доц. д-р Цветанка Георгиева-Трифонова
ОПИСАНИЕ НА МЕТОДИТЕ EVALUATESCORE И ISSIMILAR –
СЪДЪРЖАНИЕ
Извличане, базирано съдържание (content-based retrieval)
Методът evaluateScore()
Общ вид
Параметри
Върната стойност
Използване на метода evaluateScore()
Примери
Методът isSimilar()
Общ вид
Параметри
Върната стойност
Използване на метода isSimilar()
Примери
Примерни резултати
2 2 Цветанка Георгиева Моделиране на информационни системи
ИЗВЛИЧАНЕ, БАЗИРАНО НА СЪДЪРЖАНИЕ
Извличането, базирано на съдържание
осигурява по-голяма гъвкавост и практичност;
е полезно за осигуряване на възможност за изпълняване
на заявки въз основа на атрибути като текстура и форма,
които е трудно да бъдат представени чрез използването
на ключови думи;
позволява изпълняване на заявки от вида: „да се намерят
предмети, които изглеждат като даден предмет“.
3 3 Цветанка Георгиева Моделиране на информационни системи
ИЗВЛИЧАНЕ, БАЗИРАНО НА СЪДЪРЖАНИЕ
Примери за приложения за бази от данни, в които
извличането, базирано на съдържание, е полезно:
Търговски марки, авторски права и емблеми;
Художествени галерии и музеи;
Търговия;
Мода и моден дизайн;
Интериорен дизайн и декорация.
4 4 Цветанка Георгиева Моделиране на информационни системи
ИЗВЛИЧАНЕ, БАЗИРАНО НА СЪДЪРЖАНИЕ
Системата за извличане, базирано на съдържание
обработва информацията, съдържаща се в данните за
изображението и създава описание на съдържанието му
по отношение на визуални атрибути;
изпълнява всички заявки с помощта на това описание, а
не със самото изображение.
Всяко изображение, въведено в базата от данни
се анализира;
се съхранява компактно представяне на неговото
съдържание в характеризиращ вектор (feature vector) или
подпис (signature).
5 5 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ EVALUATESCORE() – ОБЩ ВИД
evaluateScore(sig1 IN ORDImageSignature,
sig2 IN ORDImageSignature,
weights IN VARCHAR2)
RETURN FLOAT;
Този метод на типа ORDImageSignature оценява
разстоянието между два подписа на изображения въз
основа на:
зададени атрибути;
тегла на атрибути.
6 6 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ EVALUATESCORE() – ПАРАМЕТРИ
sig1
подпис на изображение;
sig2
подпис на изображение;
weights
низ, състоящ се от имена на атрибути и съответните им
стойности между 0.0 и 1.0;
сравняваните атрибути се асоциират с теглата,
определени от потребителя и оказват влияние върху
извършаване на сравнението;
атрибутите, които не са зададени, имат стойност 0.0 по
подразбиране.
7 7 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ EVALUATESCORE() – ПАРАМЕТРИ
weights
Стрингът може да съдържа всички или някои от
атрибутите.
Стойността, асоциирана с даден атрибут, задава неговата
относителна важност при определяне на разстоянието
между подписите.
Един атрибут със стойност 0.0 се игнорира, а атрибут със
стойност 1.0 е от най-голямо значение.
Предоставените тегла се нормализират преди обработка,
така че тяхната сума да е 1.0, като се запазват
първоначалните им съотношения.
Поне един атрибут трябва да има стойност по-голяма от
0.0.
8 8 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ EVALUATESCORE() – ПАРАМЕТРИ
weights
Атрибутите са следните:
color: стойност между 0.0 и 1.0, която определя
важността на характеристиката цвят;
texture: стойност между 0.0 и 1.0, която определя
важността на характеристиката текстура;
shape: стойност между 0.0 и 1.0, която определя
важността на характеристиката форма;
location: стойност между 0.0 и 1.0, която определя
важността на местоположението на областите в
изображението.
Теглото на местоположението не може да бъде
зададено самостоятелно, трябва да се използва
заедно с друг(и) атрибут(и).
9 9 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ EVALUATESCORE() – ВЪРНАТА СТОЙНОСТ
Върнатата от функцията стойност е от тип FLOAT между 0.0 и
100.0, където:
0.0 означава, че изображенията са идентични и
100.0 означава, че са напълно различни.
10 10 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ EVALUATESCORE() – ИЗПОЛЗВАНЕ
Методът се изпълнява за два подписа, не за индекси,
дефинирани в таблицата.
За да се изпълни методът evaluateScore() успешно, е
необходимо обектите от тип ORDImage да бъдат:
инициализирани, добавени в таблицата и да имат
генерирани подписи или
създадени чрез използване на временни LOBs и да имат
генерирани подписи.
11 11 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ EVALUATESCORE() – ПРИМЕР ЗА
ПРЕДВАРИТЕЛНА ПОДГОТОВКА
DECLARE image ORDSYS.ORDImage;
t_image ORDSYS.ORDImage;
image_sig ORDSYS.ORDImageSignature;
BEGIN
-- добавяне на ред в таблицата и инициализиране
INSERT INTO pm.online_media
(product_id, product_photo, product_photo_signature)
VALUES (1910,
ORDSYS.ORDImage.init('FILE',
'MEDIADIR','img1.jpg'),
ORDSYS.ORDImageSignature.init());
COMMIT;
SELECT p.product_photo INTO image
FROM pm.online_media p
WHERE p.product_id = 1910 FOR UPDATE;
12 12 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ EVALUATESCORE() – ПРИМЕР ЗА
ПРЕДВАРИТЕЛНА ПОДГОТОВКА (2)
-- задаване на атрибутите за свойствата на изображение
image.setProperties();
UPDATE pm.online_media p SET p.product_photo = image
WHERE p.product_id = 1910;
COMMIT;
SELECT p.product_photo, p.product_photo_signature
INTO t_image, image_sig
FROM pm.online_media p
WHERE p.product_id = 1910 FOR UPDATE;
-- генериране на подпис
image_sig.generateSignature(t_image);
UPDATE pm.online_media p
SET p.product_photo_signature = image_sig
WHERE product_id = 1910;
COMMIT;
END;
13 13 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ EVALUATESCORE() – ПРИМЕР
Оценяване на разстоянието между два подписа на
изображения
DECLARE t_image ORDSYS.ORDImage;
c_image ORDSYS.ORDImage;
image_sig ORDSYS.ORDImageSignature;
compare_sig ORDSYS.ORDImageSignature;
score FLOAT;
BEGIN
SELECT p.product_photo, p.product_photo_signature
INTO t_image, image_sig
FROM pm.online_media p
WHERE p.product_id = 1910;
SELECT p.product_photo, p.product_photo_signature
INTO c_image, compare_sig
FROM pm.online_media p
WHERE p.product_id = 1940;
14 14 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ EVALUATESCORE() – ПРИМЕР (2)
Оценяване на разстоянието между два подписа на
изображения
-- сравняване на две изображения въз основа на цвета
score:=ORDSYS.ORDImageSignature.evaluateScore(
image_sig,
compare_sig,
'color=1.0, texture=0, shape=0, location=0');
DBMS_OUTPUT.PUT_LINE('Разстоянието е ' || score);
END;
15 15 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ ISSIMILAR() – ОБЩ ВИД
isSimilar(sig1 IN ORDImageSignature,
sig2 IN ORDImageSignature,
weights IN VARCHAR2,
threshold IN FLOAT)
RETURN INTEGER;
Този метод на типа ORDImageSignature сравнява два
подписа на изображения и пресмята разстоянието между тях
въз основа на:
зададени атрибути;
тегла на атрибути;
зададена прагова стойност.
16 16 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ ISSIMILAR() – ПАРАМЕТРИ
sig1
подпис на изображение;
sig2
подпис на изображение;
weights
низ, състоящ се от имена на атрибути и съответните им
стойности между 0.0 и 1.0;
сравняваните атрибути се асоциират с теглата,
определени от потребителя и оказват влияние върху
извършаване на сравнението;
атрибутите, които не са зададени, имат стойност 0.0 по
подразбиране.
17 17 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ ISSIMILAR() – ПАРАМЕТРИ
weights
Стрингът може да съдържа всички или някои от
атрибутите.
Стойността, асоциирана с даден атрибут, задава неговата
относителна важност при определяне на разстоянието
между подписите.
Един атрибут със стойност 0.0 се игнорира, а атрибут със
стойност 1.0 е от най-голямо значение.
Предоставените тегла се нормализират преди обработка,
така че тяхната сума да е 1.0, като се запазват
първоначалните им съотношения.
Поне един атрибут трябва да има стойност по-голяма от
0.0.
18 18 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ ISSIMILAR() – ПАРАМЕТРИ
weights
Атрибутите са следните:
color: стойност между 0.0 и 1.0, която определя
важността на характеристиката цвят;
texture: стойност между 0.0 и 1.0, която определя
важността на характеристиката текстура;
shape: стойност между 0.0 и 1.0, която определя
важността на характеристиката форма;
location: стойност между 0.0 и 1.0, която определя
важността на местоположението на областите в
изображението.
Теглото на местоположението не може да бъде
зададено самостоятелно, трябва да се използва
заедно с друг(и) атрибут(и).
19 19 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ ISSIMILAR() – ПАРАМЕТРИ
threshold
праговата стойност, с която претеглената сума от
разстоянията трябва да се сравни;
ако претеглената сума е по-малка или равна на праговата
стойност, изображенията се считат за подобни;
обхватът на този параметър е от 0.0 до 100.0.
20 20 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ ISSIMILAR() – ВЪРНАТА СТОЙНОСТ
Ако разстоянието е по-малко от праговата стойност, се
връща стойност 1;
В противен случай се връща стойност 0.
21 21 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ ISSIMILAR() – ИЗПОЛЗВАНЕ
Този метод може да бъде използван за сравняване на два
подписа, които не се съхраняват в базата от данни.
Изпълнява се за два подписа, не за индекси, дефинирани в
таблицата.
За да се изпълни методът isSimilar() успешно, е
необходимо обектите от тип ORDImage да бъдат:
инициализирани, добавени в таблицата и да имат
генерирани подписи или
да бъдат създадени чрез използване на временни LOBs и
да имат генерирани подписи.
22 22 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ ISSIMILAR() – ПРИМЕР
Сравняване на две изображения въз основа на цвета.
Изображенията се разглеждат като подобни, ако
разстоянието между тях е не повече от 10.
DECLARE image_sig1 ORDSYS.ORDImageSignature;
image_sig2 ORDSYS.ORDImageSignature;
value INTEGER;
BEGIN
SELECT product_photo_signature INTO image_sig1
FROM pm.online_media WHERE product_id = 1910;
SELECT product_photo_signature INTO image_sig2
FROM pm.online_media WHERE product_id = 1940;
23 23 Цветанка Георгиева Моделиране на информационни системи
МЕТОДЪТ ISSIMILAR() – ПРИМЕР (2)
Сравняване на две изображения въз основа на цвета.
Изображенията се разглеждат като подобни, ако
разстоянието между тях е не повече от 10.
-- сравняване на изображенията
value := ORDSYS.ORDImageSignature.isSimilar(
image_sig1,
image_sig2,
'color=1.0,texture=0,shape=0,location=0', 10);
IF value = 1 THEN
DBMS_OUTPUT.PUT_LINE('Изображенията са подобни.');
ELSIF value = 0 THEN
DBMS_OUTPUT.PUT_LINE('Изображенията не са подобни.');
END IF;
END;
24 24 Цветанка Георгиева Моделиране на информационни системи
ПРИМЕРНИ РЕЗУЛТАТИ
1) Нека са дадени изображенията:
Цвят: 1.0
Текстура: 0.0
Форма: 0.0
Местоположение: 0.0
Резултатът е: Разстоянието е 5.21648
25 25 Цветанка Георгиева Моделиране на информационни системи
ПРИМЕРНИ РЕЗУЛТАТИ
1) Нека са дадени изображенията:
Цвят: 1.0
Текстура: 0.0
Форма: 0.0
Местоположение: 1.0
Резултатът е: Разстоянието е 37.6082
26 26 Цветанка Георгиева Моделиране на информационни системи
ПРИМЕРНИ РЕЗУЛТАТИ
2) Нека са дадени изображенията:
Цвят: 1.0
Текстура: 0.0
Форма: 0.0
Местоположение: 0.0
Резултатът е: Разстоянието е 0.0126648
27 27 Цветанка Георгиева Моделиране на информационни системи
ПРИМЕРНИ РЕЗУЛТАТИ
2) Нека са дадени изображенията:
Цвят: 1.0
Текстура: 0.0
Форма: 0.0
Местоположение: 1.0
Резултатът е: Разстоянието е 33.3397
28 28 Цветанка Георгиева Моделиране на информационни системи
ПРИМЕРНИ РЕЗУЛТАТИ
2) Нека са дадени изображенията:
Цвят: 1.0
Текстура: 0.0
Форма: 1.0
Местоположение: 0.0
Резултатът е: Разстоянието е 0.109953
29 29 Цветанка Георгиева Моделиране на информационни системи
ПРИМЕРНИ РЕЗУЛТАТИ
3) Нека са дадени изображенията:
Цвят: 1.0
Текстура: 0.0
Форма: 0.0
Местоположение: 0.0
Резултатът е: Разстоянието е 0.183015
30 30 Цветанка Георгиева Моделиране на информационни системи
ПРИМЕРНИ РЕЗУЛТАТИ
3) Нека са дадени изображенията:
Цвят: 1.0
Текстура: 0.0
Форма: 0.0
Местоположение: 1.0
Резултатът е: Разстоянието е 0.0915077
31 31 Цветанка Георгиева Моделиране на информационни системи
ПРИМЕРНИ РЕЗУЛТАТИ
4) Нека са дадени изображенията:
Цвят: 0.0
Текстура: 1.0
Форма: 0.0
Местоположение: 0.0
Резултатът е: Разстоянието е 1.9516
32 32 Цветанка Георгиева Моделиране на информационни системи
ПРИМЕРНИ РЕЗУЛТАТИ
4) Нека са дадени изображенията:
Цвят: 1.0
Текстура: 1.0
Форма: 0.0
Местоположение: 0.0
Резултатът е: Разстоянието е 43.6258
33 33 Цветанка Георгиева Моделиране на информационни системи
ПРИМЕРНИ РЕЗУЛТАТИ
5) Нека са дадени изображенията:
Цвят: 0.0
Текстура: 0.0
Форма: 1.0
Местоположение: 0.0
Резултатът е: Разстоянието е 21.2991
34 34 Цветанка Георгиева Моделиране на информационни системи
ПРИМЕРНИ РЕЗУЛТАТИ
5) Нека са дадени изображенията:
Цвят: 0.0
Текстура: 0.0
Форма: 1.0
Местоположение: 1.0
Резултатът е: Разстоянието е 10.8659
35 35 Цветанка Георгиева Моделиране на информационни системи
ОПИСАНИЕ НА МЕТОДИТЕ IMGSIMILAR И IMGSCORE
Всички методи на ORDImageSignature и
ORDImageIndex не се препоръчват от версия Oracle
Multimedia 11g.
36 36 Цветанка Георгиева Моделиране на информационни системи