<<
>>

Rotatie

De rotatie op zich kan men ook op twee manieren uitvoeren: met of zonder homogene coordinaten. Steunend op onze vorige keuze in paragraaf 4.3.2 om niet met homogene coordinaten te werken, bekomen we de rotatiematrices Rx , Ry en Rz , gedefinieerd in de vergelijkingen 4.6,4.7 en 4.8.

Een rotatie (zie de functie ) gebeurt effectief in een aantal stappen: er wordt eerst een translatie To van m naar de oorsprong o uitgevoerd, dan gebeurt de rotatie rond respectievelijk de X-, Y- en Z-as, en tenslotte terug een translatie van o naar m. We geven dit in de formule 4.9 in symbolen weer.

Rx

Ry

Rz

1 0 0
0 cosp sinp
0 —sinp cosp

cosy 0 -sinY 0 1 0 sinY 0 cosy

cosd sind 0 —sind cosd 0 0 0 1

B\' = R(B + To) - To

(4.6)

(4.7)

(4.8)

(4.9)

Na een rotatie bekomen we meestal niet gehele 3D-coordinaten voor het oppervlaktebeeld en zul- len we de beeldpunten interpoleren om het resultaat voor te stellen als een 2D-beeld met hoogte- informatie. Dit is nodig om deze efficient te kunnen vergelijken met een ander oppervlaktebeeld, zoals verdere beschreven wordt in paragraaf 4.3.4. Om deze interpolatie uit te voeren hebben we twee interpolatiemethoden met elkaar vergeleken: een achterwaartse en een voorwaartse interpolatiemetho- de. We leggen beiden uit voor het resultaatbeeld B bekomen na een rotatie van een oppervlaktebeeld A rond de Z-as.

2De term globale fout verwijst naar het resultaat van de kostfunctie die in paragraaf 4.3.4 besproken wordt.

3De term bilineaire interpolatie wordt in paragraaf 4.3.3 besproken.

Bij voorwaartse interpolatie voeren we de transformatie van het oppervlaktebeeld A uit en bekomen we punten met niet gehele 3D-coordinaten. We interpoleren dan deze punten om de coordinaten met gehele x- en y-waarden — de roosterpunten van het resultaatbeeld — te bekomen. Wij illustreren deze methode met k-buren interpolatie. Bij achterwaartse interpolatie schatten we het resultaatbeeld B in van grootte en passen we de inverse transformatie toe op de roosterpunten (x- en y-coordinaat gekend) van het resultaatbeeld. We bekomen dan punten met niet gehele 3D-coordinaten in het oorspronkelijk oppervlaktebeeld A waarvan de z-waarde niet gekend is in het geval van een rotatie rond de Z-as. We interpoleren deze punten dan met de roosterpunten van A om de z-waarde te kennen. Deze z-waarde blijft na transformatie gelijk voor het resultaatbeeld, dus kennen we op die manier ook de uiteindelijke z-waarde voor de roosterpunten. Wij illustreren deze methode met bilineaire interpolatie.

Bilineaire interpolatie

Als achterwaartse interpolatiemethode hebben we dus gekozen voor bilineaire interpolatie [16] die gelmplementeerd is in de functie of in de matlabfunctie . We beschou- wen de roosterpunten bi,j van het resultaatbeeld B. We passen daarop de inverse transformatie toe en bekomen de punten Ьа in het rooster van het oorspronkelijke oppervlaktebeeld A. Voor de punten Ьа berekenen we de z-coordinaten via bilineaire interpolatie van de z-waarden van de naburige roosterpunten ai,j van A. De berekening gebeurt via de formule 4.10.

Ьа(х, y) = (1 - k)( 1 - 1)ai-i,j-i + (1 - k)lai-i,j + k( 1 - l)aitj-1 + klai,j,

met (4.10)

k = ха - xi-i en l = уа - yi-i

K-buren interpolatie

Als voorwaartse interpolatiemethode hebben we gekozen voor een vorm van k-buren interpolatie met een vast venster (zie de functie ). We zullen kijken of deze beter presteert dan de in vorige sectie beschreven bilineaire interpolatie. De kern van de k-buren interpolatie is dat men niet gehele 3D-coordinaten heeft en men deze wil interpoleren naar de roosterpunten, zodat we terug een 2D-voorstelling kunnen krijgen die we nodig hebben om de globale registratiefout telkens te kunnen bepalen.

We voeren de transformatie uit van de roosterpunten ai,j van A, het oorspronkelijke beeld, naar het rooster van B, het getransformeerde beeld.

De getransformeerde punten noemen we aB. We kennen de z-waarden van aB, met meestal niet gehele x- en y-coordinaten, maar we willen nu de z-waarden van de roosterpunten bi,j van B berekenen. Hiertoe bepalen we van elk punt aB de afstand tot de vier omliggende roosterpunten. Deze afstanden bepalen de gewichtsfactoren die we in rekening brengen om de z-waarde van een desbetreffend roosterpunt te berekenen. Als gewichtsfunctie gebruiken we een Gaussiaanse functie G met a gelijk aan 0,75 en centraal punt 0.

-d2

G(d) = e 2(075У2

d(as fbk,i) = \\J(ав,х - bk)2 + (ав,у - bi)2

Na het berekenen van alle gewichten berekenen we voor elk roosterpunt bk,l de z-waarde. Hiertoe nemen we het gewogen gemiddelde van de z-waarden van de omliggende punten aB, waarvan bk,l zich in het bijhorende venster bevindt. Het kan voorkomen dat er zich geen punten aB in de omgeving van een punt bk,i bevinden. In dit geval nemen we na het overlopen van alle bi%j het gemiddelde van de z-waarden van de 8 naburige roosterpunten van bk l.

bi,j =

8 Yk,l=-l bi+k,j+l aB (xi, yj ),

wi а в (xii,yji )+w2aB (xj2,yj2)+- W1+W2+.. ,

indien geen punten aB in zone van bi%j.

indien I punt aB in omgeving van bi%j.

indien meerdere punten aB in omgeving van bi%j.

met Wk = G(d(aB (xik ,Vjk), bi,j))

en i = l..m, j = l..n (indien de grootte van B gelijk is aan m x n).

(4.12a)

(4.12b)

(4.12c)

Bij het vergelijken[14] van beide interpolatiemethoden blijkt de bilineare interpolatie minder tijd nodig te hebben om te interpoleren, zoals te zien in Tabel 4.3.

Bilineaire interpolatie lijkt ons dan ook het best als interpolatiemethode voor onze toepassing, aangezien we — naast de hogere performantie — geen gaten in de data hebben en het geheugen efficienter gebruikt wordt. De gaten in de data zijn de roosterpunten die niet in het venster vallen van een getransformeerd punt aB. We hebben dit opgelost met een mediaanfilter, maar dit heeft ook een impact op de performantie. Dit is ook het geval mocht men willen opteren voor een groter venster.

We merken bij een beeld van 1400 x 1400 waarden op dat de tijdsduur een grote sprong maakt voor k-buren interpolatie. De reden daarvoor is dat de gewichten voor elke aB vooraf berekend worden voor de omliggende roosterpunten. Deze waarden worden ook opgeslagen. Bij een beperkt beschikbaar geheugen kan deze uitgebreide coordinatenlijst tot problemen leiden. Bij de geheugenallocatie brengt dit door het swappen een extra verlies aan performantie met zich mee.

Tabel 4.3: De performantie in tijdsduur (s) wordt voor terugwaartse en voorwaartse interpolatie weergegeven bij rotatie over een hoek over 45° rondom Z-as van een m x n beeld. De bekomen waarden zijn een gemiddelde over 10 testen.

beeldgrootte bilineaire

interpolatie

k-buren

interpolatie

98x101 0.07 0.18
326x334 0.32 0.97
978x1002 2.6 8.6
1400x1400 5.2 46*

4.3.4

<< | >>
Источник: Dieter Van Putte. Topografische technieken in de criminalistiek: 3D-REGISTRATIE VAN SLAGHOEDJES VOOR SPORENONDERZOEK door. 2005-2006. 2005

Скачать оригинал источника

Еще по теме Rotatie:

  1. Ruwe registratie Test 1
  2. Poolcoordinaten
  3. De v-curve
  4. Registratie-verfijning
  5. Verfijnde translatie
  6. Besluit
  7. Кузнецова Е.И.. Деньги. Учебное пособие. Юнити, М., 2009, 2009
  8. От автора
  9. Раздел І. Деньги
  10. Глава 1. Происхождение и сущность денег. Роль денег в воспроизводственном процессе
  11. 1.1. Характеристика денег как исторической и экономической категории и их функции
  12. 1.2. Виды и формы денег, особенности их трансформации
  13. 1.3. Роль денег и особенности ее проявления при разных моделях экономики
  14. 1.4. История и развитие фальшивомонетчества
  15. Контрольные вопросы
  16. Глава 2. Денежная масса и денежный оборот: содержание и структура
  17. 2.1. Денежная масса и ее элементы
  18. 2.2. Денежное обращение и денежный оборот
- Law - Авторское право - Аграрное право - Адвокатура - Административное право - Административный процесс - Антимонопольно-конкурентное право - Арбитражный (хозяйственный) процесс - Аудит - Банковская система - Банковское право - Бизнес - Бухгалтерский учет - Вещное право - Государственное право и управление - Гражданское право и процесс - Денежное обращение, финансы и кредит - Деньги - Дипломатическое и консульское право - Договорное право - Жилищное право - Земельное право - Избирательное право - Инвестиционное право - Информационное право - Исполнительное производство - История - История государства и права - История политических и правовых учений - Конкурсное право - Конституционное право - Корпоративное право - Криминалистика - Криминология - Маркетинг - Медицинское право - Международное право - Менеджмент - Муниципальное право - Налоговое право - Наследственное право - Нотариат - Обязательственное право - Оперативно-розыскная деятельность - Права человека - Право зарубежных стран - Право социального обеспечения - Правоведение - Правоохранительная деятельность - Предпринимательское право - Семейное право - Страховое право - Судопроизводство - Таможенное право - Теория государства и права - Трудовое право - Уголовно-исполнительное право - Уголовное право - Уголовный процесс - Философия - Финансовое право - Хозяйственное право - Хозяйственный процесс - Экологическое право - Экономика - Ювенальное право - Юридическая деятельность - Юридическая техника - Юридические лица -