인프런 커뮤니티 질문&답변

TKYM3315님의 프로필 이미지

작성한 질문수

[라즈베리파이] IoT 딥러닝 Computer Vision 실전 프로젝트

라즈베리 파이 대신 JETSON NANO 를 사용해도 문제가 없을까요?

20.07.08 17:32 작성

·

3.1K

0

안녕하세요

JETSON Nano 를 이용해 YOLO를 이용한 보행자감지 프로젝트를 진행할 일이 있는데, 이 강좌를 IoT 영상처리의 공부자료로 활용하고자 합니다.

팀 예산이 정해져있는지라, 주어진 JETSON NANO 말고 꼭 라파이 B+ 을 구매하여 사용해야만 하는지, 아니면 JETSON Nano 를 사도 문제가 없는지에 대해 알고싶습니다.

또한, 혹시 JETSON이나 라파이 및 카메라모듈외에 추가적으로 필요한 기타부품들이 또 있는지에 대해서 알고싶습니다(필요물품을 일괄적으로 신청해야해서 그렇습니다).

추가적으로, 라파이는 병렬처리가 안되어 FPS가 되게 안나올 것 같은데, 혹시 몇정도의 초당 프레임을 확보할 수 있는지, 그리고 혹시 알고계신다면 NANO에서는 몇 FPS정도 나오는지 알려주시면 큰 참고가 될 것 같습니다.

감사합니다.

답변 5

0

남일우님의 프로필 이미지

2020. 11. 18. 02:15

본 강좌를 수강하고 있는 수강생입니다.

아직 해당 프로젝트를 진행중이신지 모르겠지만, Jetson Nano에서 Tiny Yolov3를 최적화 할 경우 FullHD 영상은 25fps 이상, HD 영상은 30fps 이상이 가능합니다.

혹시 궁금하신 사항이 있으시면, 메일로 남겨주시면 제가 아는 범위내에서 답변 드리겠습니다.

dlbuilder2020@gmail.com

0

TKYM3315님의 프로필 이미지
TKYM3315
질문자

2020. 07. 09. 18:06

답변 잘 읽었습니다!

반드시 Edge-Device 에서 영상처리를 맡아야만 지연시간을 확보할 수 있다고 생각했는데, 4G 기반에서는 크게 문제가 되지 않는다면 구글클라우드 API 를 활용하거나, 아예 전적으로 중앙에서 모든 연산을 처리하도록 하는 방안도 고려할 만한 것 같습니다.

덕분에 큰 참고가 되었습니다.

라파이 강의도 들어나가면서, 모르는 부분이 있으면 또 질문을 올리도록 하겠습니다.

감사합니다.

0

노마드크리에이터님의 프로필 이미지

2020. 07. 09. 17:38

안녕하세요?

재미있는 프로젝트네요.

교육과정 개발은 필요하시면 요청하시라고 안내해드린것이니 괜찮습니다. 

Cloud Functions을 이용한 방법은 제가 최근 참여한 프로젝트에서 사용한 방법 중 하나입니다. 생각하시는 것과 유사합니다. 과거에는 통신속도가 문제였지만 최근에는 통신기술이 발달해서 안정적인 4G기반에서도 잘 동작합니다. 라즈베리파이나 모바일과 같이 제한된 장치에서는 Detection만하거나 사진을 정해진 규격(예를 들어 300*300)으로 만들고 구글 Cloud Storage에 올리면  Cloud Functions이 자동으로 사양이 좋은 서버의 머신러닝 API에서 처리해서 결과를 저장하거나 알려주는 방식입니다. 

라즈베리파이IOT 과정에서 침입탐지하는감시카메라 과제도 결국은 서버와 연동해서 메일을 보내고 이미지를 저장하는데 사람을 인식하는 기능을 서버로 이전한 것입니다. 말씀하신데로 통신에 의존하는 것과 같은 고려사항이 있겠지만 이제는 우리나라에서 통신환경은 많이 발달되어 서버와 연동하는 프로젝트에서는 괜찮은 방법인것 같네요. 오히려 현장 IoT장치의 한계로 정확도 문제를 개선할 수 있어 고객도 만족스러워 하셔서 앱 수정보완 후 곧 서비스가 출시될 예정입니다. 

이 기법을 이용해서 최근에 서버 없이 쓰는 서버, 구글 Cloud Functions 라는 강의를 만들었습니다. 강의 두번째 프로젝트에서 사진을 저장하여 쌈내일로 줄이는 것과 세번째 프로젝트 머신러닝 API와 통합하는 내용이 말씀드린 방식을 응용한 예제입니다.

도움되시길 바랍니다.

감사합니다.

0

TKYM3315님의 프로필 이미지
TKYM3315
질문자

2020. 07. 09. 01:58

안녕하세요

답변 잘 읽었습니다!

안타깝지만, 팀프로젝트라 저 혼자 결정하기엔 어려운데다, 다들 너무 바쁜 관계로 교육과정 준비에 함께하기는 어려울 것 같습니다.

현재 구상중인 프로젝트는 Jetson Nano 를 이용한 전봇대 높이에 설치하여 스쿨존같은 보차혼용도로에서 사람객체가 도로 근처의 위험구역으로 진입하면 운전자가 볼 수 있는 위치에 설치된 경고 디스플레이에 경고사인을 띄우는 간단한(?) 프로젝트입니다. 그렇다보니 FPS에 Critical 한 프로젝트인데, 저희도 Edge-Computing 으로 각 디바이스에서 연산을 한 후 그 결과만 서버에 전송해서 이력을 관리하는 방식을 생각하고 있습니다.

Cloud Functions 분산처리는 처음들어보는데, 어떻게 이걸 적용해서 라파이같은 약한 말단기기에서 FPS를 확보할 수 있는지 조금 더 자세히 들어보고싶습니다. 제 생각으로는 라즈베리파이에서 연산을 하는 것이 아니라, 라파이에서는 영상정보만 GCP로 보내고 GCP에서 YOLO를 실시간처리하여 그 결과물만 다시 라파이로 전송하는 것으로 예상되는데, 그렇다면 Time-Critical 한 실시간 영상처리 프로젝트에서는 통신지연시간에 크게 시간을 빼앗긴다는 단점이 있을 것 같습니다. 혹시 제 생각과 다른 기법이라면, 어떤 기법인지 조금 더 설명을 들을 수 있을까요?

감사합니다.

0

노마드크리에이터님의 프로필 이미지

2020. 07. 08. 19:08

안녕하세요?

재미있는 주제의 프로젝트를 준비하시네요.

NVIDIA JETSON Nano를 가지고 제 코드를 모두 테스트해보지 않아서 된다 안된다로 당장 답변드리기는 어려울 것 같습니다.

그러나 조언드리고 싶은 것은 원하시는 주제와 JETSON Nano를 기반으로 저와 새로운 맞춤형 교육과정을 준비하시는 것이 어떨까 생각이 듭니다. 이미 다른 기관에서 요청이 와서 그곳에 맞는 AI IoT과정을 계약하여 준비하기도 했습니다.  과정을 준비하며 내용과 준비물을 같이 정할 수도 있을 것 같습니다. 보행자 감시하면 unconcious face detection 뿐 아니라 요즘은 사회적 거리두기 준수, 마스크 착용여부 등 재미있는 내용들이 많이 시도되고 있습니다. 어떤 내용에 관심이 있으신지 알려주시면 도움이 되겠네요.

라즈베리파이에서 YOLO를 실시간 처리하는데는 몇가지 운영적인 기법이 있는데 단지 하드웨어 적으로만 이야기하면 라즈베리파이에 구글 코랄보드와 같은 확장 TPU를 부착하기도 하고, 보통 4FPS를 기준으로 튜닝합니다. 그러나 말씀드린 데로 Cloud Functions분산처리, 동영상 녹화처리 등 몇가지 운영적인 방법으로 해결하기도 합니다.

감사합니다.

TKYM3315님의 프로필 이미지

작성한 질문수

질문하기