<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>  Hello World :D</title>
    <link>https://code731.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Tue, 7 Jul 2026 18:50:43 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>해드위그</managingEditor>
    <image>
      <title>  Hello World :D</title>
      <url>https://tistory1.daumcdn.net/tistory/4413035/attach/a5df6f59dbd240478b01d743263d9bb2</url>
      <link>https://code731.tistory.com</link>
    </image>
    <item>
      <title>Image Segmentation 모델 정리(FCN, DeepLab, U-Net)</title>
      <link>https://code731.tistory.com/102</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Intro&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;image segmentation이란 물체의 경계를 윤곽선으로 표시하여 해당 물체가 있는 위치를 개별 찾아냄&lt;/li&gt;
&lt;li&gt;or O&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;bject&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; etection으로부터 이미지 속 여러 영역에 개별 레이블을 지정하는 테스크&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;b&gt;Sem antic Segmentation :&lt;/b&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #fff5b1;&quot;&gt;입력된 이미지의 모든 단일 픽셀에 해당 콘텐츠를 설명하는 클래스 레이블을 할당하는 것&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #fff5b1;&quot;&gt; &lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;Image classification 모델의 수정을 통해 구현! ➡ FCN에서 시작됨 ➡ DeepLab, FastFCN 등&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #fff5b1;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;FCN : Fully Convolutional Networks&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;386&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sGsDw/btsMhfCjoHu/iNray91zfTcwvnAeF2qk1K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sGsDw/btsMhfCjoHu/iNray91zfTcwvnAeF2qk1K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sGsDw/btsMhfCjoHu/iNray91zfTcwvnAeF2qk1K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsGsDw%2FbtsMhfCjoHu%2FiNray91zfTcwvnAeF2qk1K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;386&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;386&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기존 classification 모델들은 출력층이 fully-connected layer -&amp;gt; 이미지 위치 정보 사라짐 &amp;amp; 입력 이미지 크기고정&lt;/li&gt;
&lt;li&gt;segmentation에서는 원본 이미지의 각 픽셀에 대해 class&amp;nbsp; 구분 &amp;amp;&amp;nbsp; instance 및 배경 분할 테스크 수행 -&amp;gt; 이미지의 위치 정보 매우 중요&amp;nbsp;&lt;/li&gt;
&lt;li&gt;모든 FC-layer를 Conv-layer 대체 하자! :&amp;nbsp; &lt;span style=&quot;background-color: #fff5b1; color: #212529; text-align: left;&quot;&gt;Fully connected layer를 1x1 convolution 층으로 바꿈&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;but, conv만을 이용한 FCN의 출력은 너무 coarse함. (디테일하지 못함. &amp;lt;-&amp;gt; dense) -&amp;gt; dense map으로 전환 필요&lt;/li&gt;
&lt;li&gt;end-to-end 학습 : 처음부터 끝까지, 하나의 모델이 학습함.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;DeepLab&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;343&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BKHVD/btsMfhu45UF/QKBNPk3SFyCZTikv95ult0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BKHVD/btsMfhu45UF/QKBNPk3SFyCZTikv95ult0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BKHVD/btsMfhu45UF/QKBNPk3SFyCZTikv95ult0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBKHVD%2FbtsMfhu45UF%2FQKBNPk3SFyCZTikv95ult0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;343&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;343&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Atrous Convolution&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기존 conv 와 다르게 필터 내부에 빈 공간을 둔 채로 작동&lt;/li&gt;
&lt;li&gt;빈 공간을 얼마나 둘지 경정하는 파라미터 rate가 1일 때는 기존 conv와 동일하고, rate가 커질 수록 빈공간이 늘어남.&lt;/li&gt;
&lt;li&gt;기존 conv와 동일한 양의 파라미터와 계산량을 유지하면서 한 픽셀이 볼 수 있는 영역 = field of view를 크게 할 수 있게됨.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보통 높은 성능을 위해서는, cnn의 마지막에 존재하는 한 픽셀이 입력값에서 어느 크기의 영역을 커버할 수 있는 지를 결정하는 receptive field의 크기가 중요하게 작용함.&lt;/li&gt;
&lt;li&gt;Atrous conv를 활용하면, 파라미터 수를 늘리지 않으면서, receptive field를 크게 키울 수 있음!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;490&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BvtdZ/btsMfOF1cQu/nIht1Nl7Jj7Pw1Kh6I3D7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BvtdZ/btsMfOF1cQu/nIht1Nl7Jj7Pw1Kh6I3D7k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BvtdZ/btsMfOF1cQu/nIht1Nl7Jj7Pw1Kh6I3D7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBvtdZ%2FbtsMfOF1cQu%2FnIht1Nl7Jj7Pw1Kh6I3D7k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;490&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;490&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;VGG16을 사용함&lt;/li&gt;
&lt;li&gt;pooling을 이용할 경우 해상도 낮아지고, 불변성 때문에 공간정보의 손실 -&amp;gt; localization의 정확도 떨어짐.&lt;/li&gt;
&lt;li&gt;atrous conv를 썼을 때 결과의 feature map이 더 크기 때문에 원본이미지로 복원(업샘플링) 할 때도 수월 -&amp;gt; segmentation의 성능을 높일 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;U-NET&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;473&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dSpJCb/btsMffcYkjz/EXKMKouSXAz5NFnZIJkjsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dSpJCb/btsMffcYkjz/EXKMKouSXAz5NFnZIJkjsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dSpJCb/btsMffcYkjz/EXKMKouSXAz5NFnZIJkjsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdSpJCb%2FbtsMffcYkjz%2FEXKMKouSXAz5NFnZIJkjsk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;473&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;473&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;의학 이미지 segmentation을 위해 개발된 U 형태의 모델&lt;/li&gt;
&lt;li&gt;빠른 속도 : 이미지를 인식하는 단위(patch)에 대한 overlap 비율이 적음 / 기존의 sliding window 방식은 이전 patch에서 검증이 끝난 부분을 다음 patch에서 다시 검증하여 연산을 낭비 -&amp;gt; U-NET에서는 중복 검증 X&lt;/li&gt;
&lt;li&gt;Context와 Localization 관계 극복 : 클래스 분류를 위한 인접 문맥 파악(context)와 객체의 위치 판단(Localization)을 동시에 수행해야 함. -&amp;gt; patch의 크기가 커지면 더 넓은 이미지 한번에 인식 가능으로 context에 효과적 VS 많은 max-pooling으로 localization 성능 저하 (trade-off 관계) -&amp;gt; U-NET은 다층의 laye의 output을 동시에 검증해 극복&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Architecture&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;466&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bowDfo/btsMffRxiXK/GVOPsIFcR04qbXAnO8nJr0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bowDfo/btsMffRxiXK/GVOPsIFcR04qbXAnO8nJr0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bowDfo/btsMffRxiXK/GVOPsIFcR04qbXAnO8nJr0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbowDfo%2FbtsMffRxiXK%2FGVOPsIFcR04qbXAnO8nJr0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;466&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Contracting Path&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;encoder 역할 수행 하는 부분, Conv Net으로 구성&lt;/li&gt;
&lt;li&gt;input-&amp;gt;feature map으로 변형해 이미지의 context 파악&lt;/li&gt;
&lt;li&gt;점진적으로 Spatial dimension을 줄여가며 고차원의 semantic 정보를 convolution filter가 추출해낼 수 있게 됨.&lt;/li&gt;
&lt;li&gt;Contracting Path의 앞단에 이미 잘 학습된 모델을 Backbone으로 사용해 학습 효율과 성능을 높일 수 있으며, 주로 ResNet 등의 모델을 사용함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Expanding Path&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Decoder의 역할 수행, Upsampling+Conv Net으로 구성&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;Convolution 연산을 거치기 전, Contracting Path에서 줄어든 사이즈를 다시 복원(Upsampling)&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt; &lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: left;&quot;&gt;Contracting을 통해 얻은 Feature Map을 Upsampling하고, 각 Expanding 단계에 대응되는 Contracting 단계에서의 Feature Map과 결합해서(Skip-Connection Concatenate) 더 정확한 Localization을 수행&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;encoder에서 spatial dimension 축소로 인해 손실된 spatial 정보를 점진적으로 복원하여 정교한 boundary segmentation을 완성&lt;/li&gt;
&lt;li&gt;Multi-Scale Object Segmentation을 위해 DownSampling과 UpSampling을 순서대로 반복하는 구조&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 회색 선이 중요함!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; spatial 정보를 복원하는 과정에서 feature map 중 동일한 크기를 지닌 feature map을 가져와 prior로 활용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 더 정확한 boundary segmentation이 가능해짐&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AI/Segmentation</category>
      <author>해드위그</author>
      <guid isPermaLink="true">https://code731.tistory.com/102</guid>
      <comments>https://code731.tistory.com/102#entry102comment</comments>
      <pubDate>Wed, 12 Feb 2025 16:38:57 +0900</pubDate>
    </item>
    <item>
      <title>Detection 모델 정리(RCNN, Fast RCNN, Faster RCNN, SSD, YOLO)</title>
      <link>https://code731.tistory.com/101</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Intro&lt;/span&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;객체 탐지 Object Detection은 영상 속의 어떠한 객체 Label가 어디에 (x,y) 어떤 크기로 (w,h) 존재하는지를 찾는 Task이다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Base가 될 기본적인 모델에 대해 정리 및 요약, 비교이다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;562&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/s6wMt/btsMeTONMJU/enYLvqzWhYp4UIGXvVyUn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/s6wMt/btsMeTONMJU/enYLvqzWhYp4UIGXvVyUn0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/s6wMt/btsMeTONMJU/enYLvqzWhYp4UIGXvVyUn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fs6wMt%2FbtsMeTONMJU%2FenYLvqzWhYp4UIGXvVyUn0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;562&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;562&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;R-CNN&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;284&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Q24H2/btsMfPxW6OC/KnoLYr9MHRPbp2KXamvfx1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Q24H2/btsMfPxW6OC/KnoLYr9MHRPbp2KXamvfx1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Q24H2/btsMfPxW6OC/KnoLYr9MHRPbp2KXamvfx1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ24H2%2FbtsMfPxW6OC%2FKnoLYr9MHRPbp2KXamvfx1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1108&quot; height=&quot;284&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;284&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt; R-CNN은 region proposals와 CNN이 결합된 Regions with CNN의 약자&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt; R-CNN은 이전까지 최고의 성능을 나타낸 기법의 mAP보다 30% 높은 53.3%를 달성&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt; 2012년 image classification challenge에서 AlexNet이 큰 성공 &amp;rarr; object detection에서도 CNN을 활용한 연구가 진행 &amp;rarr; 그 결과물이 R-CNN(object detection 분야에 적용하기 위해&amp;nbsp;region proposals와 CNN을 결합) &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;두 가지의 중요한 아이디어 결합&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;(1) region proposals로 object 위치를 알아내고, 이를 CNN에 입력하여 class를 분류&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;- 물체가 있을 법한 영역을 제안해주는 단계&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;selective search 기법을 사용해서 이미지에서 object의 위치를 추출한다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;selective search는 다음과 같은 프로세스로 이루어짐.&lt;/span&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li style=&quot;list-style-type: none;&quot;&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;이미지의 초기 세그먼트를 정하여, 수많은 region 영역을 생성&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;greedy 알고리즘을 이용하여 각 region을 기준으로 주변의 유사한 영역을 결합&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;결합되어 커진 region을 최종 region proposal로 제안&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;이미지에 selective search를 적용하면 2000개의 region proposal이 생성되는데, 이들을 CNN의 입력 사이즈(227x227)로 warp(resize) 하여 CNN에 입력한다. 논문에서는 warp 과정에서 object 주변 16 픽셀도 포함하여 성능을 높였다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&lt;b&gt;(2) Larger data set으로 학습된 pre-trained CNN을 fine-tunning&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Method&lt;/span&gt;&lt;/h4&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;1. 입력 이미지에 Selective Search 알고리즘을 적용하여 bounding box(region proposal) 2000개를 추출한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;2. 추출된 bounding box를 warp(resize)하여 CNN에 입력한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;3. fine tunning 되어 있는 pre-trained CNN을 사용하여 bounding box의 4096차원의 특징 벡터를 추출한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;4. 추출된 특징 벡터를 SVM을 이용하여 class를 분류한다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;5. bounding box regression을 적용하여 bounding box의 위치를 조정한다.&lt;/span&gt;&lt;/blockquote&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;문제점&lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;R-CNN은 비효율성을 지니고 있다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;하나의 이미지에 2000개의 region이 존재할 때, R-CNN은 각각의 region마다 이미지를 cropping 한 뒤 CNN 연산을 수행하여 2000번의 CNN 연산을 진행하게 된다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&amp;rarr; 연산량이 많아지고 detection 속도가 느리다는 단점&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;이 단점이 개선된 Fast R-CNN, Faster R-CNN이 등장&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Fast R-CNN&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1265&quot; data-origin-height=&quot;366&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cc1kSw/btsMg4gp9TS/B8Nj4v7cQr1aCVPm4NzWG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cc1kSw/btsMg4gp9TS/B8Nj4v7cQr1aCVPm4NzWG0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cc1kSw/btsMg4gp9TS/B8Nj4v7cQr1aCVPm4NzWG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcc1kSw%2FbtsMg4gp9TS%2FB8Nj4v7cQr1aCVPm4NzWG0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1265&quot; height=&quot;366&quot; data-origin-width=&quot;1265&quot; data-origin-height=&quot;366&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;R-CNN의 단점인 매우 느린 속도를 개선한 논문&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;차이점은 CNN을 병렬로 수행하느냐, 순차적으로 수행하느냐 라고 할 수 있음.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt; Fast R-CNN에서는 해당 영역(초록색 박스)의 Feature를 원본 이미지에서 추출(Crop)하는 것이 아니라 Feature Map단에서 추출 -&amp;gt; 입력 이미지마다 단 한번의 CNN만을 수행하면 됨.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;543&quot; data-origin-height=&quot;457&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bISWtV/btsMgkj3bSH/kGxHN5KmyqNVjdUYzeJfik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bISWtV/btsMgkj3bSH/kGxHN5KmyqNVjdUYzeJfik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bISWtV/btsMgkj3bSH/kGxHN5KmyqNVjdUYzeJfik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbISWtV%2FbtsMgkj3bSH%2FkGxHN5KmyqNVjdUYzeJfik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;543&quot; height=&quot;457&quot; data-origin-width=&quot;543&quot; data-origin-height=&quot;457&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;RoI(Region of Interest) Pooling&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;: feature map에서 region proposals에 해당하는&amp;nbsp;**관심 영역(Region of Interest)**을 지정한 크기의 grid로 나눈 후 max pooling을 수행하는 방법&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;- 각 channel별로 독립적으로 수행&lt;br /&gt;- 고정된 크기의 feature map을 출력하는 것이 가능&lt;br /&gt;&lt;br /&gt;1. 먼저 원본 이미지를 CNN 모델에 통과시켜 feature map을 얻음&lt;br /&gt;&amp;nbsp; 800x800 크기의 이미지를 VGG 모델에 입력하여 8x8 크기의 feature map을 얻음.&lt;br /&gt;&amp;nbsp;이 때 sub-sampling ratio = 1/100이라고 할 수 있음 (여기서 말하는 subsampling은 pooling을 거치는 과정을 의미) 2. 그리고 동시에 원본 이미지에 대하여 Selective search 알고리즘을 적용하여 region proposals를 얻음.&lt;br /&gt;&amp;nbsp; 원본 이미지에 Selective search 알고리즘을 적용하여 500x700 크기의 region proposal을 얻음&lt;br /&gt;3. 이제 feature map에서 각 region proposals에 해당하는 영역을 추출: 이 과정은 RoI Projection을 통해 가능.&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; Selective search를 통해 얻은 region proposals는 sub-sampling 과정을 거치지 않은 반면, 원본 이미지의 feature map은 sub-sampling 과정을 여러 번 거쳐 크기가 작아졌음.&lt;br /&gt;&amp;nbsp; 작아진feature map에서 region proposals이 encode(표현)하고 있는 부분을 찾기 위해 작아진 feature map에 맞게 region proposals를 투영해주는 과정이 필요.&lt;br /&gt;&amp;nbsp; 이는 region proposal의 크기와 중심 좌표를 sub sampling ratio에 맞게 변경시켜줌으로써 가능.&lt;br /&gt;&amp;nbsp; &amp;nbsp;-&amp;gt; Region proposal의 중심점 좌표, width, height와 sub-sampling ratio를 활용하여 feature map으로 투영시켜줍니다.&lt;br /&gt;&amp;nbsp; &amp;nbsp;-&amp;gt; feature map에서 region proposal에 해당하는 5x7 영역을 추출&lt;br /&gt;4. 추출한 RoI feature map 5x7 크기의 영역을 지정한 sub-window 2x2 크기에 맞게 grid를 나눠줌&lt;br /&gt;5. grid의 각 셀에 대하여 max pooling을 수행하여 2x2 크기의 feature map을 얻음 &lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;=&amp;gt; &lt;/span&gt;하지만 Fast R-CNN에서 Region Proposal을 CNN Network가 아닌 Selective search 외부 알고리즘으로 수행하여 병목현상 발생&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Faster R-CNN&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1240&quot; data-origin-height=&quot;440&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RXelI/btsMfMVAwhk/i5yZp90Aw5kkalZsl7cZ51/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RXelI/btsMfMVAwhk/i5yZp90Aw5kkalZsl7cZ51/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RXelI/btsMfMVAwhk/i5yZp90Aw5kkalZsl7cZ51/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRXelI%2FbtsMfMVAwhk%2Fi5yZp90Aw5kkalZsl7cZ51%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1240&quot; height=&quot;440&quot; data-origin-width=&quot;1240&quot; data-origin-height=&quot;440&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Fast R-CNN은 영역을 제안하기위해 Selective Search라는 알고리즘을 사용하는데, 이는 GPU 내에서 연산을 수행하는 것이 아닌 CPU에서 작동하기 때문에 병목이 발생하게 됨.&lt;/li&gt;
&lt;li&gt;영역을 제안(Region Proposal)하는 것도 CNN 내부에서 수행을 하여(=GPU를 이용가능) 네트워크를 빠르게 만들자는 아이디어에서 출발&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Method&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 입력 이미지를 CNN에 통과시켜 Feature Map을 얻는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 그리고 해당 Feature Map을 Region Proposal Network의 입력으로 사용하여 초록색 Box 영역을 뽑아내게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 그렇게 뽑아낸 영역을 기존 Feature Map에서 추출하여 해당 영역을 RoI Pooling을 수행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. FC Layer를 통해 Classification과 Regression을 수행하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. Fast R-CNN과 다른점은 영역을 제안할 때, RPN이라는 CNN 기반의 네트워크를 사용하는 것&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;=&amp;gt; GPU에서 동작할 수 있어 빠름 / 전체 네트워크내에 포함되어 End-to-End 구조&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;RPN : Region Proposal Network&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;391&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NfCmB/btsMe1FYFb4/oJAg8b6wb71IRqqaPnTrvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NfCmB/btsMe1FYFb4/oJAg8b6wb71IRqqaPnTrvK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NfCmB/btsMe1FYFb4/oJAg8b6wb71IRqqaPnTrvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNfCmB%2FbtsMe1FYFb4%2FoJAg8b6wb71IRqqaPnTrvK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;651&quot; height=&quot;391&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;391&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;faster r-cnn의 핵심이라고도 할 수 있음.&lt;/li&gt;
&lt;li&gt;RPN의 입력은 input image로부터 CNN을 통과한 Feature Map이다.&lt;/li&gt;
&lt;li&gt;위 그림처럼 7x7 크기의 Feature Map이 있을 때, 3x3크기의 커널 크기로 sliding window방식으로 모든 격자 셀 마다 서로 다른 크기의 k개 Anchor box를 정의해준다.&lt;/li&gt;
&lt;li&gt;Anchor box와 GT box의 차이를 regression으로 예측하므로 다양한 predict box가 나오게 된다.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Encoder로부터 (Channel, 7, 7)의 Feature Map을 3x3 Conv에 Padding을 1로 주어 (256, 7, 7) 크기로 만든다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;물체가 존재하는지 하지 않는지를 예측하는 Classification을 수행하기 위해 1x1 Conv로 2(배경/전경) * 9(anchors) = 18 채널로 만들고, BBox의 좌표를 예측하는 Regression을 수행하기 위해 1x1 Conv로 4(x,y,x,h) * 9(anchors) = 36채널을 만들게 된다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;이를통해, 각 Grid(7x7) 별로 9개 Anchor의 Class와 좌표값 예측을 수행하게 된다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;=&amp;gt; 겹치거나 작은 사물에 대한 인식률 높음 / 단점은 느림, 애초에 실시간 테스크를 생각하고 만든 네트워크는 아님.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;SSD&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1568&quot; data-origin-height=&quot;651&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rBR7d/btsMeTA9EOU/cyMKKJDdQ8xtWEjqh1t2GK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rBR7d/btsMeTA9EOU/cyMKKJDdQ8xtWEjqh1t2GK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rBR7d/btsMeTA9EOU/cyMKKJDdQ8xtWEjqh1t2GK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrBR7d%2FbtsMeTA9EOU%2FcyMKKJDdQ8xtWEjqh1t2GK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1568&quot; height=&quot;651&quot; data-origin-width=&quot;1568&quot; data-origin-height=&quot;651&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;RCNN 계열의 2-stage detector는 region proposals와 같은 다양한 view를 모델에 제공&lt;/li&gt;
&lt;li&gt;&amp;rarr; 높은 정확도 but, region proposals를 추출하고 이를 처리하는 과정에서 많은 시간 소요 &amp;rarr; detection 속도가 느리다.&lt;/li&gt;
&lt;li&gt;SSD는 다양한 view를 활용하면서 통합된 network 구조를 가진 &lt;b&gt;1-stage detector&lt;/b&gt; &amp;rarr; 높은 정확도와 빠른 속도&lt;/li&gt;
&lt;li&gt;크게 2가지 구성: &lt;b&gt;Multi Scale Feature Layer &amp;amp; &lt;b&gt;Default (Anchor) Box&lt;/b&gt; &lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt; Multi Scale Feature Layer &lt;/span&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;image scale 수행시 window사이즈는 고정해두고 수행 -&amp;gt; multi object를 효과적으로 detect하기 어렵고 detect에 문제가 많게 됨.&lt;/li&gt;
&lt;li&gt;원본 이미지가 아니라 다른 크기의 feature map을 이용한다면, 정보를 유지할 수 있지 않을까? - 아이디어!&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;예를 들어 32x32 같은 큰 feature map은 8x8에 비해 비교적 작은 object들을 잘 detect할 수 있게 된다.&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Default Box&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #333333; text-align: start;&quot;&gt; Region proposal로만 default box를 사용하지 말고 그냥 object detection에 바로 활용하자는 아이디어&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;586&quot; data-origin-height=&quot;229&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/on71h/btsMflcW4fp/kqMY3ta67f6uKLHxMu6bW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/on71h/btsMflcW4fp/kqMY3ta67f6uKLHxMu6bW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/on71h/btsMflcW4fp/kqMY3ta67f6uKLHxMu6bW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fon71h%2FbtsMflcW4fp%2FkqMY3ta67f6uKLHxMu6bW0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;586&quot; height=&quot;229&quot; data-origin-width=&quot;586&quot; data-origin-height=&quot;229&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;구체적으로 저런 고양이 강아지 사진이 있을 때, 8x8에서는 2번째 그림과 같이 anchor box들이 구축되는데, 고양이 부분에서 파랗게 표시된 부분이 바로 GT와 매칭된 anchor box를 의미하게 된다. 매칭 기준은 IOU 50% 이상을 기준으로 판별.&lt;br /&gt;반면 8x8에서는 강아지가 detect되지 않지만 4x4에서는 detect되는 것을 확인할 수 있다.&lt;br /&gt;이 매칭 박스 정보로 classification을 수행하며 이 매칭 박스는 GT와 가까워지기 위해 계속 offset 값을 계산하면서 Bbox regression을 수행!&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;=&amp;gt; 단점 Data augmentation 의존도가 매우 큼.(작은 object의 성능 향상을 위해) : &lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;특정 IOU 기준으로 filter해서 sampling해서 다시 ratio 맞추는 등 복잡한 방법의 augmentation을 사용함.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;YOLO : You Only Look Once&lt;/span&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;One stage detector을 시작함.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;기본적으로 setting하는 것은 cell 단위로 이미지를 나누는 것&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;7x7 grid로 나누게 되고 각 grid의 cell이 하나의 obejct에 대한 detection을 수행하게 됨.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt; &lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;구체적으로는 각 grid cell이 2개의 bounding box의 후보를 도출하게 되고, 그 bbox들을 실제 ground truth에 근사시키면서 학습을 수행.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;Method&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1021&quot; data-origin-height=&quot;534&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mf6dc/btsMeLwBi3K/TQVwgBKoNRQHPr6PkxMqvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mf6dc/btsMeLwBi3K/TQVwgBKoNRQHPr6PkxMqvk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mf6dc/btsMeLwBi3K/TQVwgBKoNRQHPr6PkxMqvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmf6dc%2FbtsMeLwBi3K%2FTQVwgBKoNRQHPr6PkxMqvk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1021&quot; height=&quot;534&quot; data-origin-width=&quot;1021&quot; data-origin-height=&quot;534&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;1. &lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;우선 input image를 입력할 때 backbone 네트워크로는 VGG가 아닌 Inception-v1 (googlenet) 네트워크 기반으로 동작을 수행&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;- &lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;Googlenet의 대표적인 특징으로는 1x1 convolution layer를 사용한다는 것이 특징 -&amp;gt; &lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;feature map의 수를 줄여주어 연산량을 줄여주는 효과&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;2. backbone을 통과하고 나면, 2개의 dense layer를 거치게 되는데, 이들은 classification과 regression을 수행하기 위해 적용되는 layer&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;3. &lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;2개의 dense layer를 거쳐 구성된&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&quot;7x7x30&quot; 의 feature map&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;을 구축&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;4. &lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;이들의 information을 활용해서 Bbox regression과 object detection의 예측을 수행하고 이 결과를 바탕으로 네트워크를 업데이트&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&amp;nbsp;- &lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;7x7x30의 정보를 활용한다는 것 : &lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;7x7x30의 feature map에서 cell 하나를 뽑게 되면, 그 cell 하나는 30의 depth / &lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;cell 당 2개의 Bbox를 가지게 되는데 그 Bbox의 좌표 값과 confidence score를 가지고 있음.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #555555; text-align: start;&quot;&gt;=&amp;gt; 빠르지만&amp;nbsp; detection 정확도가 높지는 않음/ 뒤로 version 여러개 계속 나옴.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AI/Detection</category>
      <author>해드위그</author>
      <guid isPermaLink="true">https://code731.tistory.com/101</guid>
      <comments>https://code731.tistory.com/101#entry101comment</comments>
      <pubDate>Wed, 12 Feb 2025 15:45:34 +0900</pubDate>
    </item>
    <item>
      <title>[논문리뷰] Swin Transformer: Hierarchical Vision Transformer using Shifted Windows</title>
      <link>https://code731.tistory.com/100</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Intro&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* ViT 기반으로 만들어진 백본이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Swin Transformer = Vit + 1.계층적구조 + 2. shift window 라고 할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;399&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sRmbV/btsMgP4N8ZQ/7VeaOARoUNEpuTv5lNmGSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sRmbV/btsMgP4N8ZQ/7VeaOARoUNEpuTv5lNmGSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sRmbV/btsMgP4N8ZQ/7VeaOARoUNEpuTv5lNmGSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsRmbV%2FbtsMgP4N8ZQ%2F7VeaOARoUNEpuTv5lNmGSk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;399&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;399&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;269&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dWo7Ps/btsMeJZM1Gn/gETIgtCjGf9s2fFscb7x50/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dWo7Ps/btsMeJZM1Gn/gETIgtCjGf9s2fFscb7x50/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dWo7Ps/btsMeJZM1Gn/gETIgtCjGf9s2fFscb7x50/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdWo7Ps%2FbtsMeJZM1Gn%2FgETIgtCjGf9s2fFscb7x50%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;269&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;269&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* window 안에서만 attention연산을 한 후, 각각 window끼리 attention 연산을 하는 형태이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Method&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;204&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7gQwm/btsMfjTAYIv/gniSjiOUtd0KHcLO1bDK8K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7gQwm/btsMfjTAYIv/gniSjiOUtd0KHcLO1bDK8K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7gQwm/btsMfjTAYIv/gniSjiOUtd0KHcLO1bDK8K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7gQwm%2FbtsMfjTAYIv%2FgniSjiOUtd0KHcLO1bDK8K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;204&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;204&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전반적인 구조는 위와 같다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Network&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;input: H x W x 3의 해상도 이미지가 입력으로 들어가고, 겹치지 않게 각각의 이미지 패치를 나눔&lt;/li&gt;
&lt;li&gt;stage 1: Transformer 학습을 위해 사용자가 정의한 C차원으로 매핑해줌(Linear Embedding), 여기서 2개로 구성 된 swin transformer block으로 입력되어 동일한 차원으로 출력됨 (H/4*W/4*C)&lt;/li&gt;
&lt;li&gt;stage 2: Patch Merging으로 (H/4*W/4*C) 의 해상도가 (H/8*W/8*2C)로 줄어듦, 2개로 구성 된 swin transformer block으로 입력되어 동일한 차원으로 출력됨.&lt;/li&gt;
&lt;li&gt;stage 3,4는 차원과 block 개수만 다르고 나머지는 동일함.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Patch Merging : 해상도를 줄이는 과정&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;364&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dUVnfK/btsMgQo5pf5/qtmQujuKecxe7yEiSemEk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dUVnfK/btsMgQo5pf5/qtmQujuKecxe7yEiSemEk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dUVnfK/btsMgQo5pf5/qtmQujuKecxe7yEiSemEk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdUVnfK%2FbtsMgQo5pf5%2FqtmQujuKecxe7yEiSemEk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;364&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;364&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;stage 1의 출력인 (H/4*W/4*C)의 차원을 2*2 그룹으로 나눔.&lt;/li&gt;
&lt;li&gt;나눠진 그룹은 (H/8*W/8*C)의 차원을 가지고, 4개의 그룹들을 채널을 기준으로 concat함.]&lt;/li&gt;
&lt;li&gt;(H/8*W/8*4C) 병합된 차원 축소를 위해 절반인 2C로 축소함.&lt;/li&gt;
&lt;li&gt;모든 스테이지에서 위 과정을 동일하게 작용함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;=&amp;gt; 계층적 구조를 통해&amp;nbsp; representations을 더 잘 학습할 수 있고 연산속도에도 이점이 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Swin Transformer Block&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Window&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Swin은 window로 쪼개는 방식으로 ViT보다 연산에 이점이 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;451&quot; data-origin-height=&quot;74&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mvikA/btsMfctK0tZ/ZRPnFzzww8KDg8kzkVWhtK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mvikA/btsMfctK0tZ/ZRPnFzzww8KDg8kzkVWhtK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mvikA/btsMfctK0tZ/ZRPnFzzww8KDg8kzkVWhtK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmvikA%2FbtsMfctK0tZ%2FZRPnFzzww8KDg8kzkVWhtK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;451&quot; height=&quot;74&quot; data-origin-width=&quot;451&quot; data-origin-height=&quot;74&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연산에 시간이 얼마나 걸리는 지 측정한 결과이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Swin의 경우 윈도우의 크기는 고정되어 있으므로 상수 취급이 가능하고, HW의 크기에서만 선형적으로 계산량이 증가한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Shift Window&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;170&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vClnE/btsMgpZR8p6/5m7peL5LjhIsoPD4giAGPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vClnE/btsMgpZR8p6/5m7peL5LjhIsoPD4giAGPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vClnE/btsMgpZR8p6/5m7peL5LjhIsoPD4giAGPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvClnE%2FbtsMgpZR8p6%2F5m7peL5LjhIsoPD4giAGPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;550&quot; height=&quot;170&quot; data-origin-width=&quot;550&quot; data-origin-height=&quot;170&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;window로 나누어 각 독립적으로 self-attention을 시행&lt;/li&gt;
&lt;li&gt;cyclic-shifting 방식을 통해 추가적인 계산을 거의 요구하지 x&lt;/li&gt;
&lt;li&gt;파티션 좌상단에서 우하단으로 진행&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Relative Position Bias&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;현재 위치를 기준으로 상대적 거리르 계산해서&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;482&quot; data-origin-height=&quot;47&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEC1mw/btsMewMYpsA/hODzUumKMNOPpfQrk6DrO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEC1mw/btsMewMYpsA/hODzUumKMNOPpfQrk6DrO1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEC1mw/btsMewMYpsA/hODzUumKMNOPpfQrk6DrO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEC1mw%2FbtsMewMYpsA%2FhODzUumKMNOPpfQrk6DrO1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;482&quot; height=&quot;47&quot; data-origin-width=&quot;482&quot; data-origin-height=&quot;47&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AI/Classification</category>
      <author>해드위그</author>
      <guid isPermaLink="true">https://code731.tistory.com/100</guid>
      <comments>https://code731.tistory.com/100#entry100comment</comments>
      <pubDate>Wed, 12 Feb 2025 14:58:58 +0900</pubDate>
    </item>
    <item>
      <title>[논문리뷰] Attention is All You Need (Transformer)</title>
      <link>https://code731.tistory.com/99</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Intro&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;* RNN을 사용하지 않고 Attention만으로 Seq2Seq 구조를 구현한 모델&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;* 기존 모델들은 RCC or CNN에 기초, encoder에서 입력 seq을 vector로 압축할 때 일부 정보가 손실되기 때문에 보정을 위해 Attention을 사용하는 형태였다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;* Attention만으로 encoder&amp;amp;decoder를 만들어보자!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;* 논문에 따르면, 이 모델은 병렬처리가 가능하고, 학습 시간이 훨씬 덜 소요된다&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Attention Machanism&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;Sequence-to-Sequence&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;385&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chwglC/btsMfNtcnhc/QBUauojlqhgPxh8RyKYMXK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chwglC/btsMfNtcnhc/QBUauojlqhgPxh8RyKYMXK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chwglC/btsMfNtcnhc/QBUauojlqhgPxh8RyKYMXK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchwglC%2FbtsMfNtcnhc%2FQBUauojlqhgPxh8RyKYMXK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;385&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;385&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt; &lt;span style=&quot;color: #666666; text-align: start;&quot;&gt;Recurrent model은 Sequence순으로 데이터가 입력되는데, 이전 데이터의 hidden state&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;text-align: left;&quot; data-mathml=&quot;&amp;lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&amp;gt;&amp;lt;msub&amp;gt;&amp;lt;mi&amp;gt;h&amp;lt;/mi&amp;gt;&amp;lt;mi&amp;gt;t&amp;lt;/mi&amp;gt;&amp;lt;/msub&amp;gt;&amp;lt;/math&amp;gt;&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;h&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #666666; text-align: start;&quot;&gt;가 다음 데이터의 hidden state&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;text-align: left;&quot; data-mathml=&quot;&amp;lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&amp;gt;&amp;lt;msub&amp;gt;&amp;lt;mi&amp;gt;h&amp;lt;/mi&amp;gt;&amp;lt;mrow data-mjx-texclass=&amp;quot;ORD&amp;quot;&amp;gt;&amp;lt;mi&amp;gt;t&amp;lt;/mi&amp;gt;&amp;lt;mo&amp;gt;+&amp;lt;/mo&amp;gt;&amp;lt;mn&amp;gt;1&amp;lt;/mn&amp;gt;&amp;lt;/mrow&amp;gt;&amp;lt;/msub&amp;gt;&amp;lt;/math&amp;gt;&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;h&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot; data-mjx-texclass=&quot;ORD&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;+&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #666666; text-align: start;&quot;&gt;를 구할 때 사용된다. 즉,&amp;nbsp;&lt;/span&gt;&lt;b&gt;어떠한 시점 t에서 구한 hidden state&amp;nbsp;&lt;i&gt;&lt;span style=&quot;text-align: left;&quot; data-mathml=&quot;&amp;lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&amp;gt;&amp;lt;msub&amp;gt;&amp;lt;mi&amp;gt;h&amp;lt;/mi&amp;gt;&amp;lt;mi&amp;gt;t&amp;lt;/mi&amp;gt;&amp;lt;/msub&amp;gt;&amp;lt;/math&amp;gt;&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;h&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;t&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;는 그 전 sequence들(&lt;span style=&quot;text-align: left;&quot; data-mathml=&quot;&amp;lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&amp;gt;&amp;lt;mn&amp;gt;1&amp;lt;/mn&amp;gt;&amp;lt;mo&amp;gt;,&amp;lt;/mo&amp;gt;&amp;lt;mn&amp;gt;2&amp;lt;/mn&amp;gt;&amp;lt;mo&amp;gt;,&amp;lt;/mo&amp;gt;&amp;lt;mo&amp;gt;&amp;amp;#x2026;&amp;lt;/mo&amp;gt;&amp;lt;mo&amp;gt;,&amp;lt;/mo&amp;gt;&amp;lt;mi&amp;gt;t&amp;lt;/mi&amp;gt;&amp;lt;mo&amp;gt;&amp;amp;#x2212;&amp;lt;/mo&amp;gt;&amp;lt;mn&amp;gt;1&amp;lt;/mn&amp;gt;&amp;lt;/math&amp;gt;&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;hellip;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&amp;minus;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;1,2,&amp;hellip;,t&amp;minus;1&lt;/span&gt;)의 정보를 함축하고 있다고 볼 수 있다&lt;/b&gt;&lt;span style=&quot;color: #666666; text-align: start;&quot;&gt;. 따라서 위 이미지를 예로 들어 설명하면, tomorrow를 입력으로 받아 출력되는 encoder의 마지막 hidden state는 그 이전 단어들(are, you, free)에 대한 정보까지, 즉 문장의 모든 단어들에 대한 정보를 함축하고 있는 것이다&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #666666; text-align: start;&quot;&gt;긴 sequence 데이터를 처리해야할 때, 제한된 크기의 vector로 모든 정보를 담아내야하기 때문에 정보의 손실이 커지고 이에 따라 성능의 병목현상이 일어난다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Model Architecture&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;703&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/z2ekl/btsMf4Bv1eY/oIaSLinoca8hyAp7qpIdLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/z2ekl/btsMf4Bv1eY/oIaSLinoca8hyAp7qpIdLK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/z2ekl/btsMf4Bv1eY/oIaSLinoca8hyAp7qpIdLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fz2ekl%2FbtsMf4Bv1eY%2FoIaSLinoca8hyAp7qpIdLK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;703&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;703&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Encoder : N = 6 Layers / sub -layer 1. multi-head- 2. feed-forward&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;=&amp;gt; 모든 차원을 512 임베딩&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Decoder : N = 6 Layers / sub-layer 3. Encoder스택의 출력을 통해 multi-head-attention수행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;385&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqnB6M/btsMgwK6cmI/4zFmWWd0q2H6kR5keBAtPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqnB6M/btsMgwK6cmI/4zFmWWd0q2H6kR5keBAtPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqnB6M/btsMgwK6cmI/4zFmWWd0q2H6kR5keBAtPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqnB6M%2FbtsMgwK6cmI%2F4zFmWWd0q2H6kR5keBAtPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;385&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;385&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;Scaled Dot-Product Attention&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- input: &lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #666666; text-align: start;&quot;&gt;Query(Q), Key(K), Value(V)&lt;span&gt; / &lt;b&gt;Query는 물어보는 주체, Key는 반대로 Query에 의해 물어봄을 당하는 주체, Values는 데이터의 값&lt;/b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR'; color: #666666; text-align: start;&quot;&gt;들을 의미&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;55&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kPfQQ/btsMgifi1K4/3cW6NQgQmVjuatjp2ka4O0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kPfQQ/btsMgifi1K4/3cW6NQgQmVjuatjp2ka4O0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kPfQQ/btsMgifi1K4/3cW6NQgQmVjuatjp2ka4O0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkPfQQ%2FbtsMgifi1K4%2F3cW6NQgQmVjuatjp2ka4O0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;413&quot; height=&quot;55&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;55&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- softmax 함수는 연관성에 대해 확률분포형태로 만들어주는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;Multi-Head Attention&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;- 하나의 attention func을 사용하는 것보다, 중간에 값들을 매핑해줘서 각 다른 값들을 입력으로 하는 여러개의 attention func을 만드는 것이 더 효율적이다. 나중에 func들의 출력은 concat되고 다시 linear func을 통해 매핑된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;- CNN이 여러개의 필터를 통해서 conv output을 구하는 것과 비슷한 효과를 낸다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;&quot;&gt;Positional Encoding&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style=&quot;&quot;&gt;- sequence 정보를 데이터에 추가해주기 위해 사용하는 기법&lt;/span&gt;&lt;span style=&quot;&quot;&gt;- 논문에서는 sine과 cosine 함수를 사용한다.&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;321&quot; data-origin-height=&quot;103&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wRWOS/btsMgHsjrYI/J2OJ933ZWjP5GMTkgj3uCK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wRWOS/btsMgHsjrYI/J2OJ933ZWjP5GMTkgj3uCK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wRWOS/btsMgHsjrYI/J2OJ933ZWjP5GMTkgj3uCK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwRWOS%2FbtsMgHsjrYI%2FJ2OJ933ZWjP5GMTkgj3uCK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;321&quot; height=&quot;103&quot; data-origin-width=&quot;321&quot; data-origin-height=&quot;103&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;왜 Self-Attention이어야 할까?&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;278&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r0IqW/btsMe3jjIc2/88ug2TC34ARgFikbA2AzMk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r0IqW/btsMe3jjIc2/88ug2TC34ARgFikbA2AzMk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r0IqW/btsMe3jjIc2/88ug2TC34ARgFikbA2AzMk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr0IqW%2FbtsMe3jjIc2%2F88ug2TC34ARgFikbA2AzMk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;278&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;278&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Sequence length n &amp;lt; Representation dimensionality d 이어야만 complexity가 RNN보다 더 작아지게 됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;보통 n&amp;lt;d인 경우가 대부분&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. RNN은 input을 순차적으로 받아서 총 n번의 RNN cell을 거치게 되고, self-attention은 input의 모든 position 값을 연결하여 한번에 처리 가능 =&amp;gt; parallel system 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. long-range dependencies&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;352&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwbFR3/btsMfXJfSRN/3v3zWmkT4C2MIkssfkbmIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwbFR3/btsMfXJfSRN/3v3zWmkT4C2MIkssfkbmIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwbFR3/btsMfXJfSRN/3v3zWmkT4C2MIkssfkbmIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwbFR3%2FbtsMfXJfSRN%2F3v3zWmkT4C2MIkssfkbmIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;352&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;352&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;input 과 output seq 사이 조합 간 paths가 짧을 수록 long-range dependencies를 더 잘 학습할 수 있다고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 결국&amp;nbsp; transformer는 token을 하나씩 보면서 학습하는 것이 아니라, 전체 문장을 한번에 참조하여 학습할 수 있게한다. 그리고 sequence정보는 따로 positional encoding으로 준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AI/ETC</category>
      <author>해드위그</author>
      <guid isPermaLink="true">https://code731.tistory.com/99</guid>
      <comments>https://code731.tistory.com/99#entry99comment</comments>
      <pubDate>Wed, 12 Feb 2025 14:30:55 +0900</pubDate>
    </item>
    <item>
      <title>[논문리뷰] ViT: Vision Transformer</title>
      <link>https://code731.tistory.com/98</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Intro&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 자연어처리 분야에서 사용하던 Transformer를 Vision 분야에 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 본 논문은 이미지를 여러 패치로 나누어 패치 자체를 단어처럼 보며 CNN에 의존하지 않고, Classification 에 적용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 데이터가 적은 경우 Resnet보다 성능이 떨어지나, 데이터가 충분한 경우에는 보다 높은 성능을 보임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; Inductive Bias가 부족하기 때문&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Vision Transformer (ViT)&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;466&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BHr1H/btsMf7ZbGae/SwofwBkqStd71UvIjXABXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BHr1H/btsMf7ZbGae/SwofwBkqStd71UvIjXABXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BHr1H/btsMf7ZbGae/SwofwBkqStd71UvIjXABXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBHr1H%2FbtsMf7ZbGae%2FSwofwBkqStd71UvIjXABXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;772&quot; height=&quot;466&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;466&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Transformer의 Encoder 부분을 응용하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Embedding for Transformer&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 2D 이미지를 1차원으로 변환하기 위해 Patch로 만들어준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;ex) [300,300,3] -&amp;gt; [100,100,3]*9&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 각 Patch를 Flatten 작업을 해서 D크기의 벡터로 만들어준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 각 벡터에 Linear 연산을 거쳐서 임베딩 하도록 해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;- 추가적으로 자연어 처리 분야에서 BERT라는 모델에서 사용되는 [Class] 토큰과 비슷하게 Input Embedding 맨 앞에 [Class] Patch를 넣어준다. -&amp;gt; &lt;/span&gt;이후 Transformer Encoder의 출력(&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;z&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;L&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;) 중 맨 앞(&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;z&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;L&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;)에 대응되며, 이는 Classification Head(MLP Head)에 입력으로 들어가 Classification 작업에 사용된다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;- 최종적으로 각 Embedding된 Patch들이 Encoder에 들어가기 전에 학습 가능한 Position Embedding을 더하여 각 Patch Embedding들에 위치에 대한 정보를 추가해준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;719&quot; data-origin-height=&quot;205&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bENYwX/btsMfFvbVKE/F92vKorqlLXB5tNFB2FExk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bENYwX/btsMfFvbVKE/F92vKorqlLXB5tNFB2FExk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bENYwX/btsMfFvbVKE/F92vKorqlLXB5tNFB2FExk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbENYwX%2FbtsMfFvbVKE%2FF92vKorqlLXB5tNFB2FExk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;719&quot; height=&quot;205&quot; data-origin-width=&quot;719&quot; data-origin-height=&quot;205&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;식으로 나타내면 이와 같다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;Inductive Bias&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;유도 편향&quot; -&amp;gt; 학습에 사용되지 않은 데이터에 대해서 어떤 것을 예측할 때 정확한 예측을 위해 사용하는 추가적인 가정이라고 볼 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Transformer 에서는 Locality와 Translation Equivariance를 제시한다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;Translation Equivariance : 예를 들면, x -&amp;gt; x+t로 입력이 변할 시 f(x) -&amp;gt; f(x+t)로 출력도 동일하게 되는 것이다. &lt;br /&gt;즉, 해당 객체의 위치가 달라져도 동일하게 검출할 수 있도록 하는 것이다.&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;Locality : 지역적인 특징을 뜻함. CNN에서는 여러 크기의 필터를 사용해 지역적인 정보를 담는다.&lt;br /&gt;ViT는 이미지를 패치로 나누어 작동하고, 한 패치 내부에서만 Fully Connected 형식으로 작동한다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 이유로 CNN에 비해 Inductive bias가 더 적다고 할 수&amp;nbsp; 있다. =&amp;gt; 더 많은 data 필요!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Experiments&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignRight&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;767&quot; data-origin-height=&quot;438&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cTviyO/btsMeLXpWfc/MJXw0KMPE5LxZODIubGvZ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cTviyO/btsMeLXpWfc/MJXw0KMPE5LxZODIubGvZ1/img.png&quot; data-alt=&quot;모델 별 성능 표&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cTviyO/btsMeLXpWfc/MJXw0KMPE5LxZODIubGvZ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcTviyO%2FbtsMeLXpWfc%2FMJXw0KMPE5LxZODIubGvZ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;767&quot; height=&quot;438&quot; data-origin-width=&quot;767&quot; data-origin-height=&quot;438&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;모델 별 성능 표&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;223&quot; data-origin-height=&quot;460&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XvhYF/btsMfbnPzTS/cCaw9bDmKLMVOZ1RmzKW11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XvhYF/btsMfbnPzTS/cCaw9bDmKLMVOZ1RmzKW11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XvhYF/btsMfbnPzTS/cCaw9bDmKLMVOZ1RmzKW11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXvhYF%2FbtsMfbnPzTS%2FcCaw9bDmKLMVOZ1RmzKW11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;223&quot; height=&quot;460&quot; data-origin-width=&quot;223&quot; data-origin-height=&quot;460&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학습한 ViT를 기반으로 모델이 어디에 집중하는 지를 시각화한 것이다.&lt;/p&gt;</description>
      <category>AI/Classification</category>
      <author>해드위그</author>
      <guid isPermaLink="true">https://code731.tistory.com/98</guid>
      <comments>https://code731.tistory.com/98#entry98comment</comments>
      <pubDate>Wed, 12 Feb 2025 14:05:14 +0900</pubDate>
    </item>
    <item>
      <title>CNN 아키텍쳐 비교(AlexNet, VGG, GoogleNet, Resnet, SENet)</title>
      <link>https://code731.tistory.com/97</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;Preview&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CNN 아키텍쳐를 살펴보고, 각각 성능을 높이기 위해 어떤 방식을 활용하였는지 알아보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;AlexNet&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-ke-style=&quot;style3&quot;&gt;최초의 Large scale CNN&lt;/li&gt;
&lt;li data-ke-style=&quot;style3&quot;&gt;ReLU 처음으로 사용&lt;/li&gt;
&lt;li data-ke-style=&quot;style3&quot;&gt;GPU 2대를 이용하여 빠른 연산 병렬구조&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;301&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c64F9D/btsMeTN5zbn/Bnig4F1hvakWD3CHWFufe1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c64F9D/btsMeTN5zbn/Bnig4F1hvakWD3CHWFufe1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c64F9D/btsMeTN5zbn/Bnig4F1hvakWD3CHWFufe1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc64F9D%2FbtsMeTN5zbn%2FBnig4F1hvakWD3CHWFufe1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;301&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;301&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Layer의 수 : 8개&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Color image가 input&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Data augmentation 사용 : 데이터셋 이미지를 좌우반전 or 잘라서 or RGB값 조정하여 데이터의 수를 늘림&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Norm Layer 사용 : batch normalization, 지금은 안쓰임.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;필터 크기 : 11*11, stride=4 / 3*3 pooling, stride=2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;dropout: 0.5&lt;br /&gt;batch size: 128&lt;br /&gt;SGD Momentum : 0.9&lt;br /&gt;Learning rate : 1e-2&lt;br /&gt;L2 weight decay : 5e-4&lt;br /&gt;7 CNN ensemble : 18.2% -&amp;gt; 15.4%&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;* VGG, GoogleNet 부터는 layer가 더 깊게 쌓이기 시작함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;VGG&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네트워크를 16-19 층까지 쌓아 성능을 높임&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;704&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HOpCE/btsMfl4jqY0/ZIdePHYxwXawCmuivDCsPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HOpCE/btsMfl4jqY0/ZIdePHYxwXawCmuivDCsPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HOpCE/btsMfl4jqY0/ZIdePHYxwXawCmuivDCsPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHOpCE%2FbtsMfl4jqY0%2FZIdePHYxwXawCmuivDCsPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;704&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;600&quot; data-origin-height=&quot;704&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Conv, max-pooling 반복되는 구조&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Conv: 3*3 filter, stride=1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Max-pool: 2*2, stride=2&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 이전에는 주로 5*5의 필터를 사용한 반면, 3*3의 작은 필터로 파라미터 수를 줄이고 층을 깊게 쌓아서 성능을 향상하였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Layer가 깊어지면서, 다수의 activation func을 통과할 수 있으므로 더 많은 non-linearity를 줄 수 있게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* padding을 통해 network가 깊어져도 이미지 사이즈를 유지할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;GoogleNet&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;22 layer&lt;/li&gt;
&lt;li&gt;&quot;Inception&quot; module&lt;/li&gt;
&lt;li&gt;FC Layer X&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;867&quot; data-origin-height=&quot;341&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FpMxC/btsMe3wlcfe/gU4jT8x2OEggEMOPu1U7p1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FpMxC/btsMe3wlcfe/gU4jT8x2OEggEMOPu1U7p1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FpMxC/btsMe3wlcfe/gU4jT8x2OEggEMOPu1U7p1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFpMxC%2FbtsMe3wlcfe%2FgU4jT8x2OEggEMOPu1U7p1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;867&quot; height=&quot;341&quot; data-origin-width=&quot;867&quot; data-origin-height=&quot;341&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Inception module: 같은 입력을 받는 여러 개의 필터들이 병렬적으로 존재 -&amp;gt; 결과를 합침&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 계산량 문제 발생 -&amp;gt; 1*1 Conv layer사용 -&amp;gt; input depth가 줄어드는 효과 &quot;Bottelneck layer&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;865&quot; data-origin-height=&quot;374&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkOr6t/btsMftnHUPX/klNWvyw0FBRTkMFmtrXF11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkOr6t/btsMftnHUPX/klNWvyw0FBRTkMFmtrXF11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkOr6t/btsMftnHUPX/klNWvyw0FBRTkMFmtrXF11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkOr6t%2FbtsMftnHUPX%2FklNWvyw0FBRTkMFmtrXF11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;865&quot; height=&quot;374&quot; data-origin-width=&quot;865&quot; data-origin-height=&quot;374&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 중간 중간 gradient를 넣어 back propagation이 진행되어 gradient vanishing 문제가 발생하지 않도록 함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Resnet&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;층이 매우 많은 것이 특징! -&amp;gt; 152 layers&lt;/li&gt;
&lt;li&gt;Residual connection으로 degration (성능저하) 해결&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;659&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/srBTp/btsMeMO37hR/B4ybXvO7b5zOwhW0F53Kuk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/srBTp/btsMeMO37hR/B4ybXvO7b5zOwhW0F53Kuk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/srBTp/btsMeMO37hR/B4ybXvO7b5zOwhW0F53Kuk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsrBTp%2FbtsMeMO37hR%2FB4ybXvO7b5zOwhW0F53Kuk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;659&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;700&quot; data-origin-height=&quot;659&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Degradatopm: 네트워크의 구조가 깊으면 깊을수록 어느 순간 그 모델은 학습이 잘 안된다는 것.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Skip Connection으로 degradation 문제를 해결함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* 기존 layer들은&amp;nbsp; target data H(x)를 얻는 것이 목적이었으나, residual block은&amp;nbsp; output에 input data는 x를 더해서 F(x) + x를 최소화하는 것을 목표로 함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* F(x)를 최소화 한다는 것은 H(x)-x를 0과 가깝게 만들어준다는 뜻, 이때 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;H(x)-x를 residual이라고 함.(잔차)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;* batch normalization&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;SENet&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Squeeze and excitation networks&lt;/li&gt;
&lt;li&gt;기존 CNN -&amp;gt; 중요한 정보에 집중할 수 있는 attention기능이 없었음.&lt;/li&gt;
&lt;li&gt;attentioni 모듈 : squeeze + excitation 추가하자!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3509&quot; data-origin-height=&quot;1077&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cbGtW8/btsMfHTFRae/GoikeLOrGJ9E14pLEKNJm1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cbGtW8/btsMfHTFRae/GoikeLOrGJ9E14pLEKNJm1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cbGtW8/btsMfHTFRae/GoikeLOrGJ9E14pLEKNJm1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbGtW8%2FbtsMfHTFRae%2FGoikeLOrGJ9E14pLEKNJm1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3509&quot; height=&quot;1077&quot; data-origin-width=&quot;3509&quot; data-origin-height=&quot;1077&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;262&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/P8BE5/btsMfZGwFXg/jyyL0rYQD1y7SFXpnb0Te0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/P8BE5/btsMfZGwFXg/jyyL0rYQD1y7SFXpnb0Te0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/P8BE5/btsMfZGwFXg/jyyL0rYQD1y7SFXpnb0Te0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FP8BE5%2FbtsMfZGwFXg%2FjyyL0rYQD1y7SFXpnb0Te0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;924&quot; height=&quot;262&quot; data-origin-width=&quot;924&quot; data-origin-height=&quot;262&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Squeeze : Global information embedding&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 중요 정보 추출 개념 (Gloval Average Pooling 사용) / channel descriptor로 압축&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* Excitation :&amp;nbsp; 중요도 계산하기 / 채널 간 의존성 계산 / FC -&amp;gt; ReLU -&amp;gt; FC -&amp;gt; sigmoid -&amp;gt; 0-1사이로 Attention Score나타냄.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AI/Classification</category>
      <author>해드위그</author>
      <guid isPermaLink="true">https://code731.tistory.com/97</guid>
      <comments>https://code731.tistory.com/97#entry97comment</comments>
      <pubDate>Wed, 12 Feb 2025 12:02:33 +0900</pubDate>
    </item>
    <item>
      <title>Feature 3DGS: Supercharging 3D Gaussian Splatting to Enable Distilled Feature Fields | 논문 리뷰</title>
      <link>https://code731.tistory.com/96</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;CVPR 2024.&lt;br /&gt;Shijie Zhou, Haoran Chang, Sicheng Jiang, Zhiwen Fan, Zehao Zhu, Dejia Xu, Pradyumna Chari, Suya You, Zhangyang Wang, Achuta&lt;br /&gt;KadambiUniversity of California | University of Texas at Austin | DEVCOM ARL&lt;br /&gt;6 Dec 2023&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Introduction&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #1e1e23;&quot;&gt;Feature 3DGS&lt;/span&gt;&lt;span style=&quot;color: #1e1e23;&quot;&gt;는 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;3D&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;GS &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;프레임워크를 기반으로 한 최초의 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature field distillation&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;분리&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;!!)&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;기술을 제안하는 논문이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;3DGS &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;프레임워크는 기본적으로 각 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Gaussian&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;에서 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;semantic feature&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;joint&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 학습을 지원하지 않는다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;. (&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;semantic feature : &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;object &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;별로 구분된 특징&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;본 논문에서는 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;색상 정보 외에도 각 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;D Gaussian&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;semantic feature&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 학습할 것을 제안하고&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;그 후 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;2D foundation model&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;을 사용한 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature field&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 추출을 통해 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;segmentation&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;을 가능하게 하였다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Method&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;span style=&quot;color: #000000;&quot;&gt;High-dimensional Semantic Feature Rendering&lt;/span&gt; &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1306&quot; data-origin-height=&quot;456&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ceL2Cw/btsJE3rXNKQ/cYU64j39kKiOFWzzbWH5pK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ceL2Cw/btsJE3rXNKQ/cYU64j39kKiOFWzzbWH5pK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ceL2Cw/btsJE3rXNKQ/cYU64j39kKiOFWzzbWH5pK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FceL2Cw%2FbtsJE3rXNKQ%2FcYU64j39kKiOFWzzbWH5pK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1306&quot; height=&quot;456&quot; data-origin-width=&quot;1306&quot; data-origin-height=&quot;456&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;3D Gaussian&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;radiance field&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;와 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature field&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 모두 &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;explicit&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;하게 표현할 수 있도록 하는 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;high-dimensional&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;segmentic&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;렌더링 및 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature field distillation&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;을 위한 새로운 파이프라인을 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;도입하였다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;본 논문의 방법은 일반적이며 모든 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;D foundation model&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;과 호환될 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;다양한 종류의 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;D foundation model&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;에 대처하기 위해 임의의 크기와 임의의 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;차원의 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;D feature map&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;을 렌더링할 수 있어야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;1. 이를 위해 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;DGS&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 렌더링 파이프라인을 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Structure from Motion&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;을 사용하여 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Gaussian&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;을 초기화한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;2. 기존의 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Gaussian &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;속성에 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;semantic feature&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;f&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;을 통합한다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;3. feature map&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 각 픽셀의 값&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Fs&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 계산한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1442&quot; data-origin-height=&quot;256&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uK8ho/btsJGg434iO/8YFKLT3xW0v2xkZqoaot2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uK8ho/btsJGg434iO/8YFKLT3xW0v2xkZqoaot2K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uK8ho/btsJGg434iO/8YFKLT3xW0v2xkZqoaot2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuK8ho%2FbtsJGg434iO%2F8YFKLT3xW0v2xkZqoaot2K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1442&quot; height=&quot;256&quot; data-origin-width=&quot;1442&quot; data-origin-height=&quot;256&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;여기서&amp;nbsp;N은 주어진 픽셀과 겹치는 정렬된 Gaussian 집합이고,&amp;nbsp;T는 투과율이다.&lt;br /&gt;Fs의 아래 첨자&amp;nbsp;s는 &amp;ldquo;student&amp;rdquo;를&amp;nbsp;나타내며,&amp;nbsp;이는&amp;nbsp;렌더링된&amp;nbsp;feature가 &amp;ldquo;teacher&amp;rdquo; feature&amp;nbsp;FtFt에 의해 픽셀 단위로&amp;nbsp;supervise됨을 나타낸다.&lt;br /&gt;Ft는&amp;nbsp;2D foundation model의 인코더를 사용하여&amp;nbsp;ground truth&amp;nbsp;이미지를 인코딩하여 얻은&amp;nbsp;latent&amp;nbsp;임베딩이다.&lt;br /&gt;본질적으로 미분 가능한 볼륨 렌더링을 통해 대규모&amp;nbsp;2D teacher model을 작은&amp;nbsp;3D student&amp;nbsp;explicit&amp;nbsp;장면 표현 모델로 추출한다고 볼 수 있다.&lt;/blockquote&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;4. Rasterization &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;단계에서는 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;RGB &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이미지와 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature map&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;을 독립적으로 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;rasterization&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;하는 것이 아니라 같이 최적화한다. &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이미지와 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature map &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;모두 동일한 타일 기반 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;rasterization &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;절차를 사용한다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;. &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이 접근 방식을 사용하면 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature map&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 충실도가 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;RGB &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이미지의 충실도만큼 높게 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;렌더링되어&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 픽셀당 정확도가 유지된다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;span style=&quot;color: #000000;&quot;&gt;Optimization and Speed-up&lt;/span&gt; &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;428&quot; data-origin-height=&quot;96&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/S93QM/btsJERSGjsS/Gn5am5rIKaT0yPsWODpph0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/S93QM/btsJERSGjsS/Gn5am5rIKaT0yPsWODpph0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/S93QM/btsJERSGjsS/Gn5am5rIKaT0yPsWODpph0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FS93QM%2FbtsJERSGjsS%2FGn5am5rIKaT0yPsWODpph0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;428&quot; height=&quot;96&quot; data-origin-width=&quot;428&quot; data-origin-height=&quot;96&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Loss function&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;은 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;photometric loss&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;와 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature loss&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 결합이다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1674&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dPoHi6/btsJDSZhaEu/5VtwF4qP1w3ZO2iP8XsZ81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dPoHi6/btsJDSZhaEu/5VtwF4qP1w3ZO2iP8XsZ81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dPoHi6/btsJDSZhaEu/5VtwF4qP1w3ZO2iP8XsZ81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdPoHi6%2FbtsJDSZhaEu%2F5VtwF4qP1w3ZO2iP8XsZ81%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1674&quot; height=&quot;506&quot; data-origin-width=&quot;1674&quot; data-origin-height=&quot;506&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&lt;br /&gt;&lt;i&gt;Ft&lt;/i&gt;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;I&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;)&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;는 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;D foundation model&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;에서 얻은 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;ground truth &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이미지&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;I&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;에 대한 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature map&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이고&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Fs&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;(^&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;I&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;)&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;는 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;렌더링된&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature map&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;픽셀당&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;L&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;nbsp;loss &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;계산에 대해 동일한 해상도&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;H&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;times;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;W&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 보장하기 위해 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;bilinear interpolation&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;을 적용하여&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Fs&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;(^&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;I&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;)&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 크기를 적절하게 조정한다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;. &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;실제로&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;gamma;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;=1.0&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;gamma;=1.0,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;lambda;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;=0.2&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;lambda;=0.2&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 사용한다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;렌더링된&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature map&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Fs&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;(^&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;I&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;)&amp;isin;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;R &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;H&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;times;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;W&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;times;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;N&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;과 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;teacher feature map&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Ft&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;I&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;)&amp;isin;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;R &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;H&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;times;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;W&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;times;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;M &lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;사이의 차이를 최소화하기 위해 이상적으로는&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;N&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;M &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;으로&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&lt;b&gt; 최소화&lt;/b&gt;한다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;. &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;그러나 &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;D foundation model&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 높은 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;latent &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;차원으로 인해 &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;LSeg&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;는&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;M&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;=512&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;M=512, SAM&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;은&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;M&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;=256&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;M=256) &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;실제로&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;M&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;은 매우 큰 수이므로, 이러한 &lt;b&gt;고차원 &lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature map&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&lt;b&gt;을 직접 렌더링하는 데 많은 시간이 소요&lt;/b&gt;된다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이 문제를 해결하기 위해 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;rasterization &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;프로세스 마지막에 &lt;b&gt;속도 향상&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;speed up) &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&lt;b&gt;모듈을 도입&lt;/b&gt;한다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이 모듈은 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;kernel size&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;1&amp;times;1&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;1&amp;times;1&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;로 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;채널을 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;업샘플링하는&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;lightweight convolution decoder&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;로 구성된다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;결과적으로 임의의&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;N&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;≪&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;M&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;을 사용하여&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;isin;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;R&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;N&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;을 초기화하고, 이 학습 가능한 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;디코더를&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 사용하여 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;채널을 일치시키는 것이 가능하다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이를 통해 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;다운스트림&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;task&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 성능을 저하시키지 않으면서 최적화 프로세스의 속도를 크게 높일 수 있다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;* Photometric loss&lt;br /&gt;: 입력 이미지와 렌더링 이미지 간 픽셀 값 차이를 손실로 사용&lt;br /&gt;&lt;br /&gt;* D-SSIM은 SSIM을 기반으로 한 손실 함수&lt;br /&gt;: 두 이미지의 밝기(픽셀 값 크기), 대비(인접 픽셀간 차이),v구조(픽셀값 분포기반 correlation)를 이용해 두 이미지의 유사도를 계산&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;span style=&quot;color: #000000;&quot;&gt;Promptable&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; Explicit Scene Representation&lt;/span&gt; &lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;구체적으로 저자들은 SAM(&lt;span style=&quot;color: #333333;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;Segment Anything model&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;과&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;LSeg&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;라는 두 가지 기본 모델을 고려하였다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;218&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bjwdA8/btsJEQzDLqk/Lz7i2xsFQ0DKSKz9OohGG0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bjwdA8/btsJEQzDLqk/Lz7i2xsFQ0DKSKz9OohGG0/img.png&quot; data-alt=&quot;Segment Anything model&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bjwdA8/btsJEQzDLqk/Lz7i2xsFQ0DKSKz9OohGG0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjwdA8%2FbtsJEQzDLqk%2FLz7i2xsFQ0DKSKz9OohGG0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;218&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;218&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Segment Anything model&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;SAM&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;은 특정 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;task&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;에 대한 학습 없이도 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;D&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;에서 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;promptable&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;promptless&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; zero-shot segmentation&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이 가능하다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;944&quot; data-origin-height=&quot;316&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c580rY/btsJDWf6fVQ/RKkuGxXzVS8yKGaoc8bxb0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c580rY/btsJDWf6fVQ/RKkuGxXzVS8yKGaoc8bxb0/img.png&quot; data-alt=&quot;LSeg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c580rY/btsJDWf6fVQ/RKkuGxXzVS8yKGaoc8bxb0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc580rY%2FbtsJDWf6fVQ%2FRKkuGxXzVS8yKGaoc8bxb0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;944&quot; height=&quot;316&quot; data-origin-width=&quot;944&quot; data-origin-height=&quot;316&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;LSeg&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;LSeg&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;는 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;zero-shot semantic segmentation&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;에 언어 기반 접근 방식을 도입하였다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;LSeg&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;는&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;(DPT &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;아키텍처가 포함된 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이미지 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;인코더와 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;CLIP&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 텍스트 인코더를 활용하여 텍스트&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;이미지 연결을 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;D &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;픽셀 레벨로 확장하였다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;본 논문은 추출된 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature field&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 사용하여 점&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;상자&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;텍스트에 의해 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;프롬프팅되는&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 모든 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;D &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;기능을 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;D &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;영역으로 확장하였다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;324&quot; data-origin-height=&quot;134&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0OpzM/btsJFrlReW0/IUGDes8iecjYGmRFcQmiJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0OpzM/btsJFrlReW0/IUGDes8iecjYGmRFcQmiJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0OpzM/btsJFrlReW0/IUGDes8iecjYGmRFcQmiJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0OpzM%2FbtsJFrlReW0%2FIUGDes8iecjYGmRFcQmiJ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;324&quot; height=&quot;134&quot; data-origin-width=&quot;324&quot; data-origin-height=&quot;134&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;664&quot; data-origin-height=&quot;126&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/D3eFN/btsJEPgqqlp/4ErIm63qYkhIoMZFmA4ikk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/D3eFN/btsJEPgqqlp/4ErIm63qYkhIoMZFmA4ikk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/D3eFN/btsJEPgqqlp/4ErIm63qYkhIoMZFmA4ikk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FD3eFN%2FbtsJEPgqqlp%2F4ErIm63qYkhIoMZFmA4ikk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;664&quot; height=&quot;126&quot; data-origin-width=&quot;664&quot; data-origin-height=&quot;126&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Promptable&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;한&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; explicit&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 장면 표현은 다음과 같이 작동한다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;타겟 픽셀과 겹치는&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;N&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;개의 정렬된 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;D Gaussian &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;중&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;에 대한 프롬프트&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;tau;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;activation score&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;는 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature space&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;쿼리&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;q(&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;tau;)&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;와 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;semantic feature&amp;nbsp;f(x)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;사이의 코사인 유사도와 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;softmax&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;로 계산된다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Score&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;가 낮은 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Gaussian&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;들을 필터링 하고, 색상 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;c(x)&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;와 불투명도&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;alpha;(&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;x)&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 업데이트하여 물체 추출&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;물체 제거&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;외형 변형 등 다양한 작업을 할 수 있다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;span style=&quot;color: #000000;&quot;&gt;Experiments&lt;/span&gt; &lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;span style=&quot;color: #000000;&quot;&gt;Novel view semantic segmentation&lt;/span&gt; &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;228&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cYIkb0/btsJFxe9pqE/jDPHKGWoCcvYvzELTsu4Mk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cYIkb0/btsJFxe9pqE/jDPHKGWoCcvYvzELTsu4Mk/img.png&quot; data-alt=&quot;Replica 데이터셋 렌더링 성능&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cYIkb0/btsJFxe9pqE/jDPHKGWoCcvYvzELTsu4Mk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcYIkb0%2FbtsJFxe9pqE%2FjDPHKGWoCcvYvzELTsu4Mk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;864&quot; height=&quot;228&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;228&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Replica 데이터셋 렌더링 성능&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;764&quot; data-origin-height=&quot;242&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pCNbc/btsJERrE6T2/4BKpeWLfreMg2CAr8882k1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pCNbc/btsJERrE6T2/4BKpeWLfreMg2CAr8882k1/img.png&quot; data-alt=&quot;Replica 데이터셋 semantic segmentation 성능&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pCNbc/btsJERrE6T2/4BKpeWLfreMg2CAr8882k1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpCNbc%2FbtsJERrE6T2%2F4BKpeWLfreMg2CAr8882k1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;764&quot; height=&quot;242&quot; data-origin-width=&quot;764&quot; data-origin-height=&quot;242&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Replica 데이터셋 semantic segmentation 성능&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;788&quot; data-origin-height=&quot;576&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YmEt4/btsJE3Mi1Fw/uHDK3b4Kcej82UkkAHhSqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YmEt4/btsJE3Mi1Fw/uHDK3b4Kcej82UkkAHhSqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YmEt4/btsJE3Mi1Fw/uHDK3b4Kcej82UkkAHhSqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYmEt4%2FbtsJE3Mi1Fw%2FuHDK3b4Kcej82UkkAHhSqK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;788&quot; height=&quot;576&quot; data-origin-width=&quot;788&quot; data-origin-height=&quot;576&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Replica &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;데이터셋&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;LLFF &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;데이터셋&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;novel view semantic segmentation &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;결과 비교&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;span style=&quot;color: #000000;&quot;&gt;Segment Anything from Any View&lt;/span&gt; &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;760&quot; data-origin-height=&quot;404&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/K3ytT/btsJFvn8oVy/wydGu7fbdzKvskLPlkP9C0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/K3ytT/btsJFvn8oVy/wydGu7fbdzKvskLPlkP9C0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/K3ytT/btsJFvn8oVy/wydGu7fbdzKvskLPlkP9C0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FK3ytT%2FbtsJFvn8oVy%2FwydGu7fbdzKvskLPlkP9C0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;760&quot; height=&quot;404&quot; data-origin-width=&quot;760&quot; data-origin-height=&quot;404&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;(a) &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;SAM &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;인코더&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;디코더&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 모듈을 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;novel view &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;렌더링 이미지에 적용한 결과와 &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;(b)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;렌더링된&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 직접 디코딩하여 얻은 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;SAM segmentation &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;결과를 비교한 것&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&lt;/span&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1036&quot; data-origin-height=&quot;350&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c2tNhr/btsJD72V10h/enlUl8OILNsKDa4NYRudr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c2tNhr/btsJD72V10h/enlUl8OILNsKDa4NYRudr1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c2tNhr/btsJD72V10h/enlUl8OILNsKDa4NYRudr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2tNhr%2FbtsJD72V10h%2FenlUl8OILNsKDa4NYRudr1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1036&quot; height=&quot;350&quot; data-origin-width=&quot;1036&quot; data-origin-height=&quot;350&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;&lt;/span&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;다음은 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;NeRF&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;-DFF&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;와 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;novel view segmentation &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;결과를 비교한 것이다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;. (&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;SAM)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;span style=&quot;color: #000000;&quot;&gt;Language-guided Editing&lt;/span&gt; &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1184&quot; data-origin-height=&quot;602&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KZWf1/btsJDUJtHdl/tdc8ATnemxPsF8cRtkT6M1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KZWf1/btsJDUJtHdl/tdc8ATnemxPsF8cRtkT6M1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KZWf1/btsJDUJtHdl/tdc8ATnemxPsF8cRtkT6M1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKZWf1%2FbtsJDUJtHdl%2Ftdc8ATnemxPsF8cRtkT6M1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1184&quot; height=&quot;602&quot; data-origin-width=&quot;1184&quot; data-origin-height=&quot;602&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;NeRF&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;-DFF&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;와 언어 기반 편집 결과를 비교한 것이다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AI/논문 리뷰 Paper Review</category>
      <author>해드위그</author>
      <guid isPermaLink="true">https://code731.tistory.com/96</guid>
      <comments>https://code731.tistory.com/96#entry96comment</comments>
      <pubDate>Tue, 17 Sep 2024 17:14:08 +0900</pubDate>
    </item>
    <item>
      <title>4D Gaussian Splatting for Real-Time Dynamic Scene Rendering | 논문 리뷰</title>
      <link>https://code731.tistory.com/95</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;CVPR 2024.&lt;br /&gt;Guanjun Wu, Taoran Yi, Jiemin Fang, Lingxi Xie, Xiaopeng Zhang, Wei Wei, Wenyu Liu, Qi Tian, Xinggang Wang&lt;br /&gt;School of CS | Huazhong University of Science and Technology 2School of EIC | Huazhong University of Science and Technology | Huawei Inc. &lt;br /&gt;15 Jul 2024&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Introduction&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;본 논문은 &lt;b&gt;움직이는 영상&lt;/b&gt;에 대해 scene을 렌더링하는 연구이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Gaussian Splatting 기법을 사용한 Dynamic scene 모델링 연구를 통해 피사체가 움직여도 시간의 변화에 따라 자연스럽게 렌더링할 수 있게 한다.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;기존의 3D-GS를 사용한 방법들은 입력 이미지를 요구 or 메모리와 트레이닝의 문제가 존재&lt;br /&gt;&amp;bull;3D-GS: 정적인 장면 중점&lt;br /&gt;&amp;bull;Dynamic 3D-GS: 입력 이미지 요구 &amp;amp; 메모리 사용량 증가&lt;br /&gt;&amp;bull;Deformable 3DGS: training 비효율적&lt;/blockquote&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;본 논문에서 제안하는 방법론에서는 spatial-temporal structure encoder를 사용해 인접한 서로 다른 3D Gaussian들을 연결하여 보다 정확한 움직임과 모양 변형을 예측할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;궁극적으로 4D Gaussian Splatting 통해 효율적인 학습 효율성과 실시간 렌더링을 얻을 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Method&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;span style=&quot;color: #000000;&quot;&gt;4D Gaussian Splatting Framework&lt;/span&gt; &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1406&quot; data-origin-height=&quot;770&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cGLwKM/btsJEjuTosa/kDSduWpF6Po1NOEMXMuk21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cGLwKM/btsJEjuTosa/kDSduWpF6Po1NOEMXMuk21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cGLwKM/btsJEjuTosa/kDSduWpF6Po1NOEMXMuk21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcGLwKM%2FbtsJEjuTosa%2FkDSduWpF6Po1NOEMXMuk21%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1406&quot; height=&quot;770&quot; data-origin-width=&quot;1406&quot; data-origin-height=&quot;770&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;전체적인 프레임워크를 보자.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;4D Gaussian은 Static한 3D Gaussian을 만든 후, &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;시간에 따른 각 3D Gaussian들의 Position, Rotation, Scaling 변화량을 모델링한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;이 변화량을 Deformation Field로 표현하고, ( 3D Gaussian을 입력으로) 얼마나 변형시켰는지 대해 다음과 같이 출력하는 것을 확인할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;Encoder를 보면 먼저 6가지의 matrix으로 변형되고, 그다음 feature vector로 합쳐지며, MLP를 통과하여 최종 결과 값을 획득하게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;526&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FMYcg/btsJFqG7xbu/LRQ8xWUIAFDLgQGWNTGjm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FMYcg/btsJFqG7xbu/LRQ8xWUIAFDLgQGWNTGjm0/img.png&quot; data-alt=&quot;4D-GS rendering process&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FMYcg/btsJFqG7xbu/LRQ8xWUIAFDLgQGWNTGjm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFMYcg%2FbtsJFqG7xbu%2FLRQ8xWUIAFDLgQGWNTGjm0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;698&quot; height=&quot;526&quot; data-origin-width=&quot;698&quot; data-origin-height=&quot;526&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;4D-GS rendering process&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;NeRF&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;기반의 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;Dynamic Model&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;은 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;ray&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;위에 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;point&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;들을 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;deformation&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;했기 때문에, &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;각 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;point&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;의 서로 다른 속도를 잘 모델링하지 못하여 퀄리티 하락이 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;D Gaussian Splatting&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;에서는 각 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;Gaussian&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;이 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;ray&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;에 의존하지 않고 서로 다른 속도로 이동이 가능하기 때문에&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;시간 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;t&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;에 따라 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;Gaussian&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;의 위치가 이동하면&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;다른 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;ray&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt; 통해 이동된 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;Gaussian&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;을 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;rendering &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;할 수 있게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;span style=&quot;color: #000000;&quot;&gt;Gaussian Deformation Field Network&lt;/span&gt; &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;484&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AxJJv/btsJE8GzWP3/EKIvWlLMgBbjkyK2KzX6i1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AxJJv/btsJE8GzWP3/EKIvWlLMgBbjkyK2KzX6i1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AxJJv/btsJE8GzWP3/EKIvWlLMgBbjkyK2KzX6i1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAxJJv%2FbtsJE8GzWP3%2FEKIvWlLMgBbjkyK2KzX6i1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;826&quot; height=&quot;484&quot; data-origin-width=&quot;826&quot; data-origin-height=&quot;484&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;Multi-resolution &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;HexPlane&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;으로&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;D Gaussian&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;의 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;spatial, temporal &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;값을 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;encoding&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;&amp;nbsp;한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;여러개&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;multi)&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;의 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;Resolution&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;으로&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;Rank&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt; 구성하고 이를 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;MLP&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;의 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;input&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;의 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;feature&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;로 사용한 것이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;i, j&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;에 대한 것은 각 평면의 차원을 의미하고&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;R&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;은 그 차원으로 구성된 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;Rank&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt; 의미한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;interpolation&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;은 타겟 좌표의 주변의 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;Tensor &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;값들로 보간&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;interpolation)&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;한다는 것을 나타낸다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;각 차원에 대해 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;interpolation&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;한 값을 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;concat&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;하여 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;voxel&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;에 대한 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;feature&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;값으로 만들게 된다&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;fx&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;가 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;뉴럴&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;복셀에&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt; 대한 픽셀임&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;618&quot; data-origin-height=&quot;138&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2T3ZV/btsJETpj9Yr/4I0m9Hd7cIHlsoFocWRemK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2T3ZV/btsJETpj9Yr/4I0m9Hd7cIHlsoFocWRemK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2T3ZV/btsJETpj9Yr/4I0m9Hd7cIHlsoFocWRemK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2T3ZV%2FbtsJETpj9Yr%2F4I0m9Hd7cIHlsoFocWRemK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;618&quot; height=&quot;138&quot; data-origin-width=&quot;618&quot; data-origin-height=&quot;138&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;위와 같이 모델링하게 되면&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;공간상과 시간상의 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;x,y&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;평면&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;각각 인접한 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;voxel&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;은 유사한 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;feature&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;들을 나타내고&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;시간상&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;xt&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;평면&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;으로&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt; 인접한 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;voxel&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;들은 유사한 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;feature&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;들을 나타낸다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;484&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Tldc1/btsJFsEZKnc/ycFxmSjO46VwrthgbLN3ek/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Tldc1/btsJFsEZKnc/ycFxmSjO46VwrthgbLN3ek/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Tldc1/btsJFsEZKnc/ycFxmSjO46VwrthgbLN3ek/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTldc1%2FbtsJFsEZKnc%2FycFxmSjO46VwrthgbLN3ek%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;620&quot; height=&quot;484&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;484&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;3D Gaussian&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;들의 모든 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;feature&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;들이 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;인코딩되면&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;decoder&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 사용하여 원하는 변수를 계산할 수 있다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;별도의 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;MLP&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 사용하여&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; position, rotation, scaling&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;의 변형을 계산하면&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 이와 같이 처리됩니다&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;62&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ByoKo/btsJFJsWCVz/JMH3fcRqSGBMZvnLKOvcwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ByoKo/btsJFJsWCVz/JMH3fcRqSGBMZvnLKOvcwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ByoKo/btsJFJsWCVz/JMH3fcRqSGBMZvnLKOvcwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FByoKo%2FbtsJFJsWCVz%2FJMH3fcRqSGBMZvnLKOvcwK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;484&quot; height=&quot;62&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;62&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;80&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wu0W0/btsJEUIygAz/lt4zk1PQgDGR9AYztMA410/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wu0W0/btsJEUIygAz/lt4zk1PQgDGR9AYztMA410/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wu0W0/btsJEUIygAz/lt4zk1PQgDGR9AYztMA410/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwu0W0%2FbtsJEUIygAz%2Flt4zk1PQgDGR9AYztMA410%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;556&quot; height=&quot;80&quot; data-origin-width=&quot;556&quot; data-origin-height=&quot;80&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;최종적으로 변형된 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;D Gaussian&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;을 얻을 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;span style=&quot;color: #000000;&quot;&gt;Optimization&lt;/span&gt; &lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;574&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/biyGb6/btsJFbXE7A0/QxqGaEkuUtB6xrXWdgKuqk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/biyGb6/btsJFbXE7A0/QxqGaEkuUtB6xrXWdgKuqk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/biyGb6/btsJFbXE7A0/QxqGaEkuUtB6xrXWdgKuqk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbiyGb6%2FbtsJFbXE7A0%2FQxqGaEkuUtB6xrXWdgKuqk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;960&quot; height=&quot;574&quot; data-origin-width=&quot;960&quot; data-origin-height=&quot;574&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;3D Gaussian&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;스플래터&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 방법과 동일하게 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;Structure from Motion(&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;SfM&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;포인트 초기화를 통해 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;학습시켜서 퀄리티를 향상한 뒤&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;그 후에 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;dynamic scene&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;을 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;fine-tuning&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;형태로 학습시켰다고 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;336&quot; data-origin-height=&quot;78&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nFbhc/btsJDPOY6WA/kxSnutMdyJ8UjOhYzCnzpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nFbhc/btsJDPOY6WA/kxSnutMdyJ8UjOhYzCnzpk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nFbhc/btsJDPOY6WA/kxSnutMdyJ8UjOhYzCnzpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnFbhc%2FbtsJDPOY6WA%2FkxSnutMdyJ8UjOhYzCnzpk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;336&quot; height=&quot;78&quot; data-origin-width=&quot;336&quot; data-origin-height=&quot;78&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;Loss function&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;은 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;L1 color loss&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 사용하고&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; 그리드 기반 &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;tv&lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;loss &lt;/span&gt;&lt;span style=&quot;color: #3d4144;&quot;&gt;도&lt;span&gt;&amp;nbsp; &lt;/span&gt;추가로 적용하였다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: left;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Experiments&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1124&quot; data-origin-height=&quot;370&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/x6kge/btsJDVBwJZs/zLdMKKZDKZvxhxKH2e0Os0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/x6kge/btsJDVBwJZs/zLdMKKZDKZvxhxKH2e0Os0/img.png&quot; data-alt=&quot;[D-NeRF Synthetic Dataset]&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/x6kge/btsJDVBwJZs/zLdMKKZDKZvxhxKH2e0Os0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fx6kge%2FbtsJDVBwJZs%2FzLdMKKZDKZvxhxKH2e0Os0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1124&quot; height=&quot;370&quot; data-origin-width=&quot;1124&quot; data-origin-height=&quot;370&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;[D-NeRF Synthetic Dataset]&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;916&quot; data-origin-height=&quot;306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mbOq7/btsJF4X1LwV/FIo7Uc8BTZ0VhQ5YhSpe11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mbOq7/btsJF4X1LwV/FIo7Uc8BTZ0VhQ5YhSpe11/img.png&quot; data-alt=&quot;RTX 3090 GPU 800 x 800&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mbOq7/btsJF4X1LwV/FIo7Uc8BTZ0VhQ5YhSpe11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmbOq7%2FbtsJF4X1LwV%2FFIo7Uc8BTZ0VhQ5YhSpe11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;916&quot; height=&quot;306&quot; data-origin-width=&quot;916&quot; data-origin-height=&quot;306&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;RTX 3090 GPU 800 x 800&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;dynamic scene &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;데이터셋 이기 때문에 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;DGS(3D Gaussian Splatting)&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;의 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;PSNR&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;은 낮은 것을 볼 수 있으며&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;이전 &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;dynamic scene &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;연구에 비해 퀄리티가 높고&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;랜더링&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt; 속도가 빠른 것을 볼 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;692&quot; data-origin-height=&quot;508&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r2JZd/btsJEo4oXdp/924BH7ZZpLSThlHiNUTo01/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r2JZd/btsJEo4oXdp/924BH7ZZpLSThlHiNUTo01/img.png&quot; data-alt=&quot;rendering speed and numbers of 3D Gaussians&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r2JZd/btsJEo4oXdp/924BH7ZZpLSThlHiNUTo01/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr2JZd%2FbtsJEo4oXdp%2F924BH7ZZpLSThlHiNUTo01%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;692&quot; height=&quot;508&quot; data-origin-width=&quot;692&quot; data-origin-height=&quot;508&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;rendering speed and numbers of 3D Gaussians&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AI/논문 리뷰 Paper Review</category>
      <category>Gaussian Splatting</category>
      <category>Paper review</category>
      <author>해드위그</author>
      <guid isPermaLink="true">https://code731.tistory.com/95</guid>
      <comments>https://code731.tistory.com/95#entry95comment</comments>
      <pubDate>Wed, 4 Sep 2024 14:18:48 +0900</pubDate>
    </item>
    <item>
      <title>2D Gaussian Splatting for Geometrically Accurate Radiance Fields | 논문 리뷰</title>
      <link>https://code731.tistory.com/94</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;SIGGRAPH 2024.&lt;br /&gt;BINBIN HUANG, ZEHAO YU, ANPEI CHEN, ANDREAS GEIGER, SHENGHUA GAO&lt;br /&gt;ShanghaiTech University | University of T&amp;uuml;bingen T&amp;uuml;bingen AI Center |&amp;nbsp;&lt;br /&gt;9 Jun 2024&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;3D-GS 방법은 NeRF 보다 유리하지만, pointcloud 의 변형에 가까운 특성상 mesh 로 만드는 것 은 어렵고, 실사용하기엔 무리가 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;실사용할 정도의 성능을 내는 2D-GS에 대해 알아보자.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;Introduction&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;3D-GS의 &lt;span style=&quot;color: #000000;&quot;&gt;Challenges in Surface Reconstruction&lt;/span&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #212529;&quot;&gt;Thin Surface&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;배우기 어렵다&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;Surface Normal&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;을 배우지 않는다&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;. -&amp;gt; &lt;span style=&quot;color: #212529;&quot;&gt;high-quality surface&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;reconstruction&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;할 수 없다&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;Multi-View Consistency&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;가 부족하다&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;. -&amp;gt; &lt;span style=&quot;color: #212529;&quot;&gt;각기 다른&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;viewpoint&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;에서 다양한&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;D intersection surface&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;가 발생하는 문제 발생&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;Affine Projection&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;이 정확하지 않다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;300&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4BXhD/btsJDtystaT/DU2FDxUyjZrZq1DCMcv7A1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4BXhD/btsJDtystaT/DU2FDxUyjZrZq1DCMcv7A1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4BXhD/btsJDtystaT/DU2FDxUyjZrZq1DCMcv7A1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4BXhD%2FbtsJDtystaT%2FDU2FDxUyjZrZq1DCMcv7A1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;786&quot; height=&quot;300&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;300&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Perspective-accurate 2D splatting &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 안정적인 최적화 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;thin surface &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;표현 확보&lt;/span&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt; &lt;span style=&quot;color: #000000;&quot;&gt;2D Gaussian Splatting&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;Modeling&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;898&quot; data-origin-height=&quot;506&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eH9301/btsJDnZn2RM/05L9vPq7iYSMSo3wg6Z250/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eH9301/btsJDnZn2RM/05L9vPq7iYSMSo3wg6Z250/img.png&quot; data-alt=&quot;Planner disk 형태의 2D Gaussian&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eH9301/btsJDnZn2RM/05L9vPq7iYSMSo3wg6Z250/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeH9301%2FbtsJDnZn2RM%2F05L9vPq7iYSMSo3wg6Z250%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;898&quot; height=&quot;506&quot; data-origin-width=&quot;898&quot; data-origin-height=&quot;506&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Planner disk 형태의 2D Gaussian&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본 논문에서 제안하는 방법은, flat&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;한&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;2D Gaussian(surfels)으&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;로 이루어진&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;scene&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;을 학습시키자는 것이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;662&quot; data-origin-height=&quot;174&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/XX29r/btsJEQeVBwt/bPyGv5MnHKGT94zgUzuOvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/XX29r/btsJEQeVBwt/bPyGv5MnHKGT94zgUzuOvK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/XX29r/btsJEQeVBwt/bPyGv5MnHKGT94zgUzuOvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXX29r%2FbtsJEQeVBwt%2FbPyGv5MnHKGT94zgUzuOvK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;662&quot; height=&quot;174&quot; data-origin-width=&quot;662&quot; data-origin-height=&quot;174&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;2D Gaussian&lt;/span&gt;의 구성을 먼저 보면&lt;span&gt;,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;[&lt;/span&gt;중점&lt;span&gt;&amp;nbsp;&lt;i&gt;pk&lt;/i&gt;​, &lt;/span&gt;두개의 &lt;span&gt;tangetial &lt;/span&gt;탄젠셜&lt;span&gt; vector&amp;nbsp;(&lt;i&gt;tu&lt;/i&gt;​,&lt;i&gt;tv&lt;/i&gt;​), &lt;/span&gt;스케일링 벡터&lt;span&gt;, normal&lt;/span&gt;&amp;nbsp;벡터] 로 구성이 되어있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2D Gaussian은 &lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;local tangent plane&amp;nbsp;&lt;i&gt;P&lt;/i&gt;&amp;nbsp;&lt;/span&gt;에서 정의할 수 있으며&lt;span&gt;, &lt;/span&gt;이때 &lt;span&gt;plane&amp;nbsp;&lt;i&gt;P&lt;/i&gt;&amp;nbsp;&lt;/span&gt;는 위와 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;440&quot; data-origin-height=&quot;162&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lVL2b/btsJFKdY4EW/4NMiVXBDAr7y3GuRjqkov0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lVL2b/btsJFKdY4EW/4NMiVXBDAr7y3GuRjqkov0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lVL2b/btsJFKdY4EW/4NMiVXBDAr7y3GuRjqkov0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlVL2b%2FbtsJFKdY4EW%2F4NMiVXBDAr7y3GuRjqkov0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;440&quot; height=&quot;162&quot; data-origin-width=&quot;440&quot; data-origin-height=&quot;162&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;따라서&lt;span&gt;&amp;nbsp;&lt;i&gt;uv&lt;/i&gt;&amp;nbsp;frame &lt;/span&gt;에서 &lt;span&gt;2D Gaussian &lt;/span&gt;을 위와 같은 &lt;span&gt;standard 2D Gaussian fucntion &lt;/span&gt;으로 표현된다&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;Splatting&lt;/span&gt;&lt;/h3&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;2D-to-2D Projections in Homogeneous Coordinates&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;2D GS &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;의 저자들은&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt; 2&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;D Gaussians projection &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;으로 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;homogeneous&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt; coordinates &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt; 이용한 일반적인 &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #212529;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;D-to-2D mapping&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;을 사용할 것을 제안한다&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;World-to-screen transformation matrix&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;W&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;에 대하여 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;(2D) &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;상의 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;point&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;는 다음과 같은 관계를 갖는다&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;892&quot; data-origin-height=&quot;118&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UW71W/btsJEnxhrZa/iR1CMbhNH1fOhglyVcE5yK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UW71W/btsJEnxhrZa/iR1CMbhNH1fOhglyVcE5yK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UW71W/btsJEnxhrZa/iR1CMbhNH1fOhglyVcE5yK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUW71W%2FbtsJEnxhrZa%2FiR1CMbhNH1fOhglyVcE5yK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;892&quot; height=&quot;118&quot; data-origin-width=&quot;892&quot; data-origin-height=&quot;118&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;이는 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;camera space &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;에서의 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;point&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;에서의 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;c2w direction ray &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;가 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;D splats &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;과 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;depth &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;z&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;에서 교차한다는 의미이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000; text-align: center;&quot;&gt;Ray-Splat Intersection&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;334&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dD653Q/btsJEpojpwU/okmgDya3a74rIgOpikoZDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dD653Q/btsJEpojpwU/okmgDya3a74rIgOpikoZDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dD653Q/btsJEpojpwU/okmgDya3a74rIgOpikoZDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdD653Q%2FbtsJEpojpwU%2FokmgDya3a74rIgOpikoZDk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;786&quot; height=&quot;334&quot; data-origin-width=&quot;786&quot; data-origin-height=&quot;334&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;따라서 저자들은 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;ray-splat &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;의 교점을 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;개의 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;non-parallel plane (&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;plane,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;-homogeneous plane,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;-homogeneous plane) &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;의 교점을 구하는 방법으로 이를 해결한다&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;image coordinate&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;에 대하여&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;우리는 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;ray&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;=(&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt; 두 &lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #212529;&quot;&gt;homogeneous&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;x&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;i&gt;-plane&lt;/i&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;h&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;​=(&amp;minus;1,0,0,&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;와&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #212529;&quot;&gt;y&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;i&gt;-plane&lt;/i&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;h&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;​=(&amp;minus;1,0,0,&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;사이의 교선으로 정의할 수 있으며&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;world space &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;에서 정의된 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;i&gt;homogeneous plane&lt;/i&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;h&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;​&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;와&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;h&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;​&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;-space &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;상으로 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;tranform&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;하여 교점을 구한다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;i&gt;homogeneous plane &lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;을&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;space &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;상의로 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;transform &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;하여 구한 두 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&lt;i&gt;plane&lt;/i&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;h&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;u&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;​&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;h&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;​&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;은 다음과 같으며&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;706&quot; data-origin-height=&quot;128&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Hwxco/btsJF9q3K9Q/VhiJrxKwsjtbdEKbfzlijk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Hwxco/btsJF9q3K9Q/VhiJrxKwsjtbdEKbfzlijk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Hwxco/btsJF9q3K9Q/VhiJrxKwsjtbdEKbfzlijk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHwxco%2FbtsJF9q3K9Q%2FVhiJrxKwsjtbdEKbfzlijk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;706&quot; height=&quot;128&quot; data-origin-width=&quot;706&quot; data-origin-height=&quot;128&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;screen space&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt; 지나는 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;c2w direction ray &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;와 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;D Gaussian Splats &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;의 교점은 위와 같이 구할 수 있다&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Ray x&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;와 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;u,v&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #000000;&quot;&gt; plane&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #000000;&quot;&gt;의 교차점도 찾을 수 있다&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Degenerate Solutions&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;안정적인 최적화와 원활한 렌더링을 위해 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;Low-pass filter&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt; 기반으로&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;lower-bounded&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;Gaussian을&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;취득한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;590&quot; data-origin-height=&quot;112&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cd8Pob/btsJF7Nx8U1/gQKPKBJIu0lyA7dnDiVsVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cd8Pob/btsJF7Nx8U1/gQKPKBJIu0lyA7dnDiVsVK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cd8Pob/btsJF7Nx8U1/gQKPKBJIu0lyA7dnDiVsVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcd8Pob%2FbtsJF7Nx8U1%2FgQKPKBJIu0lyA7dnDiVsVK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;590&quot; height=&quot;112&quot; data-origin-width=&quot;590&quot; data-origin-height=&quot;112&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Rasterization&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;누적 불투명도가 최종적으로 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이 될 때까지 다음의 과정을 반복한다&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 Gaussian에 대해 screen bounding box를 계산한다.&lt;/li&gt;
&lt;li&gt;2D Gaussian들을 각 중심점을 depth를 기준으로 정렬한다.&lt;/li&gt;
&lt;li&gt;이후 bounding box 기반의 tile 구성&lt;/li&gt;
&lt;li&gt;아래 식에 따라 volumetric alpha blending 수행한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;696&quot; data-origin-height=&quot;126&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m9pmZ/btsJEQTlFgF/ry7nnKIMadREVH4iA71vlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m9pmZ/btsJEQTlFgF/ry7nnKIMadREVH4iA71vlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m9pmZ/btsJEQTlFgF/ry7nnKIMadREVH4iA71vlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm9pmZ%2FbtsJEQTlFgF%2Fry7nnKIMadREVH4iA71vlK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;696&quot; height=&quot;126&quot; data-origin-width=&quot;696&quot; data-origin-height=&quot;126&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Training&lt;/h3&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Depth Distortion&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;3D-&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;GS &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;의 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;volume rendering &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;은 교차하는 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;splats &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;간의 거리 차이를 고려하지 않는다&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;그렇기 때문에 널리 퍼진 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;gaussian splats &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;들은 비슷한 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;color&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;와 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;depth&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt; 가질 수 있으며&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;이는 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;surface reconstruction &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;을 어렵게&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;한다&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;442&quot; data-origin-height=&quot;144&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/F2i7N/btsJDYR5YPq/7kNutZVd0bFDSJiAGZxwgK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/F2i7N/btsJDYR5YPq/7kNutZVd0bFDSJiAGZxwgK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/F2i7N/btsJDYR5YPq/7kNutZVd0bFDSJiAGZxwgK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FF2i7N%2FbtsJDYR5YPq%2F7kNutZVd0bFDSJiAGZxwgK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;442&quot; height=&quot;144&quot; data-origin-width=&quot;442&quot; data-origin-height=&quot;144&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Ray-splat intersection&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 간 거리를 최소화하는 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;loss&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 제안한다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;66&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DIPBJ/btsJDzL7uhJ/1jZsrtMWukc4lSEDaiCEiK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DIPBJ/btsJDzL7uhJ/1jZsrtMWukc4lSEDaiCEiK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DIPBJ/btsJDzL7uhJ/1jZsrtMWukc4lSEDaiCEiK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDIPBJ%2FbtsJDzL7uhJ%2F1jZsrtMWukc4lSEDaiCEiK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;716&quot; height=&quot;66&quot; data-origin-width=&quot;716&quot; data-origin-height=&quot;66&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;W&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;는 &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Blending weight이다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #212529; text-align: left;&quot;&gt;Normal Consistency&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #212529;&quot;&gt;모든 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;D splats&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;이 실제 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;surface &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;와 정렬되도록 하는 &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;normal-consistency loss &lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt; 제시한다&lt;/span&gt;&lt;span style=&quot;color: #212529;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;반투명 물체의 잘못된 렌더링으로 normal 값이 일관되지 않는다.&lt;/li&gt;
&lt;li&gt;누적 불투명도가 0.5이상 나왔을 때부터,&amp;nbsp;loss를 통해 regularization을&amp;nbsp;수행한다&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;370&quot; data-origin-height=&quot;120&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/y08bc/btsJDGqPeRc/j2fUtBl34Xto90H7BtYTE0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/y08bc/btsJDGqPeRc/j2fUtBl34Xto90H7BtYTE0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/y08bc/btsJDGqPeRc/j2fUtBl34Xto90H7BtYTE0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fy08bc%2FbtsJDGqPeRc%2Fj2fUtBl34Xto90H7BtYTE0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;370&quot; height=&quot;120&quot; data-origin-width=&quot;370&quot; data-origin-height=&quot;120&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;448&quot; data-origin-height=&quot;124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kF5wW/btsJDpXf2Ki/3lLiHGAT1D5rRFhW8WvHPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kF5wW/btsJDpXf2Ki/3lLiHGAT1D5rRFhW8WvHPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kF5wW/btsJDpXf2Ki/3lLiHGAT1D5rRFhW8WvHPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkF5wW%2FbtsJDpXf2Ki%2F3lLiHGAT1D5rRFhW8WvHPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;448&quot; height=&quot;124&quot; data-origin-width=&quot;448&quot; data-origin-height=&quot;124&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Final Loss는 다음과 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;398&quot; data-origin-height=&quot;90&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/co3jnw/btsJDRZV87z/LHE126TmAUuEkUkCDiwSP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/co3jnw/btsJDRZV87z/LHE126TmAUuEkUkCDiwSP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/co3jnw/btsJDRZV87z/LHE126TmAUuEkUkCDiwSP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fco3jnw%2FbtsJDRZV87z%2FLHE126TmAUuEkUkCDiwSP1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;398&quot; height=&quot;90&quot; data-origin-width=&quot;398&quot; data-origin-height=&quot;90&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;Experience&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;PSNR &lt;/span&gt;자체는 이전 연구에 비해 뛰어나지 않지만&lt;span&gt;, &lt;/span&gt;본 논문의 연구 성능은 정성평가를 했을 때 확연히 보인다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;938&quot; data-origin-height=&quot;454&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/q1bhe/btsJDRZV9bS/4C0ExCcTqbSLVIu1rz8nGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/q1bhe/btsJDRZV9bS/4C0ExCcTqbSLVIu1rz8nGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/q1bhe/btsJDRZV9bS/4C0ExCcTqbSLVIu1rz8nGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fq1bhe%2FbtsJDRZV9bS%2F4C0ExCcTqbSLVIu1rz8nGk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;938&quot; height=&quot;454&quot; data-origin-width=&quot;938&quot; data-origin-height=&quot;454&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;452&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqibPo/btsJDSkdZGh/fCX2vKRvSly8ZN8fe3ALC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqibPo/btsJDSkdZGh/fCX2vKRvSly8ZN8fe3ALC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqibPo/btsJDSkdZGh/fCX2vKRvSly8ZN8fe3ALC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqibPo%2FbtsJDSkdZGh%2FfCX2vKRvSly8ZN8fe3ALC0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;820&quot; height=&quot;452&quot; data-origin-width=&quot;820&quot; data-origin-height=&quot;452&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AI/논문 리뷰 Paper Review</category>
      <category>2d-gs</category>
      <category>Gaussian Splatting</category>
      <category>gs논문</category>
      <category>Paper review</category>
      <category>논문리뷰</category>
      <author>해드위그</author>
      <guid isPermaLink="true">https://code731.tistory.com/94</guid>
      <comments>https://code731.tistory.com/94#entry94comment</comments>
      <pubDate>Sun, 1 Sep 2024 16:05:12 +0900</pubDate>
    </item>
    <item>
      <title>3D Gaussian Splatting for Real-Time Radiance Field Rendering | 논문 리뷰</title>
      <link>https://code731.tistory.com/93</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;SIGGRAPH 2023.&lt;br /&gt;Bernhard Kerbl, Georgios Kopanas, Thomas Leimk&amp;uuml;hler, George Drettakis&lt;br /&gt;Inria | Max-Planck-Institut f&amp;uuml;r Informatik&lt;br /&gt;8 Aug 2023&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3D scene representation 분야에서 NeRF 보다 성능이 좋고, 요즘 떠오르는 방법인 Gaussian splatting에 대해 알아보자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;요약&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3D Gaussian 을 사용하여 scene을 나타냄.&lt;/li&gt;
&lt;li&gt;기존의 NeRF 기반 방법보다 더 좋은 성능 -&amp;gt; Rendering speed가 real-time으로 수행될 수 있을 만큼 빠름.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Introduction&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;NeRF 방법 :&lt;br /&gt;- 3D scene을 continuous scene으로 표현&lt;br /&gt;- volumetric Ray-marching 을 활용하여 MLP를 학습함으로써 3D 공간을 implicit하게 표현&lt;br /&gt;- 최신의 NeRF 모델들은 continuous한 표현을 위해, voxel grid (Plenoxels)나 hash grid (InstantNGP) 혹은 point 내에서 정의된 feature들을 interpolation하는 방식을 사용&lt;br /&gt;- NeRF는 rendering시 각 ray마다 3D point를 stochastic하게 sampling -&amp;gt; training 및 rendering time cost가 큼.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본 논문에서는 Rasterization과 Ray-marching의 장점을 둘 다 가지는 3D Guassian 기반의 모델을 제안한다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;* Rasterization : Mesh와 Point를 이용해 3D 공간의 정보를 2D pixel screend으로 표현 / 3D 공간을 explicit하게 표현&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;* Ray-marching : 현실에서 물체에 비친 ray를 통해 눈에 상이 맺히는 과정을 묘사하여 3D scene을 최적화&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 방법은 3가지의 main component로 구성된다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;3D gaussian을 통한 scene representation&lt;/b&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;u&gt;SfM&lt;/u&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;process에서 추출된 point cloud를 초기 initial set으로 활용&lt;/li&gt;
&lt;li&gt;3D gaussian은 &lt;u&gt;differentiable volumetric representation&lt;/u&gt;이 가능&lt;/li&gt;
&lt;li&gt;&lt;u&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;$&amp;alpha;$&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;-blending&lt;/u&gt;을 통해 NeRF와 비슷한 image formation model을 활용하여 3D to 2D projection을 효율적으로 수행 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;3D gaussian properties의 최적화&lt;/b&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;이 방법에서 최적화는 3D gaussian의&lt;i&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;3D position, opacity&lt;span&gt; $&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;alpha;$&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, anisotropic covariance (gaussian의 shape와 spread), spherical harmonic coefficient (lightening과 shading)&lt;/i&gt;에 대한 최적화를 포함&lt;/li&gt;
&lt;li&gt;위의 특성들을 최적화할때,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;adaptive density control&lt;/u&gt;을 사용하여 gaussian을 추가하거나 제거하는 과정을 거치는데, 이를 통해 compact하고 precise한 representation을 수행 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;b&gt;Real-time rendering&lt;/b&gt;&lt;/b&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;GPU sorting algorithm과 tile-based rasterization을 활용&lt;/li&gt;
&lt;li&gt;&lt;u&gt;Tile-based rasterization&lt;/u&gt;은 이미지를 몇 개의 tile block으로 나누어 각 tile을 독립적으로 rendering하여 속도가 빠름&lt;/li&gt;
&lt;li&gt;3D gaussian representation의 특성 덕분에 각 splat (=gaussian)이 어떤 방향성을 가지게 되는데 (&lt;i&gt;anisotropic splatting&lt;/i&gt;), 이러한 3D gaussian들의 shape와 orientation이 2D screen으로 projection될 때 반영되기 때문에 더욱 현실적인 표현이 가능해지고, fast/accurate backward pass 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Overview&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1388&quot; data-origin-height=&quot;302&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJmJH8/btsJoAiVOHy/BrijJtNekizCKimPywKu2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJmJH8/btsJoAiVOHy/BrijJtNekizCKimPywKu2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJmJH8/btsJoAiVOHy/BrijJtNekizCKimPywKu2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJmJH8%2FbtsJoAiVOHy%2FBrijJtNekizCKimPywKu2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1388&quot; height=&quot;302&quot; data-origin-width=&quot;1388&quot; data-origin-height=&quot;302&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전체적인 흐름을 먼저 보면,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본 논문의 목표는 sparse한 SfM 점 집합에서 시작하여 고품질의 새로운 뷰를 합성하는 장면 표현을 최적화 하는 것이다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #555555; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #666666;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Initialization : input은 이미지셋과 &lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;SfM알고리즘에서 얻어진 point cloud를 사용한다.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: left;&quot;&gt;&amp;nbsp;&lt;/span&gt;COLMAP과 같은 SfM알고리즘은 Camera Pose뿐만 아니라 Point Cloud 정보도 같이 얻을 수 있다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;SfM : Structure from Motion?&lt;/b&gt;&lt;br /&gt;2차원 영상으로부터 3차원 정보를 추출하여 3D로 재구성하는 (structure = 3D structure, motion = camera pose) 것을 Structure from Motion(SfM)이라 함.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;3D Gaussian 정의
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;Position (mean): 3D space에서 gaussian의 center point를 의미&lt;/li&gt;
&lt;li&gt;Covariance matrix: Gaussian의 spread를 의미하며, shape을 결정&lt;/li&gt;
&lt;li&gt;Opacity&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;alpha;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;: Gaussian의 투명도를 결정&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;=&amp;gt; 각 gaussian의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;directional appearance (color)&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;는 spherical harmonics (SH)를 통해 표현&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;Spherical harmonics?&lt;/b&gt;&lt;br /&gt;원래 양자역학에서 주로 사용되는 방법, Computer graphics 분야에서는 directional appearance (color) 값을 계산할 때 자주 사용되는 방법.&lt;br /&gt;구면 좌표계에서 laplace equation의 해를 표현하는 방법, 최근에는 많은 연구가 이러한 개념을 사용하여 서로 다른 각도에서 light interaction을 고려한 color를 표현하고 있으며, 본 논문도 이 개념을 차용함.&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc; color: #555555; text-align: start;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc; color: #666666;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Projection : 3D Gaussian이 (Camera에서 z축으로 거리가 1만큼 떨어진) Image Plane으로 Projection되어 2D Gaussian형태가 된다. 이 과정은 GT 입력 이미지와 비교하여 parameter를 업데이트하기 위함임. (3D 공간의 정보를 2D 이미지로 투영하는 과정)&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #666666;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Differentiable Tile Rasterizer : 미분 가능한형태의 Tile Rasterization을 통해 2D Gaussian들을 하나의 Image로 생성한다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #666666;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Gradient Flow : 생성된 이미지와 GT 이미지의 Loss를 계산하고 Loss만큼 Gradient를 전파한다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc; color: #666666;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Adaptive Density Control : Gradient를 기반으로 Gaussian의 형태를 변화시킨다.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;DIFFERENTIABLE 3D GAUSSIAN SPLATTING&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;본 논문의 저자들은 미분 가능하고, 쉽게 2D projection이 가능한 3D gaussian을 선택하여&lt;span&gt; $&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;alpha;$-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;blending을 이용한 빠른 rendering을 가능하게 하였다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;또한, 이전의 방법들이 어떤 planar circle과 normal vector로 2D point를 모델링한 것과 다르게 3D gaussian은 normal vector를 필요로 하지 않기 때문에, sparse한 SfM point로부터 어려운 task인 normal estimation을 하지 않아도 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3D Gaussian Define&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 3D gaussian은 world space에서 covariance matrix&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;Sigma;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;로 정의되며, mean&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;mu;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;를 center point&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;로 갖는다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;420&quot; data-origin-height=&quot;90&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xpUbf/btsJoZYcnce/ohdEERUzcjhaCvMJKAkkAk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xpUbf/btsJoZYcnce/ohdEERUzcjhaCvMJKAkkAk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xpUbf/btsJoZYcnce/ohdEERUzcjhaCvMJKAkkAk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxpUbf%2FbtsJoZYcnce%2FohdEERUzcjhaCvMJKAkkAk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;420&quot; height=&quot;90&quot; data-origin-width=&quot;420&quot; data-origin-height=&quot;90&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;이 gaussian은 blending 과정에서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;alpha;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;가 곱해진다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래의 수도코드 기반으로 본 논문의 방법을 알아보자.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1448&quot; data-origin-height=&quot;1430&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2R6Am/btsJoWtF6WK/m8cKVQL1Rlz7k2kThfVGJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2R6Am/btsJoWtF6WK/m8cKVQL1Rlz7k2kThfVGJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2R6Am/btsJoWtF6WK/m8cKVQL1Rlz7k2kThfVGJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2R6Am%2FbtsJoWtF6WK%2Fm8cKVQL1Rlz7k2kThfVGJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1448&quot; height=&quot;1430&quot; data-origin-width=&quot;1448&quot; data-origin-height=&quot;1430&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;첫번째 빨간 박스 부분은 변수를 초기화 하는 부분이다.&lt;/li&gt;
&lt;li&gt;두번째 파란 박스 부분은 입력을 받아 inference후, loss를 계산하고, update하는 부분이다.&lt;/li&gt;
&lt;li&gt;세번째 초록 박스 부분은 특정 iteration 마다 Gaussian을 remove, clone, split하는 부분이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 부분을 자세히 살펴보자.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;Initialization&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1318&quot; data-origin-height=&quot;282&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xVrJr/btsJpmrQTop/7UmwEECkEIojyFkno9zktK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xVrJr/btsJpmrQTop/7UmwEECkEIojyFkno9zktK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xVrJr/btsJpmrQTop/7UmwEECkEIojyFkno9zktK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxVrJr%2FbtsJpmrQTop%2F7UmwEECkEIojyFkno9zktK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1318&quot; height=&quot;282&quot; data-origin-width=&quot;1318&quot; data-origin-height=&quot;282&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;M,S,C,A는 학습 Parameter에 해당한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;M&lt;/u&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;은 SfM으로 획득한 Point Cloud을 의미한다. 3D Gaussian은 평균과 공분산으로 구성이 되는데, Point Cloud의 point점들이 초기 3D Gaussian들의 평균값으로 사용된다. -&amp;gt; Point Cloud의 Point 갯수만큼 3D Gaussian이 생성&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;S&lt;/u&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;는 3D Gaussian의 Covariance Matrix로써, 3x3의 행렬, 논문 수식에서는 Scale Matrix &lt;i&gt;S&lt;/i&gt;와 Rotation Matrix &lt;i&gt;R&lt;/i&gt;로 구성된 &amp;Sigma;로 나타남.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;374&quot; data-origin-height=&quot;150&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mK2Eu/btsJqi92Cs7/pATJmdpfbZTawfUc3gw570/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mK2Eu/btsJqi92Cs7/pATJmdpfbZTawfUc3gw570/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mK2Eu/btsJqi92Cs7/pATJmdpfbZTawfUc3gw570/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmK2Eu%2FbtsJqi92Cs7%2FpATJmdpfbZTawfUc3gw570%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;374&quot; height=&quot;150&quot; data-origin-width=&quot;374&quot; data-origin-height=&quot;150&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #666666; text-align: left;&quot;&gt;이렇게 설계된 이유에 대해서 설명하자면, 랜더링을 위해 3D Gaussian이 2D Gaussian으로 Projection 되어질 때 Covariance Matrix가 Positive Definite를 만족하기 위함이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;112&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/efQAQ3/btsJpsFxnPf/Rr507mBxrriWfLXs9Regsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/efQAQ3/btsJpsFxnPf/Rr507mBxrriWfLXs9Regsk/img.png&quot; data-alt=&quot;3D Gaussian을 2D Gaussian으로 Projection하는 수식&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/efQAQ3/btsJpsFxnPf/Rr507mBxrriWfLXs9Regsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FefQAQ3%2FbtsJpsFxnPf%2FRr507mBxrriWfLXs9Regsk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;762&quot; height=&quot;112&quot; data-origin-width=&quot;762&quot; data-origin-height=&quot;112&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;3D Gaussian을 2D Gaussian으로 Projection하는 수식&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;Rendering을 위해서는 &lt;/span&gt;&lt;b&gt;3D gaussian을 2D로 projection&lt;/b&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;시켜야하는데,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;viewing transformation&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;W&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;를 통해 camera coordinate에서 2D covariance matrix&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;Sigma;&lt;/span&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;prime;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffff; color: #212529; text-align: start;&quot;&gt;를 얻게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;C&lt;/u&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;는 3D Gaussian의 Color값을 의미,&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;A&lt;/u&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;는 3D Gaussian의 투명도값을 의미하며 단일 실수값이다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;Optimization&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1714&quot; data-origin-height=&quot;344&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tw3s4/btsJqFqoV47/K7BC9fkkCJLu4y4IRv2Zw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tw3s4/btsJqFqoV47/K7BC9fkkCJLu4y4IRv2Zw0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tw3s4/btsJqFqoV47/K7BC9fkkCJLu4y4IRv2Zw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ftw3s4%2FbtsJqFqoV47%2FK7BC9fkkCJLu4y4IRv2Zw0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1714&quot; height=&quot;344&quot; data-origin-width=&quot;1714&quot; data-origin-height=&quot;344&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1: 정답 이미지 I헷과 해당 이미지의 Camera Pose정보 V를 읽어온다.&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2: M(mean=xyz), S(Covariance), C(Color), A(투명도), V(카메라포즈)를 입력으로 받아 &lt;b&gt;Rasterization&lt;/b&gt;하여 predicted된 Image를 만든다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1362&quot; data-origin-height=&quot;1114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zW8mD/btsJqdgD2PR/06wZrPJQgQKRfXbZlUtj5k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zW8mD/btsJqdgD2PR/06wZrPJQgQKRfXbZlUtj5k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zW8mD/btsJqdgD2PR/06wZrPJQgQKRfXbZlUtj5k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzW8mD%2FbtsJqdgD2PR%2F06wZrPJQgQKRfXbZlUtj5k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1362&quot; height=&quot;1114&quot; data-origin-width=&quot;1362&quot; data-origin-height=&quot;1114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;b&gt;Rasterization&lt;/b&gt; : 3D 공간 상에 있는 물체의 형상을 2D 공간 상에 매핑을 하여 표현하는 과정&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;먼저, 16x16 tile로 쪼갠 후, 각각의 타일에 이미지를 구성하게 되는 Gaussian 덩어리들을 선별하는 과정을 거친다. (선별 시 view frusturm 방법 사용 ex: 너무 가까운 애들 제거)&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;CUDA에서 병렬적으로 Threading, &lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;각&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;instance들은&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&amp;nbsp;View space depth&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;와&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;tile ID&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;로&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;조합하여&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(dictionary) key K&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;로&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;만들게 된다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;Key를 Sort 처리하여 카메라와 가까운 Gaussian을 먼저 그리도록 한다. (연산 효율 높아짐.)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;앞쪽부터 뒤쪽까지 훑어가며 이미지 얻어냄.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3: predicted된 이미지와 GT이미지를 비교하여 Loss를 계산, &lt;span&gt;Loss&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;함수는&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;L1&lt;/span&gt;&lt;span&gt;과&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;D-SSIM&lt;/span&gt;&lt;span&gt;로&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;설계 되었고, &lt;/span&gt;&lt;span&gt;&amp;lambda;는&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;0.2이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4: Adam Optimizer로 M, S, C, A값을 업데이트 한다.&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;Adaptive Control of Gaussians&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1312&quot; data-origin-height=&quot;1188&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ndocT/btsJqGiyRNB/OkqKuY1Q3lgBevdJTPWICk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ndocT/btsJqGiyRNB/OkqKuY1Q3lgBevdJTPWICk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ndocT/btsJqGiyRNB/OkqKuY1Q3lgBevdJTPWICk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FndocT%2FbtsJqGiyRNB%2FOkqKuY1Q3lgBevdJTPWICk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1312&quot; height=&quot;1188&quot; data-origin-width=&quot;1312&quot; data-origin-height=&quot;1188&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;Scene에 맞게 3D Gaussian들을 adaptive하게 변형시키는 단계이다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt; 앞서 언급한 M,S,C,A paramter들은 매 iteration마다 update되지만, 초록색부분은 100 iteration마다 수행된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;3D Gaussian이 &lt;b&gt;Remove/Split/Clone&lt;/b&gt;하게 되는데, 이를 &lt;b&gt;densification&lt;/b&gt;한다고 표현한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;b&gt;Remove: &lt;/b&gt;특정 threshold(=&amp;epsilon;) 보다 낮은 alpha값(=&amp;alpha;=투명도)을 가진 Gaussian은 제거된다. 코드상 threshold == 0.005&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1560&quot; data-origin-height=&quot;770&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/diBqAx/btsJqHaGFrJ/moiIK2GkTc41OzOHteh2HK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/diBqAx/btsJqHaGFrJ/moiIK2GkTc41OzOHteh2HK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/diBqAx/btsJqHaGFrJ/moiIK2GkTc41OzOHteh2HK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdiBqAx%2FbtsJqHaGFrJ%2FmoiIK2GkTc41OzOHteh2HK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1560&quot; height=&quot;770&quot; data-origin-width=&quot;1560&quot; data-origin-height=&quot;770&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;Remove Gaussian을 단계를 거친 후,&lt;span&gt; under/over - Reconstruction 영역에 대한 처리를 진행하게 된다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;view-space position gradient&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;의&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;평균 크기(=average magnitude)가&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;특정&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Thresould(=0.0002)이상이 된다&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;면&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;Gaussian&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;들을&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Clone 또는 Split합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Clone&lt;/b&gt;: Under-Reconstruction 영역에 대해서, 작은 크기의 (=covariance가 작은) 3D Gaussian들은 같은 크기로 copy되고, positional gradient의 방향에 배치.&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;b&gt;Split&lt;/b&gt;: Over-Reconstruction 영역에 대해서, 큰 크기의&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;(=covariance가 큰)&amp;nbsp;&lt;/span&gt;3D Gaussian&lt;/span&gt;&lt;span&gt;들이&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;작은&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Gaussian&lt;/span&gt;&lt;span&gt;으로&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;분해된다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;개의&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Gaussian&lt;/span&gt;&lt;span&gt;을&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;2&lt;/span&gt;&lt;span&gt;개의&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Gaussian&lt;/span&gt;&lt;span&gt;으로&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;분리하게&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;되는데&lt;/span&gt;&lt;span&gt;, scale&lt;/span&gt;&lt;span&gt;을&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;1.6(=실험적으로 결정한값)&lt;/span&gt;&lt;span&gt;으로&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;나누는 형태로 계산된다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #555555; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;이때, Gaussian의 갯수가 무작위로 증가하게 되는데, &lt;u&gt;3000 iteration 마다 alpha 값을 0으로 초기화&lt;/u&gt; 해준다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;주기적으로 alpha 값이 0으로 초기화 되면서 큰 크기의 Gaussian들이 중첩되는 케이스를 제거해준다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;M,S,C,A를 Optimization하는 단계에서 100 iteration동안 alpha값은 0이 아닌 값으로 바뀌게 되며, 100 iteration후에 Gaussian Densification단계에서 Remove Gaussian연산을 통해 원치 않는 값들이 제거된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;=&amp;gt; 전체 Gaussian 조절에 큰 역할을 하는 전략임.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Evaluation&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1426&quot; data-origin-height=&quot;236&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dnPL1d/btsJouxEL4T/MSjZcAu50jBxPQL16rWR9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dnPL1d/btsJouxEL4T/MSjZcAu50jBxPQL16rWR9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dnPL1d/btsJouxEL4T/MSjZcAu50jBxPQL16rWR9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdnPL1d%2FbtsJouxEL4T%2FMSjZcAu50jBxPQL16rWR9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1426&quot; height=&quot;236&quot; data-origin-width=&quot;1426&quot; data-origin-height=&quot;236&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;Mip-NeRF360은 A100 4장을 사용하였고, 나머지는 A6000을 사용했다고 한다. FPS는 랜더링 시간을 의미한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;3D Gaussian Splatting을 Instant-NGP와 비교하였을 때, Train속도가 비슷하나, PSNR이 높고, 무엇보다도 랜더링 속도가 매우 빠르다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1306&quot; data-origin-height=&quot;1420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/WSf3X/btsJpGcDHxP/Xw03SMhxk30638I0uFJJ11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/WSf3X/btsJpGcDHxP/Xw03SMhxk30638I0uFJJ11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/WSf3X/btsJpGcDHxP/Xw03SMhxk30638I0uFJJ11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWSf3X%2FbtsJpGcDHxP%2FXw03SMhxk30638I0uFJJ11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1306&quot; height=&quot;1420&quot; data-origin-width=&quot;1306&quot; data-origin-height=&quot;1420&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;Limitations&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;입력&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;이미지가&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;부족한 Sparse&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Scene&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;에서&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;artifact&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;가&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;발생하게 된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;현재&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;본&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;논문에서&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;제시한&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;알고리즘은&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;어떤&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;regularization&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;도&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;도입할&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;수&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;없다고 한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;NeRF&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;기반&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;solution&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;보다&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;상당히&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;높은&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;메모리&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;사용량을&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #555555; text-align: start;&quot;&gt;가진다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AI/논문 리뷰 Paper Review</category>
      <category>3D</category>
      <category>3d-gs</category>
      <category>Gaussian Splatting</category>
      <category>논문리뷰</category>
      <category>컴퓨터비전</category>
      <author>해드위그</author>
      <guid isPermaLink="true">https://code731.tistory.com/93</guid>
      <comments>https://code731.tistory.com/93#entry93comment</comments>
      <pubDate>Thu, 22 Aug 2024 00:26:24 +0900</pubDate>
    </item>
  </channel>
</rss>