Transcript

Functors, Comonads, and Digital Image ProcessingJUSTIN LE, CHAPMAN UNIVERSITY SCHMID COLLEGE OF SCIENCE AND TECHNOLOGY

Letโ€™s talk about Filters

getglasses.com.au

The problem with filters

Categories

Objects Morphisms

Composition

โ„ค โ„

โ„™(people)

(integers)

(real numbers)

๐‘Ÿ๐‘œ๐‘ข๐‘›๐‘‘ :โ„โ†’โ„ค

๐‘Ž๐‘”๐‘’ :โ„™โ†’โ„

๐‘Ÿ๐‘œ๐‘ข๐‘›๐‘‘โˆ˜๐‘Ž๐‘”๐‘’ :โ„™โ†’โ„ค(๐‘Ÿ๐‘œ๐‘ข๐‘›๐‘‘โˆ˜๐‘Ž๐‘”๐‘’) (๐‘ )=๐‘Ÿ๐‘œ๐‘ข๐‘›๐‘‘ (๐‘Ž๐‘”๐‘’ (๐‘ ))

๐’ฎSet

Functorsโ€ขObjects to Objects

โ€ขMorphisms to Morphisms

Ex: Infinite List Functor

๐ฟ ( ๐‘‹ )=๐‘‹โ„•

X to infinite lists of things in X

92 4, 9, 8, 75, -3, ...โˆˆโ„ค โˆˆ๐ฟ(โ„ค)

๐‘“ : ๐‘‹โ†’๐‘Œ๐ฟ ( ๐‘“ ) :๐ฟ(๐‘‹ )โ†’๐ฟ(๐‘Œ )

Comonads1. Extract 2. Duplicate 3. Laws , etc.

๐œ– ([ 4 ,9 ,8 ,75 ,โˆ’3. .])=4 ๐›ฟ ([4 ,9 ,8 ,75 ,โˆ’3. .])=?? ?

Infinite List Functor

Cokleisli Arrows

๐‘“ :๐‘Š ( ๐‘‹ )โ†’๐‘Œ ๐‘” :๐‘Š (๐‘Œ )โ†’๐‘

๐‘”โˆ˜ ๐‘“ :๐‘Š (๐‘‹ )โ†’๐‘Comonads only!

Extension

๐‘“ :๐‘Š ( ๐‘‹ )โ†’๐‘Œ

๐‘“ โˆ— :๐‘Š (๐‘‹ )โ†’๐‘Š (๐‘Œ )

Functor 1: โ€œImage with Focusโ€

๐ผ ( ๐‘‹ )=โ„ค2ร— ๐‘‹โ„ค2

5 ((5,2 ) ,[โ‹ฑ โ‹ฎ โ‹ฎ โ‹ฎ โ‹ฐโ‹ฏ 7 3 19 โ‹ฏโ‹ฏ 22 4 120 โ‹ฏโ‹ฏ 8 79 1 โ‹ฏโ‹ฐ โ‹ฎ โ‹ฎ โ‹ฎ โ‹ฑ

])โˆˆโ„• โˆˆ ๐ผ (โ„•)

โˆˆ ๐ผ ( [ 0 ,๐‘ ]โŠ‚โ„•)

Position-Aware Transformation

[0 โˆ’1 ๐‘ค1 0 00 0 1 ]

Affine Transformation Matrix

๐ผ (โ„• )โ†’โ„•

๐‘“ ,๐‘”

๐›ผ ๐‘“ ,๐›ผ๐‘”

๐‘“ โˆ˜๐‘”

๐›ผ ๐‘“ โˆ˜๐›ผ๐‘”=๐›ผ ๐‘“ โˆ˜๐‘”

Compose Affine

Compose Cokleisli

EncodeEncode

Functor 2: โ€œLocal Neighborhoodโ€

G

5 [โ‹ฑ โ‹ฎ โ‹ฎ โ‹ฎ โ‹ฐโ‹ฏ 7 3 19 โ‹ฏโ‹ฏ 22 4 120 โ‹ฏโ‹ฏ 8 79 1 โ‹ฏโ‹ฐ โ‹ฎ โ‹ฎ โ‹ฎ โ‹ฑ

]โˆˆโ„• โˆˆ๐บ(โ„•)

Local/Relative Transformations

[ 0 โˆ’1 0โˆ’1 5 โˆ’10 โˆ’1 0 ]

Kernel/Convolution Matrix

[โ‹ฑ โ‹ฎ โ‹ฎ โ‹ฎ โ‹ฐโ‹ฏ 7 3 19 โ‹ฏโ‹ฏ 2 5 6 โ‹ฏโ‹ฏ 8 1 9 โ‹ฏโ‹ฐ โ‹ฎ โ‹ฎ โ‹ฎ โ‹ฑ

] 13โ„ค๐บ (โ„ค)

๐‘“ ,๐‘”

๐œ… ๐‘“ ,๐œ…๐‘”

๐‘“ โˆ—๐‘”

๐œ… ๐‘“ โˆ˜ ๐œ…๐‘”=๐œ… ๐‘“ โˆ—๐‘”

Convolve Kernels

Compose Cokleisli

EncodeEncode

Extensions of I are Decoded Filters

๐‘“ : ๐ผ ( ๐‘‹ )โ†’๐‘Œ ๐‘“ โˆ— : ๐ผ (๐‘‹ )โ†’ ๐ผ (๐‘Œ )

๐‘“ โˆ— : ๐‘‹โ„•2

โ†’๐‘Œโ„• 2

Classical image filter

focus stays same

Commutation Abounds

๐‘“ ,๐‘”

๐‘“ โˆ— ,๐‘”โˆ—

๐‘“ โˆ˜๐‘”

๐‘“ โˆ—โˆ˜๐‘”โˆ—= ( ๐‘“ โˆ˜๐‘”)โˆ—

Compose Cokleisli

Compose Normally

Extend Extend

Decoded Neighborhoods

๐‘“ :๐บ ( ๐‘‹ )โ†’๐‘Œ

ฮ“ ( ๐‘“ ) : ๐ผ ( ๐‘‹ )โ†’๐‘Œ

โ€œGlobalizationโ€,

ฮ“ ( ๐‘“ )โˆ— : ๐‘‹โ„•2

โ†’๐‘Œโ„•2

Classical image filter

๐‘“ ,๐‘”

ฮ“ ( ๐‘“ )โˆ—โˆ˜ ฮ“ (๐‘” )โˆ—

ฮ“ ( ๐‘“ โˆ˜๐‘” )โˆ—

(ฮ“ ( ๐‘“ )โˆ˜ฮ“ (g ) )โˆ—Globalize, extend, compose

Cokleisli compose, globalize, extend

Globalize, cokleisli compose, extend

Extension, Globalization are Cheapโ€ขWritten once: less bugs

โ€ขOptimize once, unlimited return on performance

โ€ขTrivially parallelizable

โ€ขGlobalization can handle boundary conditions, low-level

Generalization

๐ผ๐‘› (๐‘‹ )=โ„ค๐‘›ร—๐‘‹โ„ค๐‘›

๐บ๐‘› ( ๐‘‹ )=๐‘‹โ„ค๐‘›

n Application1 Audio, Time signals

2 Images

3 Video

1000+ Difference Equations

In Conclusionโ€ขBetter mathโ€ขBetter engineeringโ€ขBetter development processโ€ขBetter world


Top Related