MERITVE V PROIZVODNJIlab.fs.uni-lj.si/lat/uploads/metrologija/strojni_vid...kristal germanija EM...

Preview:

Citation preview

Strojni vid pri tehnoloških

meritvah

• kakšne vrste slik poznamo

• pomen in nekaj primerov

• EM spekter

• aplikacije v posameznih delih

spektra

• o matriki slike

nastanek slike

nastanek slike

refleksija emisija transmisija

VPRAŠANJE: način nastanka slike; skiciraj zgled in navedi tipični zgled

kdaj se svetloba sploh siplje

Dr/2

Slika je fizikalna količina, ki je izmerjena

kot funkcija pozicije (koordinat):

•intenziteta sevanja; žarki-x, UV, IR,

vidna svetloba

•akustično valovanje

•višina površine: radar, sonar,

triangulacija, tipalno vzorčenje

2-D slika f(x,y)

•projekcija 3D scene na 2D senzor

3-D slika: f(x,y,z)

•CT: Computerized tomography

•MRI: Magnetic Resonance Imaging

•optično vzorčenje v konfokalni

mikroskopiji

•seizmične slike po obdelavi

kristal germanija

EM spekter

The standard charge is £10 for each day. Enforcement is primarily based on automatic number plate recognition (ANPR). Transport for London (TfL) is responsible for the charge which has been operated by IBM since 1 November 2009.

Congestion charge CCTV cameras on Vauxhall Bridge Road

Aplikacije v vidnem delu spektra

meritev prstnih

odtisov

kontrola bankovcev

avtomatska kontrola

tablic

Röntgen

MRI emisijska slika

emisijske slike

IR spekter

gama kamera PET

Pozitronska Emisijska Tomografija

http://en.wikipedia.org/wiki/Positron_emission_tomography

CFRP integrity evaluation methods

Inspection by means of IR thermography

CFRP integrity evaluation methods

Inspection by means of IR thermography

A: a surface profile across the pierced hole

B: thermographic image of the same workpiece

konfokalna mikroskopija

geofizikalno slikanje

Napoved za rast tržišča aplikacij

strojnega gledanja v Evropi 2001-

2011

Source: MarketsandMarkets

100 200 300 400 500 600 700 800 900 1000

100

200

300

400

500

600

700

800

900

37

1 2

34

50 100 150 200 250 300

50

100

150

200

primeri

primeri iz LAT

primeri iz LAT

ločevanje med grčami in sivinami, ki so posledica

obdelave je v tem primeru narejeno z nevronsko mrežo

pogoji osvetlitve

napake leče

ločljivost

osvetlitev bistveno

vpliva na

zajem oblike

predmeta

vir: E4242-QuickImage_mitutoyo.pdf

http://www.edmundoptics.com/technical-resources-center/imaging/telecentricity-and-telecentric-lenses-in-machine-vision/

običajne leče

telecentrične

leče

digitalizacija

dimenzija matrike slike

dimenzija matrike slike

matrika slike

nadaljevanje

1. iskanje vzorcev

2. histogram slike

3. binarizacija slike

4. robovi

5. razpoznavanje objektov

zajem oblike

predmeta

splošno-posebno & posebno splošno

diagonalna črta

ali

vertikalna črta

Ena od rešitev problematike je

oponašanje človekovega vida

Podobno kot na fotografiji: resolucija slike na

mrežnici ni enakomerna.

Le centralni del mrežnice zagotavlja dobro

resolucijo, zato svet okrog sebe vidimo s

premikanjem oči.

ISKANI VZOREC

Zgled za iskanje vzorca na objektu

OBJEKT

50 100 150 200 250 300 350 400 450 500

50

100

150

200

250

300

Tudi za štetje kot najpreprostejšo obliko

meritev naša čutila niso vedno ustrezna.

Kaj pa strojni vid?

Postopek iskanja sl=imread('slon.tif','tif');

ob=imread('noga.tif','tif');

rezult = normxcorr2(sl,ob);

figure(1); imagesc(rezult);

[yn,xn]=find(rez>0.4);

figure(2);imagesc(sl);hold on;

colormap gray

plot(xn-35,yn-21,'r.')

50 100 150 200 250 300 350 400 450 500 550

50

100

150

200

250

300

350

-0.2

0

0.2

0.4

0.6

0.8

50 100 150 200 250 300 350 400 450 500

50

100

150

200

250

300

335x507 42x71

376x577

a=round(256*rand(7,7))

b=a(3:5,3:5)

b=b+0*rand(size(b))

rezult = normxcorr2(b,a)

imagesc(rezult)

1 2 3 4 5 6 7 8 9

1

2

3

4

5

6

7

8

9 -0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

a=round(256*rand(7,7))

b=a(3:5,3:5)

b=b+21*rand(size(b))

rezult = normxcorr2(b,a)

imagesc(rezult)

1 2 3 4 5 6 7 8 9

1

2

3

4

5

6

7

8

9

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

8 10 12 14 16 18 20 22145

150

155

160

165

170

175

180

185

100 200 300

50

100

150

200

250

300

350

-0.4

-0.2

0

0.2

0.4

0.6

0.8

50 100 150 200 250 300

50

100

150

200

10 20 30

20

40

60

80

100

120

50 100 150 200 250 300

50

100

150

200

-0.4

-0.2

0

0.2

0.4

0.6

0.8

sledenje pozicije glave pri awj rezanju:

8 10 12 14 16 18 20 22145

150

155

160

165

170

175

180

185

INDEX OF IMAGE SEQUENCE

PO

SIT

ION

OF

CU

TT

ING

HE

AD

[pix

els

]

10 20 30

20

40

60

80

100

120

50 100 150 200 250 300

50

100

150

200

295

300

305

310

315

320

325

330

335

340

345[oK] 10 20 30 40 50 60

5

10

15

20

25

30

*

10 15 20 25 30 35 40 45 50

5

10

15

20

25

30

križna korelacija

-2

-1

0

1

2

x 10-3

-0.1

-0.05

0

0.05

0.1

-1

0

1

2

3

4

5

koef3

koef1koef2

-1.5

-1

-0.5

0

0.5

1

1.5

2

x 10-3

-0.08-0.06-0.04-0.0200.020.040.06

-5

0

5

koef3

koef2

koef1

5 10 15 20 25 30 35 40 45 50

5

10

15

20

25

30

5 10 15 20 25 30 35 40 45 50

5

10

15

20

25

30

37

1 2

34

50 100 150 200 250 300

50

100

150

200

-0.015

-0.01

-0.005

0

0.005

0.01 -0.4

-0.2

0

0.2

0.40

20

40

60

koef3

koef1koef2

prilag2 = polyfit(z,x,2);

logpred2 = polyval(prilag2,z);

prilag2 = polyfit(z,log(x),2);

logpred2 = exp(polyval(prilag2,z));

-2

-1

0

1

2

x 10-3

-0.1

-0.05

0

0.05

0.1

-1

0

1

2

3

4

5

koef3

koef1koef2

bolje tako

-0.3 -0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 0.10

10

20

30

40

50

60

koeficient - k

koeficie

nt

- n

prilag2 = polyfit(z,x,1);

logpred2 = polyval(prilag2,z);

0 0.5 1 1.5 2 2.5 3 3.5 4-0.4

-0.35

-0.3

-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

A

B

C

histogram slike

100 200 300 400 500 600

50

100

150

200

250

300

350

400

450

500

550

>> sl=imread('v1B.tif');

>> imagesc(sl)

0 50 100 150 200 250

0

1000

2000

3000

4000

5000

6000

7000

8000

>> imhist(sl(:,:,1))

128/256=0.5

binarizacija slike & robovi

>> sl2=im2bw(sl(:,:,1),0.5);

>> imagesc(sl2); colormap gray

100 200 300 400 500 600

50

100

150

200

250

300

350

400

450

500

550

>> slr=bwperim(sl2);

>> imagesc(slr)

100 200 300 400 500 600

50

100

150

200

250

300

350

400

450

500

550

razpoznavanje objektov

>> slob=bwlabel(sl2,4);

>> imagesc(slob);

>> slob(483:2:517, 539:2:570) ans =

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0

0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1

0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1

0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

100 200 300 400 500 600

50

100

150

200

250

300

350

400

450

500

550

histogram slike

>> sl=imread('zrna.jpg','jpg');

>> [slI, sznm]=rgb2ind(sl);

>> slg=ind2gray(slI,sznm); imagesc(slg);

>> slE=histeq(slg); imagesc(slg);

binarizacija Et=graythresh(slE)

sl2E=im2bw(slE,Et);

imagesc(sl2E)

segmentacija slL=bwlabel(sl2G,4);

imagesc(slL); colormap jet

%% branje slike in prikaz

sl=imread('kv_orig.jpg');

figure(1); imagesc(sl);

colormap gray

%% odebelitev crt

se = strel('square',7);

sl1 = imerode(sl,se);

figure(2); imagesc(sl1);

colormap gray

sl1_bw=im2bw(sl1,0.5);

50 100 150 200 250

50

100

150

200

250

50 100 150 200 250

50

100

150

200

250

% abstrakcija na crte - drugic

sl3= bwmorph(sl1_bw,'thin',inf);

figure(4); imagesc(sl3); colormap

gray

% abstrakcija na crte - prvic

sl2= bwmorph(sl1_bw,'remove',inf);

figure(3); imagesc(sl2); colormap

gray

50 100 150 200 250

50

100

150

200

250

50 100 150 200 250

50

100

150

200

250

50 100 150 200 250

50

100

150

200

250

%% stanjsanje crt

se = strel('square',7);

sl11 = imdilate(sl,se);

figure(5); imagesc(sl11);

colormap gray

sl11_bw=im2bw(sl11,0.5);

%% branje slike in prikaz

sl=imread('kv_orig.jpg');

figure(1); imagesc(sl);

colormap gray

50 100 150 200 250

50

100

150

200

250

50 100 150 200 250

50

100

150

200

250

% abstrakcija na crte – 2/2

sl33= bwmorph(sl11_bw,'thin',5);

figure(7); imagesc(sl33);

colormap gray

50 100 150 200 250

50

100

150

200

250

% abstrakcija na crte – 2/1

sl22= bwmorph(sl11_bw,'remove',5);

figure(6); imagesc(sl22); colormap

gray

50 100 150 200 250

50

100

150

200

250

50 100 150 200 250

50

100

150

200

250

POVRŠINA

TEKSTURA

ODBOJ

texture is defined as an ensemble of repetitive sub-patterns, which

follow a set of well defined placement rules. These sub-patterns

themselves are made up of more fundamental units called primitives. A

primitive is a connected set of pixels, characterised by a set of attributes.

P. Brodatz. Textures: A Photographic Album for

Artists and Designers. Dover, New York, 1966.

macro texture

micro texture

significant

directionality

LBM TURNING EDM AWJ

PROCESS

SCHEME

MICRO – METER

SCALE

MILIMMETER

SCALE

ROUGHNESS

PROFILE 0 0.5 1 1.5 2 2.5 3 3.5 4

164

166

168

170

172

174

176

178

0 500 1000 1500 2000 2500 3000 3500-8

-6

-4

-2

0

2

4

6

8

10

0 500 1000 1500 2000 2500 3000 3500-40

-30

-20

-10

0

10

20

30

0 500 1000 1500 2000 2500 3000 3500-20

-15

-10

-5

0

5

10

15

20

va

B

C

c

(LBM)

E=h. n

m

(EDM)

m

U

t

+

e -

(AWJM)

m

computer controlled light emitting

diodes, illuminating the measured

surface with angle f selective from

12.8o to 77.4o in regular steps

EXPERIMENTAL SETUP

specimen

stepper

motor f = 38.6o

f = 64.3o

image histogram

Face turned tool steel, illuminated

by the LED light (a, b) and

corresponding grey level

histograms (c, d). Illumination with

an angle of incidence f: 25.7o (a)

and 64.3o (b).

Electrodischarge machined tool

steel, illuminated by the LED light

(a, b) and corresponding grey

level histograms (c, d).

Illumination with an angle of

incidence f: 25.7o (a) and 64.3o

(b).

100 200 300 400 500 600

50

100

150

200

250

300

350

50 100 150 200 250 300 350

50

100

150

200

250

300

350

100 200 300 400 500 600

50

100

150

200

250

300

350

50 100 150 200 250 300 350

50

100

150

200

250

300

350

100 200 300 400 500 600 700

100

200

300

400

500

600

700

100 200 300 400 500 600 700

100

200

300

400

500

600

700

obravnava v frekvenčnem prostoru

100 200 300 400 500 600

100

200

300

400

500

600

700

800

900

1000250 300 350 400 450

300

350

400

450

500

550

600

650

700

DSC02436

obravnava v frekvenčnem prostoru

100 200 300 400 500 600 700

100

200

300

400

500

600

700

250 300 350 400 450 500

250

300

350

400

450

obravnava v

frekvenčnem

prostoru

osnovna načina sipanja svetlobe na površinah

zrcalni odboj difuzni odboj

Michael Oren and Shree K. Nayar Generalization of the Lambertian model and Implications for Machine Vision

dAdaλ2

upoštevati je potrebno

hrapavost površine. Vsak

element je že morda

izotropni sevalec,

vendar se zadeva zaplete

kadar je v zornem polju

več elementov.

Taksonomija metod za

zajem 3D oblik

• pasivne metode

• aktivne metode:

• I.) zajem z dotikom

objekta (CCM)

• II.) brezkontaktne

optične - metode

(trigonometrija)

Triangulacija

Rasterski in vektorski

režim

selektiven izbor površine

Problemi pri triangulacijskem

postopku

• kalibracija in natančnost

merilne opreme,

• geometrijska dostopnost,

• okluzija oziroma

prekrivanje,

• večje število pogledov

(seštevanje napak),

• laserska pegavost ,

• difuzija svetlobe na

površini (potrebna uporaba

spreja)

• šum in pomakljivi podatki

(motnje iz okolice)

METODA 1

• oddelek LABOD

• dotikalna

metoda (CCM)

• referenčni

model

• deklarirana

točnost

znotraj 0.005

mm

• željena

točnost: +/-

0.5 mm

UGOTOVITVE

• trajanje

skeniranja 5ur

• 800 000 točk

• neobčutljiv na

motnje iz

okolice

• omejen volumen

zajema – metoda

ni primerna za

oklepe

• oddelek LAT

• Hajfajst x-

y osi

• nastavek z-

os

• uporaba

rdečega

filtra

METODA 2

• 40 ur za zajem

• 61 trakov

• površina iz 20

000 slik

• ZScanner 700

• podjetje IB-ProCad

• teža 1 kg

• cena 16 000 €

• stereokamera

• natančnost do 0,05

mm

• 20 minut dela

• srednje nastavitve

-

28 000 točk

METODA 3

• CCM – triangulacija

• odstopanje > 0,5 mm

• neomejen volumen

zajema

• enostavno rokovanje

in uporaba paketa

• DAVID laserscanner

• preprosta izvedba

• hitro do prvih

rezultatov

• šum površine

• hobi (3D animacije)

METODA 4

Strojni vid v industriji

Pogled na merilna mesta naprave za avtomatsko optično kontrolo

izdelkov, 6 merilnih mest, 6 kamer, pnevmatski transport, cikel

stroja manjši od 1.2 sek. (vključno z vsemi mehanskimi gibi).

Radiometric Definitions

direction viewingφ,θv ii

dA

φ,θdΦφ,θE ii

ii

direction sourcelight φ,θs ii

rr

iirrriirrr

dωθ cosdA

φ,θ;φ,θdΦφ,θ;φ,θL

ii

iirrriirrr

φ,θdE

φ,θ;φ,θdLφ,θ;φ,θf

Irradiance

Radiance

BDRF

Flowchart

Photographs

Geometric model

Forward

Rendering

Algorithm

Lighting

BRDF

Rendering

Flowchart

Photographs

Geometric model

Forward

Rendering

Algorithm BRDF

Novel lighting

Rendering

Reflectance modeling (diff

+specular texture)

Input Synthesized

Sato, Wheeler, Ikeuchi 97

a= 4 m=4

50 100 150

20

40

60

80

100

120 20

40

60

80

100

120

140

160

100 200 300 400 500 600

100

200

300

400

Dsc02439

200 400 600

100

200

300

400

500

600

700

800

900

1000

a= 4 m=4

50 100 150

50

100

150

200

250

20

40

60

80

100

120

140

160

0 50 100 150 2000

2000

4000

6000

8000

10000

50 100 150 200 250

20

25

30

35

Dsc02439

0 50 100 150 2000

500

1000

1500

2000

2500

3000

3500

4000

20 40 60 80 100 120 140 160 180 200

15

20

25

30

35

200 400 600

100

200

300

400

500

600

700

800

900

1000

a= 5 m=9

20 40 60 80 100 120 140

20

40

60

80

100

120

140

160

180

200

20

40

60

80

100

120

140

160

Measuring BRDFs

• A full BRDF is 4-dimensional

• Simpler measurements

(0D/1D/2D/3D) often useful

• Start with simplest, and get

more complex

Measuring Reflectance

0º/45º

Diffuse Measurement

45º/45º

Specular Measurement

Integrating Spheres

• Sphere with diffuse material

on inside

• Geometry ensures even

illumination

• More accurate measure of

diffuse reflectance

Gloss Measurements

• Standardized for applications

such as paint manufacturing

• Example: “contrast gloss” is

essentially ratio of specular

to diffuse

• “Sheen” is specular

measurement at 85°

Gloss Measuements

• “Haze” and “distinctness of

image” are measurements of

width of specular peak

BRDF Measurements

• Next step up in complexity:

measure BRDF in plane of

incidence (1- or 2-D)

Gonioreflectometers

Three degrees of freedom spread among

light source, detector, and/or sample

Gonioreflectometers

Three degrees of freedom spread among light source, detector, and/or sample

Image-Based BRDF

Measurement

• Reduce acquisition time by

obtaining larger (e.g. 2-D)

slices of BRDF at once

• Idea: Camera can acquire 2D

image

• Requires mapping of angles of

light to camera pixels

Marschner’s Image-Based BRDF

Measurement • For uniform BRDF, capture 2-D

slice corresponding to variations

in normals

Marschner’s Image-Based

BRDF Measurement

Any object with known geometry

vir: Advanced Machining Processes of Metallic Materials, STR.180

PRIMER UPORABE STROJNEGA VIDA ZA

SPREMLJANJE OBRABE ORODJA

slika: Postopek skeniranja objekta, ki temelji na principu optične triangulacije

Recommended