3dgs 20

[CV 논문] AutoSplat: Constrained Gaussian Splatting for Autonomous Driving Scene Reconstruction

아래 글에서 이 블로그에서 리뷰한 논문들의 흐름과 분야별 분류를 한 눈에 볼 수 있다. 읽은 논문들 정리[목차]지속적으로 업데이트 중, 번호는 모델발전 순서가 아닌 읽은 순서에 따라 정렬.1. Computer Vision 분야 논문Classification 모델들의 발전Detection 모델들의 발전Segmentation3D 처리2. Natural Language Processapril2901.tistory.com 기존의 3DGS를 사용한 자율주행 장면 재구성에서는 몇가지 문제가 있었다.기본적으로 정적인 장면을 가정하고,카메라 뷰가 제한되어있으며,배경들에 대한 제약이 없었다. 논문에서는 이런 이유들 때문에 상당한 퀄리티 감소가 있었다고 얘기한다. 3DGS계열 자율주행 복원에서 PVG, Driving Ga..

[CV 논문] SplatAD: Real-Time Lidar and Camera Rendering with 3D Gaussian Splatting for Autonomous Driving

아래 글에서 이 블로그에서 리뷰한 논문들의 흐름과 분야별 분류를 한 눈에 볼 수 있다. 읽은 논문들 정리[목차]지속적으로 업데이트 중, 번호는 모델발전 순서가 아닌 읽은 순서에 따라 정렬.1. Computer Vision 분야 논문Classification 모델들의 발전Detection 모델들의 발전Segmentation3D 처리2. Natural Language Processapril2901.tistory.com 이번 논문은 SplatAD라고 부르는 논문이다.새로운 시점에서의 이미지만 만들던 이전 논문들과 달리 이 논문은 라이다 데이터도 만든다.이전 연구들을 보면 NeRF기반 모델에서는 라이다 데이터까지 만드는 것들이 있었다.대표적으로 이 블로그의 글로도 썼던 UniSim이 있다.더 단순화된 네트워크와..

[CV 논문] StreetSurf: Extending Multi-view Implicit Surface Reconstruction to Street Views

아래 글에서 이 블로그에서 리뷰한 논문들의 흐름과 분야별 분류를 한 눈에 볼 수 있다. 읽은 논문들 정리[목차]지속적으로 업데이트 중, 번호는 모델발전 순서가 아닌 읽은 순서에 따라 정렬.1. Computer Vision 분야 논문Classification 모델들의 발전Detection 모델들의 발전Segmentation3D 처리2. Natural Language Processapril2901.tistory.com 이번 논문은 StreetSurf라는 논문이다. 자율주행 데이터셋들을 보면 NeRF, 3DGS같은 기술과는 다르게 물체를 카메라가 한 바퀴 빙 둘러 모든 방면의 사진을 찍는 것이 아니다.차가 움직이는 그 궤적에서 찍기 때문에 관측 각도가 제한적이다.또 NeRF, 3DGS는 물체나 장면 하나에 ..

Street-gaussian 학습환경 세팅 & 학습시켜보기

[CV 논문] Street Gaussians: Modeling Dynamic Urban Scenes with Gaussian Splatting아래 글에서 이 블로그에서 리뷰한 논문들의 흐름과 분야별 분류를 한 눈에 볼 수 있다. 읽은 논문들 정리[목차]지속적으로 업데이트 중, 번호는 모델발전 순서가 아닌 읽은 순서에 따라 정렬.1.april2901.tistory.com3DGS환경세팅처럼 이 street-gaussian의 학습환경을 세팅할 때 고통받고 있는 사람이 많을 것이다.나도 역시나 한번에 세팅이 되지 않았다. 성공한 세팅방법을 공유하려한다.추가로, 성공한 세팅에서 학습까지 시키는 과정이 글에 나와있다. OS : Ubuntu 22.04 LTS가상환경 툴 : anaconda 다른 툴들은 모두 다시 깔 ..

[CV 논문] Street Gaussians: Modeling Dynamic Urban Scenes with Gaussian Splatting

아래 글에서 이 블로그에서 리뷰한 논문들의 흐름과 분야별 분류를 한 눈에 볼 수 있다. 읽은 논문들 정리[목차]지속적으로 업데이트 중, 번호는 모델발전 순서가 아닌 읽은 순서에 따라 정렬.1. Computer Vision 분야 논문Classification 모델들의 발전Detection 모델들의 발전Segmentation3D 처리2. Natural Language Processapril2901.tistory.com 이번 논문도 이전의 Driving Gaussian처럼 주행 뷰를 렌더링하는 방법에 대한 논문이다. 기존 방법들보다 엄청나게 빠른 속도와 적은 학습시간만이 소요된다.또 객체별로 모델링되어 있어 조작이 편하다. Street Gaussians이전 Driving Gaussian과 마찬가지로 배경 + ..

[3DGS 구현] 9. train 코드 작성, 학습 결과

'프로젝트, 연구/3DGS 구현' 카테고리의 글 목록한양대학교 컴퓨터소프트웨어학부 일상 블로그 : https://blog.naver.com/april2901april2901.tistory.com 이제 마지막 코드인 train.py를 만들어보자.os.environ["CUDA_VISIBLE_DEVICES"] = "2"이 코드는 개인별로 맞게 수정해야한다.나의 경우 그래픽카드가 3개가 있어 그중 어떤 것을 사용할지 지정했다. resol_scale, num_iterations등의 하이퍼파라미터를 원하는대로 조정하면 된다.나는 resol_scale은 메모리를 고려하여 4로, num_iterations는 원본 논문을 따라 30000번으로 정했다.30001로 코드가 되어있는 것은 30000일 때의 png, ply파일..

[CV 논문] DrivingGaussian: Composite Gaussian Splatting for SurroundingDynamic Autonomous Driving Scenes

아래 글에서 이 블로그에서 리뷰한 논문들의 흐름과 분야별 분류를 한 눈에 볼 수 있다. 읽은 논문들 정리[목차]지속적으로 업데이트 중, 번호는 모델발전 순서가 아닌 읽은 순서에 따라 정렬.1. Computer Vision 분야 논문Classification 모델들의 발전Detection 모델들의 발전Segmentation3D 처리2. Natural Language Processapril2901.tistory.com 간단요약이번 논문은 빠른 속도와 넓은 범위를 다뤄야하는 자율주행에서 장면 합성을 하는 것에 대한 논문이다.기본적으로 배경과 물체를 구분하는데, 배경은 고정시키고 물체만 움직이는 방식으로 합성하는 방식을 사용한다.처음 가우시안을 초기화할 때는 기존 3DGS에서 썼던 COLMAP이 아닌 LiDAR..

[CV 논문] Segment Any 3D Gaussians

아래 글에서 이 블로그에서 리뷰한 논문들의 흐름과 분야별 분류를 한 눈에 볼 수 있다. 읽은 논문들 정리[목차]지속적으로 업데이트 중, 번호는 모델발전 순서가 아닌 읽은 순서에 따라 정렬.1. Computer Vision 분야 논문Classification 모델들의 발전Detection 모델들의 발전Segmentation3D 처리2. Natural Language Processapril2901.tistory.com 논문을 간단히 요약하면 3DGS에서 객체를 분류하는 방법을 소개하는 논문이다.당연히 기본적으로 3DGS는 알고 있어야 한다. [CV 논문] 3D Gaussian Splatting for Real-Time Radiance Field Rendering아래 글에서 이 블로그에서 리뷰한 논문들의 흐..

[3DGS 구현] 8. Densification 및 기타 util코드

utils.py에 함수 추가학습을 위한 코드를 짜보자.먼저 손실함수를 보면 SSIM이라는 지표가 있다.이를 구하는 식은 아래와 같다.두 이미지의 평균,분산을 골고루 이용해서 유사성을 평가하는 지표이다.따라서 utils.py에 이를 코드로 구현해 추가하자.def ssim(img1, img2, window_size=11, size_average=True): # 0~1 사이의 텐서 channel = img1.size(-3) window = torch.ones((channel, 1, window_size, window_size), device=img1.device) / (window_size**2) mu1 = F.conv2d(img1, window, padding=window_siz..

[3DGS 구현] 7. Renderer 만들기

3DGS논문을 읽었다면 타일을 사용하는 rasterization에 대해 기억날 것이다.리마인드를 위해 3DGS 논문 리뷰 글에서 사진을 하나 가져왔다.이 때 전체적인 계산의 흐름은 다음과 같았다. 1. 각 타일의 범위에 포함되는 가우시안을 찾기2. 가우시안을 앞에서부터 순서대로 정렬하기3. 픽셀별로 알파블렌딩을 통해 최종 픽셀 값 구하기 이를 해주는 것이 rasterizer인데, 이는 torch로 구현을 할 수 없다.왜냐하면 (1600,1200) 크기의 이미지를 고려했을 때 7500개의 타일, 192만개의 픽셀이 나오게 된다.이 각 픽셀마다 알파블렌딩을 통해 픽셀의 값을 구해야하는데 픽셀 독립적인 계산이므로 단순히 torch로 구현이 안된다.이는 계산을 CUDA커널에 직접 커스텀해 코딩을 해야한다.논문의..