Latest Post
-
TorchCFM 사용법
1. Flow Matcher 클래스들ConditionalFlowMatcherfrom torchcfm import ConditionalFLowMatcher# initfm = ConditionalFlowMatcher(sigma=0.0)t, xt, ut = fm.sample_location_and_conditional_flow(x0=None, x1=data) ExactOptimalTransportConditionalFlowMatcherfrom torchcfm import ExactOptimalTransportConditionalFlowMatcher# 더 정교하고 계산 비용 높음fm_ot = ExactOptimalTransportConditionalFlowMatcher(sigma=0.0t, xt, ut = fm..
-
Diversity is All You Need : Learning Skills without a Reward Function
Diversity is All You Need : Learning Skills without a Reward FunctionBenjamin Eysenbach and Abhishek Gupta and Julian Ibarz and Sergey Levinehttps://arxiv.org/abs/1802.06070핵심 : DIAYN은 다양한 Skill을 비지도로 학습하기 위한 파이프라인이며 학습된 Skill들 중 어떤 것을 선택하고 조합할지는 그 이후의 추가 학습 (Hierarchical RL, Fine-tuning, Imitation Learning)에서 결정된다. Abstract지능적인 생명체는 감독 없이도 환경을 탐색하고 유용한 기술을 스스로 학습할 수 있다. 본 논문에서는 보상 함수 없이 유용한 기술(..
-
2025 ICRA QRC 참여 후기
전세계 로봇 학회 중 가장 큰 학회 중 하나인 International Conference on Robotics and Automation (이하 ICRA)에서는 매년 사족보행로봇 챌린지(이하 QRC)라는 대회를 개최하곤 한다. 로보컵이나 DARPA처럼, 재난 상황에서도 잘 임무를 수행하는 로봇을 위한 기술을 개발하기 위해서 매우 도전적인 지형을 다니면서 미션을 수행하는 대회이다. 내가 속해있는 Urban Robotics Lab (이하 URL)에서는 매년 이 대회를 나가는데, 2023년 첫 대회에서는 큰 점수차로 우승을 하기도 해서(뉴스) ICRA QRC는 랩에서 큰 연례 행사이자 미션으로 여겨지곤 한다. 이 대회를 참가하기 위해서 개발한 모듈들이 연구실의 귀중한 원천기술이 되어서 다양한 과제 및 후속 ..
-
Hierarchical Tri-manual Planning for Vision-assisted Fruit Harvestingwith Quadrupedal Robots
Hierarchical Tri-manual Planning for Vision-assisted Fruit Harvestingwith Quadrupedal RobotsZhichao Liu and Jingzong Zhou and Konstantinos Karydis2025 ICRAhttps://arxiv.org/abs/2409.17116 Hierarchical Tri-manual Planning for Vision-assisted Fruit Harvesting with Quadrupedal RobotsThis paper addresses the challenge of developing a multi-arm quadrupedal robot capable of efficiently harvesting frui..
-
농사 로봇 리서치를 시작하며
석사 입학 지원서를 냈던 게 엊그제같은데 벌써 1학기가 끝났다. 1학기에 가장 열심히 한 것은 단연 ICRA Quadrupedal Robot Challenge(QRC)로 많은 것을 배웠고 개인적으로도 무척 특별한 시간이었다. 짧지만 압축적인 몇 달을 보내면서 드는 생각은 "연구자에게는 개인적인 로드맵이 필요하다"는 것이었다. 우리 랩에서는 2년차 이상의 석사과정 혹은 박사과정 선배님들이 연초에 을 발표하도록 하는데 그 발표에서 요구하는 것은 실로 한 연구자적 목표를 제시하는 것이다. 예를 들어 멀티 로봇 SLAM을 연구하시는 분이라면 "코엑스를 100대의 로봇으로 5분 안에 맵을 다 따는" 정도의 익스트림을 제시해야 한다. 나는 이곳에서 매우 막내로 하는 일도 별로 없기는 하지만 이런 나라도 석사과정의 ..
-
ROS 실전 개발 시 까먹지 말아야 할 것들
멀티센서를 사용하고 실시간성이 크리티컬하게 요구되는 상황에서콜백함수에 아무거나 넣지 말 것콜백함수가 전체 시스템을 느리게 동작하게 함콜백함수는 큐에 데이터를 넣기만 하고 timestamp로 토픽 싱크 맞추기특히 Odom을 같이 받고 있는 상황에서는, 더 높은 정확도를 위해서는 interpolation을 해줘야 할 수도 있음ROS 통신에서 시간이나 싱크 관련한 부분은 좀 더 면밀히 살펴보기 특히 메시지필터 : 이 친구 믿으면 안 됨멀티스레딩 잘 하기병목 생기는 구간 체크여러 Odom 데이터가 나오는 상황에서 내가 무슨 프레임 기준 Odom을 받고 있는지 꼭 항상 체크하기/{}_odom, /{}_odom_base, /{}_odom_grav ... 토픽 publisher/subscriber 시스템 도는 중간에..
-
Realsense 기기괴괴
그냥 Launch 파일로 켰을 때:특급 Launch 파일로 켰을 때:json{ "device": { "fw version": "05.13.00.50", "name": "Intel RealSense D435I", "product line": "D400" }, "parameters": { "aux-param-autoexposure-setpoint": "1536", "aux-param-colorcorrection1": "0.298828", "aux-param-colorcorrection10": "-0", "aux-param-colorcorrection11": "-0", "aux-param-col..
-
Flow Matching : Diffusion과의 차이점을 중심으로
Flow matching (https://zzziito.tistory.com/153)은 디퓨젼과 함께 최근 확률적 러닝 모델 기반 생성 분야에서 주목받고 있는 방법이다. Flow matching은 확률 흐름 상미분 방정식 (Ordinary Differential Equation, ODE)을 기반으로 하며, 이 방법은 복잡한 데이터 분포를 단순한 분포(Ex. 가우시안)로 연속적으로 변형하는 벡터 필드를 학습한다. 데이터 분포와 단순한 분포 사이의 확률 흐름을 모델링하여 이 흐름을 따라 이동하는 궤적을 학습하고, 연속 정규화 흐름(Continuous Normalizing Flow, CNF)의 개념을 확장하여 적용했다. 디퓨젼 모델이 노이즈가 없는 이미지에 점진적으로 가우시안 노이즈를 추가하여 데이터를 손상시..
-
SafeDiffuser : code explained
https://github.com/Weixy21/SafeDiffuser GitHub - Weixy21/SafeDiffuser: Safe Planning with Diffusion Probabilistic ModelsSafe Planning with Diffusion Probabilistic Models. Contribute to Weixy21/SafeDiffuser development by creating an account on GitHub.github.com Filetree# SafeDiffuser Project Structure├── LICENSE├── README.md├── azure/ # Azure 클라우드 관련 설정│ ├── Dockerfile│ ├── ..
-
SafeDiffuser: Safe Planning with Diffusion Probabilistic Models
SafeDiffuser: Safe Planning with Diffusion Probabilistic ModelsWei Xiao and Tsun-Hsuan Wang and Chuang Gan and Daniela Rushttps://arxiv.org/abs/2306.00148 SafeDiffuser: Safe Planning with Diffusion Probabilistic ModelsDiffusion model-based approaches have shown promise in data-driven planning, but there are no safety guarantees, thus making it hard to be applied for safety-critical applications...
-
Flow Matching for Generative Modeling
Flow Matching for Generative ModelingYaron Lipman and Ricky T. Q. Chen and Heli Ben-Hamu and Maximilian Nickel and Matt Lehttps://arxiv.org/abs/2210.02747 Flow Matching for Generative ModelingWe introduce a new paradigm for generative modeling built on Continuous Normalizing Flows (CNFs), allowing us to train CNFs at unprecedented scale. Specifically, we present the notion of Flow Matching (FM),..
-
Planning with Diffusion for Flexible Behavior Synthesis
Planning with Diffusion for Flexible Behavior SynthesisMichael Janner and Yilun Du and Joshua B. Tenenbaum and Sergey Levinehttps://arxiv.org/abs/2205.09991 Planning with Diffusion for Flexible Behavior SynthesisModel-based reinforcement learning methods often use learning only for the purpose of estimating an approximate dynamics model, offloading the rest of the decision-making work to classic..
-
Diffusion Policy:Visuomotor Policy Learning via Action Diffusion
Diffusion Policy : Visuomotor Policy Learning via Action DiffusionCheng Chi1, Siyuan Feng2, Yilun Du3, Zhenjia Xu1, Eric Cousineau2, Benjamin Burchfiel2, Shuran Song1https://diffusion-policy.cs.columbia.edu/ Diffusion Policy: Visuomotor Policy Learning via Action DiffusionThis paper introduces Diffusion Policy, a new way of generating robot behavior by representing a robot's visuomotor policy as..
-
LDP: A Local Diffusion Planner for Efficient Robot Navigation and Collision Avoidance
LDP: A Local Diffusion Planner for Efficient Robot Navigation and Collision AvoidanceWenhao Yu and Jie Peng and Huanyu Yang and Junrui Zhang and Yifan Duan and Jianmin Ji and Yanyong Zhanghttps://arxiv.org/abs/2407.01950 LDP: A Local Diffusion Planner for Efficient Robot Navigation and Collision AvoidanceThe conditional diffusion model has been demonstrated as an efficient tool for learning robo..
-
FiLM: Visual Reasoning with a General Conditioning Layer
FiLM: Visual Reasoning with a General Conditioning LayerEthan Perez and Florian Strub and Harm de Vries and Vincent Dumoulin and Aaron Courvillehttps://arxiv.org/abs/1709.07871 FiLM: Visual Reasoning with a General Conditioning LayerWe introduce a general-purpose conditioning method for neural networks called FiLM: Feature-wise Linear Modulation. FiLM layers influence neural network computation ..
-
Open Motion Planning Library(OMPL)를 사용해 경로 계산하고 시각화하기
OMPL 설치 후 로봇이 있는 scene 만들기collision-free 경로 계산하기계획된 경로 시각화하기Open Motion Planning Library(OMPL)https://ompl.kavrakilab.org/webapp.html OMPL Web AppUsage The OMPL web app is a web front end for motion planning and benchmarking using OMPL. Basic usage is very similar to the standalone GUI. Once deployed, this may be the easiest way to try out OMPL without to compile anything. Detailed instructions ..
-
Waypoint 정규화 시, 생각없는 min-max 정규화의 함정
러닝 기반으로 waypoint를 생성하는 모델을 학습할 때 당연히 나도 처음에는 min-max normalize를 했으나 왜인지 생성되는 경로가 일관되게 방향이 이상한 것을 확인했다. 그런데 문제는 몽땅 이런 건 아니고 방향이 정상적으로 나오는 샘플들도 있기는 해서 의문이었다. 그런데 샘플들을 공통적으로 살펴보니 Goal point가 1사분면에 있을 때만 멀쩡 경로로 나오는 것 같았다. 그러니까, 경로의 흐름은 괜찮은데 denormalize과정에서 생성된 경로가 모두 1사분면으로만 나오는 게 문제였다. def normalize_waypoints(waypoints, goal_point): # 모든 점들의 좌표를 첫 번째 점(0,0)에 대한 상대 좌표로 변환 relative_waypoints = ..
-
Potential Based Diffusion Motion Planning
Potential Based Diffusion Motion PlanningYunhao Luo1, Chen Sun1, Joshua B. Tenenbaum2, Yilun Du2https://energy-based-model.github.io/potential-motion-plan/ Potential Based Diffusion Motion PlanningEffective motion planning in high dimensional spaces is a long-standing open problem in robotics. One class of traditional motion planning algorithms corresponds to potential-based motion planning. An ..
-
Diffusion 기반 Navigation 논문 아카이브
참고)1. Navigation 태스크에서 Diffusion 사용 논문은 빨간색으로, Navigation 도메인은 아니지만 Diffusion 관련 주요한 논문들은 파란색으로2. 색상의 명도 ∝ 1/내가 열심히 읽은 정도 2020Denoising Diffusion Probabilistic Models(DDPM)https://arxiv.org/abs/2006.11239Jonathan Ho, Ajay Jain, Pieter Abbeel Motion Planning Transformers: One Model to Plan Them AllDiffusion Policy: Visuomotor Policy Learning via Action Diffusion 2021 2022 2023A Diffusion-Model ..
-
Realsense D405 사용하기
Realsense D405https://www.intelrealsense.com/depth-camera-d405/ Depth Camera D405Depth camera D415 has a narrower field of view, a rolling shutter that are ideally suited for high accuracy applications such as 3D scanning.www.intelrealsense.com일반적으로 쓰이는 Realsense D435i는 max range가 좀 더 긴 대신, 근거리에서 깊이 측정 정확도가 높지 않다. 하지만 먼 곳은 별로 볼 필요 없고 가까운 걸 좀 더 정확하게 보고 싶다면 D405가 선택지가 될 수 있다. Lighting condition : ..
Deep Learning
-
Flow Matching : Diffusion과의 차이점을 중심으로
Flow matching (https://zzziito.tistory.com/153)은 디퓨젼과 함께 최근 확률적 러닝 모델 기반 생성 분야에서 주목받고 있는 방법이다. Flow matching은 확률 흐름 상미분 방정식 (Ordinary Differential Equation, ODE)을 기반으로 하며, 이 방법은 복잡한 데이터 분포를 단순한 분포(Ex. 가우시안)로 연속적으로 변형하는 벡터 필드를 학습한다. 데이터 분포와 단순한 분포 사이의 확률 흐름을 모델링하여 이 흐름을 따라 이동하는 궤적을 학습하고, 연속 정규화 흐름(Continuous Normalizing Flow, CNF)의 개념을 확장하여 적용했다. 디퓨젼 모델이 노이즈가 없는 이미지에 점진적으로 가우시안 노이즈를 추가하여 데이터를 손상시..
-
내가 만든 데이터셋 잘 사용하기 : Diffusion Policy의 데이터 전처리 방법들
Imitation Learning(모방 학습)을 사용할 때는 내가 만든 데이터셋을 사용해야 하는 경우가 많이 있다. 특히 로봇 imitation learning의 경우에는 문제 상황 모델링부터 데이터셋 구조, 손실 함수 및 평가 메트릭까지 다 정해야 하는 경우가 종종 있다. 이상한 연구를 할 수록 더 그런 것 같다.만약 내가 시맨틱 세그멘테이션 성능을 높이는 연구를 한다면 잘 마련된 경기장에서 빨리 뛰기 위해 체력을 기르고 트랙을 꼼꼼히 살피는 방향으로 진행하는 것이 보통이다. (모두가 사용하는 데이터셋에서 범용적인 평가 메트릭을 사용해 좋은 성능 내기 - 개인적으로는 이게 훨씬 어려워 보여욧... )반면 응용단에서 뭔가 새로운 시도를 하는 로보틱스 연구를 한다면 미개척지에 삽을 들고 냅다 뛰어드는 것..
-
Domain Generalization : Data Manipulation Methods
Data Augmentation 도메인이 다르다고 하면 과연 이 세 장의 이미지에서 "무엇이" 다른 걸까요 ? 이미지에는 Semantic (Content) 정보와 Apperance (Style) 정보가 있습니다. 따라서 컨텐츠만 잘 하면 새로운 스타일의 이미지가 왔을 때 잘 분류할 수 있지 않을까요 ? 그리고, 1번과 3번 이미지는 비슷한 스타일이기는 하지만 자세라던지, 귀의 방향 등이 다릅니다. 그러면 1번 컨텐츠에 3번 스타일을 적용한 새로운 이미지를 생성한다면 학습에 도움이 되지 않을까요 ? 이것이 Domain Generalization 에 사용되는 Data Augmentation 의 방법입니다. 그러면 Contents 를 표현하는 것과 Style 을 표현하는 것은 무엇이 다를까요 ? ADaIN A..
-
Domain Generalization
Domain Generalization 이 무엇일까 ? 위에 이 두 개는 같은 도메인일까요 아닐까요 ? 기준을 어떻게 두느냐에 따라서 도메인의 정의는 달라집니다. 수학적 정의 input x 의 marginal distribution 을 domain 이라고 정의 하는 경우가 많습니다. 혹은 input 과 output 의 joint distribution 으로 정의하는 경우도 있습니다. 그래서 우리는 각각의 Domain 에서 나온 Feature 들이 이와 같이 Label Space 에서 Clustering 되기를 바라는 것 입니다. Single-Source vs. Multi-Source Domain Generalization 그러면 학습할 때 도메인은 몇 개를 사용하면 될까요 ? 학습할 때 하나의 도메인만 ..
-
Backdoor Attack on Self-Supervised Learning
Backdoor Attack은 Adversarial Attack 의 한 종류입니다. 위와 같은 Attack 을 Evasion Attack 이라고 합니다. 우리가 실제로 모델을 학습시킬 때 사용하는 게 아니라, 학습된 모델을 테스트할 때 테스트 이미지를 조작해서 잘못된 결과를 내도록 하는 것입니다. Backdoor Attack Backdoor Attack 은 "트로이 목마" 처럼 무언가를 심어 놓는 것입니다. 이미 학습을 할 때부터 심어 놓게 됩니다. 이때 Poison instance 는 우리가 학습을 시키는 데이터셋에 오염된 instance 를 추가시키거나, 기존에 있던 데이터셋을 조금 변형시키는 것입니다. 예를 들어 데이터셋이 10,000 장이면 100 장 정도에 perturbation 이나 의도를 가..
-
MAE : Masked AutoEncoder🤿
K, He, et al. "Masked Autoencoders Are Scalable Vision Learners", ICCV, 2022 Very simple method, but highly effective BERT-like algorithm, but with crucial design changes for vision Intriguing properties - better scalability and more from analysis MAE 같은 형식의 문제가 여기서 처음 나온 건 아닙니다. 우리가 Pretext Task 중에서, Context Prediction 이라는 impainting 태스크가 있었습니다. 또한 Transformer 에서 언급했던 Pixel GPT 도 있습니다. 그런데 2022..
-
Contrastive Learning : BYOL (Bootstrap Your Own Latent)
이때까지 Contrastive Learning 에서는 Negative Sample 이 중요했습니다. 하지만 BYOL 은 이와 조금 다릅니다. Key Ingredients Image Transformations : Comparing embeddings Target Networks : Similar to MoCo Additional Predictor on top of online network Interest of the method Simple training procedure No negative examples Work at the embedding level : no pseudo-labels BYOL 은 Negative Sample 을 사용하지 않고, Positive Sample 들 간에 얼마나 가까..
-
Contrastive Learning : Moco (Momentum Contrast)
Contrastive Learning 을 하는 이유는 Postive Pair 는 가깝게, Negative Pair 는 멀게 하기 위함입니다. 여기서 가장 흔히 사용되는 Loss 는 InfoNCE 라는 loss 입니다. 다만 이후 Clustering 을 할 때 있어서 문제가 발생합니다. InfoNCE 로 인코더를 학습하고 나면 x와 x' 의 위치는 Embedding space 상에서 가까워 지게 됩니다. 그런데 과연 가까워 지는 쪽으로 업데이트를 하는 게 옳을까요 ? 가까워지는 방향에 Negative Pair 들이 있다면 어떻게 될까요 ? Negative Pair 들이 없는 방향으로 옮겨가야 하지 않을까요 ? 즉, Negative 랑은 멀게, Positive 랑은 가깝게 하려면 momentum 을 고려해야..
-
Self - Supervised Learning : Contrastive Learning
Contrastive Learning 이 이전의 Pretext Task 와 다른 점은 다음과 같습니다. Contrastive Learning 은 특정한 일을 시키면서 Representation 을 학습시키는 게 아니라, invariance 와 contrast 를 사용합니다. 비슷하게 생기거나, semantic 하게 유사한 애들을 positive pair 라고 하고, 그렇지 않은 애들을 negative pair 라고 하면, invariance 와 contrast 는 다음과 같이 정의됩니다. Invariance : Representations of related samples should be similarContrast : Representations of unrelated samples should ..
-
Self - Supervised Learning : Pretext Task
Self-supervised learning 의 필요성과 기능 Supervised Learning 이 발전함에 따라서, 필연적으로 Self-Supervised Learning 이 각광을 받게 되었습니다. DNN 은 기적같은 성과를 내었지만 이를 위해서는 상당히 많은 양의 Labeled 데이터가 필요했습니다. Annotation 은 상당히 비용이 많이 들고, 돈이 있다고 해서 모두 할 수 있는 것도 아닙니다. 예를 들어 Medical Data 같은 경우 전문성이 필요합니다. Self-Supervised Learning 을 처음 들었을 때 , "스스로 Annotation 을 해 주는 건가 ?" 라는 생각이 들 수 있습니다. 그렇다기보다는, label 자체를 "누군가가 애써서 만들지 않아도 된다" 라고 생각..
-
다양한 Knowledge Distillation 방법들 : 1. Response - based KD
무엇을 배우는가 ? 의 관점에서 KD 는 크게 3가지로 분류할 수 있습니다. Response-Based : 결과값을 따라가는 것 Feature-Based : 중간에 나오는 값들 (과정) 도 다 따라가는 것 Relation-Based : 단편적인 값들의 비교가 아닌, 중간 중간의 값들이 어떤 프로세스에 의해 나오는지 (Flow) 흐름도 따라가는 것 What to match ? Output Logits Output logit 을 따라가는 것은 직관적이고 이해하기 쉽습니다. 하지만 이는 Supervised Learning 에서밖에 사용할 수 없습니다. 답이 있어야 하니까요. Intermediate Features 중간 feature 값으로부터 학습을 하는 것입니다. 하지만 이런 Feature 를 matchin..
-
Knowledge Distillation 개요
Knowledge Distillation 의 정의 Knowledge Distillation is a process of distilling or transferring the knowledge from a large, cumbersome (다루기 어려운) model(s) to a lighter, easier-to-deploy single model, without significant loss in performance KD 는 퍼포먼스의 손실을 최소화하면서 크고 복잡한 모델로부터 작은 모델로 Knowledge 를 전파하는 것을 의미합니다. 큰 모델에서 나오는 성능을 작은 플랫폼에서 돌아가는 모델에 어떻게 적용할 수 있을까 ? 에 관련한 연구들은 다양한 방면에서 진행되고 있습니다. 예를 들어 다음과 같은..