레이블이 Sierra인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Sierra인 게시물을 표시합니다. 모든 게시물 표시

2017년 2월 1일 수요일

BossSensor - 얼굴 화상 인식을 이용한 월급 루팡 프로그램을 직접 실행해보았다. (수정내용 첨부)


점심시간이 끝나고 지루한 오후...

우리 팀에서 제일 재밌는 분이 팀 단체 쪽지를 보냈다.

쪽지 : 케이! 케이!! 이것 좀 만들어줘!!!"

나 : ㅋㅋㅋㅋ

----------------------------

오늘의 유머 사이트
제목 : 월급 루팡을 하려는 프로그래머

내용을 보았다.






최근에 업무차 OpenCV와 딥러닝을 공부하고 있던 입장에서 흥미로운 내용이었다.

내용은 단순하게 보면 Face Recognize 샘플인데 가까운데,
저런 재밌는 아이디어를 생각만으로 끝내지 않고, 실제로 만들어서 실행했다는게 큰 차이.

잉여력 방출은 언제나 재밌고 즐겁다.

원문 블로그는 여기
http://ahogrammer.com/2016/11/15/deep-learning-enables-you-to-hide-screen-when-your-boss-is-approaching/

(블로그 주소 이름이 무려 아호그래머다;;; あほ=멍청이,
똑똑하게 삽질하는 멋진 블로그인듯... >_<! 이런 것 너무 좋다.)

--------------------------

처음부터 만들까 하다가 원작자가 소스를 오픈해 둔 터라
시간 절약 + 재미로 바로 실행해볼 요량으로 달려들었다.

원문 블로그에 공개한 보스 센서 오픈소스 GitHub


최근까지도 수정되고 있는 소스지만..
당연히 그대로 실행될리가 없지.

에러 메시지를 하나씩 확인하며 해결해 나가기 시작했다.

필요한 라이브러리나 그 외 환경 세팅하는 시간이 오히려 꽤 걸리기 시작하면서

그렇게 야근이 시작되었다. ㅋㅋㅋㅋ

누군가 해보고 싶은 사람에게 도움이 되도록 결과 자료를 남긴다.



--------------------------

# 실행한 환경

- 맥북프로 2016 15 Late
- iSight MacBook 내장 웹캠
- macOS Sierra 10.12
- Anaconda (Miniconda3)
- OpenCV3

IDE 는 Pycharm

※ 검증해보지는 않았지만, Windows 에서도 동작하지 않을까?

# 설치된 Python Library Version
직접 검증한 최신 버전의 라이브러리들

h5py (2.6.0)
Keras (1.2.1)
mock (2.0.0)
numpy (1.12.0)
pbr (1.10.0)
pip (9.0.1)
protobuf (3.2.0)
PyYAML (3.12)
scikit-learn (0.18.1)
scipy (0.18.1)
six (1.10.0)
sklearn (0.0)
tensorflow (0.12.1)
Theano (0.8.2)

------------------

# 문제 해결 1-2-3

1. PyQt4 설치가 안된다. (macOS Sierra)
brew install pyqt4 가 안된다!!!
구글링 해도 답이 없어 찾아보니 os 버전이 최신이라서 그런듯...

어디서 사용하나 코드를 보니 굳이 PyQt4일 필요는 없더라.
 PyQt5를 설치하고, 스크린 관련 코드를 4에서 5로 새로 옮겨준다.
이 작업은 조금 귀찮은 정도. 다른 이를 위하여 내 GitHub 포크에 업로드 해두었다.

덤. PyQt5 를 아나콘다로 설치하기
사용할 환경으로 소스를 바꾼 뒤
> conda install pyqt

2. requirements.txt 에 필요한 라이브러리가 설치가 안된다.
파이썬 라이브러리 목록과 버전이 잘 정리되어 있긴 한데,  해당 버전으로 설치할 수 없는 라이브러리 패키지가 있다.

예를 들면 tensor flow 0.10.0...
이 때문인지 keras도 조금 문제가 생기는데, 이것도 최신 버전으로 설치하자.
예전 버전 그대로 두면 사진 트레이닝 할 때 트러블이 있다.
requirements.txt 도 수정해서 내 GitHub 포크에 업로드 해두었다.

3. model 데이터를 저장할 경로를 미리 만들어줘야 한다. 
하위 경로로 미리 ./store/ 폴더를 만들어두면 오류가 없다.
내 GitHub 포크에는 미리 생성해두어 해결했다.

4. 모델데이터를 새로 생성할 때는 기존 모델 파일을 삭제할 것
boss_train.py를 이용하여 모델데이터를 학습하면 ./store/model.h5 가 생성되는데,
새로 학습시킬때 이 파일을 생성하기 전에 미리 지워줄 것 (덮어쓰기 오류 남)
덮어쓰게 수정 하려다가 이건 귀찮아서 패스...

5. 얼굴 인식률이 떨어진다.
다양한 각도로 약 500 - 1200 장 정도 학습을 시켜야 한다.

# GitHub Fork Repository

GitHub Fork 해서 수정한 내용 커밋해두었다.
혹시 오리지널 GitHub 출처에서 실행이 어려운 분이나
내가 수정한 내용이 필요하신 분은 아래의 경로에서 다운을...

https://github.com/prscu24/BossSensorPyQt5


# 실행화면 영상
내 얼굴을 학습 시킨 후, 비상 이미지는 실행되지 않게 하여 실행.
카메라 근처를 어슬렁거려보았다.




# 마무리

학습 데이터가 부족해서 인식률은 떨어지지만
원래 목적인 경고의 의미로는 나쁘지 않은 동작을 보인다.
 - 인식률이 나쁘면 보스가 출몰하지 않았는데도 나왔다고 오인식을 해버리는 문제가;;;
그리고 사장님 얼굴을 양해하지 않고 그렇게나 많이 모을 수 있을까?
이것은 고양이 목에 방울을 다는 상황이 생각난다.

거기다가 실행 비용도 커서 항상 실행해두기는 좀 부담되는 정도 ^^;; (CPU 사용률이...)

학습용으로 토이용도로 재밌게 사용해보면 될 것 같다.

<오늘의 삽질 !>

2017년 1월 26일 목요일

Wacom CTH-470 macOS Sierra에 설치하기

간만에 펜을 잡을 일이 있어서 새 맥북에 기존에 사용하던 와콤 타블렛 CTH-470을 설치했다.

안된다.

최신드라이버를 설치했다.

안된다.

이상해서 싹 지우고 재설치

안된다.

대응하는 타블렛을 찾을 수 없다고 한다.
재밌는게, 손으로 터치하니까 터치패드는 인식이 된다.

펜이 인식이 안되고 타블렛 제어판에서 인식이 안되는 상태.
드라이버의 문제인 것 같다.

고민 고민...

이걸로 두시간 정도 설치 삭제를 반복 + 인터넷 검색 + 고민과 추측 후 알게 된 사실은
최신 드라이버는 CTH-480 부터 지원하고 있다는 것이다.

Sierra (10.12.x) 버전이 작년 중순쯤 나왔으니까 옛날 드라이버 중에 CTH-470 대응하는 것이 있지 않을까? 하며
예전 드라이버를 하나씩 깔았다 지웠다 하며 찾기 시작했다.


성공... ㅠㅠ!!
다행히 드라이버가 그렇게 많지 않아서 그렇게까지 오래 걸리지는 않았다.

아래의 드라이버로 설치하면 된다.



그나저나 또 이렇게 쓰던 장비가 레가시가 되어간다.

잘되는데 또 사야하나... ㅠㅠ

2017년 1월 25일 수요일

macOS Sierra 업데이트 10.12.3 - 2017/01/24

정식 업데이트가 나와서 바로 업데이트 했다.
자세한 정보 : https://support.apple.com/ko-kr/HT207462

수정된 이슈 모두가 내가 사용하는 모델에 해당하는 문제인데...
내 작업에서는 발생하지 않은 문제라지만 신경이 쓰인다.


2017년 1월 17일 화요일

포스터치가 있는 맥북에서 세손가락 드래그 설정 하기

힘줘서 클릭한 상태로 드래그 하지 않아도,
손가락 세개로 커서를 움직이면 드래그로 판정하는 편리한 제스쳐가 MacOS에 있다.

세손가락 드래그를 별로 안 써본 사람은 그게 뭐야 할 테지만
나는 이게 없으면 좀 불편해하는 타입이다.

새 맥북프로를 사고 이걸 활성화 하려고 하니까 트랙패드 옵션에서 안보이더라.
아래의 위치에 숨어 있었다.

설정 > 손쉬운 사용 > 마우스와 트랙패드 > 트랙패드 옵션...

대충 검색해보니 포스터치가 내장된 맥북들은 옵션위치가 바뀌었다고 하니까 주의할 것.



아! 그리고 중요한 버그? 가 하나 있는데,
세손가락 드래그가 되다가 안되다가 하면 3D 터치 기능을 꺼보는 것을 추천한다.
공식 해결책으로 알려진 것은 아닌데 개인적으로 이 상태에서는 조작이 잘 되는 것 같더라.
(민간요법입니다! ㅎㅎ;; )
설정 > 트랙패드 > 세게 클릭 및 햅틱 피드백 체크 해제




애초에 2단계 클릭은 조작 미스만 불러와서 개인적으로 별로 맘에 안들어하는 조작이다.
(이참에 꺼버렸다.)