카메라 연습문제 정답
시행일·최종 수정일: 2026년 9월 1일
정답을 보기 전에
먼저 각 문제에 자신의 말로 답해본 뒤 해설과 비교해 보세요. 표현이 달라도 핵심 개념과 계산 과정이 맞으면 정답으로 볼 수 있습니다.
1. Robot의 목표 물체 크기·거리·속도로 필요한 해상도와 FPS 요구사항을 작성하세요.
정답과 해설
가장 먼 거리에서 목표의 최소 특징이 검출 Algorithm이 요구하는 Pixel 수 이상인지 Projection으로 계산합니다. 최고 속도에서 Frame 사이 이동량·Motion Blur와 Control 지연 한계를 정해 FPS와 최대 Exposure를 결정하고 FOV·대역폭·연산량도 함께 검증합니다.
2. Image의 Encoding·Step·Data 길이를 검증하는 Node를 구현하세요.
정답과 해설
encoding을 허용 목록과 비교하고 len(data) >= step × height를 검사합니다. Width와 Channel 수만으로 Step을 가정하지 말며 Multi-byte Encoding은 Endian과 Driver의 Depth 단위·Invalid 정책까지 확인합니다.
3. Image와 CameraInfo의 Stamp·Frame·Width·Height 일치 여부를 자동 검사하세요.
정답과 해설
ExactTime 또는 계약에 맞는 Synchronizer로 Pairing하고 두 Header Stamp와 frame_id를 비교합니다. Image 크기와 CameraInfo 크기·ROI·Binning을 대조하며 불일치 Frame은 기하 계산에 쓰지 않고 Diagnostic을 발행합니다.
4. CameraInfo의 K 값으로 다섯 Pixel의 Optical Ray를 계산하세요.
정답과 해설
각 Pixel (u,v)에 대해 x=(u-cx)/fx, y=(v-cy)/fy를 계산해 (x,y,1) Ray를 얻습니다. 이는 왜곡이 제거된 Pixel 또는 적절히 Undistort한 좌표에 적용하며 필요하면 단위 Vector로 정규화합니다.
5. Raw와 Rectified Image 가장자리의 직선 오차를 비교하세요.
정답과 해설
문틀·Checkerboard 직선을 중앙과 네 모서리에 배치해 검출 Point와 적합 직선 사이 Pixel 잔차를 구합니다. Rectified 영상에서 가장자리 잔차가 줄어드는지 보고 Crop·검은 영역과 변경된 Projection Matrix도 기록합니다.
6. 독립 검증 영상으로 Reprojection Error 분포를 평가하세요.
정답과 해설
Calibration에 쓰지 않은 다양한 거리·기울기의 Target에서 Corner를 검출합니다. 평균만 아니라 median·p95·max와 Image 위치별 Error Map을 만들고 운영 거리에서 Pixel Ray·거리 오차 요구를 만족하는지 판단합니다.
7. Camera Optical Frame을 base_link로 변환하고 RViz2에서 검증하세요.
정답과 해설
Optical Frame의 X 오른쪽·Y 아래·Z 앞 규약과 측정 Stamp의 TF를 사용합니다. 알려진 Target Point를 base_link로 변환해 RViz Marker·PointCloud로 표시하고 Robot 자세를 바꿔도 같은 실제 위치에 겹치는지 확인합니다.
8. Exposure·Gain을 바꾸며 Blur·Noise·밝기 Trade-off를 측정하세요.
정답과 해설
고정 속도로 움직이는 Edge Target을 촬영해 Edge 폭으로 Blur, 정지 균일 영역의 표준편차로 Noise, Histogram으로 밝기·포화를 측정합니다. Exposure를 짧게 한 뒤 조명·Aperture·Gain 순으로 보완하며 최악 조명 조건을 포함합니다.
9. Rolling Shutter와 Global Shutter의 회전 영상을 비교하세요.
정답과 해설
같은 Lens·해상도·Exposure에 가깝게 맞추고 일정 각속도로 수직 격자를 촬영합니다. Line 기울기·휘어짐, Feature Tracking Error와 Pose 오차를 각속도별로 측정해 허용 가능한 최고 회전 속도를 정합니다.
10. Stereo의 Baseline·Disparity 오차가 Depth에 미치는 영향을 계산하세요.
정답과 해설
Z=fB/d를 사용하고 d±1 Pixel에서 Depth 차를 계산합니다. 먼 거리일수록 d가 작아 1 Pixel Error 영향이 급증합니다. Baseline 증가의 원거리 이점과 근거리 공통 FOV 감소를 함께 평가합니다.
11. Depth Image의 Invalid·범위 밖·Flying Pixel 비율을 측정하세요.
정답과 해설
Encoding과 단위를 확인해 0·NaN·Inf와 Driver min/max 밖 값을 분리합니다. Edge 주변 이웃 Depth 차가 큰 Pixel을 Flying 후보로 세고 유리·검은 물체·햇빛·여러 거리별 비율과 False Rejection을 기록합니다.
12. Raw와 압축 Transport의 대역폭·CPU·End-to-end 지연을 비교하세요.
정답과 해설
같은 장면·FPS·해상도에서 topic bw, Publisher·Subscriber CPU, Header Stamp부터 Decode 완료까지 지연, Frame Drop과 영상 품질을 측정합니다. Monitoring과 정밀 Vision의 서로 다른 요구에 따라 Transport를 분리합니다.
13. Image와 IMU의 Timestamp 차이를 기록하고 허용값을 설계하세요.
정답과 해설
Device Timestamp의 Clock Domain과 측정 기준점을 먼저 확인합니다. Pair별 Stamp 차 분포와 Offset·Jitter를 측정하고 최고 각속도×시간 오차가 허용 자세 오차보다 작도록 한계를 정합니다. 가능하면 Hardware Trigger·Clock Sync를 사용합니다.
14. Camera 단절·Frozen Frame·Stamp 역행을 CameraMonitor에 주입하세요.
정답과 해설
Publish 중단, 같은 Pixel Buffer 반복, 과거 Stamp·동일 Stamp를 각각 넣습니다. 탐지 시간과 Diagnostic Level, 재연결 횟수 제한, Perception Output 무효화와 Robot 안전 전환을 검증하며 정지 장면을 Freeze로 오판하지 않도록 Sequence·Sensor 상태도 봅니다.
15. 실제 Robot의 조명·오염·진동·온도·재Calibration 유지보수표를 작성하세요.
정답과 해설
조도·역광·Flicker, Lens 오염·Focus, Mount Torque·진동, Camera Temperature, Cable·Connector를 주기별로 기록합니다. Calibration File–Serial–Lens–Resolution 일치와 검증 Target 오차를 확인하고 충돌·재장착·Focus 변경 시 재Calibration합니다.
학습 마무리
틀린 문제는 강의의 관련 장을 다시 읽고, 용어뿐 아니라 각 개념이 실제 로봇에서 어떤 역할을 하는지 설명해 보세요.