优化中的分支定界方法及其在计算机视觉中的应用
优化中的分支定界方法及其在计算机视觉中的应用
优化中的分支定界方法及其在计算机视觉中的应用
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
优化中的分支定界方法及其在<br />
计算机视觉中的应用<br />
张强<br />
2009.10.20
主要内容<br />
1.回顾——凸函数与非凸函数<br />
2.优化中的分支定界方法<br />
3.分支定界方法在计算机视觉的应用
凸函数与非凸函数<br />
n 函数 f : R → R为凸函数(convex<br />
function),<br />
如果其定义域为凸集,并且 ∀xy , ∈dom f,<br />
0≤θ≤1, 有<br />
f ( θ x+ (1 −θ) y) ≤ θ f( x) + (1 −θ)<br />
f( y)<br />
B. Stephen and V. Lieven. Convex Optimization. Cambridge University Press,<br />
2004.
凸函数与非凸函数<br />
非凸函数:<br />
函数 f n : R → R为拟凸函数(quasiconvex‐<br />
function),如果其定义域及所有的子集<br />
为凸。<br />
S = { x∈dom f | f( x) ≤α, α ∈R}<br />
α
凸函数与非凸函数<br />
非凸函数:
优化中的分支定界方法<br />
分支定界(branch and bound)方法是解决非凸<br />
优化全局极值的一种启发式方法。该方法利用目<br />
标函数的上界或者下界对可行集进行删减,并最<br />
终在一定精度上达到全局极小值。这种方法相当<br />
于在整个可行集上逐点进行枚举,但由于在搜索<br />
过程中不断更改可行集,所以其运算速度大大高<br />
于一般搜索方法。<br />
B. Kolman and R.Beck. Elementary Linear Programming with<br />
Applications(international edition). Academic Press, 1980.<br />
F. Kahl , S. Agarwal, and et al. Practical Global Optimization for Multiview<br />
Geometry. IJCV, 79:271‐284,2008.
优化中的分支定界方法<br />
例:一个3变量的0,1优化问题<br />
右图中根节点(root node)为整<br />
个可行集,而其他节点为根节<br />
点的子节点表示子可行集,连<br />
接节点之的线称为分支(branch),<br />
从节点1到节点k的一系列分支组成一条通路<br />
(path),被未检查到的节点称为隐式枚举的<br />
(implicitly enumerated)节点,反之称为显示枚举的<br />
(explicitly enumerated)节点。隐式枚举节点的顶端<br />
节点称为终止节点(terminal node)。
优化中的分支定界方法<br />
一般的搜索方法在整个可行集中进行逐点枚举。<br />
相比之下,分支定界方法能够利用一些条件进行<br />
自顶向下的枚举,在这个过程中不符合条件的节<br />
点成为终止节点,从而使得隐式枚举节点不用显<br />
式的被检查,大大加快了计算速度。
优化中的分支定界方法<br />
例:一个连续函数优化问题的分支定界方法<br />
min Φ(<br />
x)<br />
st. l ≤ x ≤<br />
u
优化中的分支定界方法<br />
步骤1<br />
*<br />
给定初始最优估计值 Φ(<br />
x ) ,及终止条件 ε 。<br />
对 Φ(<br />
x)<br />
做凸松弛,计算出松弛函数在整个可行集<br />
上的最小值 lb( ) ,如果 ,则终止,<br />
输出最佳值 ,否则继续迭代;<br />
x′<br />
Q<br />
Φ Φ( x′ ) −Φlb( x′ ) ≤ε<br />
x = x′<br />
opt
优化中的分支定界方法<br />
步骤2<br />
将可行集分为k个子集 Qi,计算每个子集上松弛函<br />
数的最小值 lb( i ) 。定义 ,如<br />
果 ,则停止迭代,输出结<br />
果 ;<br />
x′<br />
*<br />
Φ x1 = arg min k Φ(<br />
x′<br />
)<br />
{ qi}<br />
i<br />
i=<br />
1<br />
*<br />
Φ( x1 ) −min 1≤i≤<br />
kΦlb( x′ i)<br />
≤ε<br />
*<br />
x<br />
1
优化中的分支定界方法<br />
步骤3<br />
j<br />
′<br />
*<br />
如果第 个子集, Φlb( xj) −Φ ( x ) > 0,则排除该子集,<br />
反之留下该子集。<br />
*<br />
*<br />
如果存在 Φ( x′ ) −Φ ( x ) < 0,<br />
则 j。重复步骤2。<br />
j<br />
x =<br />
x′
优化中的分支定界方法<br />
分支定界方法的收敛条件:<br />
1.可行集为闭的紧集,以确保具有全局极值;<br />
2.当可行集 Q 的边界 lu , , l−u 趋近于0时,<br />
* *<br />
Φ( x ) −Φlb(<br />
x ) 亦趋近于0。
分支定界方法在计算机视觉的应用<br />
问题描述<br />
重投影残差<br />
其中摄像机矩阵 P p , p , p ,图像坐标 uv , ,<br />
空间点齐次坐标 X<br />
。<br />
T T<br />
⎛ p1 X p2 X ⎞<br />
r = ⎜u− , v−<br />
T T ⎟<br />
⎝ p3 X p3 X ⎠<br />
T<br />
= [ ]<br />
( )<br />
1 2 3<br />
T
分支定界方法在计算机视觉的应用<br />
对于计算重建问题,其目标函数可以表示为<br />
其形式为<br />
i= 1 i<br />
N<br />
∑<br />
i=<br />
1<br />
N fi( x)<br />
min ∑<br />
subject to x∈D x g ( x)<br />
该优化不是一个凸优化问题。<br />
r<br />
i<br />
2<br />
2
分支定界方法在计算机视觉的应用<br />
将上述进一步代换得到<br />
min<br />
xts ,,<br />
i= 1 i<br />
st . f ( x) ≤ t, g ( x) ≥ s<br />
Q<br />
x∈D,( t, s) ∈Q0<br />
2 p<br />
[ l , u ] × L× [ l , u ] × [ L, U ] × L×<br />
[ L , U ]<br />
其可行集为凸集。 0为一个<br />
维空间<br />
N<br />
∑<br />
ti<br />
s<br />
i i i i<br />
1 1 p p 1 1<br />
p p<br />
。
分支定界方法在计算机视觉的应用<br />
定界(Bounding)<br />
寻找合适的松弛方法对非凸函数进行松弛。<br />
生成的松弛函数应具有如下特点:1.便于计算;<br />
2.可以得到较紧的下界;3.易于最小化。
分支定界方法在计算机视觉的应用<br />
分数函数 t/ s, t∈[ l, u], s∈[ L, U]<br />
的松弛函数为<br />
r′ 0, r r′<br />
u − t<br />
≥ − ≥0<br />
λ =<br />
u −<br />
l<br />
Tawarmalani,M., & Sahinidis, N. V. Semidefinite relaxations of fractional<br />
programs via novel convexification techniques. JGO,20,137‐158,2008.<br />
其中<br />
⎡t⎤ convenv<br />
⎢<br />
= min r<br />
s rr , ′ , s′<br />
⎣<br />
⎥<br />
⎦<br />
st . r, r′ , s′∈R, 2λ<br />
l<br />
r′ − s′<br />
2(1 − λ)<br />
≤ r′ + s′<br />
,<br />
u<br />
r −r′ − s+ s′<br />
λL≤ s′ ≤λU,<br />
≤ r − r′ + s−s′ ,<br />
(1 −λ) L≤ s−s′ ≤(1 −λ)<br />
U,
分支定界方法在计算机视觉的应用<br />
由于函数和的凸包大于等于函数凸包的和,可得<br />
min<br />
xrr , , ′ , ss , ′ , t<br />
N<br />
∑<br />
i = 1<br />
n p<br />
st . x∈ R , r, r′ , s, s′ , t∈ R ,<br />
2λ<br />
r<br />
2(1 − λ )<br />
i<br />
i i<br />
i i<br />
l<br />
r′ − s′<br />
≤ r′ + s′<br />
,<br />
u<br />
i i<br />
i i<br />
r − r′ − s + s′<br />
i i i i<br />
λ L ≤ s′ ≤ λU<br />
i i i i i<br />
,<br />
≤ r − r′ + s − s′<br />
,<br />
i i i i<br />
(1 − λ ) L ≤ s − s′ ≤ (1 − λ ) U ,<br />
i i i i i i<br />
r′ i ≥ 0, ri − r′<br />
i ≥ 0,<br />
li ≤ ti ≤ ui, Li ≤ si ≤U<br />
i,<br />
f ( x) ≤ t , g ( x) ≥ s for i = 1, L<br />
, p.<br />
i i i i
分支定界方法在计算机视觉的应用<br />
分支(Branching)<br />
1.在分支时,可以先从拥有最小下界的可行集开<br />
始,依次进行判断;<br />
2.由于一般情况下可行集都具有较多的维数,所<br />
以从哪一维进行分支就是一个重要的问题;<br />
3.如何对选定维分割。
分支定界方法在计算机视觉的应用<br />
本例在分母中寻找待分的那一维<br />
Benson,H.P. Using concave envelopes to globally solve the nonlinear sum of<br />
ratios problem. JGO, 22, 343‐364, 2002.