Computer Vision & AI 썸네일형 리스트형 초당 프레임(FPS)의 늪, 실시간 처리를 위한 파이썬 최적화 전투 1. 도입: 이론과 현장의 괴리, 끝없이 요동치는 뎁스 맵지난 1편에서는 라이다(LiDAR) 센서를 대체하기 위해 단일 카메라 기반의 딥러닝 Depth Estimation 모델을 산업 현장에 도입했다가 겪었던 치명적인 한계들을 다루었다. 조명의 변화나 그림자를 실제 웅덩이로 오인하는 문제도 심각했지만, 현장에서 실시간으로 시스템을 띄웠을 때 마주한 가장 큰 골칫거리는 바로 '플리커링(Flickering)' 현상이었다.동일한 위치에서 카메라와 피사체가 1mm도 움직이지 않았음에도 불구하고, 화면에 출력되는 뎁스 맵(Depth Map)의 픽셀 값은 프레임이 바뀔 때마다 미친 듯이 깜빡이고 널뛰기를 반복했다. 이런 불안정한 날것의 데이터(Raw Data)를 로봇 팔의 거리 제어 알고리즘이나 이기종 디바이스 트.. 더보기 Python 단일 카메라 Depth Estimation (2편): OpenCV를 활용한 뎁스 노이즈 및 떨림 보정 실무 1. 끝없이 요동치는 뎁스 맵, 어떻게 제어할 것인가지난 1편에서는 라이다(LiDAR) 센서를 대체하기 위해 단일 카메라 기반의 딥러닝 Depth Estimation 모델을 산업 현장에 도입했다가 겪었던 치명적인 한계들을 다루었다. 조명의 변화나 그림자를 실제 웅덩이로 오인하는 문제도 심각했지만, 현장에서 실시간으로 시스템을 띄웠을 때 마주한 가장 큰 골칫거리는 바로 '플리커링(Flickering)' 현상이었다.동일한 위치에서 카메라와 피사체가 1mm도 움직이지 않았음에도 불구하고, 화면에 출력되는 뎁스 맵(Depth Map)의 픽셀 값은 프레임이 바뀔 때마다 미친 듯이 깜빡이고 널뛰기를 반복했다. 이런 불안정한 날것의 데이터(Raw Data)를 로봇 팔의 거리 제어 알고리즘이나 물체 인식 트리거(Tri.. 더보기 Python 단일 카메라 기반 Depth Estimation 도입기: 라이다(LiDAR) 없이 거리 측정이 가능할까? 1. 도입: 고가의 3D 센서를 소프트웨어로 대체하려는 시도머신비전 설비나 로봇 비전 시스템을 설계할 때 가장 큰 고민거리 중 하나는 '공간의 깊이(Depth)와 거리'를 어떻게 측정할 것인가 하는 점입니다. 가장 확실하고 정밀한 방법은 라이다(LiDAR) 센서나 스테레오(Stereo) 카메라, 혹은 적외선 기반의 뎁스 카메라(Intel RealSense 등)를 하드웨어적으로 부착하는 것입니다. 하지만 이러한 장비들은 단가가 매우 높고, 산업 현장의 열악한 환경(진동, 분진)에서는 내구성을 담보하기 어려울 때가 많습니다.엔지니어로서 비용(Cost)을 절감하면서도 목적을 달성하기 위해 눈을 돌린 곳은 파이썬(Python) 기반의 딥러닝 기술이었습니다. 바로 평범한 2D 단일 카메라(Monocular Cam.. 더보기 파이썬으로 3D 수중 지형 시각화 구현하기 (시뮬레이션 데이터 활용) 바다 환경이나 수중 지형을 3차원으로 표현하는 작업은 해양 데이터 분석이나 시각화 학습에서 매우 흥미로운 주제다. 이 글에서는 실제 수심 데이터가 아닌 **시뮬레이션(가상 데이터)**을 활용하여, 파이썬으로 3D 수중 지형을 표현하는 과정을 단계별로 정리한다.본 예시는 실측 수심 정보가 아닌 임의로 생성한 데이터이며, 목적은 3D 시각화 구조와 표현 방법을 이해하는 것에 있다.3D 수중 지형 시각화 개념 이해수중 지형은 일반적으로 다음과 같은 요소로 구성된다.완만한 경사급격한 낙차 구간돌출 지형(여 형태)움푹 파인 구간(골 형태)이러한 형태는 수학적 함수와 난수를 조합하면 충분히 표현할 수 있다. 실제 데이터를 사용하지 않더라도, 구조를 이해하는 데는 시뮬레이션이 효과적이다.실행 환경Python 3.xn.. 더보기 Python으로 이미지 생성 모델(Image Generation)과 영상 편집(Editing) 자동화 1. 이미지 생성과 영상 편집 자동화가 공정 기술로 진화한 배경이미지 생성 모델과 영상 편집 자동화는 종종 콘텐츠 제작 도구로만 인식된다. 그러나 실제 현장에서 이 기술을 사용해 보면, 이는 창작 도구라기보다 공정 안정화 기술에 가깝다.필자가 자동화 파이프라인을 처음 설계했을 때 가장 큰 문제는 “결과물 품질”이 아니라 작업 편차였다. 사람이 개입할수록 결과는 좋아질 수 있지만, 동시에 재현성은 급격히 떨어진다. 자동화의 목적은 최고 품질이 아니라 항상 일정한 품질을 유지하는 것이다.2. 이미지 생성 모델을 바로 쓰면 실패하는 이유많은 사례에서 이미지 생성 모델은 바로 실무에 투입된다. 하지만 실제로는 거의 항상 문제가 발생한다.조명 방향이 달라지고, 배경 톤이 바뀌며, 같은 프롬프트에서도 결과가 달라진.. 더보기 Python으로 얼굴 인페인팅(Face Inpainting) – 손상된 이미지 복원 1. 얼굴 인페인팅이 실무에서 필요해진 현실적인 배경얼굴 인페인팅(Face Inpainting)은 흔히 오래된 사진 복원이나 AI 이미지 편집 기술로 소개된다. 하지만 실제 현장에서 이 기술이 필요해진 계기는 훨씬 현실적이다. 필자가 참여했던 프로젝트에서는 고객 프로필 이미지, 신분 확인 이미지, 영상 썸네일 등에서 얼굴 일부가 가려지거나 손상된 데이터가 대량으로 발생했다.마스크, 손, 물체 가림, 압축 손실, 촬영 오류 등으로 인해 얼굴의 핵심 영역이 깨진 이미지들은 재촬영이 불가능한 경우가 많았다. 이때 인페인팅은 ‘보정 기술’이 아니라 데이터 활용률을 살리기 위한 공정 기술로 작동했다.2. 얼굴 인페인팅을 바로 적용하면 실패하는 이유초기에 범용 인페인팅 모델을 그대로 적용했을 때 결과는 기대와 달랐.. 더보기 Python으로 셀카/증명사진 자동 보정(Selfie Beautification) 구현 1. 셀카·증명사진 자동 보정이 현장에서 문제로 등장한 순간셀카 자동 보정이나 증명사진 보정은 흔히 “예쁘게 만드는 기술”로 오해된다. 그러나 실제 공정에서 이 기능이 요구된 이유는 전혀 달랐다. 필자가 처음 이 문제를 맡았을 때의 핵심 요구사항은 단 하나였다. **“사람마다 결과가 들쭉날쭉하지 않게 해달라”**는 것이었다.수천 장의 얼굴 이미지를 다루는 환경에서, 사람 손을 거친 보정은 품질이 아니라 편차를 만든다. 누군가는 너무 뽀얗고, 누군가는 거의 보정되지 않는다. 자동 보정은 미적 만족보다 일관성 확보를 위한 기술로 등장했다.2. 자동 보정을 바로 적용하면 반드시 실패하는 이유초기에는 시중에 공개된 얼굴 보정 알고리즘을 그대로 적용했다. 결과는 빠르게 나왔지만 문제는 즉시 드러났다.어떤 얼굴은 .. 더보기 Python으로 이미지에서 반사/글레어 제거(Reflection Removal) 기법 1. 반사 제거는 ‘화질 개선’ 문제가 아니라 ‘데이터 포기 기준’의 문제다이미지에서 반사(Reflection)나 글레어(Glare)를 제거하는 문제를 처음 접했을 때, 나는 이것을 단순한 전처리 문제로 생각했다. 밝게 튄 영역을 줄이고, 원래 배경을 복원하면 되는 작업이라고 판단했다. 그러나 실제 공정에 적용하면서 깨달은 점은, 반사 제거는 얼마나 복원할 것인가보다, 어디까지를 포기할 것인가를 결정하는 문제라는 사실이었다. 특히 유리 쇼케이스, 스마트폰 화면, 차량 전면 유리처럼 반사가 구조적으로 발생하는 환경에서는 “완전 제거”라는 목표 자체가 비현실적이었다.2. 현장에서 가장 먼저 무너진 가정: 반사는 노이즈가 아니다초기 구현에서는 반사를 노이즈처럼 다뤘다. 밝기 임계값을 기준으로 마스킹하고, 주변.. 더보기 이전 1 2 3 4 ··· 8 다음