이 프로젝트는 클래식 기타동아리 폴리포니 졸업생 환송회 행사에서 전달 할 졸업생들의 사진을 분류하는 분류기입니다
Makefile을 사용하여 전체 실행 or 개별 실행이 가능하다.
Makefile내 환경변수의 값들을 입력하고 실행한다.
make all사진 분류는 총 두 가지 과정으로 진행된다
- 네이버 카페 메뉴 카테고리에 있는 모든 게시글의 사진을 크롤링
- 여러 장의 사진 중에서 찾으려는 사람을 필터링
크롤링을 하기 위해서는 유효한 네이버 계정이 필요하다
유효한 네이버 계정이란 폴리포니 카페 에 가입되어 있는 계정이어야 한다.
| 파라미터 명 | 설명 | 필수 파라미터 여부 |
|---|---|---|
| --menu_id | 네이버 카페 메뉴 고유 번호 | O |
| --naver_id | 유효한 네이버 아이디 | O |
| --naver_pw | 유효한 네이버 비밀번호 | O |
| --debug | True일경우, 크롤링 창 실행 |
X(기본값 False) |
python crawling.py \
--menu_id=네이버 메뉴 아이디 \
--naver_id=네이버 아이디 \
--naver_pw=네이버 비밀번호 \
--debug=True 실행 된 결과물은 output 디렉토리에 게시물 별로 저장된다
output 하위 디렉토리의 명명 규칙은 게시물 명.게시물 고유 번호로 저장된다
게시물 제목이 중복일 경우 덮어씌워지는 이슈를 막기 위함
예시
├── output
│ ├── 23년 PP인의밤.2019
│ ├── 23년 졸환회.2020
│ └── 23년도 하계수련회 콩쿨.20691번 과정에서 크롤링한 사진들을 Amazon Rekognition을 사용하여 특정 인물을 필터링한다.
source_image_path은 필터링할 인물의 사진이다.
target_directory_path는 1번 과정에서 크롤링한 사진들을 모아놓은 디렉토리 위치이다. 별도로 지정할 수 있으며 default값은 output이다.
AWS Access Key와 관련된
정보는 해당 링크
를 참조
| 파라미터 명 | 설명 | 필수 파라미터 여부 |
|---|---|---|
| --aws_access_key_id | AWS Access Key | O |
| --aws_secret_access_key | AWS Secret Access Key | O |
| --source_image_path | 기준 이미지 경로 | O |
| --target_directory_path | 필터링 대상 이미지 디렉토리 경로(default output) | X |
python compare_face.py \
--aws_access_key_id=ACCESS KEY ID \
--aws_secret_access_key=SECRET ACCESS KEY \
--target_directory_path=output
--source_image_path=source.jpg실행 된 결과물은 inference 디렉토리 하위에 negative, positive로 나뉘어 저장된다.
negative는 특정 인물이 포함되지 않은 이미지를 분류한 것이고 positive는 특정 인물이 포함됐다고 판단한 이미지들이다.
예시
├── inference
│ ├── negative
│ └── positive2번 과정에서 필터링한 이미지들 중 타겟과 일치한 사진들(positive)만 압축하여 드라이브에 업로드한다.
업로드를 위해서 json 확장자를 가진 service account를 발급받아야한다.
또한 GOOGLE_APPLICATION_CREDENTIALS 환경변수 선언이 필요하다.
GOOGLE_APPLICATION_CREDENTIALS=service_account.json
| 파라미터 명 | 설명 | 필수 파라미터 여부 |
|---|---|---|
| --target_dir | 업로드할 output 디렉토리 경로(default inference/positive) | X |
| --google_drive_dir_id | 드라이브에 업로드할 디렉토리 경로 | O |
python upload_drive.py \
--target_dir=inference/positive \
--google_drive_dir_id=1rv9aH7DE1QA18PaatrDa \