Intro 오늘은 ECCV 2020 Best Paper Award를 수상한 RAFT: Recurrent All-Pairs Field Transforms for Optical Flow를 같이 살펴보겠습니다. 원래 2022년 중순쯤에 포스팅을 준비했었는데, 현실에 치여 이제야 포스팅을 준비하고 있네요. 사실 이 논문 리뷰를 꼭 하고 싶던 이유가 있는데요. 이 논문의 가장 인상 깊었던 부분은 뒤에서도 자세히 말씀드리겠지만 Optical Flow iteration입니다. 쉽게 말하면 반복적인 연산을 통해 결과물의 정확도를 높이는 작업이죠. 이 부분이 인상 깊었던 이유는 해당 내용을 졸업 논문을 작성하며 아이디어만 살포시 첨가했었기 때문입니다. 벽에 부딪혀 최종적으로 수행하지는 못했었지만, 관련 내용이 논문에 적..
Introduction 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 오늘 풀어볼 문제는 백준 15650번, N과 M (2)입니다. 자연수 N과 M이 주어질 때, 1부터 N까지의 자연수 중 중복 없이 오름차순으로 M개를 고른 수열을 모두 구하는 코드를 짜는 게 오늘의 목표입니다. 입력과 출력은 아래와 같습니다. 입력 자연수 N, M (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. (오름차순) 중복되는 수열을 여러 번 출력해서는 안된다. 각 수열은 공백으로 구분해서 ..
Introduction C 언어 프로그래밍에 익숙하신 분들은 enum을 한 번쯤은 들어보셨을 겁니다. 저도 참 유용하게 사용했던 기억이 있는데요. C++에서는 기존 enum의 문제점들을 보완한 enum class를 주로 사용한다는 사실을 접하게 되었습니다. 그러면서 또다시 충격을 받았죠. 역시 난 C++을 C처럼 사용하고 있었어! 이번 포스트에서는 기존 C style enum의 문제점들을 짚어보고, C++에서 권장되는 enum class는 무엇이 다른지 살펴볼 것입니다. C style enum, what's wrong? 아래는 우리가 이미 친숙한 C 스타일의 enum(unscoped-enum) 사용법입니다. 사용자 정의 타입으로 enum 선언을 통해 원하는 타입을 정의할 수 있습니다. #include u..
Introduction 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 오늘 풀어볼 문제는 백준 15649번, N과 M (1)입니다. 자연수 N과 M이 주어질 때, 1부터 N까지의 자연수 중 중복 없이 M개를 고른 수열을 모두 구하는 코드를 짜는 게 오늘의 목표입니다. 입력과 출력은 아래와 같습니다. 입력 자연수 N, M (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력해서는 안된다. 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사..
Introduction 앞서 type casting 포스트에서 전반적인 casting에 대한 내용을 다루었습니다. 해당 포스트는 다양한 종류의 type casting 방법들에 대한 일종의 허브 역할로서 계속 업데이트할 예정입니다. 이번 포스트를 읽으신 후 더 많은 내용을 보고 싶다면 아래 URL을 클릭해 주세요. [C++] type casting Introduction C++은 기본적으로 type safe 하지 않다고 알려져 있습니다. 쉽게 말하면, 문법적으로 틀리지 않으면 의미적으로 문제가 있어도 컴파일러가 잡아주지 않습니다. C++ 수업을 처음 접한다면 searching-fundamental.tistory.com 이번 포스트의 본론으로 돌아와서 static_cast에 대해 이야기해 보겠습니다. 흔히 ..
Introduction C++은 기본적으로 type safe 하지 않다고 알려져 있습니다. 쉽게 말하면, 문법적으로 틀리지 않으면 의미적으로 문제가 있어도 컴파일러가 잡아주지 않습니다. C++ 수업을 처음 접한다면 얼마 지나지 않아 이를 직접 경험할 수 있습니다. int array[4]; array[4] = 1; 이 코드는 문법적으로는 틀리지 않습니다. 또한, 처음 프로그래밍을 접하시는 분들에게는 직관적으로 다가올 수 있죠. 우리는 보통 0이 아닌 1부터 숫자를 카운팅 하니까요. 하지만 위 코드는 접근해서는 안될 영역에 값을 저장했기 때문에 에러를 발생시킬 확률이 존재합니다. 이런 점들을 기억하고 다시 type casting으로 돌아가 봅시다. Type casting은 변수나 함수의 parameter/r..
Introduction 이 포스트는 현재 V-SLAMMERS 스터디 그룹에서 진행 중인 프로젝트에 대한 description입니다. 자세한 detail은 V-SLAMMERS 공식 블로그에서 확인하실 수 있습니다. V-SLAMMERS는 항상 신규 인력을 모집 중입니다 :) V-SLAMMERS Technical Archive of V-SLAMMERS Achievements v-slammers.github.io Abstract Indoor AR Navigation aims to build a complete SLAM-based navigation system that provides the users with the ability to (1) generate a 3D map of their surroundin..
Intro 벌써 2023년 새해가 밝은지 3456일째가 되었습니다. 이제 와서 2022년의 회고록을 쓰는 게 부끄럽지만 그래도 제게는 나름 뜻깊은 한해였기 때문에 기록을 남기고자 펜을 들게 되었습니다. 2022년을 네 개의 카테고리로 정리한다면 다음과 같습니다. 회사 블로그 스터디 프로그래밍 이 순서대로 2022년 회고록 시작하도록 하겠습니다. 회사 일 년 중 가장 많은 시간을 보낼 수밖에 없던 회사는 참 다사다난했습니다. 우선 작년 말부터 팀 내를 넘어, 회사 내에서 명확한 Role을 부여받아 열심히 달렸던 것 같습니다. 그런 과정에서 스스로 과부하에 걸리기도 하고, 좌절하기도 했습니다. 그러나 개발 및 유지 보수를 담당한 알고리즘이 자사 모든 제품군에 들어가게 되고, 좋은 반응과 성과를 얻는 모습을 ..