삽질 5

얼굴 인식 모델 - 학습용 데이타 처리에 대해서

얼굴 인식 모델을 CNN 네트워크를 이용하여 학습을 시키고 있는데, 지금까지 최대 정확도가 60% 정도밖에 나오지 않는다.오히려 dropout을 0.5 비율로 적용했더니, 정확도가 30% 정도로 떨어져 버렸다. 원인을 찾던중에 네트워크보다는 학습 데이타에 문제가 있을 것으로 추정된다.학습 데이타의 양이 그리 많지 않은데 (4 클래스, 사람당 120장), 데이타가 깔끔하지 않다.아래와 같은 데이타가 문제가 되는데회전각이 너무 큰경우선글라스를 쓴 경우화장이나 염색사진이 그레이 스케일 처리가 되어 있거나 특정 색상이 들어간경우 그래서 데이타 클랜징 모듈에서 구글 클라우드 비젼 API를 이용하여 회전각이 20도 가 넘은 경우 제외하고, 라벨 인식을 이용하여 선글라스가 있을 경우도 데이타에서 제외했다. 다음은 학..

머신러닝 모델 개발 삽질기

머신러닝 모델 개발 삽질 경험기 조대협 (http://bcho.tistory.com) 딥러닝을 공부하고 CNN 모델을 기반으로 무언가를 만들어보겠다는 생각에, 해외 유명 연예인 얼굴 사진을 가져다가 분류하는 얼굴 인식 모델을 만들어 보기로 하였다.아직도 진행중이지만, 많은 시행 착오를 겪었는데 같은 시행 착오를 겪지 않고 경험을 공유하기 위해서 겪었던 시행 착오들을 정리해 본다.학습 데이타 확보 및 분류먼저 학습용 데이타를 수집 하는 것이 가장 문제 였다. 인터넷에서 사진을 모아서 학습 데이타로 사용해도 되겠지만, 아무래도 저작권 및 초상권 문제가 있고, 일일이 사진을 하나씩 받아서 수집하거나 또는 별도의 수집기를 만드는 것도 부담이 되었다.그래서 찾은 것이 pubfig라는 셀럽 얼굴 데이타인데 http..

연예인 얼굴 인식 서비스를 만들어보자 #1 - 학습 데이타 준비하기

연예인 얼굴 인식 서비스를 만들어보자 #1 - 학습데이타 준비하기 조대협 (http://bcho.tistory.com) CNN 에 대한 이론 공부와 텐서 플로우에 대한 기본 이해를 끝내서 실제로 모델을 만들어보기로 하였다.CNN을 이용한 이미지 인식중 대중적인 주제로 얼굴 인식 (Face recognition)을 주제로 잡아서, 이 모델을 만들기로 하고 아직 실력이 미흡하여 호주팀에서 일하고 있는 동료인 Win woo 라는 동료에게 모델과 튜토리얼 개발을 부탁하였다. 이제 부터 연재하는 연예인 얼굴 인식 서비스는 Win woo 가 만든 코드를 기반으로 하여 설명한다. (코드 원본 주소 : https://github.com/wwoo/tf_face )얼굴 데이타를 내려 받자먼저 얼굴 인식 모델을 만들려면, ..

grpc 설치하기

Google RPC 설치하기(조대협 http://bcho.tistory.com) 지난 GRPC 소개에 이어서 오늘은 JAVA에서 GRPC를 사용하기 위한 설치 방법을 설명한다. https://github.com/grpc/grpc-common/tree/master/javahttps://github.com/grpc/grpc-commonhttps://github.com/grpc/grpc-common/blob/master/java/javatutorial.mdhttps://github.com/grpc/grpc-java 글들을 참고하였으며, 컴파일 환경 설정등을 위해서 생각보다 시간이 많이 소요된다. (삽질,Visual Studio 설치 포함 한 2~3시간 걸린듯) grpc hello world / java grp..

프로그래밍 2015.04.02

소프트웨어를 잘하고 싶으시면 개발자를 그만 뽑으세요.

소프트웨어를 잘하고 싶으시면 개발자를 그만 뽑으세요. 간만의 포스팅입니다. 요즘 일도 너무 바쁘고 여유가 안생겨서, 그동안 포스팅을 거의 못했네요. 평소에 생각하던 내용인데, 요즘 들어 소프트웨어니, 서비스니 하면서 여기저기서 사람 뽑는 글들이 많아서 올려봅니다. "소프트웨어를 잘하고 싶은데, 개발자를 뽑지 말라니??" 의아하게 생각하실지도 모르지만, 낚시 타이틀이 아니라 진정으로 드리고 싶은 이야기 입니다.제가 해외 개발자들이나 엔지니어들과 일해봤을때, 한국 개발자가 실력적으로 그렇게 밀린다고 생각하지는 않습니다. 문제는 관리입니다.!!아무리 똑똑한 개발자를 뽑아 놓는다 하더라도, 개발자들이 만들어야 할 소프트웨어의 구조를 잡을 아키텍트가 없고, 프로젝트를 위한 계획과 엔지니어에 대한 배치를 제대로 하..