코딩이 싫은 이유 (솔직히)

이미지
  위 사진은 내 연구를 나타낸 것이다. X같은 생각으로 X같이 디자인된 연구를 통하여 X같은 기술을 만들어낸, 똥망의 결정체 같은 것... 그것이 나의 연구. (교수님 죄송해요 교수님이 X같다는 건 절대 아님 우리 교수님은 천재임. 그러나 1명의 망나니 연구원은 100명의 천재가 이끄는 팀도 망하게 만들 수 있다.) 코드를 보고 있자면... 떠오르는 생각이라곤 "아... 인생 X같다..." 정도밖에 없다... 코딩을 해야하는 내 인생이 X같은 것이다... 이를테면 device CUDA:0 not supported by XLA service 같은 에러가 나면 그냥 머릿속은 "아 XX... 나 이거 왜 하고 있는데?" 라는 생각으로 가득찬다... XX 왜 안되는데? 니네 다 텐서플로 쓰지 마. 다 파이토치로 통일해. 세션이니 그래프니 하는 거 알고 싶지 않아. XX 통일해 그냥! 혹자는 다른 사람의 코드를 읽을 때 가장 힘들다고 말한다... 나는 내 코드를 읽었는데도 불구하고 다른 사람의 코드를 읽는 기분이 들 때 가장 힘들다... 과거의 내가 끊임없이 투척하는 똥을 치덕치덕 맞고 있는 것... 그것이 연구라는 것인가? 오늘도... 나의 X같은 연구로 지은 죄를 조금이라도 속죄하기 위해... 나는 봉사활동을 하러 간다...

GoPro 영상에서 GPS, Gyro 정보를 json 형식으로 가져오기 위한 험난한 여정 (윈도우10 기준)

이미지
우리가 사용할 코드는 이것 https://github.com/stilldavid/gopro-utils 이다... 사용 방법은 분명 TLDR: ffmpeg -y -i GOPR0001.MP4 -codec copy -map 0:m:handler_name:" GoPro MET" -f rawvideo GOPR0001.bin gopro2json -i GOPR0001.bin -o GOPR0001.json There is no step 3 라고 되어 있지만 속으면 안 된다.,,, 저렇게 간단하지가 않다는 말이다... 1. FFMPEG로 .bin 파일을 만든다. (FFMPEG 설치가 안 되어 있다면 설치한다: 다음 링크 참고 https://blog.naver.com/chandong83/222095346417 ) 깃헙에서는 이렇게 하라고 한다. ffmpeg -y -i GOPR0001.MP4 -codec copy -map 0:m:handler_name:" GoPro MET" -f rawvideo GOPR0001.bin 이 커맨드로 안 된다... 저런 스트림 없다고 땡깡 부린다... 이런 거 해도 소용 없었다... 따라서 그냥 이렇게 0번 인풋을 다 따온다. ffmpeg -y -i GOPR0001.MP4 -codec copy -map 0 -f rawvideo GOPR0001.bin -> 이거 안됨 몇번 스트림이  GoPro MET 인지 확인한 후 -map 0:{스트림번호} 로 넣어줘야함 ( https://trac.ffmpeg.org/wiki/Map 참고) 참고로 나는 .bin 파일이 뭔지 1도 모른다... 나는 컴공과가 아니니까 몰라도 괜찮다... 2. Go를 설치한다. gopro-util은 go로 되어 있다. 살아생전 첨 보는 언어다. 내 두뇌엔 한계가 있는데 세상엔 알아야 할 게 너무 많다. 아무튼  https://golang.org/doc/install 에서 다운로드 및 설치하면 된다. 환경변수에 GOPATH 가 추가되었는지 확인...

세미나 필기 | 3월 17일 Depth-based human 3D reconstruction

이미지
  재밌겠다. 내가 요새 3D reconstruction과 관련된 과제를 하고 있기 때문에 좀더 기대가 됨... 앱스트랙을 보니 다시점 깊이맵으로부터 포인트 클라우드를 추출하고 융합해서 3D 표면을 나타내는 방법, 그리고 단시점 정면 깊이맵으로부터 후면 깊이맵을 생성하는 방법 이 두 가지를 나타내는 거 같은데... 기대가 된다. 최욱 교수님은 카이스트에서 학석박을 모두 다 하셨고 주로 컴퓨터 비전을 연구하신듯. 삼성전자와 ... 뭔가 하셨음. 아무튼 뭔가 많이 하셨음. 영어를 잘 못해서 못알아들었음. 인천대? 교수님이심 필기 시작! 3D reconstruction 휘트니스, 헬스케어, 가상 옷입히기 등 아무튼 사람을 3D 모델링하는게 여기저기 많이 쓰임. 그래서 어떻게 정확하게 3D human reconstruction을 할 것이냐? laser scanner, multi-view camera system 이런 두가지 방식이 있음. 아마 다시점 카메라에 대해서 설명하실 예정인듯. multi-view camera system 다시점 카메라 시스템은 일단 두개의 카메라 세트로 되어잇는데 하나는 RGB, 하나는 depth camera로 되어있고, 이렇게 쌍으로 된 카메라들이 여러 각도에서 대상을 찍게 됨. 이때 다시점 카메라 각각에서 좌표계가 다르고, 서로 어떻게 좌표 변환을 해야 하는지 알기 힘드므로 문제가 됨. X1 = R1X0+T1 이런 식으로 좌표끼리 변환하는 공식임. 이러한 extrinsic calibration을 하기 위해서는 이론적으로 최소 4쌍의 좌표가 있어야 2개의 좌표계를 서로 변환하는 파라미터들을 모두 구할 수 있음. 3D point cloud 이렇게 extrinsic calibration을 하고 나면 다시점 카메라로부터 얻은 여러 3D point cloud를 융합할 수가 있게 됨. depth camera에서 point cloud의 위치를, color camera로부터 색을 알아서 3D 형태를 구성할 수가 있음. <Iterative K...

세미나 필기 | 2021 3월 10일 Specialized Architectures for Machine Learning and Data Analytics

이미지
서울대 Jae W. Lee 교수님의 세미나입니다 "Multi-disciplinary Challenge" 알고리즘/모델, 소프트웨어/프레임워크, 하드웨어가 모두 중요하며, 서로 독립적이지 않음 A3/ELSA - Attention Accelerator 'Attention' DNNs for NLP, Vision, etc. 에서 가장 중요한 advancement임 ??? Attention이 뭐지 content- based similarity search finds data relevant to the query, then returns the weighted sum of such data (query)dot(key matrix) -> attention score -> softmax computation (sharpening the values) -> weighted sum computation ?? cost of attention" substantial portion of the total runtime (>35% and often >60%) in many NN models specialized accelerator for attention mechanism we can do better than this opportunities for Approximation --> after softmax, most of the values are 0 : actually sparse operation -->> can avoid large amount of computations identify a few largest and a few smallest component multiplication results "Hopefully you get the basic idea" i don't do column-wise sorting in increasing order prepro...

세미나 필기 | 2021년 3월 3일 Accelerating deep learning: from hardware to software

이미지
내가 학기 중에 제일 좋아하는 시간인 세미나 시간!! 오늘은 딥러닝 액셀레러이팅에 관한 내용이다. 내 연구주제와 관련있어서 오늘은 특히 좋다. 오늘은 한양대학교에서 오신 최정욱 교수님이 세미나를 해주신다!! 근데 왜 담당 교수님이 안 계시지..?? 아무튼. 그럼 필기 시작!!! Accelerating Deep Learning: Algorithm - software - hardware 딥러닝 트레이닝, 인퍼런스 시에 많은 컴퓨팅파워가 필요함. --> 딥러닝 엑셀러레이터들이 많이 나온다. 인텔 Nervana, 구글 TPU, IBM 뭐시기 뭐시기... 여러 딥러닝 프레임워크들이 많은 MatMul 오퍼레이션을 요구함 컴파일러: Nvidia 텐서RT, 구글, 인텔 nGraph ...... DL-SW(Perf-Driven SW) 하드웨어: Nvidia V100, Google TPU, Intel NPU, ..... DL-HW(Versatile DL HW) compute-Efficient Deep Learning Algorithms "reduced-precision computation" for efficient DL inference and training - 90% of DNN conputation is MatMul (GEMM) 이때 이 2^e-127의 precision이 필요한가? 아니라는것 그래서 Bit reduction을 통해 에너지를 절약할 수 있다. (Horowits, 연도는못봄) - Reducing precision of all GEMMs into 8-bit Floating Point >> 인제 fwd/bwd/upd에서 다 8비트 곱셈을 하겠다는것이다 - Two key ideas to avoid "swamping error" 큰 수와 작은 수를 더할때 생기는 에러. 정보를 잃어버림 1. chunk-based accumulation implement할때 for 루프를 2번써서 chunk 단위로 더하고 전체 ch...

논문서치 | 보행자 행동 인식 경로 예측

이미지
 -- 참고용 -- Dataset 관련 Understanding Pedestrian Behavior in Complex Traffic Scenes JAAD dataset에 대한 논문이었음 예측, 분류 등은 X InfAR dataset: Infrared action recognition at different times 적외선 행동인식 데이터셋 nuScenes prediction task가 있음 사람, 자동차, 도로 등의 3D 바운딩 박스 포함 보행자의 경우 앉기/눕기, 서있기, 이동의 attribute 포함 2 fps Daimler dataset Bending In/ Stopping/Crossing/Starting original stereo pairs (8 bit PGM, 1176x640) calibration data ground truth (GT) annotations, pedestrian detector measurements and vehicle data (speed, yaw-rate) event tags and time-to-event labels (TTE in frames). Honda Egocentric View-Intersection (HEV-I) Dataset In the current release, the dataset is only being made available to researchers in universities in the United States. 자동차 위치가 바운딩박스로 라벨링됨 Lyft 서베이 Survey of Pedestrian Action Recognition Techniques for Autonomous Driving 서베이, 큰 도움은 안됨 KTH 액션 데이터셋: 복싱, 박수, 조깅, 달리기, 걷기, 손흔들기 경로예측 - 기존 논문들이 2D 영상에서 보행자의 미래 위치를 예측할 때 egomotion을 고려하지 않은 좌표를 예측하는데 우리는 egomotion을 보정하여 화면에 보다 정확한? 보기 편한? 활...