본문 바로가기

전체 글

CVPR2023 참관 후기 개요 MultiView를 이용한 3D 논문이 가장 많았고 대부분 Nerf를 응용한 주제가 상당수를 차지했고, 라이다와 영상을 활용하거나 라이다 데이터 셋을 이용한 3D Representation Learning 이 존재하였다. Image 합성, 비디오 생성 및 Human pose를 예측하는 논문도 많이 볼 수 있었다. 흥미로운 부분은 Vision과 Language를 결합한 Multi-Modal 주제의 논문도 OpenAI의 Clip 이후로 등장하는 추세였고, 자율 주행 그자체를 주제로 다룬 논문은 그리 많지 않았다. 2359개의 논문이 Accept 되었고, 25.8% Acceptance rate이다. 살펴본 논문 (화-오전) 112. ULIP: Learning a Unified Representation .. 더보기
Unsupervised Domain Adaptation by Backpropagation(in ICML'15) - Domain Adaptation은 성격이 유사하지만 다른 도메인의 라벨이 지정된 데이터를 사용할 수 있다는 점에서 매력적이다 (e.g. 합성 이미지) - 본 논문에서는 Source 도메인의 라벨이 주어진 대량의 데이터 셋에서 Target 도메인의 라벨이 없는 데이터로 Domain Adaptation을 수행하는 새로운 접근 방식을 제안한다. - (1) 소스 도메인의 학습 작업에 대해 'Discriminative' 하고, - (2) 도메인간 이동에 대해 Invariant 한 'Deep' 한 피쳐의 출현을 촉진한다. 이러한 적응하는 행동이 거의 모든 FeedForwrd 모델에서 몇가지 표준 레이어와 간단한 그레디언트 Reversal 레이어로 보강함으로써 달성할 수 있다. - 결과 증강 아키텍처는 표준 역전.. 더보기
유닉스의 탄생 http://www.yes24.com/Product/Goods/91213198 유닉스의 탄생 - YES24 브라이언 커니핸이 들려주는UNIX의 탄생과 발전 과정, 천재 개발자와 기여자들의 이야기『유닉스의 탄생』은 유닉스의 역사를 기록한 책이자 유닉스 개발 현장에 있던 이들의 회고록이다. 유닉 www.yes24.com 느낀점(내용에 기반한) - 훌륭한 프로그램(꼭 프로그램이 아니더라도 누구나 유용함을 느끼는 무엇가)은 사용자가 기하급수적으로 늘어난 다는 것을 알게 되었다 ex) 유닉스, 리눅스, 카카오톡, 페이스북 - 캔 톰슨과 같은 개발자 옆에는 '필요하다고 느끼는 기능을 사심 없이 의견 제시' 하거나, 때론 냉철한 피드백을 제공한 더글로이 매클로이 같은 동료가 있었음을 알게 되었다. ex) 굳이 꼽자면.. 더보기
self의 의미 정의 self는 클래스의 인스턴스를 나타낸다. 파이썬이 self를 사용하는 이유는 'Python은 메소드로 하여금 메소드가 속한 인스턴스는 자동으로 전달하지만, 자동으로 수신하지는 않는 방식(?)을 취했기 때문이다' 메소드의 첫번째 매개변수는 메소드를 호출하는 인스턴스이다 (이를 자동으로 전달한다고 표현하는가 보다) #it is clearly seen that self and obj is referring to the same object class check: def __init__(self): print("Address of self = ",id(self)) obj = check() print("Address of class object = ",id(obj)) Address of self = 1401.. 더보기
Python에서 Call By Reference 구현하는 법 핫한(?) GPT 에게 물어 보았다. --> 가변 객체를 함수 인자로 넘기라고 한다. 기본 지식으로... 파이썬은 Passed by Assignment 라고 한다. 즉, 어떤 값을 넘기느냐에 따라 Call By Value 혹은 Call By Reference로 동작할 수 있다고 한다. int, float와 같은 불가변(immutable)인자를 함수로 넘기면 call-by-value가 되고, list, tuple, dict과 같은 가변(mutable) 인자를 함수로 넘기로 넘기면 call-by-reference 로 동작한다. (정확하게 말하면, 파이썬은 모든 것이 객체 이기 때문에 가변 객체는 함수 안에서 새로운 값을 생성하지 않고, 불가변 객체는 새로운 값을 생성하기 때문에 각각 Call-by-refer.. 더보기
Tensorboard에서 Open3D 사용하기 Getting started 데이터 셋 읽기 import open3d.ml.torch as ml3d # construct a dataset by specifying dataset_path dataset = ml3d.datasets.SemanticKITTI(dataset_path='/path/to/SemanticKITTI/') # get the 'all' split that combines training, validation and test set all_split = dataset.get_split('all') # print the attributes of the first datum print(all_split.get_attr(0)) # print the shape of the first point .. 더보기
CMRNet++: Map and Camera AgnosticMonocular Visual Localization in LiDAR Maps ▶Abstract - 딥러닝은 컴퓨터 비전 분야에서 비약적인 발전을 이뤘지만, 시각적 측위 능력을 개선하는 데는 아직 부족하다 - 주요 장애물 중 하나는 기존 CNN(Convolutional Neural Network) 기반 포즈 회귀 방법이 기존에 보지 못했던 장소를 일반화 하지 못한다는 것이다. - 최근에 도입된 CMRNet은 LiDAR 맵에서 독립적인 단안 측위(independent monocular localization)를 가능하게 하여 이러한 제약 사항을 효과적으로 해결하였다. - CMRNet++은 더욱 강건하고, 카메라 파라미터에도 독립적인 네트워크이다. - 본 논문에서는 딥 러닝을 기하학적 기술과 결합하고, 메트릭 추론을 학습 프로세스 밖으로 이동시켰다. - 이러한 방법 덕분에, 네트워크 .. 더보기
np.percentile 사용법 numpy.percentile(v, q) 은 q번째 퍼센트의 데이터를 계산한다. 다시 말해 백분위 q에 위치한 값을 계산한다. 길이가 n이 벡터 v가 주어지면, v의 q번째 백분위 수는 v의 정렬된 복사본에서 최소값 ~ 최대값 q/100 이다. 정규화된 순위가 q의 위치와 정확히 일치하지 않는다면, 두개의 가장 가까운 이웃 값과의 거리가 백분위 값이 된다. a = np.array([[10, 7, 4], [3, 2, 1]]) >>> a array([[10, 7, 4], [ 3, 2, 1]]) >>> np.percentile(a, 50) 3.5 >>> np.percentile(a, 50, axis=0) array([6.5, 4.5, 2.5]) >>> np.percentile(a, 50, axis=1) arr.. 더보기