2023. 12. 3. 00:31ㆍProject/Face DB 구축
원본 자료는 개인 정보 보호를 위해 과제 종료 후 삭제되었습니다.
블로그에 업로드된 모든 내용 자료는 진행 중 테스트를 위해 만든 별도의 복제본의 편집본입니다.
최종 사용된 코드 및 시트와 다를 수 있습니다.
아래에 작성된 내용은 과제 진행 중 본인이 직접 진행한 부분만 포함하였습니다.
**필자는 전체 데이터 중 구글 폼을 통해 취합된 데이터에 대한 처리를 진행하였다. 그외의 경우 다른 인원들이 메일이나 카톡으로 취합하여 진행하였다. 해당 부분에 대한 포스트는 진행하지 않을 것이다.
**포스트는 본인이 처리한 과정에 대한 내용만 작성하였고 그외 프로젝트 관련 내용과 상세한 부분은 전부 생략했다.
당초 Pandas를 이용해 테이블 데이터를 처리하고자 했으나 어려울 것 같았다. 또한 결과 확인이 불편하고 전부 코드로 작성해야하니 엑셀 공부하는 기회라 생각하고 구글 시트에 대해 조사하였다.
필자는 해당 프로젝트 진행 전 구글 시트나 MOS 엑셀 그 무엇도 다뤄 본 적 없다. 이번 기회를 통해 조금이나마 사용해 볼 수 있었다.
https://support.google.com/docs/topic/9054603?hl=ko&ref_topic=1382883&sjid=11805063090920198178-AP
https://support.google.com/docs/table/25273?hl=ko&ref_topic=9054531&sjid=11805063090920198178-AP
추가로 원하는 기능을 검색하여 몇가지 함수들을 추렸고 해당 함수들을 구글 시트 함수 목록에 검색하여 상세정보를 읽어보았다. 확인하니 IMPORTRANGE, INDIRECT, ROW, IF, LEN, RIGHT, FIND를 사용하면 충분히 구현할 수 있을 것으로 생각했다.
IMPORTRANGE : 다른 스프레드시트의 시트에서 데이터 불러옴
INDIRECT : 같은 스프레드시트의 다른 시트에서 불러옴
ROW : 셀의 행 번호를 반환
IF : 논리 표현식이 'TRUE'인 경우 특정 값을 반환하고 'FALSE'인 경우 다른 값을 반환
(데이터의 유무 판단 위해 사용)
LEN : 문자열 크기(셀 참조하여 데이터의 유무 판단)
RIGHT : 지정된 문자열의 마지막 문자부터 시작되는 하위 문자열을 반환
(제출 이미지 URL에서 ID 추출)
FIND : 텍스트 내에서 특정 문자열이 처음으로 발견된 위치를 반환
(제출 이미지 URL에서 ID 추출)
적용 결과는 다음과 같다.
[개인 정보는 전부 가리거나 삭제했습니다!]
구글 폼을 통해 제출된 파일의 경우 https://drive.google.com/open?id=사진아이디 형식의 URL로 기록된다. 이때 해당 URL에 접속하면 열람 및 다운로드가 가능하나, 확인 결과 코드 등을 이용한 열람 및 다운로드가 불가한 것으로 파악되었다. 따라서 접근이 가능하도록 https://drive.google.com/uc?id=사진 아이디 형식으로 변경하였다.
사진 가공 후 라벨링이 편리하도록 사전 작업 중에 시트로 사진 이름 리스트를 작성하려 했다. 하지만 작명 규칙 중에 0000형식으로 넘버링이 되어야하는 조건이 있었고 시트에서는 해당 형식을 구현하기 나해하여 파일 처리 과정으로 이월 시켰다.
추가로 =IF(LEN(N3)=0,"",IMAGE(N3)) 처럼 IMAGE 함수를 이용해 이미지 검토를 위한 시트를 구성하였다.
다은 편은 이번 프로젝트 포스트 마지막 편으로 코랩을 이용한 이미지 처리와 라벨링, json 작성에 관한 것이다.
'Project > Face DB 구축' 카테고리의 다른 글
Projet[01]-Face DB 구축 [3] 이미지 처리와 라벨링, json 작성 (0) | 2024.02.12 |
---|---|
Projet[01]-Face DB 구축 [1] 제출 및 분석 수단 준비(구글 폼, 구글 시트) (0) | 2023.12.02 |