Closed james-sungjae-lee closed 5 years ago
Jetson TX1 에서 동일한 detectnet-camera facenet 코드를 작동시켰음에도, cropped image 가 저장될 때
상하좌우로 n 배율 되어 저장되지 않고, bounding box 만 crop 되어 저장되는 문제가 발생하였다.
이를 해결하기 위해 우선 jetson tx1 에서 직접 utils 에 존재하는 loadimage.cpp 코드를 수정하여 새롭게
빌드해볼 필요가 있다. 이 때, camera port 를 1번으로 재설정 하는 것을 꼭 확인한다.
Script 를 이용하여 얼굴 등록 시스템의 Pipeline 을 구축할 수 있을 것으로 보인다.
기본적으로 작업할 위치는 Desktop/facedataset 디렉토리이다.
해당 디렉토리에는 add_member.py 와 detectnet-camera 의 두 파일이 존재한다.
abcd 라는 사람이 등록을 하려고 오면, mkdir abcd 로 해당 사람의 데이터셋 폴더를 생성해준다
detectnet-camera 를 abcd 로 cp 또는 mv 한다
abcd 디렉토리에서 detectnet-camera facenet 을 실행한다.
충분히 얼굴 데이터셋이 생성되었다면, detectnet 을 종료하고 얼굴 데이터셋을 확인시켜준다
해당 디렉토리에 남아있는 detectnet-camera 파일을 삭제, 또는 mv 한다.
상위의 facedataset 디렉토리로 이동한다.
해당 위치의 add_member.py 를 실행시키고, 해당 회원의 이름으로 만들었던 디렉토리 abcd 를 username 으로 입력한다.
등록하고자 하는 회원 번호를 user_id 로 입력한다
( 이 때, DynamoDB 도 함께 등록되면 편할 것으로 보인다. )
전체 Pipeline 이 몇 분정도 소요될지에 대해 생각하고, Demo 시에 앞에 명시해 두는 것이 필요하다.
@jiisoo
회원 등록 시스템을 구축하는데, 회원을 등록할 때 user_name 과 user_id 를 함께 받아오게 됨
이 때, DynamoDB 도 함께 연동해서 한 번에 등록 처리하면 하나의 Pipeline 으로 손쉽게 관리 가능할 것 같아
다만 문제는 AWS 에서 내쪽의 Rekognition 과 지수쪽의 DynamoDB 권한이 달라서 문제가 되는데
가능하다면 내가 DynamoDB 를 Modify 또는 Insert 하는 권한을 부여받아서 처리 가능하면 좋을 것 같아
오빠 계정아이디로 권한 줬는데 DynamoDB접근권한 확인해볼래요.? 확인은 어떻게 하는지모르게찌만 fullaccess줬씀니다@
DynamoDB 는 오레곤(us-west-2) 에 있으며, client 생성 시 region_name = 'us-west-2' 로 지정하여야
정상적인 접근이 가능합니다
추가적으로, 동일한 머신에서 두 개 이상의 credential 을 사용하기 위해 우선은 id 와 key 를 코드에 임베딩 해 놓았으나
더 좋은 보안을 위해 다른 방법을 찾아볼 필요가 있습니다.
간단히 떠오르는 방법으로는, dynamodb_key.py 파일을 만들어, 해당 부분을 credential 처럼 취급하여
import 하여 간단하게 사용하는 방법이 가능할 것으로 보입니다.
전체 회원등록 파이프라인에 대한 구현 및 테스트가 완료되었기에, 이슈를 닫습니다.
수고했씀니다아~~~~
실제 Flex Ads 가 마켓에서 사용될 때는, 이미 등록된 회원에 대하여 Face 등록만 하면 되지만,
Flex Ads Demo 를 위해서는 새로운 사람의 얼굴과 이름을 시스템에 등록하는 과정이 필요하다
이를 위해서 Jetson TX1 을 보조로 사용하여 얼굴 등록 시스템을 구현하도록 한다.
detectnet-camera facenet 을 이용하여 얼굴 데이터셋을 생성한다.
어떤 상품을 추천받고자 하는지 고객이 선택한다.
DynamoDB 에 해당 고객의 이름을 적절한 상품의 user_id 에 맞게 등록한다.
해당 user_id 를 이용하여 얼굴 데이터셋을 학습시킨다
대부분의 사항은 이미 구현되어 있으며, 다음과 같은 사항을 구현하고자 한다.