发明名称 一种基于粒子群算法的三角网格规范化方法
摘要 本发明公开了一种基于粒子群算法的三角网格规范化方法,该方法在保持网格几何特征的同时,能有效改善网格模型中的三角形质量。本发明通过引入粒子中心位置P<sub>c</sub>、约束因子ξ以及自适应的惯性因子ω<sub>a</sub>对粒子群算法改进,不仅能有效避免算法运行时陷入局部最优,而且能加快算法的收敛速度、实时调整算法的搜索范围;以顶点的局部拟合曲面为粒子群的搜索域,解决了大多算法规范化后三角网格模型体积收缩的问题;通过判断顶点调整前后的法向夹角是否在阈值内,来确定该顶点是否需要调整,从而保证了规范化后网格模型的细节特征不丢失。
申请公布号 CN106157370A 申请公布日期 2016.11.23
申请号 CN201610426945.9 申请日期 2016.06.15
申请人 重庆大学 发明人 段黎明;王武礼;白洋;李中明;王茂林;邵辉
分类号 G06T17/30(2006.01)I 主分类号 G06T17/30(2006.01)I
代理机构 重庆大学专利中心 50201 代理人 王翔
主权项 一种基于粒子群算法的三角网格规范化方法,其特征在于:包括以下步骤:1)以顶点V<sub>i</sub>为原点,V<sub>i</sub>的法向量n<sub>i</sub>为z轴的正向,建立一个局部坐标系,新坐标系下顶点V<sub>i</sub>及其一阶邻域顶点集合N(V<sub>i</sub>)拟合的三次曲面定义为;f(x,y)=Ax<sup>3</sup>+By<sup>3</sup>+Cx<sup>2</sup>y+Dxy<sup>2</sup>+Ex<sup>2</sup>+Fy<sup>2</sup>+Gxy+Hx+Iy+J   (1)利用公式(1)对顶点V<sub>i</sub>及其N(V<sub>i</sub>)进行局部曲面拟合;公式中的A、B、C、D、E、F、G、H、I和J均表示系数;通过求解局部曲面方程进而得到拟合曲面方程f(x,y)的系数;(x,y,f(x,y))表示拟合曲面f(x,y)上任意一点的坐标;2)初始化粒子,将粒子的当前位置作为个体历史最优,按照公式(2)确定群体最优位置;<maths num="0001"><math><![CDATA[<mrow><msubsup><mi>P</mi><mi>g</mi><mi>t</mi></msubsup><mo>=</mo><mo>{</mo><msubsup><mi>P</mi><mi>i</mi><mi>t</mi></msubsup><mo>|</mo><mi>m</mi><mi>i</mi><mi>n</mi><mo>{</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>P</mi><mn>1</mn><mi>t</mi></msubsup><mo>)</mo></mrow><mo>,</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>P</mi><mn>2</mn><mi>t</mi></msubsup><mo>)</mo></mrow><mo>,</mo><mn>...</mn><mo>,</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>P</mi><mi>m</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>}</mo><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000011.GIF" wi="1383" he="111" /></maths>式中<img file="FDA0001017069630000012.GIF" wi="53" he="70" />为整个种群在第t次迭代后的群体最优解;f(*)为适应度函数,m为种群规模;P<sub>i</sub><sup>t</sup>为第i个粒子在第t次迭代时个体历史最优解,通过公式(3)得到;<maths num="0002"><math><![CDATA[<mrow><msubsup><mi>P</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mo>{</mo><msubsup><mi>X</mi><mi>i</mi><mi>n</mi></msubsup><mo>|</mo><mi>m</mi><mi>i</mi><mi>n</mi><mo>{</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>X</mi><mi>i</mi><mn>1</mn></msubsup><mo>)</mo></mrow><mo>,</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>X</mi><mi>i</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>,</mo><mn>...</mn><mo>,</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>X</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>}</mo><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000013.GIF" wi="1366" he="111" /></maths>粒子个体历史最优位置的选择方式通过公式(4)得到;<maths num="0003"><math><![CDATA[<mrow><msubsup><mi>P</mi><mi>i</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msubsup><mi>X</mi><mi>i</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>,</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>X</mi><mi>i</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>&le;</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>P</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msup><mi>P</mi><mi>t</mi></msup><mo>,</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>X</mi><mi>i</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>&gt;</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>P</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000014.GIF" wi="1326" he="165" /></maths>公式(3)和(4)中,<img file="FDA0001017069630000015.GIF" wi="220" he="71" />分别为第i个粒子在第t次迭代时的位置和第t+1次迭代时的位置;P<sub>i</sub><sup>t</sup>、P<sub>i</sub><sup>t+1</sup>分别为第i个粒子在第t和第t+1次迭代时个体历史最优解;并通过公式(5)计算粒子中心位置;<maths num="0004"><math><![CDATA[<mrow><msubsup><mi>P</mi><mi>c</mi><mi>t</mi></msubsup><mo>=</mo><mo>{</mo><msubsup><mi>X</mi><mi>i</mi><mi>t</mi></msubsup><mo>|</mo><mi>M</mi><mi>e</mi><mi>d</mi><mo>{</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>X</mi><mn>1</mn><mi>t</mi></msubsup><mo>)</mo></mrow><mo>,</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>X</mi><mn>2</mn><mi>t</mi></msubsup><mo>)</mo></mrow><mo>,</mo><mn>...</mn><mo>,</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>X</mi><mi>m</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>}</mo><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000016.GIF" wi="1229" he="102" /></maths>式中,<img file="FDA0001017069630000017.GIF" wi="53" he="65" />为第t次迭代时粒子群的中心位置,<img file="FDA0001017069630000018.GIF" wi="62" he="64" />为第i个粒子在第t次迭代时的位置,f(*)为适应度函数,Med(*)为中值滤波函数,m为种群规模;3)使顶点V<sub>i</sub>的新位置坐标满足公式(6)‑(10)的约束条件;<maths num="0005"><math><![CDATA[<mrow><mi>&Delta;</mi><mi>x</mi><mo>=</mo><mi>m</mi><mi>a</mi><mi>x</mi><mo>{</mo><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mo>|</mo><mo>-</mo><mo>|</mo><msubsup><mi>x</mi><mn>1</mn><msub><mi>V</mi><mi>i</mi></msub></msubsup><mo>|</mo><mo>,</mo><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mo>|</mo><mo>-</mo><mo>|</mo><msubsup><mi>x</mi><mn>2</mn><msub><mi>V</mi><mi>i</mi></msub></msubsup><mo>|</mo><mo>,</mo><mn>...</mn><mo>,</mo><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mo>|</mo><mo>-</mo><mo>|</mo><msubsup><mi>x</mi><msub><mi>V</mi><mrow><mi>s</mi><mi>u</mi><mi>m</mi></mrow></msub><msub><mi>V</mi><mi>i</mi></msub></msubsup><mo>|</mo><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000021.GIF" wi="1409" he="119" /></maths><maths num="0006"><math><![CDATA[<mrow><mi>&Delta;</mi><mi>y</mi><mo>=</mo><mi>m</mi><mi>a</mi><mi>x</mi><mo>{</mo><mo>|</mo><msub><mi>y</mi><mi>i</mi></msub><mo>|</mo><mo>-</mo><mo>|</mo><msubsup><mi>y</mi><mn>1</mn><msub><mi>V</mi><mi>i</mi></msub></msubsup><mo>|</mo><mo>,</mo><mo>|</mo><msub><mi>y</mi><mi>i</mi></msub><mo>|</mo><mo>-</mo><mo>|</mo><msubsup><mi>y</mi><mn>2</mn><msub><mi>V</mi><mi>i</mi></msub></msubsup><mo>|</mo><mo>,</mo><mn>...</mn><mo>,</mo><mo>|</mo><msub><mi>y</mi><mi>i</mi></msub><mo>|</mo><mo>-</mo><mo>|</mo><msubsup><mi>y</mi><msub><mi>V</mi><mrow><mi>s</mi><mi>u</mi><mi>m</mi></mrow></msub><msub><mi>V</mi><mi>i</mi></msub></msubsup><mo>|</mo><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000022.GIF" wi="1433" he="117" /></maths><maths num="0007"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>~</mo></mover><mi>i</mi></msub><mo>&Element;</mo><mo>{</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mi>&Delta;</mi><mi>x</mi><mo>,</mo><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><mi>&Delta;</mi><mi>x</mi><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000023.GIF" wi="1390" he="110" /></maths><maths num="0008"><math><![CDATA[<mrow><msub><mover><mi>y</mi><mo>~</mo></mover><mi>i</mi></msub><mo>&Element;</mo><mo>{</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mi>&Delta;</mi><mi>y</mi><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><mi>&Delta;</mi><mi>y</mi><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000024.GIF" wi="1373" he="103" /></maths><maths num="0009"><math><![CDATA[<mrow><msub><mover><mi>z</mi><mo>~</mo></mover><mi>i</mi></msub><mo>=</mo><mi>f</mi><mrow><mo>(</mo><msub><mover><mi>x</mi><mo>~</mo></mover><mi>i</mi></msub><mo>,</mo><msub><mover><mi>y</mi><mo>~</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>A</mi><msup><msub><mover><mi>x</mi><mo>~</mo></mover><mi>i</mi></msub><mn>3</mn></msup><mo>+</mo><mi>B</mi><msup><msub><mover><mi>y</mi><mo>~</mo></mover><mi>i</mi></msub><mn>3</mn></msup><mo>+</mo><mi>C</mi><msup><msub><mover><mi>x</mi><mo>~</mo></mover><mi>i</mi></msub><mn>3</mn></msup><msub><mover><mi>y</mi><mo>~</mo></mover><mi>i</mi></msub><mo>+</mo><mi>D</mi><msub><mover><mi>x</mi><mo>~</mo></mover><mi>i</mi></msub><msup><msub><mover><mi>y</mi><mo>~</mo></mover><mi>i</mi></msub><mn>2</mn></msup><mo>+</mo><mi>E</mi><msup><msub><mover><mi>x</mi><mo>~</mo></mover><mi>i</mi></msub><mn>2</mn></msup><mo>+</mo><mi>F</mi><msup><msub><mover><mi>y</mi><mo>~</mo></mover><mi>i</mi></msub><mn>2</mn></msup><mo>+</mo><mi>G</mi><msub><mover><mi>x</mi><mo>~</mo></mover><mi>i</mi></msub><msub><mover><mi>y</mi><mo>~</mo></mover><mi>i</mi></msub><mo>+</mo><mi>H</mi><msub><mover><mi>x</mi><mo>~</mo></mover><mi>i</mi></msub><mo>+</mo><mi>I</mi><msub><mover><mi>y</mi><mo>~</mo></mover><mi>i</mi></msub><mo>+</mo><mi>J</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000025.GIF" wi="1731" he="139" /></maths>公式(6)‑(10)中,<img file="FDA0001017069630000026.GIF" wi="210" he="126" />为第i个顶点V<sub>i</sub>的新位置坐标,<img file="FDA0001017069630000027.GIF" wi="174" he="86" />j=1,2,...,V<sub>sum</sub>分别为顶点V<sub>i</sub>一阶邻域的第j个顶点x轴和y轴的坐标值,Δx,Δy分别为顶点V<sub>i</sub>调整时x轴和y轴坐标值的变化范围,V<sub>sum</sub>为顶点V<sub>i</sub>一阶邻域顶点的个数;4)对每个粒子的速度和位置按照公式(11)和(12)进行迭代更新;<maths num="0010"><math><![CDATA[<mrow><msubsup><mi>V</mi><mi>i</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msub><mi>&omega;</mi><mi>a</mi></msub><msubsup><mi>V</mi><mi>i</mi><mi>t</mi></msubsup><mo>+</mo><msub><mi>c</mi><mn>1</mn></msub><msub><mi>r</mi><mn>1</mn></msub><mrow><mo>(</mo><msubsup><mi>P</mi><mi>i</mi><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>X</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><msub><mi>r</mi><mn>2</mn></msub><mrow><mo>(</mo><msubsup><mi>P</mi><mi>g</mi><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>X</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>3</mn></msub><msub><mi>r</mi><mn>3</mn></msub><mrow><mo>(</mo><msubsup><mi>P</mi><mi>c</mi><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>X</mi><mi>i</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000028.GIF" wi="1398" he="85" /></maths><maths num="0011"><math><![CDATA[<mrow><msubsup><mi>X</mi><mi>i</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>X</mi><mi>i</mi><mi>t</mi></msubsup><mo>+</mo><msubsup><mi>&xi;V</mi><mi>i</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000029.GIF" wi="1373" he="70" /></maths>粒子的速度约束条件为:|V<sub>i</sub><sup>t+1</sup>|≤V<sub>max</sub>         (13)式中,<img file="FDA00010170696300000210.GIF" wi="53" he="62" />为第t次迭代时粒子群的中心位置,c<sub>1</sub>、c<sub>2</sub>为学习因子,c<sub>3</sub>为中心学习因子;r<sub>1</sub>、r<sub>2</sub>和r<sub>3</sub>均服从(0,1)的随机分布;ω<sub>a</sub>为自适应调整的惯性因子;ξ为约束因子;m为种群规模,V<sub>max</sub>为粒子最大限制速度;ω<sub>a</sub>=ω<sub>min</sub>+(ω<sub>max</sub>‑ω<sub>min</sub>)(E(x)‑E(x)<sub>min</sub>)/(E(x)<sub>max</sub>‑E(x)<sub>min</sub>)    (14)<img file="FDA00010170696300000211.GIF" wi="1220" he="119" />式中,ω<sub>min</sub>、ω<sub>max</sub>分别为惯性因子的最小值和最大值;E(x)<sub>max</sub>、E(x)<sub>min</sub>分别为迭代过程中当前所有粒子适应度与目标之间误差的最大值和最小值;E(x)为当前粒子与目标之间的误差值;<img file="FDA00010170696300000212.GIF" wi="290" he="55" />且<img file="FDA00010170696300000213.GIF" wi="139" he="71" /><img file="FDA0001017069630000031.GIF" wi="37" he="47" />为约束因子计算过程中的中间符号;5)将局部网格模型中三角形质量定义为算法目标函数,按照公式(16)计算每个粒子的适应度值;<maths num="0012"><math><![CDATA[<mrow><mi>min</mi><mi>Q</mi><mrow><mo>(</mo><msup><mi>N</mi><msub><mi>V</mi><mi>i</mi></msub></msup><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>-</mo><msub><mi>Q</mi><mrow><mi>a</mi><mi>v</mi><mi>e</mi></mrow></msub><mrow><mo>(</mo><msup><mi>N</mi><msub><mi>V</mi><mi>i</mi></msub></msup><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>-</mo><mrow><mo>(</mo><msubsup><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>T</mi><mrow><mi>s</mi><mi>u</mi><mi>m</mi></mrow></msub></msubsup><mfrac><mrow><mn>4</mn><msqrt><mn>3</mn></msqrt><msub><mi>S</mi><mi>k</mi></msub></mrow><mrow><msubsup><mi>l</mi><mrow><mi>k</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>l</mi><mrow><mi>k</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>l</mi><mrow><mi>k</mi><mn>3</mn></mrow><mn>2</mn></msubsup></mrow></mfrac><mo>)</mo></mrow><mo>/</mo><msub><mi>T</mi><mrow><mi>s</mi><mi>u</mi><mi>m</mi></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000032.GIF" wi="1438" he="158" /></maths><maths num="0013"><math><![CDATA[<mrow><msub><mi>Q</mi><mrow><mi>a</mi><mi>v</mi><mi>e</mi></mrow></msub><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>T</mi><mrow><mi>s</mi><mi>u</mi><mi>m</mi></mrow></msub></msubsup><msub><mi>Q</mi><mi>k</mi></msub><mo>/</mo><msub><mi>T</mi><mrow><mi>s</mi><mi>u</mi><mi>m</mi></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>17</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000033.GIF" wi="1325" he="95" /></maths><maths num="0014"><math><![CDATA[<mrow><msub><mi>Q</mi><mi>k</mi></msub><mo>=</mo><mn>4</mn><msqrt><mn>3</mn></msqrt><msub><mi>S</mi><mi>k</mi></msub><mo>/</mo><mrow><mo>(</mo><msubsup><mi>l</mi><mrow><mi>k</mi><mn>1</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>l</mi><mrow><mi>k</mi><mn>2</mn></mrow><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>l</mi><mrow><mi>k</mi><mn>3</mn></mrow><mn>2</mn></msubsup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>18</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001017069630000034.GIF" wi="1334" he="87" /></maths>公式(16)‑(18)中,<img file="FDA0001017069630000035.GIF" wi="158" he="79" />为适应度函数,<img file="FDA0001017069630000036.GIF" wi="69" he="61" />为顶点V<sub>i</sub>的一阶邻域三角形集合;T<sub>sum</sub>为局部网格模型中三角形的个数,Q<sub>k</sub>为第k个三角形的质量;S<sub>k</sub>为第k个三角形面积;l<sub>k1</sub>、l<sub>k2</sub>、l<sub>k3</sub>为第k个三角形的边长;Q<sub>k</sub>描述了一个三角形的质量;然后分别按照公式(3)和(2)更新粒子的个体历史最优和群体历史最优,最后按照公式(5)重新计算粒子中心位置;6)若迭代结束或误差阈值满足条件,转到步骤7),否则跳转到步骤3);7)保存顶点的新位置坐标<img file="FDA0001017069630000037.GIF" wi="234" he="127" />计算顶点新位置与原始位置的法向量之间的夹角<img file="FDA0001017069630000038.GIF" wi="63" he="54" />并保存;8)若<img file="FDA0001017069630000039.GIF" wi="66" he="53" />在阈值范围内,更新顶点位置和顶点的法向量信息,否则保持原顶点位置不变;9)若已遍历网格模型中的全部顶点,网格规范化结束,否则跳转到步骤1)。
地址 400044 重庆市沙坪坝区沙正街174号