!"#$%$&'())*+,,-./010234563754,
#$89:;<%'!"="$>'?>@'%$&$;"#='A%$:9
:>@<%B?;<%'!"="$>'C?&$%?;$%D
#0E*4)71'!.F.0G'HG5'#0E*4)71'!.F.0G'HG5'%020)./F'"GF).)4)7
!"#"$%&'"()*"
I0.G)'J01K'J.)(+'I0.G)'J01K'J.)(+'C3'>74EHGGL'>3'C3'>74EHGGL'>3'A1H/.HFL'%3'#HE*0FL';3'A1H/.HFL'%3'#HE*0FL';3'>./0F7-./.>./0F7-./.L'?3'I0.G)'J01K'J.)(+'
<M.20MI0.G)'J01K'J.)(+'I0.G)'J01K'J.)(+'
<M.20M<M.20ML'%3'I0.G)'J01K'J.)(+'I0.G)'J01K'J.)(+'C3'>74EHGGL'>3'C3'>74EHGGL'>3'I0.G)'J01K'J.)(+'
L'%3'L'%3'91H50FC3'>74EHGGL'>3'C3'>74EHGGL'>3'
91H50F91H50FL'I3'C3'>74EHGGL'>3'C3'>74EHGGL'>3'A1H/.HFL'%3'#HE*0FL';3'C3'>74EHGGL'>3'
L'I3'L'I3'<F/H1).G
"G)1054/).0G'"G)1054/).0G')0'"G)1054/).0G'"G)1054/).0G')0')0':G571JH)71':G571JH)71'
"EH6.G6'HG5'.)F'"EH6.G6'HG5'.)F'/(HMM7G67F
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
+"*, -./$)0*1$2
-30*)"%-30*)"% 4"33*,54"33*,5 6#&6#&07$07$ 8$".$9
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
We need robots that hover…
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Optical mapping
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
:)7$9;%$(&07$&8$4*,"(
<=!>&?@ A,0(69;)0*6,&06&;,9$(B"0$(&C*8*6,@ <($D3(6)$88*,5
<=!>&E@ F$"0;($&9$0$)0*6,&",9&9$8)(*30*6,@ F$"0;($&4"0)7*,5
<=!>&G&@ +60*6,&$80*4"0*6,&",9&6;0%*$(&($/$)0*6,
<=!>&H@ >636%65I&J80*4"0*6,&",9&'%6."%&=%*5,4$,0
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
9?%;'O@ A,0(69;)0*6,&06&;,9$(B"0$(&C*8*6,@ <($D3(6)$88*,5
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K8*,5&1*8*6,&;,9$(B"0$(L&;74M
!N*570&",9&B"0$(&"($&,60&5669&#(*$,982" =.86(30*6," :)"00$(*,5" O%;((*,5" P6,D;,*#6(4&%*570*,5
!Q$&,$$9&06&5$0&)%68$&06&07$&8$"#%66(&06&)6%%$)0&9"0"&R&9"0"&5"07$(*,5&*8&$S3$,8*1$
C.6()'=041/7'%7P4.175
>0GN4G.Q01E'"MM4E.GH).0G
C.6()'?))7G4H).0G =/H))71.G6
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K8*,5&1*8*6,&;,9$(B"0$(L&;74M
!N*570&",9&B"0$(&"($&,60&5669&#(*$,982" =.86(30*6," :)"00$(*,5" O%;((*,5" P6,D;,*#6(4&%*570*,5
!Q$&,$$9&06&5$0&)%68$&06&07$&8$"#%66(&06&)6%%$)0&9"0"&R&9"0"&5"07$(*,5&*8&$S3$,8*1$
C.6()'=041/7'%7P4.175
C.6()'?))7G4H).0G =/H))71.G6
>0G>0G>0GN4G.Q01E'"MM4E.GH).0G4G.Q01E'"MM4E.GH).0G4G.Q01E'"MM4E.GH).0G
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K,9$(B"0$( *4"5*,5
@ <66( 1*8*.*%*0I@ T*80",)$ 9$3$,9$,0
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
T*80",)$ 9$3$,9$,0
RRSH(HG0-SH(HG0- HG5'%0THM
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K,9$(B"0$( *4"5*,5
#HE71H
?2F01*).0G
=/H))71.G6 $2U7/)%H5.HG/7
!7.M.G6 C.6()
=.6GHM
BH)71'=41QH/7
GH)41HM'.MM4E.GH).0G
@ <66( 1*8*.*%*0I@ T*80U&9$3$,9$,0
!"#$#%&'$#&()''*''!"#$#%&'$#&()''*''+,-."$#&()+,-."$#&() *''/-)('0-1#-%."'*''2-.34.-))"0
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K,9$(B"0$( *4"5*,5
#HE71H
?2F01*).0G
=/H))71.G6 $2U7/)%H5.HG/7
!7.M.G6 C.6()
=.6GHM
BH)71'=41QH/7
!VSW&X&"VSW#VSW&Y Z&$ X&V?&[ "VSWW&%&'(')*+,-+(&' .)"*+(/0-//-1(2)! " #$%&'=*(%*570 )6,80",0
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K,9$(B"0$( *4"5*,5
!F%*)\$(*,5 )";80*) 3"00$(,
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K,9$(B"0$( *4"5*,5
!F%*)\$(*,5 )";80*) 3"00$(,8
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K,9$(B"0$(&*4"5*,5
!:)"00$(*,5&CHK7MHG5'=(.*J17/K V CHK7'
8./(.6HGL'WXYE'57*)(
Z())*+,,JJJ3G015./5.-713/0E[
C.6()'=041/7'%7P4.175
>0GN4G.Q01E'"MM4E.GH).0G
C.6()'?))7G4H).0G
=/H))71.G6
K,9$(B"0$(&*4"5*,5
!:)"00$(*,5&CHK7MHG5'CHK7MHG5'=(.*J17/K=(.*J17/K=(.*J17/K VVV CHK7'CHK7'CHK7MHG5'CHK7MHG5'=(.*J17/K=(.*J17/K
8./(.6HGL'WXYE'8./(.6HGL'WXYE'8./(.6HGL'WXYE'8./(.6HGL'WXYE'CHK7'CHK7'=(.*J17/K=(.*J17/K
8./(.6HGL'WXYE'8./(.6HGL'WXYE'57*)(57*)(57*)(57*)(57*)(57*)(57*)(57*)(
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
:)"00$(*,5&
Z())*+,,JJJ3G015./5.-713/0E[
C.6()'=041/7'C.6()'=041/7'%7P4.175%7P4.175
C.6()'C.6()'?))7G4H).0G?))7G4H).0G
=/H))71.G6
>0G>0G>0GN4G.Q01E'4G.Q01E'4G.Q01E'>0G>0G>0G 4G.Q01E'4G.Q01E'4G.Q01E'"MM4E.GH).0G"MM4E.GH).0G"MM4E.GH).0G"MM4E.GH).0G"MM4E.GH).0G"MM4E.GH).0G
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
!]6%6(8 )7",5$ B*07 9*80",)$
K,9$(B"0$( *4"5*,5
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K,9$(B"0$( *4"5*,52-)(5$6.32-)(5$6.3 .06#4"'7899:;<'/=>'?-@#"0'.06#4"'7899:;<'/=>'?-@#"0'A4.-0)#%
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
<76064$0(*)&<76064$0(*)&=(0*#")082&8;44"(I
\
=(0*#")082&8;44"(I:G571JH)71'"EH6.G6'<G-.10GE7G)
=4G']M./K71'Z/H4F)./F['
#HF)'=(H50JF=4F*7G575'9H1)./M7F
;4124M7G/7
?1).Q./.HM'C.6().G6
&H/KN=/H))71
!.F4HM'#47F'Q10E'QM0H).G6'C.Q7']01EF'ZEH1.G7'MH1-HM'7/0M06TL'7363L'
*MHGK)0G[
?1).Q./.HM'C.6().G6'
=(H5.G6'
#HF)'=(H50JF
^.6(';412.5.)T
!.F4HM'#47F'Q10E'>H)41HM']7H)417F'HG5'8HGEH57'=)14/)417F
C0FF'0Q'#0M01
=)10G6'!.F4HM'#47F'Q10E'&7G)(./'
]7H)417F
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
A4"5$&!$5*80("0*6,&K,9$(B"0$(
4
<_)17E7'#HF7F
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
A4"5$&!$5*80("0*6,&K,9$(B"0$(
4
<_)17E7'<_)17E7'#HF7F#HF7F
SIFT
]?"C=`
]H.MF]H.MF`
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
8
9%<N9%$#<==">A'?5H*)75')0':G571JH)71'"EH6.G6
SIFT
<P4HM.aH).0G'b'=4GQM./K71 %7E0-HM
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
8
9%<9%<9%<N9%$#<==">A'?5H*)75'9%$#<==">A'?5H*)75'9%$#<==">A'?5H*)75'9%$#<==">A'?5H*)75')0':G571JH)71')0':G571JH)71')0':G571JH)71'"EH6.G6"EH6.G6
SIFT
<P4HM.aH).0G'b'<P4HM.aH).0G'b'=4GQM./K71=4GQM./K71=4GQM./K71 %7E0-HM%7E0-HM
SIFT
#C?^<
!"#$%&'()*%+(,-.%(-*%!"#$%&'()*%+(,-.%(-*%/011*..20334%5(#1$*67
A4"5$&!$5*80("0*6,&K,9$(B"0$(
Most of the features that you detect (that show up) in the Most of the features that you detect (that show up) in the underwater environment are kind of non
Most of the features that you detect (that show up) in the underwater environment are kind of nonunderwater environment are kind of non-
Most of the features that you detect (that show up) in the Most of the features that you detect (that show up) in the Most of the features that you detect (that show up) in the underwater environment are kind of nonunderwater environment are kind of non--discriminant
Most of the features that you detect (that show up) in the discriminantdiscriminant.
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Removing sunlight flicker
Refracted sunlight creates irradiance (light) fluctuations
Refracted SunlightRefracted Sunlight•
Refracted SunlightRefracted SunlightCan disrupt image processing algorithms (matching and segmentation)
•#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Can disrupt image processing algorithms (matching and segmentation)Makes it harder to interpret benthic structures
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Our Approach – 2 key observations
! Observation 1
" The difference between an image and the temporal median has two components
Component 1 – Instant illumination field from sun light
Component 2 – Artifacts from registration errors
Original image Temporal Median
- =
Difference
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Our Approach – 2 key observations
! Observation 2
" The two components are (usually) easily separable in the frequency domain
Difference
Low Pass
Filter
High Pass
Filter
Illumination field has Illumination field has lower spatial frequencies
Registration artifacts have Registration artifacts have higher spatial frequencies
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Removing sunlight flicker
Input
Difference(Input (Input (Input -- Median)
Output
Temporal Median Illumination field(low pass difference)
Residue (Output (Output (Output -- Median)
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
" A7G71H)7F'5TGHE./'*H))71GF
sunlight flicker revisited
" ]($"0$9&.I&($#(")0$9&8;,%*570" T$5("9$8&*4"5$&^;"%*0I&",9&07$&*,#6(4"0*6,&)6,0$,0" A,1$(8$%I&3(636(0*6,"%&06&9$307&
8080 999: ;;;;: <"-*##" ==:=:> ?$,0." (@6(@6 ///:8080 9/"(##"
99:9/"(##"/"(##"/"(##":
;:;:; <"-*##"<"-*##";;;;<4@(',1
====:> ?$,0."?$,0."<"-*##"#*A#0-*.
?$,0."#*A#0-*.#*A#0-*.:
?$,0." (@6(@6?$,0."?$,0."B"0-@(3
//:(@6 /B"0-@(3B"0-@(3 "2/"(##"/"(##": <4@(',1<4@(',1
?"'C0#*-<4@(',1 #*A#0-*.
D,.,"@>#*A#0-*.#*A#0-*.:
EFFGB"0-@(3: B"0-@(3B"0-@(3
EFFGEFFGEFFGEFFGEFFG>B"0-@(3B"0-@(3 "2"2
H30I*-?"'C0#*-J1(6*',1
D,.,"@>?"'C0#*-J1(6*',1J1(6*',1 +0K3,.$*-.>
EFFGEFFG>EFFG>EFFGEFFGC()*.C()*.C()*. LMLMLMN
H30I*-LMLMNNEH30I*-NNEENENNEN OH30I*-H30I*-EEEEOOEOEEOE P
H30I*-H30I*-H30I*-H30I*-OOOOEOEEOE PPQM
H30I*-H30I*-QMQMQMQMRJ1(6*',1
MFQJ1(6*',1MFQMFQ>J1(6*',1J1(6*',1J1(6*',1MFQMFQ>MFQ>MFQ EFFG
+0K3,.$*-.>J1(6*',1J1(6*',1EFFGEFFG:
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Warp previous illumination field
to the current frame
Predict the current illumination field
Coarsely recover the image
Finding homographybetween the previously
recovered image and current
coarsely recovered image
!$461$&8;,#%*)\$( 3"00$(,&#(64&07$&*4"5$8
=88;430*6,82?U A%%;4*,"0*6,&#*$%9&*8&"&9I,"4*)&0$S0;($EU :46607&)"4$("&461$4$,0GU F%"0&V"33(6S*4"0$%IW&.60064&6#&07$&8$"
9.*7M.G7
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
TI,"4*)&0$S0;($&469$%*,5
O cd
e \ X
O3O3 "G*4)'.EH67
d3d3 #0H1F7MT'd3 #0H1F7MT'#0H1F7MT'17/0-7175'.EH67
c3c3 ].GHMMT'17/0-7175'c3 ].GHMMT'17/0-7175'].GHMMT'17/0-7175'.EH67
e3e3 $1.6.GHM'e3 $1.6.GHM'$1.6.GHM'.MM4E.GH).0G'Q.7M5
\3\3 9175./)75'\3 9175./)75'9175./)75'.MM4E.GH).0G'Q.7M5
X3X3 875.HG'.EH67
A. Shihavuddin, N. Gracias, R. Garcia. "Online Sunflicker Removal using Dynamic Texture Prediction". International Conference on Computer Vision Theory and Applications, pp. 161-167, Rome (Italy).
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
C.6()'7QQ7/)F .G':G571JH)71'"EH6.G6
! 9001'-.F.2.M.)T+ M.6()'.G)71H/).0GF'J.)('JH)71'E0M7/4M7F'HG5'.E*41.).7F'5.FF0M-75'HG5'F4F*7G575'.G'JH)71" ?2F01*).0G'7QQ7/)F" =/H))71.G6 7QQ7/)F
@ F6(B"(9&8)"00$(*,5@ O")\B"(9 8)"00$(*,5
" F%;6($8)$,)$8 6#&.*6%65*)"% 6./$)08" :B*44*,5 4")(68)63*)"% 3"(0*)%$8" N*570*,5 *,76465$,$*0*$8
@ :7"%%6B B"0$(2&8;, #%*)\$(*,5@ T$$3&B"0$(2&"(0*#*)*"%&%*570*,5L&1*5,$00*,5L&
%*4*0$9 %*57036B$(
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
;(7 H2F01*).0G 0Q'M.6()'*0J71 .F 7_*0G7G).HM NN CHE271)'CHJ'0Q';(7 H2F01*).0G?2F01*).0G3'?))7G4H).0G ]H/)01'57*7G57G/7 0G 5.F)HG/7+']'f'7_*Z'g'HZh['R'5[L'J(717 HZh['.F )(7 F*7/)1HM H2F012HG/73'
C.6()'7QQ7/)F .G':G571JH)71'"EH6.G6
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
C.6()'7QQ7/)F .G':G571JH)71'"EH6.G6
&HF./HMMTL')(7 JH)71 0GMT Q01 )(7)(7 2M4.F(2M4.F( -.F.2M7'-.F.2M7'1HG67 0Q'7M7/)10E76G7)./JH-7F .F )1HGF*H17G) Q01 17MH).-7 M0G671 5.F)HG/7L'24) )(.F 1HG67 (HF'0Q)7GF)10G6 F/H))71.G6 7QQ7/)FL')(7172T .) .F M0FF .G'F(H1*G7FF HG5'/0G)1HF)
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
?'G0GN57(Ha.G6 H**10H/( Q01 -.F4HM.aH).0G .G').6() 2M47'F*7/)1HM 1HG67
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
>H110J'=*7/)1HM "EH6.G6
L. Neumann, R. Garcia, J. Basa, R. Hegedus. "Acquisition and Visualization Techniques for Narrow Spectral
Color Imaging", Journal of the Optical Society of America A. Vol. 30, no. 6, pp. 1039–1052, 2013.
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
>H110J'=*7/)1HM "EH6.G6
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
C.6()'7QQ7/)F .G':G571JH)71'"EH6.G6
%HTM7.6(%HTM7.6( F/H))71.G6 17F4M)F .G'(HaT.EH67F HG5'8.7'F/H))71.G6 .G'2M411TL'E41KTL'QH575 H**7H1HG/7
@7GF.)T QM4/)4H).0G 0Q'JH)71 E0M7/4M7F -F3'HGT K.G5 0Q'*(TF./HM .G(0E067G7.)T )(H) .FMH1671 )(HG JH)71 E0M7/4M7 Z%'-F3'8[
! !"I%$*57 ",5;%"(&8)"00$(*,5 *,&3;($ B"0$(
! =33(U&Q"1$%$,507_8 36B$( Y&H&HH`
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
C.6()'7QQ7/)F .G':G571JH)71'"EH6.G6
;(717 H17'HMF0 GH)41HM'ZF7MQ .MM4E.GH).G6['HG5'7_/.)75QM4017F/7G/7
GH)41HM'ZQM4017F/7G/7 7QQ7/)FL'/(H1H/)71.a.G6 F0E7 2.0M06./HM H/).-.).7F
! F%;6($8)$,)$ *8 ,609*80;(.*,5L&%6BD%*570
! P*)$ ",9&;8$#;% #;0;($ B6(\L&.;0 B$ 96&,60 9$"% B*07 07*837$,64$," *,&07$ .EH677G(HG/7E7G) HM601.)(EF
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
C.6()'7QQ7/)F .G':G571JH)71'"EH6.G6
90MH1.aH).0GO3'=.E*M7'#10FFN*0MH1.aH).0G Z01)(060GHM M.6()'b'M7GFNQ.M)71[d3'"EH6.G6 90MH1.E7)1T'V *._7MJ.F7 c'Z01 e['5H)H'Q01 %L'A'HG5'&
! ](688D36%"(*a"0*6, 7"8&"&%*4*0$9 "33%*)"0*6, "($"Vb6"1 bU&:)7$)7,$( ",9P*( c"(3$%L&EddeW&",9 ,60&($"%%I $##*)*$,0
! A0 B6(\8 B*07 6,%I B*0776465$,$68 *%%;4*,"0*6,*,&87"%%6B B"0$( *,&76(*a6,0"%&9*($)0*6,
!+6($&5$,$("%&"33(6")7 *83688*.%$ B*07 .EH6.G6*0MH1.E7)1T ",9&B*0736%"(*a$9 %*570U&=&5*1$, 3"(06#&07$ 8)"00$($9 %*570&*8%*,$"(%I 36%"(*a$9U A0 )",&07*83"(0 6( 864$B7"0 46($&($461$9&$,8;(*,5 87"(3$(*4"5$8 B*07 )6%6(&)6(($)0*6,VNUP$;4",,D!Uf$5$9;8D!U'"()*"DEddgWU&&
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
90MH1.aH).0G /HE71H'
! 91.EH1T 02U7/).-7+'H/P4.1.G6 )(7 Q4MM'*0MH1.aH).0G.GQ01EH).0G *10'*._7M'.G'4G571JH)71'*(0)061H*(T
]M4_5H)H 90MH1.aH).0G'/HE71H+'c'##@'F7GF01F'J.)('5.QQ717G)MT'01.7G)75'M.G7H1'*0MH1.a71F
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
?'G0GN4G571JH)71 7_HE*M7 J.)(0-71N57*0MH1.aH).0G
! 91.EH1T 02U7/).-7+'H/P4.1.G6 )(7)(7 #;%%&#;%%&36%"(*a"0*6,36%"(*a"0*6, *,#6(4"0*6, *10'*._7M'*10'/0M01'Z"G)7GF.)TL C.G3*0MH1OL'C.G3*0MH1d[
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
?'G0GN4G571JH)71 7_HE*M7 J.)(0-71N57*0MH1.aH).0G
! 91.EH1T 02U7/).-7+'H/P4.1.G6 )(7)(7 #;%%&#;%%&36%"(*a"0*6,36%"(*a"0*6, *,#6(4"0*6, *10'*._7M'*10'/0M01'Z"G)7GF.)TL C.G3*0MH1OL'C.G3*0MH1d[
!"#$%$&'())*+,,-./010234563754,
#$89:;<%'!"="$>'?>@'%$&$;"#='A%$:9
:>@<%B?;<%'!"="$>'C?&$%?;$%D
:G571JH)71'57(Ha.G67_HE*M7F
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K,9$(B"0$(&9$7"a*,5
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K,9$(B"0$(&9$7"a*,5SomeSome RED RED deficitedeficite, deficite, yetyet ––– in 2010 test
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K,9$(B"0$(&9$7"a*,5
Enhanced imageOriginal image
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
K,9$(B"0$(&9$7"a*,5
Enhanced imageOriginal image
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
A4"5$ T$7"a*,5
F*(80&9$307D4"3&."8$9&"33(6")7$82@ T"(\D)7",,$% ."8$9 "33(6")7
" O"8$9&6,&07$&6.8$(1"0*6,&07"0&4680&%6)"%&3"0)7$8&*,&7"a$D#($$&6;0966(&*4"5$8&)6,0"*,&864$&3"(08&B7*)7&7"1$&1$(I&%6B&*,0$,8*0*$8&*,&864$&5H1K'*._7MF'Zif\jOklm['*,&"0&%$"80&6,$&)6%6(&)7",,$%L&86&07"0&07$8$&B*%%&)6,0"*,&0GMT'F/H))7175')6436,$,0&*,&"&7"aI&*4"5$&Vh,$"(&.%;$&",9&#"(&6(",5$i&[ ;,9$#*,$9&3(6.%$4W
@ J80*4"0*6,&;8*,5&"&80$($6D)"4$("&8$0;3" +*88*,5 9$3078 6, #$"0;($D36*,0 %$88 "($"8L" ",9&6, 3"(08 1*8*.%$&6,%I B*07 6,$ )"4$("" J95$ 3($8$(1*,5 *,0$(D ",9&$S0("36%"0*6,
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
O"8*)&*9$"!VSW&X&"VSW#VSW&Y Z&$ X&V?&[ "VSWW&
@ #VSW&7"8&G&$^;"0*6,8 V3L&4 ",9&5W@ 9$#*,$9 *,&ET&V6 ",9&7W@ G&$^;"0*6,8 3$(&3*S$%
@ "VSW&*8 "&8)"%"( V3*S$%&9$3$,9$,0W
A4"5$ T$7"a*,5
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
T"(\ ]7",,$% <(*6(&A4"5$ T$7"a*,5&4$0769
!VSW&X&"VSW#VSW&Y Z&$ X&V?&[ "VSWW&
:GKG0JGF+
@ !VSW&7"8&G&;,\,6B,8 V#6( 3L&4 ",9&5W@ 9$#*,$9 *,&ET&V6 ",9&7W
@ "VSW&*8 "&8)"%"( V3*S$%&9$3$,9$,0W@ <%;8&",607$( G&;,\,6B,8 #6( =&
@ *4"5$ 9$3$,9$,0
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
KoschmiederKoschmieder equation in the air and in water
A,&07$&;,9$(B"0$(&)"8$&".86(30*6,&V"%37"W&)",,60&.$&,$5%$)0$9L
:6&*0&.$)64$8&8%*570%I&9*##$($,02
=.86(30*6,&=.86(30*6,&)6$##*)*$,0&)6$##*)*$,0&+89:++89:+ ",9&8)"00$(*,5&",9&8)"00$(*,5&)6$##*)*$,0&)6$##*)*$,0&;'"+)
=($&"%86&B"1$%$,507&9$3$,9$,0`
( ) * + ) , ! ) - . , /& 0 !/)11( ) * + ) , 2345 - . , /& 0 23456
(/)1 * +/)1 , 23/78415 - . ,9
: - 9 & 0 23/78415
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
T"(\ ]7",,$% <(*6(&A4"5$ T$7"a*,5&4$0769
!VSW&X&"VSW#VSW&Y Z&$ X&V?&[ "VSWW&
$2F71-H).0G+@ 1( :+<'=>*'')1?",11* -0+@'/A)01/" 1>)":' (1(=/B7 9+"&:'/:+C' +")8'+/" 1(' &181*)&:+(('8 D:-&: :+/)C'*7 81D-("'(/-"7 +")/10' 9-6'8/E
@ #> #)>-(, /10' 9-6'8/ ":+" +*');8+&B
@ F-/?+887A)":' -("'(/-"7 1>)":' ,+*B &:+(('8 -/ +)*1?@:)+99*16-0+"-1( 1>)":' ":-&B('// 1>)":' :+<'
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
T"(\ ]7",,$% <(*6(&A4"5$ T$7"a*,5&4$0769
O"8*)&*9$"
( ) ( ) ( ) (1 ( )I x J x t x A t x= + !
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Dark channel prior (He et al.):
Most Most local patches in hazelocal patches in haze-local patches in haze-free outdoor images
contain contain some pixels which have very low intensities in
at least one color channel, so that for these pixels:
G+*B)&:+(('8)&+();'),'>-(',)+/H
I*10):'*')D')&+()@'")"*+(/0-//-1()0+9)"A)
@-C'()":+")D')B(1D)$
D:'*'( ) * + ) , ! ) - . , /& 0 !/)11 ! * 2345
(;<=>/?1 * @ABC"DE%F%GH
@ABI"J/K1
( C /?L
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
4-C'()":'),-/"+(&')0+9)J<K)1>)":')/&'('A)8'"L/)?/')":')M,+*B)&:+(('8L)"*-&BA);?")(1D)>1*)N<N=,-/"+(&')&8+//'/H)
O:-&:)0'+(/)":+")+//?0-(@)":')&1**'&")$)9+*+0'"'*A))":')81@JEK)
C+8?'/)C/E))<),-/"+(&')/:1?8,)>-")1("1)+)8-('A)":')/819')1>)D:-&:)-/);=/HG'=/HG'?'-HM47F'HG5'H//7*)')(H)'0G7L'J(7G'27F)'Q.)).G6'?'-HM47F'HG5'H//7*)')(H)'0G7L'J(7G'27F)'Q.)).G6'0//41F'0//41F'VV %?>=?#'M.K7'H**10H/(3
I*10):'*'H
(MNOC /P1 * @AB
5QR5R5S( C * .C/& 0 234T5U
VWX & 0(MNOC /PU.C
* 9CP
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Instead of depthInstead of depth-Instead of depth-based fitting, first let’s have the estimation of ‘Veiling light’ based fitting, first let’s have the estimation of ‘Veiling light’ in
the blue channel by the blue channel by TarelTarel-Tarel-HautiHautière method.
Then Then seek darkest points in red and green, and seek darkest points in red and green, and fit the blue veiling light map ((#
Then Then seek darkest points in red and green, and seek darkest points in red and green, and #### optical depth map) to this points
seek darkest points in red and green, and seek darkest points in red and green, and fit the blue veiling light map fit the blue veiling light map seek darkest points in red and green, and optical depth map) to this points optical depth map) to this points with keeping its gradient structure
fit the blue veiling light map fit the blue veiling light map with keeping its gradient structurewith keeping its gradient structure. In this way we can with keeping its gradient structurewith keeping its gradient structure. In this way we can . In this way we can
expectedly strip the haze completely.
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Instead of depthInstead of depth-Instead of depth-based fitting, first let’s have the estimation of ‘Veiling light’ in the blue based fitting, first let’s have the estimation of ‘Veiling light’ in the blue channel by
based fitting, first let’s have the estimation of ‘Veiling light’ in the blue based fitting, first let’s have the estimation of ‘Veiling light’ in the blue channel by channel by Tarel
based fitting, first let’s have the estimation of ‘Veiling light’ in the blue TarelTarel-
based fitting, first let’s have the estimation of ‘Veiling light’ in the blue based fitting, first let’s have the estimation of ‘Veiling light’ in the blue based fitting, first let’s have the estimation of ‘Veiling light’ in the blue TarelTarel-Hauti
based fitting, first let’s have the estimation of ‘Veiling light’ in the blue based fitting, first let’s have the estimation of ‘Veiling light’ in the blue HautiHautière method.
Then Then seek darkest points in red and green, and seek darkest points in red and green, and fit the blue veiling light map fit the blue veiling light map ((#Then Then seek darkest points in red and green, and seek darkest points in red and green, and seek darkest points in red and green, and fit the blue veiling light map fit the blue veiling light map fit the blue veiling light map (####optical depth map) to this points with keeping its gradient structure. In this way we can optical depth map) to this points with keeping its gradient structure. In this way we can optical depth map) to this points with keeping its gradient structure. In this way we can
expectedly strip the haze completely.
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Instead of depthInstead of depth-Instead of depth-based fitting, first let’s have the estimation of ‘Veiling light’ in the blue based fitting, first let’s have the estimation of ‘Veiling light’ in the blue channel by
based fitting, first let’s have the estimation of ‘Veiling light’ in the blue based fitting, first let’s have the estimation of ‘Veiling light’ in the blue channel by channel by Tarel
based fitting, first let’s have the estimation of ‘Veiling light’ in the blue TarelTarel-
based fitting, first let’s have the estimation of ‘Veiling light’ in the blue based fitting, first let’s have the estimation of ‘Veiling light’ in the blue based fitting, first let’s have the estimation of ‘Veiling light’ in the blue TarelTarel-Hauti
based fitting, first let’s have the estimation of ‘Veiling light’ in the blue based fitting, first let’s have the estimation of ‘Veiling light’ in the blue HautiHautière method
based fitting, first let’s have the estimation of ‘Veiling light’ in the blue ère methodère method.
Then Then seek darkest points in red and green, and fit the blue veiling light map seek darkest points in red and green, and fit the blue veiling light map ((## optical depth Then Then seek darkest points in red and green, and fit the blue veiling light map seek darkest points in red and green, and fit the blue veiling light map seek darkest points in red and green, and fit the blue veiling light map (#### optical depth optical depth map) to this points with keeping its gradient structure. In this way we can expectedly strip
optical depth optical depth map) to this points with keeping its gradient structure. In this way we can expectedly strip map) to this points with keeping its gradient structure. In this way we can expectedly strip the map) to this points with keeping its gradient structure. In this way we can expectedly strip
haze map) to this points with keeping its gradient structure. In this way we can expectedly strip map) to this points with keeping its gradient structure. In this way we can expectedly strip
haze haze completelymap) to this points with keeping its gradient structure. In this way we can expectedly strip map) to this points with keeping its gradient structure. In this way we can expectedly strip the the map) to this points with keeping its gradient structure. In this way we can expectedly strip
completelycompletely. BLUE CHANNEL CORRECTED SHAPE!
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Single image dehazing
Original image
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Single image dehazing
Corrected Corrected image
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Single image dehazing
Original image
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
Single image Single image dehazingdehazing –– possible artifacts (color, halo, etc.)
AllAll darkdark channelchannel methodmethod has has somesome problemproblem (((artifactsartifacts, , speedspeed)
AArtifacts, based on widely used dark channel method,
aand #0E*4)71'!.F.0G'HG5'%020)./F'A104*'#0E*4)71'!.F.0G'HG5'%020)./F'A104*'
nd starting#0E*4)71'!.F.0G'HG5'%020)./F'A104*'#0E*4)71'!.F.0G'HG5'%020)./F'A104*'
starting from#0E*4)71'!.F.0G'HG5'%020)./F'A104*'#0E*4)71'!.F.0G'HG5'%020)./F'A104*'
from noisy#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N
noisynoisy, :G571JH)71'!.F.0G'CH2:G571JH)71'!.F.0G'CH2N :G571JH)71'!.F.0G'CH2
, high:G571JH)71'!.F.0G'CH2:G571JH)71'!.F.0G'CH2
high ISO :G571JH)71'!.F.0G'CH2
ISO image
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
P6,&9$307D4"3 ."8$9 0$)7,*^;$8
! >7$ 8*43%$80 4$0769 VNUP$;4",, [ 'UO%",)6[ !U'"()*"L&Ed?eW&"33%*$8 "&4$9*;4D5("I&."8$9 )6%6(&0(",8$( *,&!;9$(4", )6%6(&83")$L&",9&"&%;4*,",)$ 80($0)7*,5U&<%$"8",0&($8;%08L&"&,6,D%*,$"(&630*4*a$9 h6(",5$D5%"88i&"33(6")7U
!>7$($ "($&864$ "33(6")7$8 ;8*,5 4;%0*8)"%$#$"0;($8 06&$80*4"0$&07$ %6)"%&%;4*,",)$D5("9*$,0 )7",5$8U&F"80L&(6.;80 V7"8&864$)6%6(&$80*4"0*6, 3(6.%$48W&07$ B$*570$9 *4"5$3I("4*9 ."8$9 4$0769 6#&]690(;0" =,);0* $0&"%ULEd?GWU
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
:64$ 6#&6;( (;,,*,5 ($8$"()7 *4"5$8
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
j35 "(0*#")08 k&864$ %;4*,",)$ 5("9*$,8Q$ ,$$9 ;,)643($88$9 *4"5$8
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
#0E*4)71'!.F.0G'HG5'%020)./F'A104*'N :G571JH)71'!.F.0G'CH2
!"#$%$&'())*+,,-./010234563754,
#$89:;<%'!"="$>'?>@'%$&$;"#='A%$:9
:>@<%B?;<%'!"="$>'C?&$%?;$%D
())*+,,-./010234563754,