[회의일시]

- 2022년 06월 11일 오후 16시30분 ~ 18시00분까지 비대면 회의 진행

 

[활동 내용]

- 9장 머신러닝 세미나 발표(SVM 및 HOG)

- 데이크루 이후 활동 계획, 데이터 멘토링 신청

- 두 번째 미니프로젝트 준비 회의(UNet Semantic Segmentation)

 

[데이콘 11주차 콘텐츠]

https://dacon.io/codeshare/5146?page=1&dtype=recent&fType 

 

[🔥포스🔥] 8편. OpenCV과 머신러닝편(1)(K-means, K-NN, SVM)

 

dacon.io

 

[느낀점]

- 데이크루가 거의 마지막 주차가 다 되었다. 이번 주 콘텐츠로 내가 세미나 발표를 한 SVM 내용이 들어가게 되었다. SVM도 고전적인 방법일 수 있지만 종종 사용되는 것 같아서 이번 기회에 리마인드 한다는 생각으로 열심히 공부하게 되었다. 추후 다른 프로젝트에 충분히 응용해 볼 수 있을 것 같다.

- 시험 기간과 함께 다른 일정들이 있어 팀원들이 많이 모이지 못했지만, 세미나를 성공적으로 발표하고 최종적으로 콘텐츠를 보완하여 팀장님께 전달했다. 우리 팀원 모두 바쁜 시간을 잘 쪼개서 만나고 매주 게시글을 올려야 한다는 그런 하나의 목표를 가지고 공부를 하니 확실히 혼자서 하는 공부보다 책임감을 가지고 하게 되고 효율적이기도 한 것 같다.

- 3기 팀장을 해보려고 했지만, 취업을 위해서 좀 더 시간 투자를 해야할 것 같아 다음 기회로 미루기로 했다. 취업하고 자리를 잡으면 언젠간 팀장으로 역할을 잡고 같이 공부할 사람들을 모아서 해도 좋을 것 같다. 최근에는 정말 좋은 공부 프로그램들이 많다. 새롭게 만난 사람들과 한 번 더 도전할 수 있을 것 같아서 기대가 된다.

- 데이크루가 거의 끝이 났다. 그러면서 처음하기로 했던 OpenCV 책은 정독은 아니어도 한 번 훓어볼 수 있었고, 미니 프로젝트를 한 것이 기억에 남는다. 이번 주 일요일까지 마지막 게시물을 작성할 예정인데, 최대한으로 콘텐츠를 쥐어짜 내서 좋은 내용으로 마무리 할 수 있으면 좋겠다.

- 이번에 데이크루를 함께 해준 우리 POS 팀원들에게 고맙고 감사하다. 미니 프로젝트 하면서 내가 원하는 결과를 도출하기 위해 조금 귀찮은 것도 많이 요청했는데 팀원들이 잘 따라줘서 의미 있는 결과를 도출할 수 있었다. 나중에 면접에서 데이크루에 대해서 이야기한다면 미니프로젝트 한 내용을 말할 수 있을 것 같다. 

 

[해야할 것]

- 두 번째 미니 프로젝트 실험 정리, 코드 보완

 

 

이제 마지막 POS팀의 콘텐츠가 기재됩니다!

많은 관심 부탁드립니다!! 

[회의일시]

- 회의 미실시

 

[활동 내용]

- 2022 프로그래머스 머신러닝 데브매칭 과제 테스트

- Opencv ML 세미나 준비

 

[데이콘 9주차 콘텐츠]

https://dacon.io/codeshare/5072?page=1&dtype=recent&fType 

 

[🔥포스🔥] 6편. OpenCV 영상분할편

 

dacon.io

 

[느낀점]

- 프로그래머스 과제 테스트를 봐야해서 팀원들에게 양해를 구하고 모임을 미뤄야 했다. 과제테스트를 처음해 봤는데, 구글링이 가능해서 열심히 코드를 복붙해서 과제를 제출했는데, 다행히도 1차 과제 심사는 합격이다. 면접 기회를 얻을 수 있다면 좋겠는데, 아직 연락은 없다. 서류 탈락인가,,

- 대면 미팅을 하게 되면 세미나도 진행하고 두 번째 미니프로젝트도 진행해야하는데 요새 프로젝트 및 해커톤 등으로 일정이 너무 바빠서 준비를 거의 하지 못했다. 서울에서 대면 미팅을 하게 되면 유익한 시간이 될 수 있도록 준비를 잘 해야한다.

- 이번 주 데이크루 포스팅에는 내가 세미나 발표 했던 부분이 게시되었다. 코드는 거의 책에서 가져오지만 조금씩 변형하면서 실험하고 어떤 것들이 반영되는지 확인하는 것만으로도 opencv에서 지원하는 것들을 알 수 있어서 좋았다. 프로젝트 진행하면서 opencv도 많이 사용하게 되는데 확실히 도움이 된다.

 

[해야할 것]

- 9장 머신러닝 세미나 준비(SVM 및 HOG)

 

 

계속해서 매주 화요일 오후 2시에 POS팀의 콘텐츠가 기재됩니다! 

많은 관심 부탁드립니다! ㅎㅎㅎㅎ

[회의일시]

- 2022년 05월 07일 오후 16시30분 ~ 18시00분까지 온라인 미팅 진행

 

[회의내용]

1. 영상 필터 발표(팀원1, 팀원2)

2. 미니 프로젝트 두 번째 계획

3. 첫 번째 미니프로젝트 게시물 작성 계획

 

[활동 내용]

- 대전에서 대면 미팅

- 실전 프로젝트 계획 구상

- 콘텐츠 홍보! (부스트 캠프 분들께 알려 좋아요를 요청해봤다.)

- 다음주 세미나 준비

 

[데이콘 6주차 콘텐츠]

https://dacon.io/codeshare/4898

 

[🔥포스🔥] 5편. OpenCV 영상필터편

 

dacon.io

 

[느낀점]

- opencv 관련 내용이 갈수록 어려워지는 것 같다. 생각보다 많은 기능이 있어서 기억하고 사용하는 것은 한계가 있어보인다. 필요할 때 잘 검색해서 사용하게 될 것 같은데, 이런 함수가 있었구나를 알고 있어야 떠올릴 수 있을 것 같다.

- 첫 번재 미니 프로젝트에 대한 소스를 모두 업로드하였다. 기존 한손 제스쳐 인식 모델을 양손으로 변경하고 데이터 촬영부터 전처리 모델 학습과 테스트 소스를 모두 깃허브로 공유하였다.

- 앞으로 약 2주 정도는 미니프로젝트에 대한 게시물이 올라갈 것 같다. 우리가 고민한 것들이 잘 반영되어 다른 사람들에게 좋은 인사이트르 제공할 수 있으면 좋을 것 같다.

- 추가적으로 팀원 한 명이 다음 프로젝트를 준비하고 있다. Segmentation에 대한 것이고 Pytorch로 직접 모델링 해보는 것으로 아직 파이토치가 익숙하지 않지만 열심히 토의하고 의논해봐야할 것 같다.

 

[해야할 것]

- 차주 세미나 준비

- 양손 제스쳐 인식 프로그램 UI 제작

- 게시물 작성을 위한 프로젝트 미팅 진행

 

계속해서 매주 화요일 오후 2시에 POS팀의 콘텐츠가 기재됩니다! 

많은 관심 부탁드립니다! ㅎㅎㅎㅎ

[회의일시]

- 2022년 04월 30일 오후 15시00분 ~ 20시00분까지 대면 미팅 진행

 

[회의내용]

1. Hand Gesture Recognition 예제 모델 학습 결과 공유

2. 과적합 방지를 위한 방법 토의

3. 위치 종속성 제거를 위한 방법 토의

4. 예제를 활용한 실생활 적용 예시 토의

5. 친목 도모. 활동비 지출

 

[활동 내용]

- 대전에서 대면 미팅

- 실전 프로젝트 계획 구상

- 콘텐츠 홍보! (부스트 캠프 분들께 알려 좋아요를 요청해봤다.)

 

[데이콘 5주차 콘텐츠]

https://dacon.io/codeshare/4875

 

[🔥포스🔥] 4편. OpenCV 기하학적 변환편

 

dacon.io

 

 

[느낀점]

- 항상 온라인 미팅으로 보다가 대면으로 처음 만나게 되었다. 화면으로 보는 것과는 다른 첫인상도 있었고 몇 주가 지났다고 나름 익숙하기도 하였다.

- 처음 어색한 질문들이 오갔지만 팀장님이 오고 말을 편하게 하면서 훨씬 빠르게 적응할 수 있었다.

- Pose Estimation으로 Gesture Recognition이라는 프로젝트를 내 주관으로 진행하였고, 과적합 방지와 위치 종속 관련하여 토의를 진행하였고, 부스트 캠프에서 면접 스터디 준비하면서 나눴던 이야기를 공유하였는데, 팀원들의 반응이 좋았다.

- 현재 한 손으로 되어 있는 제스쳐를 양손 제스쳐로 변경하고 학습을 개선하는 과정을 프로젝트 콘텐츠로 제작하여 데이콘에 업데이트 할 예정이다.

 

[해야할 것]

- 데이터셋 구축을 위한 프로그램 제작

- 데이터 전처리에 대한 팀원 토의

- 학습 및 테스트 프로그램 보완

- OpenCV 개인 공부 및 POS 콘텐츠 홍보

 

계속해서 매주 화요일 오후 2시에 POS팀의 콘텐츠가 기재됩니다! 

많은 관심 부탁드립니다! ㅎ

네이버 부스트 캠프를 하다가 멘토님으로부터 데이콘에서 데이크루 2기를 모집한다는 정보를 얻었다!

모집 상세페이지를 들어가 어떤 내용인지 확인을 해봤다.

[모집 상세 페이지]

https://dacon.notion.site/DACrew-2-4dd48e59bec4411a9a2c6d1023d9ca84

 

DACrew 2기 모집

[소개]

dacon.notion.site

 

총 4개의 콘텐츠가 있었고 데이크루로 선정된다면, 데이콘에 콘텐츠를 작성하는 것 같다.

향후 좋은 대외활동경험으로 사용할 수 있을 것 같아 바로 지원서를 작성하기 시작했다.

데이콘이나 캐글의 경험이 부족하기 때문에 이렇게라도 관심을 가지고 자주 들여다 봐야 한다고 생각했다.

콘텐츠 중에 내가 선택한 것은 파이썬을 활용한 OpenCV 프로젝트이다.

전부터 공부해야지 하고 패스트캠퍼스에 강의도 구매했지만 혼자서 공부하다보니 의지가 부족하여 자꾸 미루게 되었다.

공부에 강제성을 부여하면 분명하게 될 것이라 생각했다.

또 새롭게 만나는 다양한 도메인을 가지신 팀원분들을 만나 프로젝트를 할 수 있는 경험이 될 것 같았다.

'

깃허브 링크과 블로그 링크, 포트폴리오 링크, 데이크루에 대한 열정을 담아 자기소개서를 제출했다.

 

그 결과는!?

와... 합격!! 운이 좋았다.. 

다행히도 그 간의 기록을 좋게 봐주시고 데이크루로 최종 선정 된 것 같다.. 

다같이 열심히 공부해서 모두에게 좋은 경험이 되면 좋겠다!!

opencv에서 이미지를 입력하는 중 에러가 발생했다.

[Error Message]

OpenCV(4.5.3) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-_xlv4eex\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

 

opencv에서 이미지를 입력하는 방법은 세 가지가 있다.

1. 이미지 사진    2. 동영상    3. 카메라로 촬영

나는 그 중에 3번, 카메라로 이미지를 입력하는 방법을 사용했는데,

원인을 분석해보니, cv::cvtColor 함수에서 이미지를 로드하지 못하고 있다.

이미지가 정상적으로 로드되지 않으면 해당 에러가 발생한다고 한다.

 

cap = cv2.VideoCapture(1)

이 부분에서 이미지 로드가 안 되었던 것인데,

전에 USB웹캠을 연결해서 사용하다가 카메라 우선순위를 1번으로 세팅했었던 것을 그대로 유지한 것이 원인이 되었다.

노트북에 내장되어 있는 웹캠의 우선순위는 0번 이므로,

# cap = cv2.VideoCapture(1)

cap = cv2.VideoCapture(0)

 

에러를 수정한 뒤, 정상적으로 가동되는 모습이다!

 

나와 같은 에러가 난 사람들이 잘 참고하면 좋겠다!

'SW > opencv' 카테고리의 다른 글

[opencv] AttributeError: module 'cv2.cv2' has no attribute 'face'  (0) 2021.04.13

Google Mediapipe의 Holistic을 사용한 미니 프로젝트를 진행했다.

공부나 작업을 하면 노트북으로 작업을 하는데,

노트북의 웹캠을 사용하여 자세를 교정하자는 아이디어를 제안 받았다. 

https://google.github.io/mediapipe/solutions/holistic.html

 

Holistic

Cross-platform, customizable ML solutions for live and streaming media.

google.github.io

Holistic은 기존 Mediapipe의 Multi-hand, Pose, Face-Mesh를 합쳐놓은 모듈이다.

Face-Mesh의 턱 좌표와, 양 어깨 좌표의 중심과의 거리를 측정한다.

 

작업을 하다가 거북목이 되어 그 거리가 짧아지게 되면, 거북목이라고 생각하고, 알림을 제공하도록 했다.

win10toast 라이브러리를 사용하여 알림을 제공하도록 하였다.

 

해당 프로젝트를 공유해 본다.

https://github.com/updaun/Holistic.git

 

GitHub - updaun/Holistic: HolisticProject to using mediapipe python

HolisticProject to using mediapipe python. Contribute to updaun/Holistic development by creating an account on GitHub.

github.com

 

먼저 프로젝트 소스를 다운로드 받아 압축을 해제한다.

 

압축을 해제하고 폴더를 열어 들어간다. (requirments.txt 파일이 있는 곳까지 들어간다.)

 

해당 파일 탐색기의 주소창에 "cmd" 라고 입력하면 해당 경로의 명령 프롬프트를 쉽게 열 수 있다.

방금 다운로드 받은 소스 위치의 cmd 창을 열 수 있다.

 

기본적으로 Python이 설치되어 있어야 한다.

cmd 창에 ' python ' 이라고 입력하여 파이썬이 설치되어 있는지 확인한다.

python

 

만약 설치되어 있지 않다면, 아래의 글을 먼저 읽고 설치하도록 하자!

https://updaun.tistory.com/entry/python-python-low-version-install

 

[python] python low version install

Window OS 에서 여러 버전의 Python을 설치하는 방법에 대해서 알아보자! [Python 설치 주소] https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.pyt..

updaun.tistory.com

파이썬 버전은 3.7 이상 버전을 사용하도록 하자.

설치된 것을 확인했다면, ' exit() ' 를 입력하여 파이썬을 종료한다.

>> exit()

프로젝트에 필요한 라이브러리를 설치해보자.

pip install -r requirments.txt

명령어를 입력하면 OpenCV, Mediapipe, win10toast 등 필요한 라이브러리를 모두 다운로드 받게 된다.(약 2분 소요)

 

설치가 되었다면, Python을 사용하여 프로그램을 동작시켜보자!

[ 데모 1 실행 ] 

python Holistic_turtleneck_demo.py

첫 번째 데모 프로그램은 단순히 턱과 어깨 중심 사이의 거리만 측정한다.

그런데, 웹캠과 조금 멀어지게 되면 거리가 줄어든 것으로 인식되어 거북목으로 감지되었다.

거리가 줄어든다면, 윈도우 토스트 알림이 올 것이다.

 

[ 데모 2 실행 ]

python Holistic_turtleneck_demo_2.py

mediapipe 에서 제공하는 z value를 사용하여 웹캠과의 거리를  추측하고

거리에 따라 감지되는 임계치를 변경하도록 하였다.

거북목 자세를 취하면 토스트 알림이 올 거이다.

 

[ 실사용 버전 실행 ]

python Holistic_turtleneck_noimgview.py

print문 및 mediapipe의 draw 기능을 지워 연산 속도를 올렸다.

opencv의 imshow를 제거하여 웹캠을 작동하지만 사용자에게 보여지지는 않는다.

이 프로그램을 켜놓고 작업을 진행한 결과, 중간 중간 자세를 바르게 하라고 알림이 와서 나름 효과적이었다.

 

향후 보완사항

- z value를 더욱 효과적으로 사용하여 현재 목의 길이로만 측정되는 부분을 보완하고자 한다.

- 코의 3차원 좌표와 어깨의 3차원 좌표 값의 차이를 추가적으로 활용해볼 예정이다.

최근 얼굴 인식 스마트 도어 시스템을 제작하고 다양한 파이썬 라이브러리를 설치했다.

파이썬에서 기본적으로 모듈이 없을 때 나오는 에러이다.

다음 명령어를 사용하여 라이브러리를 설치할 수 있다.

pip install requests

하지만, 가상환경 등 다양한 버전의 python을 사용하고 있다면

해당하는 파이썬 버전에 설치하는 명령어를 사용해야 한다. (python 3.7에 설치하려면)

py -3.7 -m pip install requests

opencv 사용중 발생한 에러이다.

다음 에러는 이렇게 해결할 수 있다.

py -3.7 -m pip install opencv-contrib-python

그런데 opencv-contrib-python 설치 중 빨간색 에러가 발생했다.

친절하게 --user를 쓰라고 나와있는데, 한참 동안 검색을 해야했다.

역시 에러 메세지를 잘 봐야한다 ^^ 메떼지 메떼지를 잘봐야한다.

해결방법은! "--user" 를 추가한다!

py -3.7 -m pip install --user opencv-contrib-python

 

매일 글 하나씩 업데이트하기! 

 

 

+ Recent posts