일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- TensorFlow
- OpenCV
- tf.train.match_filenames_once()
- Facial expression recognition
- VGGnet
- Raspberry Pi
- Homomorphic Filter
- deep-learning
- Data Load
- CNN
- tf.train.string_input_producer()
- I.MX6Q
- Machine Vision
- Machine learning
- porting
- ARM Processor
- IOT
- cross compile
- Embedded System
- Python
- preprocessing
- tf.saver()
- Today
- Total
목록분류 전체보기 (9)
Austin's_Lab
이제 감정케어 시스템이 I.MX6Q 보드에서 어떻게 동작하는 지 포스팅하려고 한다. 전체 코드는 https://github.com/moon920110/Facial_Expression_Recognition에 올려두었다. 보드에서 구현되는 기능은 이렇다. 1. 웹캠을 이용한 얼굴 영역 검출 및 cropping, 카메라 화면 출력 2. 서버와 통신 3. GUI(터치스크린) 4. 감정에 따른 / 혹은 사용자의 요구에 따른 음악 실행 5. 사용자의 현재 상태와 재생되고 있는 음악의 이름 및 디렉토리를 출력할 CLCD 6. 사용자의 새로운 감정 상태를 표현할 Dot Matrix와 LED 7. 감정검출 on/off, GUI/카메라 화면 전환을 수행할 switch button 전체 연결된 코드는 위의 github에서 ..
-Tensorflow 0.12.0사용 on Ubuntu 14.04- 4학년 1학기 Embedded System과 Pattern Recognition 수업에서 병행하여 진행한 프로젝트의 일환이다. 서버는 I.MX6Q 보드에서 촬영된 얼굴 영역 이미지를 전송받아, 화남, 슬픔, 기쁨, 평상 네 가지 감정 중 어떤 감정인 지 판단하여 결과를 보드에 돌려주어야 한다. 서버를 구축하는 과정은 총 5step으로 나뉜다. 1. 데이터 수집2. 데이터 증식 및 전처리3. 학습 모델 선정 및 보완4. 학습 및 테스트5. 학습된 모델을 사용해 서버 프로그램 개발 3. 학습 모델 선정 및 보완학습 모델을 선정하는 데 있어서 다양한 논문들을 들여다 보았다. 그 중 CNN으로 진행한 대부분의 논문들을 구현해보았는데, 논문 만큼..
-Tensorflow 0.12.0사용 on Ubuntu 14.04- 4학년 1학기 Embedded System과 Pattern Recognition 수업에서 병행하여 진행한 프로젝트의 일환이다. 서버는 I.MX6Q 보드에서 촬영된 얼굴 영역 이미지를 전송받아, 화남, 슬픔, 기쁨, 평상 네 가지 감정 중 어떤 감정인 지 판단하여 결과를 보드에 돌려주어야 한다. 서버를 구축하는 과정은 총 5step으로 나뉜다. 1. 데이터 수집2. 데이터 증식 및 전처리3. 학습 모델 선정 및 보완4. 학습 및 테스트5. 학습된 모델을 사용해 서버 프로그램 개발 1. 데이터 수집표정 인식에 대한 연구가 이미 많이 진행돼 있어서 오픈된 표정 데이터는 많았지만, 우리가 원하는 표정만 추리고 보니 생각보다 쓸 수 있는 데이터가..
4학년 1학기에 있었던 Embedded System과 Pattern Recognition 수업에서 병행하여 진행한 프로젝트이다. 개요I.MXQ6 보드에서 사용자의 얼굴을 검출하여 서버로 보내면 서버에서는 학습기가 얼굴 표정을 분석하여 사용자의 현재 감정상태를 검출한다. 검출된 감정은 다시 보드에 전달되고, 보드는 사용자의 감정 상태에 따라 보드에 내장된 기능들을 사용해 적절한 조치를 취함으로써 사용자의 감정을 케어해준다. 개발환경server O/S : Ubuntu 14.04Programming language : C++, python 3.5Library : tensorflow 0.12.0, opencv 2.13(I.MX6Q) / 3.1 (server), numpyNetwork protocol : TCP/..
딥러닝을 이용해 병충해를 검출하는 과제를 하면서 직면한 문제 중 하나가 빛이었다. 이미지에 따라 빛이 노출되는 방향이나 세기 정도가 제각기 너무 달라서 이미지에 노출되는 빛을 normalize해야할 필요성을 느꼈다. 그에 관련해서 쓴 논문이 있는데 거기서 사용한 방법 중 하나가 Homomorphic filter이다. 이 필터는 이미지의 조명을 제거해주는 역할을 한다. 간단하게 설명하자면, 하나의 디지털 이미지는 illumination element와 reflectance element의 곱으로 표현할 수 있다. 이 중 illumination element는 이미지에 노출된 조명을 나타내고(low frequency), reflectance element는 이미지에 존재하는 object들의 edge를 나타낸..
Embedded System이라는 수업에서 Arm based embedded board를 활용한 Term project로 얼굴 표정인식을 진행하기로 했다. 얼굴 표정 인식은 아무래도 deep-learning을 활용해야하지 싶다. 실습용 embedded board로는 아무래도 deep-learning을 수행하기엔 무리가 있으므로 학습기는 내 PC(서버)에 올리는 것으로 하고, arm board에서는 실시간 얼굴 검출 및 서버로 전송을 하는 역할만 주기로 했다. 외에 인식된 내용을 바탕으로 board에서 해야할 일이 더 있지만 이번 포스팅에서는 논외이므로 바로 본론으로 들어간다. Arm board에서 얼굴 검출을 하기위해 여러 방법을 찾던 중, opencv에서 Haar feature를 이용한 얼굴 검출 알고..
본 프로젝트는 3학년 2학기 Capston Design 수업의 프로젝트로 수행한 것이다. lane tracing을 하여 길을 따라 농원을 돌아다니면서 농작물의 사진을 서버로 전송하고, 서버에서는 CNN을 통해 학습된 검출기로 전송받은 작물이 병충해에 감염되었는 지 여부를 판단한다. 작물이 병충해에 감염되었을 경우 어플리케이션에 푸시알림을 넣어줌으로써 사용자에게 실시간으로 병충해 발생 사실을 알려준다. 병충해 검출 자동화 시스템은 크게 3가지 부분으로 나누어 구성된다. lane tracing을 하며 돌아다니면서 작물의 사진을 찍어 서버로 전송하는 Raspberry Pi car, 학습된 분류기를 통해 병충해를 검출해내고 사용자에게 알림을 주는 서버, 마지막으로 서버와 통신하며 병충해 검출 여부, 검출 위치,..
-Tensorflow 0.12.0사용 on Ubuntu 14.04- 저번 포스팅에서는 class별로 서로 다른 directory에 데이터를 놓고 각 directory를 통째로 load했었다. 이렇게 불러오니까 각 batch마다 하나의 class만 들어있게 되어서 뭔가 찝찝한 느낌을 지울 수 없었다. class가 10개이고 batch size가 32라면 batch 10개를 한 번씩 번갈아가면서 돌려야 모든 class에 대해 각 이미지 32장이 한 번씩 학습이 된다는 것이다. 학습에 너무 정형화된 패턴이 생겨버리면 왠지 안 좋을 것 같고, batch마다 각 class에 알맞게 학습되었던 weight이 다음 batch때는 다른 class에 맞게 다시 쏠려서 학습을 방해할 것 같은 기분. 물론 여러개의 batc..
-Tensorflow 0.12.0 사용- Tensorflow에서 training image data를 load하기 위해서는 tf.train.string_input_producer()를 이용해 queue에 넣어줘야 한다. 외에도 TFRecord를 쓴다던지, binary file을 만들어 쓰거나 csv file format을 쓰는 등 다양한 방법이 있지만, 처음 Tensorflow를 접했을 땐 tf.train.string_input_producer를 찾은 것만으로도 굉장한 수확이었다. Data가 많아질수록 TFRecord를 사용하는게 훨씬 빠르다고는 하던데 학습 모델을 만들고 hyper parameter 조절이나 데이터 전처리 작업 연구에 집중하다보니 TFRecord를 만들고 사용하는 법에 대해 찾아볼 시간..