전체 글

전체 글

    [Review] DensePose From WiFi

    [Review] DensePose From WiFi

    paper link: https://arxiv.org/pdf/2301.00250.pdf Introduction 본 논문에서는 기존에 RGB 이미지나 레이더, 라이다 데이터를 이용해 다루어지던 3D human pose estimation 문제를 1D 센서인 WiFi 안테나와 그것을 이용해 측정한 WiFi 신호를 이용해 딥러닝 기반으로 해결하는 방법을 제시한다. Occlusion이나 환경의 변화에 민감한 이미지 데이터나, 값비싼 하드웨어가 필요하며 공공 공간에서 사생활 침해의 우려가 있는 레이더, 라이다 데이터와는 달리 저렴하고 장비 자체의 접근성이 좋으며 사생활을 보장하는 방식으로 기존의 이미지 기반의 pose estimation 성능 수준을 달성할 수 있다고 주장한다. Methodology 3개의 WiF..

    [Pytorch] lovely-tensors 라이브러리

    [Pytorch] lovely-tensors 라이브러리

    Introduction 파이토치를 사용하는 코드를 디버그 하다 보면 텐서 정보를 출력해 봐야 할 때가 있다. 인풋 / 아웃풋 텐서 이미지라던지, 중간 activation 결과라던지, 아니면 하다못해 모델 웨이트라던지 다양한 텐서 데이터에 대해 지금 어떤 값을 가지고 있고, 비주얼라이즈 하면 어떤 모습일지 확인해 봐야 하는 상황이 종종 있을 것이다. 하지만 일반적으로 텐서를 출력하면 보이는 모습은 아래와 크게 다르지 않다. >>> tensor tensor([[[[ 0.4419, 0.8523, -0.5494, ..., -0.8664, -0.5186, 0.1264], [ 0.2430, -0.7320, -0.7026, ..., 0.4742, -0.7101, 0.6129], [-0.2232, -0.9372, 0...

    [Anaconda] Powershell에서 아나콘다 가상환경 활성화가 안 되는 문제 해결하기

    [Anaconda] Powershell에서 아나콘다 가상환경 활성화가 안 되는 문제 해결하기

    Introduction 파워쉘에서 아나콘다 환경을 사용하고 싶어 가상환경을 만들었는데, 만들기까지는 정상적으로 되지만 activate는 안 되는 요상한 현상을 발견했다. 결론부터 말하면 윈도우 계정 이름이 한글로 되어있어 아나콘다를 통한 파워쉘 프로파일 생성 도중 유니코드 경로가 깨지는 현상이 발생하는 것이였고, 이로 인해 파워쉘이 프로파일 위치를 제대로 찾지 못 해 문제가 생기는 것이었다. 프로파일의 경로를 제대로 수정해 주면 문제를 해결할 수 있다. Solution 먼저 파워쉘을 관리자 모드로 실행시켜 주자. 파워쉘에서 아나콘다를 사용하려면 아래 명령어를 실행시켜 주어야 한다. $ conda init powershell 그러면 위와 같은 아웃풋이 출력되는데, 잘 실행된 것 같지만 마지막 줄의 프로파일..

    ChatGPT 생산적으로 사용하기

    ChatGPT 생산적으로 사용하기

    Introduction 최근에 핫해진 ChatGPT란 녀석을 일을 하면서 개인적으로 굉장히 유용하게 사용하고 있는데, 이에 대한 내용을 간단히 공유하고자 한다. 1. 빠른 정보 검색 간혹 한 번에 정리된 자료가 잘 없고 인터넷 여기저기서 단서들을 주워모아야 하는 경우가 있다. 흔하지 않은 버그에 대한 디버그 방법을 찾는 상황이라던지, 아니면 정석적인 답이 없어서 정말로 여러 글을 종합해 봐야 하는 상황을 예시로 들 수 있다. ChatGPT를 이용하면 꽤 높은 확률로 한 번에 잘 정리된 자료를 얻어낼 수 있다. 한번 예시를 보자. 예전에 작성했던 글 중 하나인 "libpng warning: iCCP: known incorrect sRGB profile" 에러에 대한 해결 방법에 대해 질문해 보자 (참고)...

    [Design patterns] Facade Pattern (퍼사드 패턴)

    [Design patterns] Facade Pattern (퍼사드 패턴)

    Introduction 구조 시스템 패턴을 다루는 과정에서 패턴 이름들이 알파벳 순서로 나열되었던 게 좋았었는데 (Adapter, Bridge, Composite, Decorator), 이번엔 E로 시작하는 패턴이 나올 차례지만 안타깝게도 그런 디자인 패턴은 없다... 이번 글에서는 눈물을 머금고 알파벳 한 자리를 건너뛰어 Facade 패턴에 대해 소개하고자 한다. Facade 패턴을 한줄 요약하면 다음과 같다. 복잡한 시스템을 더 쉽게 사용하기 위한 high-level의 인터페이스를 제공한다. 본 글의 많은 부분은 에릭 감마의 GoF Design Pattern 서적에서 참고했고, 파이썬에 맞추어 아주 살짝씩 변경한 부분이 있다. Motivation 시스템을 여러 서브시스템으로 나누는 식으로 전체 시스템..

    [Design patterns] Decorator Pattern (데코레이터 패턴)

    [Design patterns] Decorator Pattern (데코레이터 패턴)

    Introduction 오늘 소개할 내용은 데코레이터 (Decorator) 패턴으로, 그 기능을 요약하자면 다음과 같다. 클래스 내용을 수정하지 않으면서 동적으로 오브젝트에 기능을 추가할 수 있다. 본 글의 많은 부분은 에릭 감마의 GoF Design Pattern 서적에서 참고했고, 파이썬에 맞추어 아주 살짝씩 변경한 부분이 있다. Motivation 전체 클래스 오브젝트의 동작을 수정하는 대신 특정 오브젝트에만 어떤 기능을 동적으로 추가해야 할 때가 있다. 즉, 기존에 작성된 클래스 코드를 전혀 건드리지 않으면서도 새로운 기능을 자유롭게 얼마든지 추가할 수 있으며, 기능이 추가되어도 외부에서는 기존 오브젝트와 동일하게 상호작용 할 수 있어야 한다. 코드 수정 없이 기능을 추가하기 위해 기존 클래스를 ..

    [Design patterns] Composite Pattern (컴퍼짓 패턴)

    [Design patterns] Composite Pattern (컴퍼짓 패턴)

    Introduction GoF 디자인 패턴 중 structural pattern (구조 패턴) 들을 하나씩 다루고 있는데, 이제 한 절반쯤 왔다. 이번에 소개할 내용은 Composite 패턴으로, 한줄로 요약하자면 다음과 같다. 오브젝트를 트리 구조로 구성해 계층 구조를 표현하는 동시에, 개별 오브젝트와 오브젝트의 composition을 동일한 방식으로 다룰 수 있게 한다. 본 글의 많은 부분은 에릭 감마의 GoF Design Pattern 서적에서 참고했고, 파이썬에 맞추어 아주 살짝씩 변경한 부분이 있다. Motivation 단순한 기능을 하는 작은 오브젝트를 모아 큰 오브젝트를 구성하고, 이들을 다시 동일한 방식으로 모아 더 큰 단위의 오브젝트를 구성해야 하는 경우가 있다. 예를 들어, Point-..

    [Design patterns] Bridge Pattern (브릿지 패턴)

    [Design patterns] Bridge Pattern (브릿지 패턴)

    Introduction 이번 글에서는 또다른 structural pattern (구조 패턴) 인 브릿지 패턴에 대해 소개하고자 한다. 브릿지 패턴은 인터페이스와 실제 구현을 분리해, 각각이 독립적으로 수정될 수 있도록 도와준다. 본 글의 많은 부분은 에릭 감마의 GoF Design Pattern 서적에서 참고했고, 파이썬에 맞추어 아주 살짝씩 변경한 부분이 있다. Motivation 인터페이스는 동일하게 유지한 채로, 실제 기능은 여러 가지 방식으로 구현하고 싶을 땐 다음과 같은 방법을 사용할 수 있다. 먼저 추상 클래스 (abstract class) 를 정의해 인터페이스를 설정한다 (추상화, abstraction). 이후엔, 그것을 상속하는 실체 서브클래스 (concrete subclasses) 들에선..