2. 대학원 재학중 프로젝트
• Blind Source Separation
– 영어와 스페인어로 1부터 10까지 세는 혼합된 음성 분리
S. Choi, Y. Lyu, F. Berthommier, H. Glotin, and A. Cichocki, "Blind separation of
delayed and superimposed acoustic sources: Learning algorithm and
experimental study," in Proc. Int. Conf. Speech Processing (ICSP'99), pp. 109-114,
August 18-20 1999.
n
j
jiji txzWty )()()(
n
j
jiji tszHtx )()()(
2 / 7
3. 석사학위 논문
• PCA를 적용하여,
CDMA Receiver의 PN Code Chip Timing 동기화 성능 향상
극좌표계로 표현
r = Correlation Value
Θ = 180o / PN Code Length
3 / 7
4. SoC 반도체 S/W
• 3GPP, 3GPP2 Protocol Stack 개발
• RTOS 기반의 각종 Peripheral Device Driver 개발
• HW Video Codec의 Linux Kernel Device Driver 개발
• JEDEC(eMMC) 규격 및 FTL(Flash Translation Layer) 개발
• 특허
– Garbage Collection이 없는 시스템에서 Memory Fragmentation을 줄이
는 방법
– CPU Workload의 Dynamic 특성에 따른 Dynamic Voltage and
Frequency Scaling (DVFS) 알고리즘
CPU Workload Fluctuation
DVFSLevel
4 / 7
5. Cephalometric 프로젝트
Original Image
GT Label
Landmarks.json
AI Machine
LabelTool
InputData
(.npz)
OutputPrediction
(.json)
Data Tool
1. json 파일 형태로 Label Format 표준화와 Landmark를 새로 찍거
나 기존 Landmark를 수정하기에 편리한 Label Tool 개발
2. Machine Learning 알고리즘 변경에 따라, Original Image/GT
Label로부터 Input Data를 생성할 수 있도록 Data Preprocessing
프로그램 개발
3. Regression 으로 Landmark Detection AI Machine 개발
http://www.bosa.co.kr/news/photo/201906/2107757_149436_4110.png
5 / 7
6. Tooth Segmentation 프로젝트
• 추출 하려는 Feature를 단계별로 나누고, 이를 연속적으로 연결하는데,
각 단계마다 UNet, SegNet, DeepLab V3 등의 모델을 적용하여 개발
http://www.bosa.co.kr/news/photo/201906/2107757_149437_4236.png
Tooth Segmentation Engine (Python Wheel Package)
Init()
Run()
Progress()
GRPC Server
Another Engine (Python Wheel Package)
Run()
Abort()
Progress()
Abstract
Class
.proto
file
6 / 7
7. 강점
• Layered Architecture 설계
• 꼬여 있는 복잡한 시스템 분석
• Key Point를 이해하기 쉬운 그림으로 표현
– /youngkilyu/ftl-architecture-
71352691
• 개발시 Unit Test의 생활화
– AI Project의 각 단계 혹은 모듈마다 모두 Unit Test가 존재
– Memory Controller 개발시에는 본업인 F/W 개발 이외에
Host Test Suite라는 Test Platform을 추가 개발
• 효율적인 개발 방법을 위한 꾸준한 학습
– 교보문고 Platinum 회원 (Offline 매장 선호)
– Cousera 4개 Certifications
• 사용자 요구가 없어도 지속적인 Refactoring
– 각 회사 repository의 상위 랭킹 committer
7 / 7
Editor's Notes
2명의 사람이 동시에, 한명은 영어로 다른 한명은 스페인어로 1부터 10까지 말하는 것을 프랑스 연구팀에서 녹음해 주었습니다.
ICA 알고리즘은 교수님이 하시고, 저는 decomposed network을 구현하였습니다.
처음에는 matlab으로 하였는데, 1번 실험에 일주일 정도 걸렸던 것 같습니다. 실제 데이타이다 보니, multipath 때문에 delayed tab order가 꽤 길었었습니다.
나중에는 visual studio에서 C++로 구현했는데, 반나절 정도만에 결과가 나왔습니다.
ICA에서는 다음과 같은 가정이 주어진다.:
A1) 원신호들 {si (t) }은 통계적으로 서로 독립적이다.
A2) 행렬 A의 각 열은 선형적으로 독립이다.
A3) 원신호들은 평균이 0이고, 정규분포를 갖지 않는다.
이러한 가정들 아래에서, 행렬 A로 표현된 채널과 원신호 s(t) 둘 다 모르고, 단지 센서로부터 얻은 데이터 x(t)만을 가지고, 선형 변환 W 에 의해, 통계적으로 독립인 y(t)를 만들음으로써 s(t)가 복원됨을 보인다.
ICA나 BSS의 문제를 해결하기 위해서는 출력 신호들 사이의 “mutual information” 이 최소가 되는 점을 구하는 것이 일반적이다.
대학원 Lab에서는 음성, 영상, 통신 분야에서 연구활동을 하였는데요,
몇 명을 사진을 랜덤하게 섞고, 이를 다시 분리해 내는 문제는, 앞장의 음성 보다 time delay도 없고 더 쉬운 문제이지만,
다시 이를 분리해 내면, 사람들이 매직과 같이 느꼈던 생각이 납니다.
Blind Signal Processing에는 Scaling ambiguity 문제가 있는데요, 음성에서는 문제가 되지 않지만,
영상과, 통신에서는 신호가 반전되어 나타나기도 합니다.
통신에서 이런 문제를 발견하고, 해결책으로 duobinary encoding이라는 것을 찾아냈습니다.
Modem에서는 주로 Physical Layer와 관련된 Protocol Stack을 구현하였습니다.
WCDMA에서는 MAC, RLC, cdma2000에서는 Searcher S/W를 개발하였습니다. 이 때도 사실 저희 HW correlator가 Q사에 비해 7배 느렸는데요, 저는 HW에 의해 계산된 correlation 결과를 버리지 않고, 통계적으로 응용하려고 노력하였습니다. 그래서 실제 필드에서 EV-DO call drop 율과 throughput이 비슷하게 나왔습니다.
micro C OS 2나 Nucleus는 커널 레벨까지 분석하였습니다. 삼성 LSI 사업부 전략 특허인 DVFS에서 Workload를 예측하기 위해, OS scheduler를 snifferring 하였습니다.
https://www.coursera.org/learn/convolutional-neural-networks 통해, https://angrypark.github.io/computer%20vision/Week-2/ 기본적인 것을 학습하고,
(Lenet-5, AlexNet, VGG, Inception, ResNet)
Deep Learning에 시작이 주로 Classification으로 설명되지만, 이것에서 발전된 내용이 Segmentation에서 비슷하게 적용되고 있습니다.
요즘은 Keras에서 Classic CNN Network을 backbone으로 사용하여 feature를 추출하고, 뒷단에 자신의 모델을 추가하는 형태도 많은 것 같습니다.
encoder와 decoder가 대칭구조를 가지는 Unet, SegNet을 여러 곳에 활용했는데요, 어떤방식으로 decoder에서 upsampling 할꺼냐에 대한 고민을 많이 유발하는 것 같습니다.
image의 경계가 중요하게 생각되어지는 곳에서는 SegNet을 사용하였습니다. 최근에는 DeepLab V3에 관한 실험을 이것저것 하고 있습니다.