Related to: Personal

기여 목록

1. MMDetection3D — fix local_visualizer.py: only visualize when there is at least one instance

  • PR: #2231
  • 날짜: 2025-06-23
  • 상태: Merged

문제

MMDetection3D의 local_visualizer.py에서 3D 객체 탐지 결과를 시각화할 때, 인스턴스(바운딩 박스)가 하나도 없는 경우에도 시각화 함수를 호출하는 문제가 있었습니다. 인스턴스가 없을 때 시각화를 시도하면 예외(Exception)가 발생하거나, 불필요한 연산이 수행되었습니다.

해결

인스턴스가 최소 하나 이상 존재하는 경우에만 시각화 로직을 수행하도록 조건 분기를 추가했습니다.

# 수정 전: 인스턴스 수와 무관하게 시각화 호출
self.draw_bboxes_3d(...)
 
# 수정 후: 인스턴스가 있을 때만 시각화
if len(instances) > 0:
    self.draw_bboxes_3d(...)

배운 점

  • 대형 오픈소스 프로젝트(OpenMMLab)의 코드베이스를 읽고 기여하는 흐름 경험
  • 버그 재현 → 원인 파악 → 최소 변경으로 수정하는 패치 PR 작성 방법
  • 영어로 PR description, 테스트 방법을 명확히 작성하는 것의 중요성

기여를 위한 참고

오픈소스 기여 시 일반적인 절차:

  1. 이슈 탐색 또는 직접 버그 발견
  2. Fork → Branch 생성
  3. 수정 + 테스트 작성
  4. PR 생성 (명확한 제목, 재현 방법, 해결 방법 기술)
  5. 리뷰 대응 및 수정
  6. Merge