19장. Vision 데이터 파이프라인
용어 짚고 가기
파이프라인(pipeline)여러 처리 단계를 차례로 이어, 앞 단계의 출력이 다음 단계의 입력이 되게 만든 흐름입니다. 물을 차례로 흘려보내는 관(pipe)에서 온 말입니다. 1장에서 처음 보았습니다.단계(stage)파이프라인을 이루는 칸 하나입니다. stage 는 "무대, 한 과정"이라는 뜻입니다.입출력 약속(interface)단계가 무엇을 받아 무엇을 돌려주는지 정한 약속입니다. inter(사이)와 face(얼굴)를 붙인 말로, 두 부분이 맞닿는 면이라는 뜻입니다.수집(collection)폴더나 동영상에서 처리할 그림을 모으는 단계입니다. collect 는 "모으다"라는 뜻입니다.출처(source)그림이 어디서 왔는지 적은 정보입니다. 파일 경로나 "동영상 이름#프레임 번호" 처럼 적습니다. source 는 "샘, 근원"이라는 뜻입니다.거르기(filtering)쓸 수 없는 그림을 빼는 단계입니다. filter 는 "거름망"이라는 뜻입니다. 16장의 데이터 정제를 파이프라인의 한 칸으로 넣은 것입니다.전처리(preprocessing)모델에 넣기 전에 그림의 크기, 밝기, 잡음을 맞추는 일입니다. 이 장에서는 "다듬기" 단계라고 부릅니다. pre 는 "미리"라는 뜻입니다.추론(inference)학습을 마친 모델에 새 그림을 넣어 답을 얻는 일입니다. infer 는 "미루어 짐작하다"라는 뜻입니다.가중치 파일(weights file)학습으로 정해진 모델 속 숫자를 담은 파일입니다. 18장에서 만든best.pt가 그것입니다. pt 는 PyTorch 의 줄임입니다.신뢰도(confidence)모델이 상자 하나에 붙이는 "얼마나 확신하는지" 점수입니다. 0~1 사이이고, 줄여서 conf 라고 씁니다.IoU(Intersection over Union)두 상자가 겹친 넓이를 합친 넓이로 나눈 값입니다. intersection 은 "교차, 겹친 곳", union 은 "합친 것"이라는 뜻입니다. 18장에서 보았습니다.정밀도(precision)모델이 찾은 상자 가운데 맞은 상자의 비율입니다. 11장에서 경계 점수로 처음 보았습니다.재현율(recall)실제 물체 가운데 모델이 찾아낸 물체의 비율입니다. recall 은 "되불러 내다"라는 뜻입니다.설정(configuration)기준값처럼 바꿀 수 있는 값을 모아 둔 것입니다. 이 장에서는CONFIG라는 사전 하나에 모읍니다. configure 는 "짜 맞추다"라는 뜻입니다.하드코딩(hard coding)바꿀 수 있는 값을 코드 곳곳에 숫자로 직접 박아 넣는 일입니다. hard 는 "단단히 굳은"이라는 뜻으로, 나중에 바꾸기 어렵다는 말입니다.JSON(JavaScript Object Notation){"이름": 값}꼴로 자료를 적는 글자 파일 형식입니다. 자바스크립트의 사전 적는 법에서 왔고, 파이썬 사전과 생김새가 거의 같습니다.처리 기록(log)파일마다 어느 단계에서 어떤 결과가 났는지 남긴 표입니다. 17장에서 본 로그입니다.재현성(reproducibility)같은 입력과 같은 설정으로 다시 돌리면 같은 결과가 나오는 성질입니다. reproduce 는 "다시 만들어 내다"라는 뜻입니다.깔때기 표(funnel table)단계를 지날 때마다 남은 개수가 줄어드는 모양을 보인 표입니다. 위가 넓고 아래가 좁은 깔때기(funnel)를 닮아 붙은 이름입니다.잡음 점수(noise score)이 장에서 쓰는 잡음의 크기입니다. 흑백 그림과 3×3 미디언 블러(7장)를 건 그림의 차이를 평균 낸 값으로, 클수록 자글자글합니다.프레임 뽑기(frame sampling)동영상의 모든 장 대신 N장마다 한 장씩 골라 쓰는 일입니다. sample 은 "본보기로 떼어 낸 것"이라는 뜻입니다. 15장에서 보았습니다.병목(bottleneck)파이프라인에서 가장 오래 걸려 전체 속도를 정하는 단계입니다. 병의 좁은 목처럼 흐름이 막히는 곳이라는 뜻입니다.체크리스트(checklist)빠뜨리지 않도록 확인할 항목을 적은 목록입니다. check(확인)와 list(목록)를 붙인 말입니다.