게시글
질문&답변
이미지는 분류가 잘 되는데 동영상은 Frame을 인식하지 못합니다.
1. 네 맞습니다. 상대경로로 하면 Video() 자체는 재생되는데, cv2.VideoCapture(상대경로) 하면 frame 이 0이 나옵니다. 2. 절대경로로 하면 Video() 도 재생이 안되고, cv2.VideoCapture(절대경로) 또한 frame 이 0이 나옵니다. ------------------------------------------------------------------------------------------------------------------------------------------------------문제 해결했습니다.도커가 독립환경이다보니까, 호스트에 있는 코덱파일이라도 도커 이미지 내부에 따로 비디오 디코더가 포함되어있지 않으면 동영상을 해석할 수 없는 문제가 있을거라고 예상했고,이에 docker exec -it lab '각종 명령어'를 서버 로컬 터미널에 입력하여 터미널을 통해 컨테이너에 이런저런 코덱 디코더를 깔았습니다. 그 뒤, 확인해보니 영상처리가 제대로 되었음을 확인할 수 있었습니다. 설치한 디코더 관련 파일은 ubuntu_restricted_extras, ffmpeg, libdvd 입니다. 그 뒤, sudo apt-update 를 exec 를 통해 실행시켰고하루 자고 다시 reboot 시켜 실행해보니 제대로 작동했습니다. (사진) 절대경로 상대경로 동영상 재생문제 자체는 코덱문제가 아닌 것 같은데, 브라우저 문제인가 의심됩니다. 하지만 주피터에서 정상적으로 도커에 있는 동영상 파일을 읽어들이니, 큰 문제가 아닙니다.정말 감사합니다!
- 0
- 8
- 1K
질문&답변
이미지는 분류가 잘 되는데 동영상은 Frame을 인식하지 못합니다.
아, 혼란을 드린 것 같습니다. 우선 도커라서 /home 이 최상위 디렉토리가 아니라, /data 가 최상위 디렉토리로 되어있습니다. /data/DLCV/data/video/John_Wick_small.mp4 에도 영상파일이 있고, 혹시 보안적으로 jupyter에서 home으로 가는게 안되는건가 싶어서 /data/DLCV/Detection/fast_rcnn 디렉토리에도 John_Wick_small.mp4 를 똑같이복사한 것입니다.(사진)일단 말씀하신대로 절대경로를 확인했고, 절대경로로 동영상에 접근했을 때는 "지원되는 형식 및 MIME 유형의 동영상을 찾을 수 없습니다" 라고 하며 재생이 되지 않았습니다.그런데 이상하게, 상대경로로 동영상에 접근했을 때는 동영상이 재생이 되는 결과를 얻을 수 있었습니다. 절대경로를 잘못 입력한 것이 아닌가 하는 의심을 할 수밖에 없었지만, 절대경로를 잘못 입력하면 ValueErrorTraceback (most recent call last) in 1 get_ipython().system('pwd') ----> 2 Video('/data/data/video/John_Wick_small.mp4') # 도커 내부의 상대경로 /usr/local/lib/python3.6/dist-packages/IPython/core/display.py in __init__(self, data, url, filename, embed, mimetype, width, height) 1372 "Consider passing Video(url='...')", 1373 ]) -> 1374 raise ValueError(msg) 1375 1376 self.mimetype = mimetype ValueError: To embed videos, you must pass embed=True (this may make your notebook files huge) Consider passing Video(url='...') 라는 에러가 나오게 되어있으므로, 절대경로 자체는 맞는 것 같습니다. 다른 동영상에 대해서는, balloon_dog01 동영상 등 모두 이 현상과 같은 결과를 내었습니다. 상대경로로 입력하면 동영상이 나오고, 절대경로로 입력하면 동영상이 나오지 않습니다.
- 0
- 8
- 1K
질문&답변
이미지는 분류가 잘 되는데 동영상은 Frame을 인식하지 못합니다.
cv2.CAP_PROP_FRAME_폭/높이 는 3,4를 제대로 반환하는데 cap.get(cv2.CAP_PROP_FRAME_폭/높이) 단계에서 항상 0이 나오는 것을 확인할 수 있었습니다. 구글링으로 if not raise Exception 문을 활용해보라는 말이 있어서, isOpened() 여부를 체크해봤는데, Exception 이 떴습니다.(사진) (사진) 생각을 해보니, 제가 지금 도커 컨테이너를 통해 기계학습을 돌리고 있는데, root 계정에 mp4 코덱을 apt-get 시켜봤자 도커 컨테이너는 독립적이니까 정작 주피터 노트북은 당연히 영향을 전혀 받지 않는게 아닌가, 이런 의심이 듭니다.
- 0
- 8
- 1K
질문&답변
이미지는 분류가 잘 되는데 동영상은 Frame을 인식하지 못합니다.
1. 말씀대로 우분투 데스크탑에 마우스를 연결해서, 동영상이 제대로 된 파일인지 확인을 해보았습니다. ~/DLCV/data/video 에서 John_Wick_small.mp4 파일의 용량은 1.8MB로 멀쩡했습니다만, 우분투에 기본적으로 깔린 video 플레이어가 먹통인지, 재생이 되지 않았습니다. 우분투에서 동영상이 재생되지 않는 점이 영 미심쩍어 좀 더 파고들어봤더니, 이런 에러가 나왔습니다. 우분투에서 자체적으로 MPEG-4 AAC 디코더를 가지고 있지 않아 영상을 재생할 수 없다는 내용이었는데, 매우 유력하게 이 것이 원인이 아닌가 생각되었습니다. 그래서 AAC 디코더를 설치했고, 동영상이 제대로 돌아가는걸 확인했지만 여전히 0프레임이 찍힙니다. 그럼 코덱이 문제가 아니라는건데, 다른 어떤 원인이 있을 수 있을지 짚이는 점이 있으신가요? (사진) (사진) 2. 0 프레임이 나오는 문제를 해결하면, 동영상이 ~/DLCV/data/output 디렉토리에 들어가있는 것을 확인할 수 있을 것 같습니다. 이미지의 경우, cv2.imwrite('파일명',이미지배열) 로 저장가능함을 확인했습니다. 감사합니다!
- 0
- 8
- 1K
질문&답변
라즈베리 파이 대신 JETSON NANO 를 사용해도 문제가 없을까요?
답변 잘 읽었습니다! 반드시 Edge-Device 에서 영상처리를 맡아야만 지연시간을 확보할 수 있다고 생각했는데, 4G 기반에서는 크게 문제가 되지 않는다면 구글클라우드 API 를 활용하거나, 아예 전적으로 중앙에서 모든 연산을 처리하도록 하는 방안도 고려할 만한 것 같습니다. 덕분에 큰 참고가 되었습니다. 라파이 강의도 들어나가면서, 모르는 부분이 있으면 또 질문을 올리도록 하겠습니다. 감사합니다.
- 0
- 5
- 3.2K
질문&답변
라즈베리 파이 대신 JETSON NANO 를 사용해도 문제가 없을까요?
안녕하세요 답변 잘 읽었습니다! 안타깝지만, 팀프로젝트라 저 혼자 결정하기엔 어려운데다, 다들 너무 바쁜 관계로 교육과정 준비에 함께하기는 어려울 것 같습니다. 현재 구상중인 프로젝트는 Jetson Nano 를 이용한 전봇대 높이에 설치하여 스쿨존같은 보차혼용도로에서 사람객체가 도로 근처의 위험구역으로 진입하면 운전자가 볼 수 있는 위치에 설치된 경고 디스플레이에 경고사인을 띄우는 간단한(?) 프로젝트입니다. 그렇다보니 FPS에 Critical 한 프로젝트인데, 저희도 Edge-Computing 으로 각 디바이스에서 연산을 한 후 그 결과만 서버에 전송해서 이력을 관리하는 방식을 생각하고 있습니다. Cloud Functions 분산처리는 처음들어보는데, 어떻게 이걸 적용해서 라파이같은 약한 말단기기에서 FPS를 확보할 수 있는지 조금 더 자세히 들어보고싶습니다. 제 생각으로는 라즈베리파이에서 연산을 하는 것이 아니라, 라파이에서는 영상정보만 GCP로 보내고 GCP에서 YOLO를 실시간처리하여 그 결과물만 다시 라파이로 전송하는 것으로 예상되는데, 그렇다면 Time-Critical 한 실시간 영상처리 프로젝트에서는 통신지연시간에 크게 시간을 빼앗긴다는 단점이 있을 것 같습니다. 혹시 제 생각과 다른 기법이라면, 어떤 기법인지 조금 더 설명을 들을 수 있을까요? 감사합니다.
- 0
- 5
- 3.2K
질문&답변
주피터 노트북 한글제목파일의 제목이 깨져서 접근할 수 없습니다.
일단 GPU가 필요없으니 리눅스말고 맥북 로컬에서 git clone 한 뒤, 주피터노트북으로 실행해보자 하는 생각으로 했더니, 예상과 달리 맥에서 한글제목이 깨지는 일은 발생하지 않았습니다. 한글제목 깨지는 현상이 운영체제와 관련이 없지 않나 하는 생각이 드는데, 그러면 도대체 한글제목이 깨지는 원인이 무엇인가에 대한 유일한 원인이라고 생각했던 것이 아닐 것 같다는 생각을 하니 무엇이 문제인지 이젠 감이 잡히지 않습니다. 왜 한글이 깨지는걸까요??? 그리고, 구글클라우드를 쓰기엔 quota 문제도 있고, 이같은 자잘한 애로사항도 있을 듯 하고 하여, 차라리 이 링크를 따라 윈도우에서 딥러닝환경을 구축해서 강의를 따라갈까 하는데 괜찮을지 여쭤보고싶습니다. https://theorydb.github.io/dev/2020/02/14/dev-dl-setting-local-python/ 그리고 일단은 로컬 주피터노트북을 쓰면 당장 학습하는데는 지장이 없는 것 같으니, 맥북의 로컬 주피터 노트북에서 학습을 진행하도록 하겠습니다. 감사합니다.(사진)
- 0
- 5
- 930
질문&답변
주피터 노트북 한글제목파일의 제목이 깨져서 접근할 수 없습니다.
갑자기 세팅단계에서조차 문제가 빈발하는 것 같아 죄송합니다. 일단 맥이 아닌 윈도우에서 다시 설정을 하는 과정에서, vm02 라는 새로운 인스턴스를 만든 뒤 vpc 고정주소를 할당하려고 했는데, 처음에 파란글씨의 고정주소예약을 눌러야한다는 것을 모른 채 바로 아래 칼럼의 유형단의 고정을 눌러 설정을 하였다가 동영상과 다른 것을 깨닫고 파란 글씨의 고정주소예약을 눌러 재설정을 하는 과정에서 중복관련 오류가 난 것 같습니다. 그런데, 빨간 느낌표가 나는 이 오류가 난 두 외부ip주소가 일단 하나는 할당이 되긴 한 것 같고, 하나는 아예 되지 않았는데 삭제하려고 해도 좌측 체크박스가 클릭이 안되어 삭제조차 되지 않는 상황입니다. 혹시 이 상황에서 계속 요금이 청구될지 걱정되고, 또 vm02 라는 이름의 인스턴스를 선언하면 똑같은 상황이 벌어질 것 같아 vm03 이라는 새로운 인스턴스를 만들어야 하는지, 아니면 다른 방법이 있는지 알고싶습니다. 감사합니다.(사진)
- 0
- 5
- 930
질문&답변
주피터 노트북 한글제목파일의 제목이 깨져서 접근할 수 없습니다.
검색을 해보니, 윈도우와 리눅스는 한글인코딩 형식이 같은데 맥만 달라서 문제가 생긴게 아닐까 의심되었습니다. 일단 조치법으로 https://sssunho.tistory.com/65 에 나온 대로 cd 이후 .bash_profile 에 위 문구를 붙여넣었지만 여전히 열리지 않았습니다. 맥에서는 ssh가 기본적으로 지원되니까 putty 보다 덜 번거로울거라고 생각했고, 더욱이 ssh로 작업을 진행하니까 맥이나 윈도우나 차이가 없을 것이라고 생각했는데, 윈도우에서 해야만 할까요? 일단은 이 컨테이너는 깨졌으니까 보류하고, 일단 처음부터 새로 똑같이 만들어서 애초에 듀얼부팅하여 윈도우에 putty 깔고 진행해보도록 하겠습니다. 왠만해서는 익숙한 맥에서 진행하고 싶은데, 윈도우가 아니면 혹시 이런 오류가 차후에도 벌어질 여지가 있을지 알고싶습니다.
- 0
- 5
- 930
질문&답변
GPU 제한 해제 요청이 reject 당했습니다.
답변 감사합니다! 1. 일단 2챕터인 "Object Detection의 이해" 챕터는 GPU가 필요없는 것 같으니, 일단 GPU 없이 VM 인스턴스만으로 완전히 동일한 세팅을 한 뒤, 수강을 진행하도록 하겠습니다. 2. 일단 CPU VM 을 이용한 이력을 OPENCV에서 만든 뒤, 추후 다시 신청을 넣어보겠습니다. 만일 또 REJECT 당하면 다시 질문을 드리겠습니다! 2챕터는 GPU가 필요없고, 3챕터부터 사용하게 된다고 인지하면 될까요? 3. 일단 최악의 경우 로컬에서 우분투로 돌려야할 것까지 고려하여, 우분투를 새로 깔았습니다. 우분투 세팅을 하고자 한다면, TF113 파일에 적혀있는 PIP문을 그대로 돌리면 되는건가요? 감사합니다.
- 0
- 3
- 253