딥 네트워크 - 딥러닝 모델 분석/네트웍 통신/카메라 3A 튜닝 분야

[ 딥러닝 분야 개발 및 컨설팅 전문 - 임베디드 펌웨어 개발 및 자문 ][저의 포트폴리오 소개] 딥러닝 NeRF - StyleGAN / 카메라 펌웨어 / 미디어 서버 설계분야 - BLDC 모터 전류(토크) 제어 분야 .. 본문

Kernel Porting/Linux

[ 딥러닝 분야 개발 및 컨설팅 전문 - 임베디드 펌웨어 개발 및 자문 ][저의 포트폴리오 소개] 딥러닝 NeRF - StyleGAN / 카메라 펌웨어 / 미디어 서버 설계분야 - BLDC 모터 전류(토크) 제어 분야 ..

파란새 2023. 6. 28. 11:54

 

 

 

Work Experience (O년 O개월) (최근 순)                                                                            

SKILL INVENTORY

            

프로젝트명
( 업 무 명 )
참여기간
(YYYY.MM-         YYYY.MM)
근무회사      
기 종 O . S 언 어 통 신 기 타  
선박용 디지털 감시제어 시스템 원격단말장치 개발 91.11 – 92.12 ㈜현대중전기 연구소 CPU 보드 H/W 및 펌웨어 설계 Intel 8086   C / MASM      
발전소 보일러 감시제어 시스템 원격단말 개발
/ 디지털 보호 계전기 개발
93.1 – 96.12 ㈜현대중공업 중앙연구소 CPU 보드 / I/O 보드H/W 및 펌웨어 설계 Intel 80196   C/MASM RS-485 HDLC    
레퍼런스 보드 부트로더 개발 2005.11 – 2005.12 ㈜포스트테크 CPU 보드 부트로더 설계 매직아이2530 Linux GCC   Linux Cross Compiler  
WinCE 드라이버 수정 설계 2006.11-2007.1 ㈜코튼우드 T-DMB WinCE 드라이버 / T-DMB WinCE 어플 설계 넥실리온
Backend(H.264 Codec) Chipset
WinCE VS2005   Linux Cross Compiler  
H.264 디코더 SW  IP 설계 2007.7 – 2008.6 DMBTEC H.264 코덱 알고리즘 SW IP 설계 S3c2443 WinCE VS2005   Linux Cross Compiler  
리눅스USB 카메라 수정 포팅 2010.7 – 2010.9 ㈜알폰스테크 Camera Linux Driver 설계 Samsug
S3C  CPU
Linux GCC
C
  Linux Cross Compiler  
안드로이드용 스마트폰용 코덱 스트리밍 서버 설계 2011.5-2012.4 ㈜알서포트 안드로이드용갤럭시2용 스트리밍 서버 설계 갤럭시 2 폰 Android GCC
C++
  Linux Cross Compiler  
OpenCV
카메라 렌즈 왜곡보정 개발
2013.1 – 2013.6 DMBTEC OpenCV 카메라보정 SW 설계 Exynos4210 Linux GCC
C++
  Linux Cross Compiler  
Linux IP Camera Viewer 개발 2013.11-2014.1 ㈜영국전자 Linux App 개발 Samsung
PV210 CPU
Linux GCC
C++
  Linux Cross Compiler  
Codec SOC 상용화 Codec Linux Driver 설계 2015.7-2015.8 ㈜유비크마이크로 Linux Driver 설계 상용화 진행 Codec IP 리눅스커널 드라이버 3 종 설계 Linux GCC
C
  Linux Cross Compiler  
TI  DM385 카메라부 수정 2015.11-2012.12 ㈜라오넥스 Linux Driver 설계 TI  DM385 카메라부 드라이버 수정 설계 Linux GCC
C++
  Linux Cross Compiler  
광저장장치 컨설팅 2016.12 ㈜인텍텔레콤 Linux Driver & App 기술 컨설팅 광저장장치 Linux Application
컨설팅
Linux GCC
C
  Linux Cross Compiler  
사물인터넷용 도어캠 SW 개발 컨설팅 진행 2017.03 – 2017.04 ㈜셀로코 WIFI 카메라 SW 개발 컨설팅 셀로코8051 IP Core  CPU 적용해서 SW 설계 펌웨어 8051 컴파일러   8051 컴파일러  
IoT Agent SW개발 컨설팅 진행 2017.06 ㈜라임아이 LG Uplus IoT시스템 SW설계 세부 컨설팅 Z-Wave 게이트웨이단이 브리지단통신 개발이슈 해결함 Linux GCC
C
  Linux Cross compiler  
주차관제 시스템용 카메라 SW개발 컨설팅 2017.07 (주)ITS 엔지니어링 주차관제 시스템용 카메라 SW개발 컨설팅 차량번호판 인식 카메라를 Nexell CPU 를 적용 문제점 해결방안 제시 Linux GCC
C
  Linux Cross compiler  
SKT Emergency Call 개발 2017. 10 ㈜이노베스트 LTE 통신 및 WIFI 통신 리눅스커널 개발 리눅스커널에서 LTE 통신이 가능하게 소스 수정설계 및 WIFI 통신이 가능하게 소스 수정설계 Linux GCC   Linux Cross Compiler  
Virtual 키보드 / 마우스 개발 2018. 01 ㈜세연테크 리눅스커널 Gadget HID 드라이버 개발 임베디드 장치가 가상 마우스와 가상 키보드로 동작하도록 리눅스커널을 수정설계 Linux GCC   Linux Cross Compiler  
블루투스 오디오 컨설팅 2018.06 ㈜퍼시픽센튜리 블루투스 오디오 컨설팅 AIROHA Blutooth Audio 개발 이슈 한가지 해결 Linux GCC   Linux Cross Compiler  
블루투스 오디오 컨설팅 2018.7 ㈜성우모바일 블루투스 오디오 컨설팅 Cypress Blutooth Audio 페어링을 관리 어플에서 제어하는 소스 수정설계 Linux GCC   Linux Cross Compiler  
GigE Vision Camera 기술 컨설팅 2019.01 ㈜퀀텀게이트 GigE Vision Camera 기술 컨설팅 GigE Vision Camera 가 4 대가 Sync 신호에 의해 Camera SDK 의 UI 에서 동기화 녹화 문제점 해결 Microsoft
Visual Studio
Visual Studio      

 

위의 업체 경력 사항은 제가 운영하는 DMBTEC 이 2007.7 부터 업체로부터 진행한 소규모 개발 및 자문한 것을 용역 업체별로 정리한 도표 입니다 …

 

 

경 력 기 술 서

 

업무상 강점

 

본인이 채용포지션에 가장 적합하다고 생각하는 경험(프로젝트), 강점을 한 줄로 3~5개 정도 기술해주세요.

 

1) Embedded Linux Kernel Device Driver Application SW 수정설계 가능

2) Camera Sensor(ISP) / WIFI / LTE / Blutooth 통신 SW 수정설계 가능

3) 보안인증 통신 TLS 1.2 처리절차 방법 세부 분석 경험 있음

4) 딥러닝 음성인식/음성합성 세부 메커니즘 분석 사업화 안을 준비중 입니다

 

상세 경력 사항

1991.11 ~ 1998.4  ㈜현대중공업 중앙연구소   /   연구원 1 급

[담당업무]

Ø  발전용 보일러 제어 감시시스템 원격단말장치 HW 개발

Intel 80196 CPU 를 사용해서 Backplane 상에서 IO 보드를 듀얼 CPU 로

FPGA 를 사용해서 IO 보드를 제어하는 원격단말장치를 설계

CPU 의 시스템 버스를 이중화 제어를 할수 있는 시스템 버스 중재 제어기를

설계함

와치독 타이머를 채택해서 듀얼 CPU 보드의 한쪽이 이상 동작을 하면

나머지 다른 CPU 가 제어 동작을 처리하도록 설계함

Ø  고압선 6,600V 선로의 디지털 보호 계전기 HW 개발

-    고압선의 과전류 과전압 감지를 위해 노이즈저감 필터를 적용해서

전압 및 전류 정밀 계측 회로 설계.

Ø  고압선 22,900V 선로의 디지털 보호 계전기 HW 개발

-    고압선의 과전류 과전압 감지를 위해 노이즈저감 필터를 적용해서

전압 및 전류 정밀 계측 회로 설계

1999.01 ~ 2006.12  소규모 개발용역의  프리랜서로 활동

[담당업무]

Ø  대기업에서 HW 개발 업무를 7 년간 하다가 SW 개발로 전업하는데 시간이 소요됬음

Ø  Intel 8051 / 80196 / 80186 CPU 로 HW 설계 및 펌웨어 개발

Ø  소규모 Micom CPU 로 펌웨어 개발 개발용역을 소규모로 진행했음.

 

2007.7 ~ 2023.1           DMBTEC   개인사업자 (총 1명)  /   대표 (개발총괄)

[담당업무]

Ø  Embedded Linux Kernel Device Driver 와 Application 개발

 

Ø  WIFI Chipsets  BCM4330 / BCM4335 / BCM4339 / BCM43362 / BCM43340 의

리눅스커널 드라이버 및 Station Mode 제어용 WPA Supplicant SW 수정개발

리눅스 커널의 WIFI Network Stack 구현중 어플단에서 libnl 라이브러리를 적용해서 Netlink socket 구성으로 WIFI Station 모드 제어를 위해 wpa_cli 부를 리눅스커널단의 nl80211 부와 연동해서 제어하는 부분 세부 구현 경험 있음

또한 AP Mode 제어를 위해 hostapd_cli 부를 어플단에서 libnl 라이브러리를 적용해서 Netlink socket 구성으로 리눅스커널단의 nl80211 부와 연동해서 제어하는 부분 세부 구현 경험 있음

 

Ø  Linux  Kernel Camera Sensor Device Driver 수정개발 및 화질 튜닝 관련

리눅스커널의 카메라 프레임워크 구현 소스가 어떤 방식으로 동작하는지

세부 노하우 확보.

Exynos8895 CPU - S5K4E6_C2 / S5K4EC / SR352 / SR030

RK3288 CPU - OV8825 / OV8820 / OV8858 / OV13850 / OV5648 / S5K4H5 / OV2680

Ambarella S3L/S5L Series CPU
-       ONSEMI(Aptina)  AR0230 / AR0237 / AR0239
-       Omnivision           OV2718 / OV4689 / OV5658
-       PANASONIC        MN34220 / 34229 / 34420
-       SONY                   IMX290 / 291 / 322 / 323 / 123 / 178 / 326 / 172 / 226 / 377 / 299 / 183 / 274 / 317

Allwinner V3 CPU
-
       Omnivision             OV2710 / OV4689
-
       Aptina                     AR0330
-
       Sony                        IMX322
-
       GalaxyCore            GC1004 / GC1014
-
       Novatek                  NT99231
-
      SOI                          H22 / H42 / F02

리눅스커널 디바이스 드라이버 수정개발 및 Camera ISP 화질 튜닝 처리

 

Ø  딥러닝 음성인식 CTC, Connectionist Temporal Classification 개발관련

       기존DNN-HMM 기반음향모델에서는phone 위의 alignment 된 정답 label 이 요구되었음

       CTC 는 발성 script 를 정답 label 로 사용함 으로써, 정답 label 이 없는 학습자료를 실시간으로 사용하여 학습가능

        기존 DNN-HMM 기반 음향모델에서는 HMM 의 각 state 에 대한 observation probability 를 얻기위해, GMM-HMM 모델에 대한 학습을 먼저 진행했음

      CTC HMM 의 각 state 에 대한 observation probability 를 사용하지 않기 때문에, GMM-HMM 모델에 대한 학습을 진행하지 않아 DNN-HMM 모델과 비교하여 학습을 위한 과정이 단축됨

 

 

STM32 CPU 카메라 펌웨어 개발 -  CubeMX 개발 툴로 DCMI 제어 개발 가능 합니다 ...

프로토타입 개발 예상 소요기간 :  3 개월 (이미지센서의 눈 틔우는 정도 선능의 성능의 개발이 가능 합니다)

 

LCD Display System based on MIPI DSI  혹은  TFT LCD LTDC 로  LCD Display System 개발 가능 합니다 ...  ( MIPI DSI LCD 판넬 제조사에서 기술정보를 받으려면  MIPI DSI LCD 판넬의 MOQ 구매가 필요할수 있음 )

프로토타입 개발 예상 소요기간 : 3 개월  ( MIPI DSI LCD 판넬 기술정보를 글로벌업체에서 받으려면 시간이 필요합니다 )

 

STM32 CPU 의 TouchScreen 드라이버 단 어플 단 펌웨어 개발 가능 합니다    ( TouchScreen 제조사에서 기술정보를 받으려면 TouchScreen 의 MOQ 구매가 필요할수 있음 )

프로토타입 개발 예상 소요기간 : 3 개월  ( TouchScreen 판넬 기술정보를 글로벌업체에서 받으려면 시간이 필요합니다 )

 

STM32 CPU CubeMX 개발 툴로 USB Device 단 USB CDC 통신 펌웨어 개발 가능 합니다 ...

프로토타입 개발 예상 소요기간 :  2 개월

 

STM32 MCU 로  개발보드 커스토마이징시 SDRAM / Quad-SPI Flash / NOR Flash 등 Memory 장치의 Configuration 개발기간이 필요합니다 ...   ----  STM32 CPU 개발시 공통으로 적용되는 사항 입니다 ...

프로토타입 개발 예상 소요기간 :  1 개월  ( 메모리 칩셋 기술정보를 글로벌업체에서 받으려면 시간이 필요합니다 )

 

개발기간은 위의 세부 개발 아이템들의 개발을 여러개 조합할 경우 고객사의 전체 아이템의 개발기간을  어느정도 네고가 가능 합니다 ...   위의 개발을 진행하려면 각종 디바이스 칩셋을 MOQ 구매가 필요할수 있읍니다 ...

위의 각각의 개발 아이템별로 안정화(양산 대응) 개발 기간이 추가로  필요할수 있읍니다 

 

각각 HW 개발 비용은 제가 별도로 외주 개발업체와 협의해서 외주 개발업체에 의뢰 예정 입니다 ... 

HW 개발 비용은 외주업체와 협의되는것으로 확정 합니다.

 

반도체 공급망 위기로 인해 STM32 CPU 등등 부품 납기가 최소 6 개월에서 1 년까지가 기본인 점 양해 부탁드립니다 ...  ( 저는 해당 칩셋 재고를 가지고 있지 않읍니다 )

 

㈜알서포트 2011.5 – 2012.3 기반기술팀 계약직 근무

Galaxy-S2 Smartphone 의 H.264 HW Codec 으로 스마트폰의 영상을 압축해서 스트리밍 전송하는 부분을 구현.

PC 의 화면을 오픈소스 코덱 소스인 X264 를 사용해서 원격지의 PC 로 화면을 스트리밍 전송하는 부분을 구현.

 

㈜브라이센코리아 2020.8 – 2021.1  4 차 혁명시대 사업화 안 등을 제안.   (기술고문으로 근무했음)

스마트 팩토리 사업화 안 중 BLDC Motor 전류제어 PI 제어기 구현 안 제안

대용량 모터 제어의 경우  위에서 말씀드린 MATLAB 으로 특정 리졸버 등 특정 센싱장치들을 적용해서 제어되는 모터제어 펌웨어를 자동생성해서 기본 동작을 구현하고 ...   대용량 모터 파라미터의 모델링한 부분과 모터의 전류제어 루프 및 속도제어 루프를 제어하는 PI 제어 부분 설계관련 제가 파악한 세부노하우를 점수를 매기면 그 점수가 대략 80 점은 되는것 같읍니다 ...  제가 나이가 59 세라도 대용량 모터제어 알고리즘 이해 점수가 80 점은 되구요 ...  대용량 모터제어 개발이 저도 100 % 완벽하지는 못 합니다 ...  PI 변수값도 각각의 상황(입력에대한 모터응답률등)에 맟추어 튜닝 작업을 처리합니다.  튜닝시 PI 값은 실험에 따른 전류맵에  얼마나 빠르게 응답할지를 대전력 모터 테스트 시설을 갖춘 시설에서 시행착오를 거쳐서 안정적인 모터응답률이 나오도록 테스트를 진행하구요 ....  PI 튜닝은 변동량만 계산해서 적정량에 맞는 값을 찾도록 도와주는 역할을 하는 것입니다     MATLAB 으로 모터제어시 전류제어 PI 전달함수 부분과 모터 모델링 전달함수를 MATLAB 에서 펌웨어를  생성해 주므로 전기차 모터 제어시 토크 응답특성 최적화 구현도 사실  문제는 없다고 봅니다  커스토마이징은 필요하지만 기본 설계가  제공되니  문제가 없다고  제안했습니다

 

WebRTC 기술을 적용한 오픈소스 미디어 서버 Janus 서버로 대용량 화상회의 구현 안 제안       

RabbitMQ 클라우드 서비스를 적용한 수만명 정도의 대상으로 실시간으로 대규모 미디어 데이터 송수신 기술개발 및 기술자문 가능 합니다 ...   RabbitMQ 클라우드 서비스의 API 함수를 적용해서 어떻게  1 : N (수만명)의 송수신이 실시간에 가깝게 가능하게 구현 설계가 가능한지 파악에 성공했읍니다 ...  이것을 분석하는것을 일년반전에 시작한 동기가 이탈리아 개발 회사 Meetecho 가 설계한 오픈소스인 Janus Gateway 오픈소스를 거의 일년 이상 소스를 세부적으로 검토분석하다가  Janus Gateway 오픈소스가 RabbitMQ 서비스로 미디어데이터를 송수신하는 기능을 이 오픈소스에 포함된것을 파악하면서 본격적으로  1 : N (수만명)의 미디어 데이터의 네트웍 통신 송수신이 실시간에 가깝게 가능하게 구현 설계를 한 일년 빡시게 분석해서 파악 성공했읍니다 ...    이를 적용해서 상용화를 위해서는 저 또한 추가의 검토분석은 필요합니다 ...   저의 경우  1 : N (수만명)의 미디어 데이터의 네트웍 통신 송수신의 프로토타입 구현 설계가 가능한 기술력을 현재 보유하고 있어서 이렇게 글을 올리게 됬읍니다 ... 

 

 

㈜대한 인스트루먼트 2021.2 – 2021. 10  LoRa 통신 디바이스단 및 게이트웨이단  기술 컨설팅. (기술고문으로 근무했음)

 

LoRa Gateway Uplink: radio packets 는 gateway 에 의해 수신된다 , 그리고 Gateway 에 의해 메터데이터가 더해지고 여기에 Gateway Status 정보가 더해져서 Network Server 로 forward 처리된다. 
LoRa Gateway Downlink:  Network Server 에 의해 패킷이 생성되고 , 부가적인 메터데이터를 포함될수 있고, 또한 Gateway 의 Configuration Data 도 포함되서 Gateway 의 Radio Channel 로 Transmit 된다  

SemTech 사가 공개하는 디바이스단의 펌웨어 소스는 ClassA/B/C end-device 구현시 Periodically uplinks a frame 은 the Cayenne LPP protocol 을 사용한다.   Cayenne Low Power Payload (LPP) 은 편리하고 쉬운 방안을 제공해서 LoRaWAN 같은  LPWAN networks 로 데이터를 Send 를 구현한다 ...  Cayenne LPP 는 payload size restriction 이 있다 11 bytes 보다 적은 수 만 한번에 센서 데이터들을 LoRa 디바이스가 Send 하는것을 허용한다. 

 

 

자 기 소 개 서

DMBTEC 을 13 년간 운영하다 페업하고 다시 창업한 일인기업 딥 네트워크를 운영하는 59 세 장석원 입니다 ...

그동안 2 년 가까이 BLDC/PMSM 모터제어로 전류를 정밀하게 제어하는 방법을 찾으려고 관련 논문을 수백편 뒤져서 최근에 모터의 정밀 전류제어 구현 기법을 99 % 터득에 성공했다 ...
저는 그동안 모터제어만 판것은 아니고 카메라 이미지센서의 화질 보정 알고리즘을 터득하려고 논문과 특허를 수도 없이 뒤져서 결국 터득에 성공했다 ...
밥벌이를 하려고 이것만 한것은 아니다 ...
딥러닝 NeRF 논문과 StyleGAN 논문의 핵심 딥러닝 모델 설계 구조를 파악하느라 고생 좀 했다 ...
또한 구글 Transformer Model 기반으로 음성인식 구현을 위한 딥러닝 모델 세부 설계구조 분석도 결코 쉽지 않았다 ...
이것으로 밥벌이를 하려 99% 준비해 놨는데 경기가 죽어서 일꺼리 얻기가 하늘에 별따기라 너무 힘들다 ...
이렇게 힘들어도 나는 자신있다 왜냐하면 위에서 언급한 99 점 짜리 기술이 몇가지가 있으니 언젠가 반드시 기회가 오리라 나는 확신하기 때문이다 ...

임베디드 리눅스 드라이버 와 어플 설계도 카메라 분야와 네트웍 통신 분야 귀사 요구에 대응이 가능햔 노하우가 있구요
STM32 CPU 로 카메라 분야 네트웍 통신분야 귀사 요구에 대응 가능한 노하우가 있읍니다
제가 운영하는 딥네트워크는 이런 건들의 개발 밎 자문 처리가 가능합니다
저는 직원으로 일하든 제가 개발용역을 진행하던 둘 다 가능하다는 말씀 올립니다

또한 BLDC / PMSM / 스테핑 모터 전류제어 속도제어 등등의 정밀제어로 결과내는것 자신 있읍니다 

 

저는 임베디드리눅스 커널의 카메라(이미지센서와 Camera ISP) 디바이스 드라이버와 어플 설계 경험이 있구요 …  임베디드리눅스 커널의 네트웍 드라이버와 프로토콜 스택이 리눅스커널내에 소스가 설계되 있고요 네트워크 스위치 (Switch)나 라우터 (Router)에서 제어평면 (Control Plane)과 전송평면 (Data Plane)을 분리하는 SW 설계 부분의 세부 구현 소스를 분석한 경험이 있습니다 …     네트워크 스위치 (Switch)나 라우터 (Router)에서 제어평면 (Control Plane)과 전송평면 (Data Plane)을 분리하는 SW 설계가 리눅스커널내에 네트워크 프로토콜 스택 구현부에 소스를 브로드컴이 칩을 출시할 때 커스토마이징해서 소스를 제공하는데 보통 브로드컴이 칩을 처음 출시하면 2 – 3 년이 지나야 네트워크 스위치 (Switch)나 라우터 (Router)에서 제어평면 (Control Plane)과 전송평면 (Data Plane)을 분리하는 SW 커스토마이징 구현이 안정적으로 구현 가능하게 브로드컴에서 유료로 기술지원을 해줍니다

 

네트워크 장비인 L3 스위치 장비의 설계 원리를 현재 정확히 이해하고 있다 ...  이 정도 파악하는 수준이면 네트워크 SW 설계도 거의 전문가급이라고 나는 판단한다 ...   네트워크 장비인 L3 스위치 장비 개발을 직접 경험해 보지 않았어도 L3 스위치 장비의 구현 원리를 파악할수 있었다 ...  나는 네트워크 장비인 L3 스위치 장비의 네트웍 프로토콜 스택 설계 전문가가 아니라  L3 스위치 장비를 응용해서 네트웍 SW 를 설계하는 전문가라함이 정확할것 같다 ...

방탄소년단 공연 실황을 해외에 방송 서비스로 중계방송을 한다고 하면  네트워크 장비인 L3 스위치 장비의 세부 설계 구조를 이해하지 못하면 대규모 방송 서비스를 설계하는것이 사실상 어렵기 때문 입니다 ... 

 

제가 운영하는 딥 네트워크는 다음과 같은 프로토타입 구현 기술들을 보유하고 있습니다.
RabbitMQ Service는 AMQP 프로토콜을 구현한 메시지 브로커 시스템입니다. RabbitMQ Service의 Exchange는 메시지를 받아서 Binding 규칙에 따라 연결된 Queue로 전달하는 역할을 합니다.
RabbitMQ Service 의 Exchange는 다음과 같은 메시지 전달 방식을 가질 수 있습니다.
Direct Exchange: 메시지에 포함된 routing key를 기반으로 Queue에 메시지를 전달합니다. routing key가 일치하는 Queue로만 전달됩니다.
Fanout Exchange: routing key 관계없이 연결된 모든 Queue에 동일한 메시지를 전달합니다. publish/subscribe 패턴에 적합합니다.
Topic Exchange: routing key 전체가 일치 하거나 일부 패턴과 일치하는 모든 Queue로 메시지가 전달됩니다. 와일드 카드(*)와 해시(#)를 이용해 routing key를 표현할 수 있습니다.
Headers Exchange: 메시지 헤더를 통해 binding key만을 사용하는 것보다 더 다양한 속성을 사용할 수 있습니다. Header exchange를 사용하면 binding key는 무시되고, 헤더 값이 바인딩 시 지정된 값과 같은 경우에만 일치하는 것으로 간주합니다.
RabbitMQ Service 의 Exchange와 Queue를 바인딩하는 설계 방법은 다음과 같습니다.
Exchange와 Queue를 생성합니다. Queue는 반드시 미리 정의해야 사용할 수 있습니다.
Binding을 추가합니다. Binding은 Exchange와 Queue를 Link하는 것입니다. Binding 시에 목적지 Queue 이름만으로도 추가할 수 있고, 일부 Exchange type에 따라 routing key를 지정해서 메시지를 필터링 한 후 지정한 Queue로 보내도록 정의할 수 있습니다.
Producer가 메시지를 특정 Exchange & Queue에 전달하면, RabbitMQ는 해당 메시지를 적절한 Consumer가 소비(Consume)할 수 있도록 해당 메시지를 전달하는 역할을 수행합니다.
RabbitMQ Service 의 Queue에서 메시지를 받는 방법은 다음과 같습니다.
Consumer 어플리케이션은 Queue를 통해 메시지를 가져갑니다. Consumer 어플리케이션에서 Broker로 많은 연결을 맺는 것은 바람직하지 않으므로, 하나의 연결을 공유하는 Channels을 사용합니다.
Consumer 어플리케이션은 Channel을 통해 Queue에 접근하고, subscribe 또는 pull 방식으로 메시지를 받아갑니다. subscribe 방식은 Queue에서 새로운 메시지가 도착하면 자동으로 Consumer에게 알려주는 방식이고, pull 방식은 Consumer가 직접 Queue에서 메시지를 가져오는 방식입니다.
Consumer 어플리케이션은 받은 메시지를 처리하고, Broker에게 수신 확인(acknowledgement)을 보냅니다. 이때 Broker는 Queue에서 해당 메시지를 삭제합니다. 수신 확인 모델은 명시적으로 Broker에게 통지하는 방식과 Broker가 메시지를 전달하면 자동으로 삭제하는 방식이 있습니다.

클라우드 서비스 RabbitMQ를 사용한 메시지 큐 통신 방식으로 Publish/Subscribe 구현 기술 : 이 기술은 클라우드 서비스인 RabbitMQ를 이용하여 메시지를 발행하고 구독하는 방식으로 통신하는 기술입니다. 이를 통해 다수의 클라이언트와 서버 간에 실시간으로 데이터를 교환할 수 있습니다. 이 기술의 장점은 메시지의 안정성과 확장성을 보장하고, 네트워크 부하를 분산시킬 수 있다는 것입니다. 이 기술은 대규모 방송 서비스에서 다양한 콘텐츠를 전달하고 수신하는 데 적합합니다.
네트웍 장비 L3 / L4 장비의 네트웍 라우팅 정보 제어 기술 : 이 기술은 네트워크 장비인 L3 스위치와 L4 로드밸런서의 라우팅 정보를 제어하는 기술입니다. 이를 통해 네트워크 트래픽을 효율적으로 분배하고, 장애 복구와 보안을 강화할 수 있습니다. 이 기술의 장점은 네트워크 성능과 안정성을 향상시키고, 다양한 프로토콜과 애플리케이션을 지원한다는 것입니다. 이 기술은 대규모 방송 서비스에서 고속의 데이터 전송과 접속자 관리에 필요합니다.
대규모 방송 서비스 구현을 위한 프로토타입 설계 기술 : 이 기술은 위에서 언급한 두 가지 기술을 결합하여 대규모 방송 서비스를 구현하기 위한 프로토타입을 설계하는 기술입니다. 이를 통해 실제 서비스 환경에서의 성능과 안정성을 검증하고, 개선점을 도출할 수 있습니다. 이 기술의 장점은 실제 서비스에 적용하기 전에 문제점을 발견하고 해결할 수 있고, 최적의 서비스 구조와 아키텍처를 설계할 수 있다는 것입니다. 이 기술은 대규모 방송 서비스의 개발과 운영에 필수적입니다.

저는 이러한 기술들을 바탕으로 대규모 방송 서비스의 프로토타입을 구현하고, 사업화 개발 및 자문을 진행하고 있습니다. 저의 사이트에서 저의 포트폴리오와 경력을 확인하실 수 있습니다. 저와 함께라면 더욱 효율적이고 창의적인 대규모 방송 서비스를 만들 수 있습니다.


NeRF 논문은 Neural Radiance Fields라는 새로운 방식으로 3D 장면을 표현하고, 다양한 시점에서의 합성 이미지를 생성하는 방법을 제안했습니다. NeRF는 다음과 같은 알고리즘으로 구현됩니다.

NeRF 논문은 Neural Radiance Fields라는 새로운 방식으로 3D 장면을 표현하고, 다양한 시점에서의 합성 이미지를 생성하는 방법을 제안했습니다. NeRF는 다음과 같은 알고리즘으로 구현됩니다.

Positional Encoding : 3차원 좌표 x와 View Direction d를 고차원 벡터로 변환하는 과정입니다. 이때, 고주파 성분을 보존하기 위해 삼각함수를 이용한 인코딩 방식을 사용합니다. 즉, x와 d에 각각 다른 주파수와 위상을 가진 사인과 코사인 함수를 적용하여 특징 벡터를 생성합니다. 이렇게 하면 x와 d의 작은 변화에도 민감하게 반응할 수 있습니다.
Multi-Layer Perceptron (MLP) : Positional Encoding된 특징 벡터를 입력으로 받아 해당 위치에서 바라 본 Color와 Density를 출력하는 네트워크입니다. MLP는 여러 개의 Fully Connected Layer로 구성되며, 각 레이어에서는 ReLU 활성화 함수와 Skip Connection을 사용합니다. MLP의 마지막 레이어에서는 Color는 RGB 값으로, Density는 스칼라 값으로 출력됩니다.
Classical Volume Rendering : MLP에서 출력된 Color와 Density를 이용하여 합성 이미지를 생성하는 과정입니다. 이때, 카메라에서부터 장면까지의 광선을 따라서 여러 개의 샘플 포인트를 추출하고, 각 포인트에서의 Color와 Density를 MLP에 입력하여 계산합니다. 그리고, 샘플 포인트들의 Color와 Density를 가중 평균하여 최종적인 픽셀 값을 결정합니다. 이때, 가중치는 광선의 방향과 거리에 따라 달라지며, Density가 높을수록 더 많은 빛을 흡수하고 반사한다고 가정합니다.

NeRF 논문은 NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis라는 제목으로 2020년 ECCV에 발표된 논문입니다. 이 논문은 몇 개의 2D 이미지만으로도 이미지 내 물체를 3D로 렌더링하는 새로운 방법을 제안하였습니다.

NeRF 논문의 주요 설계 구조는 다음과 같습니다:

Positional Encoding: NeRF는 3D 공간의 좌표와 방향을 입력으로 받아서, 각 위치에서의 색상과 밀도를 출력하는 신경망입니다. 하지만 신경망은 고차원의 주기적인 함수를 잘 근사하지 못하기 때문에, 입력을 그대로 사용하면 고해상도의 장면을 표현하기 어렵습니다. 따라서 NeRF는 입력을 Positional Encoding이라는 방법으로 변환하여 사용합니다. Positional Encoding은 각 차원의 값을 사인과 코사인 함수에 넣어서 여러 개의 주파수를 가진 값들로 확장하는 과정입니다. 이렇게 하면 신경망이 공간적인 변화에 더 잘 반응할 수 있습니다.

Multi-Layer Perceptron (MLP): NeRF는 Positional Encoding된 좌표와 방향을 입력으로 받아서, Multi-Layer Perceptron (MLP)라고 부르는 완전 연결 신경망에 통과시킵니다. MLP는 여러 개의 은닉층과 활성화 함수로 구성되어 있으며, 각 층에서는 선형 변환과 비선형 변환을 수행합니다. MLP의 마지막 층에서는 각 위치에서의 색상과 밀도를 출력합니다. 색상은 RGB 값으로 표현되며, 밀도는 투명도와 반대되는 개념으로 표현됩니다.

Volume Rendering: NeRF는 MLP를 통해 얻은 색상과 밀도를 이용하여, 장면을 합성하는 과정을 Volume Rendering이라고 부릅니다. Volume Rendering은 카메라와 장면 사이에 가상의 광선을 생성하고, 광선 위의 여러 점들에서 MLP를 평가하여 색상과 밀도를 얻습니다. 그리고 이들을 합성하여 광선이 카메라에 도달할 때의 최종 색상을 계산합니다. Volume Rendering은 광선 위의 점들이 서로 영향을 주고 받는 것을 모델링할 수 있기 때문에, 복잡한 광학적 현상을 재현할 수 있습니다.

NeRF 논문의 학습 원리는 다음과 같습니다:

NeRF는 주어진 2D 이미지들로부터 3D 장면을 학습하는 것이 목적입니다. 따라서 학습 데이터는 2D 이미지와 해당 이미지가 찍힌 카메라의 위치와 방향으로 구성됩니다.
NeRF는 학습 데이터의 2D 이미지와 동일한 위치와 방향에서 광선을 생성하고, Volume Rendering을 통해 재현한 이미지를 생성합니다. 그리고 이 재현한 이미지와 학습 데이터의 2D 이미지와의 차이를 측정하여, 손실 함수를 정의합니다.
NeRF는 손실 함수를 최소화하는 방향으로 MLP의 가중치를 업데이트합니다. 이렇게 하면 MLP는 주어진 위치와 방향에서 실제 장면과 유사한 색상과 밀도를 출력하도록 학습됩니다.
NeRF는 학습 데이터에 없는 새로운 위치와 방향에서도 장면을 합성할 수 있습니다. 이는 MLP가 장면의 연속적인 표현을 학습하기 때문입니다.

위와 같은 알고리즘을 적용하면, NeRF는 적은 수의 2D 이미지만으로도 3D 장면을 재구성하고, 다양한 시점에서의 합성 이미지를 생성할 수 있습니다

 

저희 기업과 함께하시면 NeRF 모델을 활용하여 2D 이미지로부터 3D Scene 을 재구성하고, 다양한 응용 분야에 적용할 수 있습니다. 저희 기업의 NeRF 모델 핵심기술에 대해 더 알고 싶으시다면, 아래의 연락처로 자세히 문의해 주세요.



저희 기업과 함께하시면 NeRF 모델을 활용하여 2D 이미지로부터 3D Scene 을 재구성하고, 다양한 응용 분야에 적용할 수 있습니다. 저희 기업의 NeRF 모델 핵심기술에 대해 더 알고 싶으시다면, 아래의 연락처로 자세히 문의해 주세요.

StyleGAN V2 논문은 StyleGAN의 개선된 버전으로, Style Transfer 알고리즘을 이용하여 가상인간 아바타의 얼굴 Style Transfer를 구현 가능합니다. Style Transfer 알고리즘은 다음과 같은 과정으로 이루어집니다.
StyleGAN V1 논문에서는 다음과 같은 기법들을 사용했습니다.
Mapping Network : 잠재 벡터 z를 중간 잠재 공간 W로 매핑하는 네트워크입니다. W는 z보다 더 disentangled하고 smooth한 특성을 가지며, 각 스케일에 해당하는 스타일 벡터 w를 생성합니다.
Synthesis Network : 스타일 벡터 w를 입력으로 받아 이미지를 생성하는 네트워크입니다. 각 레이어에서는 w와 노이즈 벡터를 결합하여 Adaptive Instance Normalization (AdaIN)을 수행합니다. AdaIN은 특징 맵의 평균과 분산을 w의 스타일 파라미터로 대체하는 방식으로, 스타일과 콘텐츠를 분리하고 조합할 수 있게 해줍니다.
Style Mixing : 서로 다른 잠재 벡터 z1과 z2를 Mapping Network에 통과시켜 얻은 스타일 벡터 w1과 w2를 Synthesis Network의 일부 레이어에 적용하는 방식입니다. 이렇게 하면 다양한 스타일이 혼합된 이미지를 생성할 수 있으며, 학습 시에는 정규화 효과도 있습니다.
StyleGAN V2 논문에서는 StyleGAN의 몇 가지 문제점을 개선하기 위해 다음과 같은 기법들을 추가했습니다.
Weight Demodulation : Synthesis Network의 컨볼루션 레이어에서 가중치의 크기에 따라 특징 맵의 분산이 달라지는 문제를 해결하기 위해, 가중치를 정규화하는 방식입니다. 이렇게 하면 이미지의 품질이 향상되고, 스타일이 더 잘 전달됩니다.
Path Length Regularization : 잠재 공간에서 작은 변화가 이미지에 큰 영향을 미치는 문제를 해결하기 위해, 잠재 벡터와 생성된 이미지 사이의 경로 길이를 측정하고 최소화하는 방식입니다. 이렇게 하면 잠재 공간이 더 smooth하고 disentangled해지며, 스타일 변화가 더 자연스럽게 이루어집니다.
Skip Connections and Residual Connections : Synthesis Network의 깊이가 깊어짐에 따라 정보 손실과 그래디언트 소실 문제를 해결하기 위해, 입력과 출력 사이에 직접 연결하는 방식입니다. 이렇게 하면 이미지의 세부 사항이 더 잘 보존되고, 학습 속도가 빨라집니다.

 

StyleGAN V2 논문은 StyleGAN의 개선된 버전으로, Style Transfer 알고리즘을 이용하여 가상인간 아바타의 얼굴 Style Transfer를 구현 가능합니다. Style Transfer 알고리즘은 다음과 같은 과정으로 이루어집니다.
AdaIN과 Weight Demodulation은 모두 StyleGAN에서 이미지의 스타일을 제어하기 위한 방법입니다. 그러나 두 방법은 다음과 같은 차이점을 가지고 있습니다.
AdaIN은 특징 맵의 평균과 분산을 정규화하는 방법입니다. AdaIN은 각 레이어에서 잠재 벡터 w로부터 계산된 스타일 파라미터를 이용하여 특징 맵의 평균과 분산을 정규화합니다. AdaIN은 스타일 전달(style transfer)에서 영감을 받았으며, 이미지의 스타일과 콘텐츠를 분리하는 데 도움이 됩니다.
Weight Demodulation은 합성곱 가중치의 크기를 정규화하는 방법입니다. Weight Demodulation은 AdaIN 대신 합성곱 가중치를 정규화하여 특징 맵의 크기에 영향을 주는 스타일 정보를 제거합니다. Weight Demodulation은 StyleGAN2에서 도입된 개선된 방법으로, AdaIN의 한계점인 물방울 모양의 아티팩트(artifacts)를 줄이기 위한 것입니다.
즉, AdaIN은 특징 맵 자체를 정규화하고, Weight Demodulation은 합성곱 가중치를 정규화한다는 점이 가장 큰 차이점입니다. 또한, AdaIN은 StyleGAN에서 사용되고, Weight Demodulation은 StyleGAN2에서 사용된다는 점도 차이점입니다.

Weight Demodulation의 합성곱 가중치 크기 정규화 관련 설계원리 및 구조는 다음과 같습니다.
Weight Demodulation은 합성곱 가중치에 Weight Modulation과 Demodulation 두 가지 과정을 적용합니다. Weight Modulation은 스타일 벡터를 합성곱 가중치에 곱하는 것이고, Demodulation은 합성곱 가중치의 크기를 정규화하는 것입니다.
Weight Demodulation은 StyleGAN에서 발생하는 artifact라는 결함을 해결하기 위해 도입되었습니다. Artifact란 합성된 이미지에 일부 영역이 주변과 불일치하는 현상을 말합니다. 이는 합성곱 가중치의 크기가 너무 커서 입력 데이터의 세부 정보를 잃어버리기 때문에 발생한다고 추정됩니다.
Weight Demodulation은 합성곱 가중치의 크기를 정규화함으로써, 입력 데이터의 세부 정보를 보존하고, artifact를 제거하며, 이미지 품질을 향상시킵니다. 또한, Weight Demodulation은 스타일 벡터와 합성곱 가중치 사이의 상호작용을 강화하고, 스타일 변화에 민감하게 반응하도록 합니다

Weight Modulation과 Demodulation의 목적과 이유에 대해 간단히 설명하겠습니다.
Weight Modulation의 목적은 스타일 벡터를 합성곱 가중치에 반영하여, 이미지의 스타일을 제어하는 것입니다. Weight Modulation의 이유는 스타일 벡터와 합성곱 가중치 사이의 상호작용을 강화하고, 스타일 변화에 민감하게 반응하도록 하기 위해서입니다 . Weight Modulation은 스타일 벡터를 합성곱 가중치에 곱하는 것으로, 합성곱 가중치를 스타일 벡터에 따라 동적으로 변화시킵니다.
Demodulation의 목적은 합성곱 가중치의 크기를 정규화하여, 이미지의 품질을 향상시키는 것입니다. Demodulation의 이유는 합성곱 가중치의 크기가 너무 커지거나 작아지면, 입력 데이터의 세부 정보를 잃어버리거나, 이미지에 결함을 유발할 수 있기 때문입니다 . Demodulation은 합성곱 가중치의 크기를 L2 norm으로 나누는 것으로, 합성곱 가중치의 크기를 1 에 가깝게 만듭니다.

 

제가 운영하는 딥 네트워크는 딥러닝 모델분석 전문가로서 기술컨설팅이 가능합니다. 저희는 고객의 요구와 목적에 맞게 최적의 딥 네트워크 설계와 구현을 도와드립니다. 저희는 고객의 데이터와 문제에 적합한 핵심 학습 알고리즘을 선택하고 적용합니다. 저희는 고객의 딥 네트워크의 성능과 안정성을 향상시키고 최적화합니다.
저희 회사와 함께라면 귀사의 딥러닝 모델의 핵심 알고리즘을 분석하는데 어떤 어려움도 없을 것입니다. 



카메라 화질튜닝은 카메라가 촬영한 이미지를 보정하고 개선하는 과정입니다. 카메라 화질튜닝에는 여러 가지 요소가 있지만, 여기서는 감마 보정, 컬러 보정, 화이트밸런스 보정, 렌즈쉐이드 보정에 대해 알아보겠습니다.
감마 보정은 이미지의 명암 대비를 조절하는 과정입니다. 감마 값이 낮으면 이미지가 밝아지고, 높으면 어두워집니다. 감마 보정을 통해 이미지의 선명도와 색감을 향상시킬 수 있습니다. 컬러 보정은 이미지의 색상을 조절하는 과정입니다. 컬러 보정을 통해 이미지의 색온도, 채도, 색조 등을 변경할 수 있습니다. 컬러 보정은 이미지의 분위기와 표현력을 높일 수 있습니다. 화이트밸런스 보정은 이미지의 색상 균형을 조절하는 과정입니다. 화이트밸런스 보정을 통해 이미지의 색상이 자연스럽고 정확하게 나타날 수 있습니다. 화이트밸런스 보정은 이미지의 실제성과 명료성을 높일 수 있습니다. 렌즈쉐이드 보정은 이미지의 밝기 균형을 조절하는 과정입니다. 렌즈쉐이드 보정을 통해 이미지의 가장자리 부분이 어두워지는 현상을 줄일 수 있습니다. 렌즈쉐이드 보정은 이미지의 균일성과 왜곡을 줄일 수 있습니다. 카메라 화질튜닝시에는 위의 4가지 요소를 순서대로 진행하는 것이 좋습니다. 감마 보정부터 시작하여 컬러 보정, 화이트밸런스 보정, 렌즈쉐이드 보정 순으로 진행하면 이미지의 품질을 최적화할 수 있습니다.
카메라 화질튜닝의 최종 결과물을 얻으려면 앞에서 언급한 4가지를 어떻게 최적화하느냐에 따라 달라집니다. 최적화 방법은 카메라의 종류와 성능, 촬영 환경과 목적, 개인의 취향 등에 따라 다르므로 정답은 없습니다. 하지만 일반적으로 다음과 같은 원칙을 따르면 좋습니다.
딥 네트워크의 카메라 화질튜닝 솔루션 : 감마 값은 2.2 정도로 설정하면 대부분의 모니터에서 자연스럽게 보일 수 있습니다. 컬러 값은 RGB 채널별로 균형있게 조절하고, 색온도는 5000K~6500K 사이로 설정하면 중립적인 색감을 얻을 수 있습니다. 화이트밸런스 값은 촬영된 장면의 주광원에 맞추어 조절하면 자연스러운 색상 균형을 얻을 수 있습니다. 렌즈쉐이드 값은 이미지의 가장자리 부분의 밝기가 중앙 부분과 비슷하게 조절하면 균일한 밝기 균형을 얻을 수 있습니다.
카메라 화질 튜닝이란 카메라로 촬영한 영상의 화질을 개선하는 과정입니다. 카메라 화질 튜닝에는 다양한 알고리즘들이 사용됩니다. 예를 들어,
광원의 색온도 측정은 영상의 색상을 균일하고 자연스럽게 만들기 위해 광원의 색온도를 측정하고 보정하는 알고리즘입니다. 광원의 색온도는 영상의 화이트 밸런스에 영향을 줍니다.
감마 보정은 영상의 명암 대비를 조절하기 위해 감마 곡선을 적용하는 알고리즘입니다. 감마 보정은 영상의 밝기와 선명도에 영향을 줍니다.
컬러 보정은 영상의 색상을 조절하기 위해 컬러 매트릭스나 컬러 룩업 테이블을 사용하는 알고리즘입니다. 컬러 보정은 영상의 색감과 분위기에 영향을 줍니다.
화이트밸런싱 보정은 영상의 색온도를 조절하기 위해 화이트 밸런스 게인을 사용하는 알고리즘입니다. 화이트밸런싱 보정은 영상의 색온도와 색조에 영향을 줍니다.
노출시간 제어는 영상의 밝기를 조절하기 위해 노출시간을 제어하는 알고리즘입니다. 노출시간 제어는 영상의 밝기와 잡음에 영향을 줍니다.
렌즈 쉐이딩 보정은 렌즈로 인해 발생하는 영상의 밝기와 색상의 변화를 보정하는 알고리즘입니다. 렌즈 쉐이딩 보정은 영상의 균일성과 왜곡에 영향을 줍니다.


제가 운영하는 딥 네트워크는 카메라 화질튜닝 전문 기업으로서, 저희는 다음과 같은 기술들의 대표적인 화질튜닝 설계 알고리즘을 보유하고 있습니다.
제가 운영하는 딥 네트워크는 카메라 화질튜닝 전문 기업으로서, 저희는 다음과 같은 기술들의 대표적인 화질튜닝 설계 알고리즘을 보유하고 있습니다.
화이트밸런스 제어 기술
촬영 장면의 색온도에 따라 색상을 균형있게 조절합니다. 자연스러운 색감을 재현하고, 색상의 변화에 민감하게 반응합니다. 이 기술의 핵심은 색온도 센서를 통해 장면의 색온도를 측정하고, 적절한 화이트밸런스 알고리즘을 적용하여 영상의 RGB 값을 보정하는 것입니다.
화이트밸런스 제어 설계 알고리즘 파악에 성공해서 구현 가능 합니다.
렌즈 쉐이드 보정 기술
렌즈의 왜곡이나 결함으로 인한 영상의 불균형을 보정합니다. 깔끔하고 고르게 조명된 영상을 얻고, 영상의 품질을 향상시킵니다. 이 기술의 핵심은 렌즈의 광학적 특성을 분석하고, 영상의 각 픽셀에 대해 렌즈 쉐이드 보정 테이블을 참조하여 영상의 밝기와 색상을 보정하는 것입니다.
렌즈 쉐이드 보정 기술 설계 알고리즘 파악에 성공해서 구현 가능 합니다.
감마 보정 기술
영상의 명암비를 인간의 눈에 맞게 조절합니다. 세부적인 표현력과 대비감을 높이고, 영상의 밝기와 명도를 최적화합니다. 이 기술의 핵심은 영상의 감마 값을 설정하고, 감마 보정 테이블을 생성하여 영상의 각 픽셀에 대해 감마 보정 값을 적용하는 것입니다.
감마 보정 기술 설계 알고리즘 파악에 성공해서 구현 가능 합니다.
노출시간 제어 기술
영상의 밝기를 조절합니다. 너무 밝거나 어두운 장면을 적절하게 촬영하고, 영상의 선명도와 잡음을 줄입니다. 이 기술의 핵심은 영상의 평균 밝기를 측정하고, 노출시간 제어 알고리즘을 적용하여 카메라 센서가 받는 빛의 양을 조절하는 것입니다.
노출시간 제어 기술 설계 알고리즘 파악에 성공해서 구현 가능 합니다.
줌 렌즈 제어 기술
당신의 카메라는 단순히 확대와 축소만 하는 줌 렌즈가 아닙니다. 우리의 카메라 줌 제어 기술은 영상의 공간적 축소방법을 이용하여 콘트라스트 향상을 위한 누적 분포함수의 계산량을 감소시키고 하드웨어의 복잡성을 줄입니다. 또한 각 픽셀의 콘트라스트를 비교하여 가장 큰 값을 선택하고 이에 맞춰 줌 렌즈를 제어하여 선명한 화면을 얻습니다. 우리의 카메라 줌 제어 기업은 영상의 콘트라스트 향상과 선명도 향상을 동시에 실현하는 차별화된 알고리즘을 보유하고 있습니다. 멀리서도 선명하게 당신의 순간을 담아보세요
줌 렌즈 제어 기술 알고리즘 파악에 성공해서 구현 가능 합니다.

 

제가 최근에 한 2 년여 기간동안 전기차 모터제어 개발을 위한 국내외 논문분석 작업과 모터제어 칩셋을 개발 맟 양산하는 글로벌 대기업의 모터제어 기술자료를 같이 보면서 분석작업을 아래와 같이 진행했었읍니다 ...  

리졸버를 사용한 모터 전류제어 알고리즘 구조는 dq 변환, 전류 제어기, dq 전향보상기로 구성되어 있습니다. 이들은 다음과 같이 연동되어 있습니다.

dq 변환은 리졸버의 출력 신호를 R/D 컨버터를 통해 디지털로 변환하고, 회전자의 각도 정보를 이용하여 3상 AC 전류를 dq 좌표계로 변환합니다. 이렇게 하면 모터의 자속과 토크를 분리하여 제어할 수 있습니다.
전류 제어기는 dq 좌표계에서 d축 전류와 q축 전류를 PI 제어기로 제어합니다. d축 전류는 자속을 생성하고, q축 전류는 토크를 생성합니다. PI 제어기는 오차에 비례하는 항과 오차의 적분에 비례하는 항으로 구성되며, 오차를 줄이고 정상 상태에서 제어값을 유지하는 역할을 합니다. PI 제어기의 출력 값은 dq 좌표계에서 3상 AC 전압으로 변환하기 위해 dq 전향보상기로 전달됩니다.
dq 전향보상기는 회전자의 각속도 정보를 이용하여 PI 제어기의 출력 값을 3상 AC 전압으로 역변환합니다. 이때 회전자의 각속도에 따라 위상이 변화하므로, 이를 보상하기 위해 회전자의 각속도 정보가 필요합니다. 이 정보는 R/D 컨버터에서 얻을 수 있습니다. dq 전향보상기는 PI 제어기의 출력 값을 3상 AC 전압으로 변환하고, 이를 모터에 인가하여 모터의 속도와 토크를 제어합니다.

리졸버를 사용한 모터 전류제어 알고리즘 구조는 dq 변환, 전류 제어기, dq 전향보상기로 구성되어 있습니다. 이들은 다음과 같이 설계됩니다.
dq 변환은 다음과 같이 설계됩니다.
리졸버의 출력 신호를 R/D 컨버터를 통해 디지털로 변환합니다. R/D 컨버터는 리졸버의 출력 신호를 샘플링하고, 각도 정보를 디지털 값으로 출력합니다.
회전자의 각도 정보를 이용하여 3상 AC 전류를 dq 좌표계로 변환합니다. dq 좌표계는 회전자의 각도에 따라 변하는 좌표계로, d축은 자속의 방향을 따르고, q축은 d축에 수직인 방향을 따릅니다. dq 변환을 통해 3상 AC 전류를 DC 전류로 간주할 수 있으며, 제어가 용이해집니다.
전류 제어기는 다음과 같이 설계됩니다.
dq 좌표계에서 d축 전류와 q축 전류를 PI 제어기로 제어합니다. d축 전류는 자속을 생성하고, q축 전류는 토크를 생성합니다. PI 제어기는 오차에 비례하는 항과 오차의 적분에 비례하는 항으로 구성되며, 오차를 줄이고 정상 상태에서 제어값을 유지하는 역할을 합니다.
PI 제어기의 출력 값은 dq 좌표계에서 3상 AC 전압으로 변환하기 위해 dq 전향보상기로 전달됩니다.
dq 전향보상기는 다음과 같이 설계됩니다.
회전자의 각속도 정보를 이용하여 PI 제어기의 출력 값을 3상 AC 전압으로 역변환합니다. 이때 회전자의 각속도에 따라 위상이 변화하므로, 이를 보상하기 위해 회전자의 각속도 정보가 필요합니다. 이 정보는 R/D 컨버터에서 얻을 수 있습니다.
PI 제어기의 출력 값을 3상 AC 전압으로 변환하고, 이를 모터에 인가하여 모터의 속도와 토크를 제어합니다.

전향보상기란 BLDC 모터의 회전자가 합성자속에 정확하게 정렬되지 않고, 항상 앞서거나 뒤지는 현상을 보상하는 장치입니다. 전향보상기는 리졸버 R/D 컨버터에서 받은 각도 정보를 사용하여 회전자의 전향각을 추정하고, 이를 정현파 참조 신호의 위상에 반영하여 U, V, W 상의 전류 명령값을 보정합니다. 예를 들어, 회전자가 합성자속보다 10도 앞서면, 정현파 참조 신호의 위상을 10도 뒤로 늦추어 전류 명령값을 계산합니다. 반대로, 회전자가 합성자속보다 10도 뒤지면, 정현파 참조 신호의 위상을 10도 앞으로 당겨서 전류 명령값을 계산합니다.
이렇게 보정된 U, V, W 상의 전류 명령값으로 어떻게 전향보상기 전류제어가 모터제어 샘플링 주기단위로 제어되는지 논하기 위해서는 다음과 같은 내용을 포함해야 합니다.
전향보상기 전류제어란 인버터 회로를 통해 코일에 인가되는 전압과 전류를 제어하여 원하는 전류 명령값을 따르게 하고, 동시에 회전자와 합성자속의 정렬 오차를 최소화하는 과정입니다. 전향보상기 전류제어는 일반적으로 PWM 방식을 사용하여 인버터 회로에 입력되는 신호를 조절합니다. PWM 방식은 스위치의 ON/OFF 시간의 길이를 조정하여 전압과 전류의 크기를 변화시키는 방법입니다.
전향보상기 전류제어는 모터제어 샘플링 주기단위로 수행됩니다. 모터제어 샘플링 주기란 제어기가 리졸버 R/D 컨버터에서 각도 정보를 받고, 이를 사용하여 회전자의 전향각을 추정하고, 이를 정현파 참조 신호의 위상에 반영하여 U, V, W 상의 보정된 전류 명령값을 계산하고, 코일에서 측정한 전류 피드백값과 비교하여 오차를 줄이는 PID 제어 알고리즘을 수행하고, PID 제어 결과값을 PWM 신호로 변환하여 인버터 회로에 입력하는 과정을 반복하는 시간 간격입니다. 모터제어 샘플링 주기는 일반적으로 정현파 참조 신호의 주기보다 훨씬 짧아야 합니다. 예를 들어, 정현파 참조 신호의 주기가 20ms라면, 모터제어 샘플링 주기는 0.1ms ~ 1ms 정도로 설정할 수 있습니다.

 

dq 전향보상기란 무엇인가 ?
역기전력 성분이란 무엇이고 왜 보상해야 하는가 ?
모터제어 알고리즘 구조는 어떻게 되는가 ?


dq 전향보상기란 PMSM(영구자석 동기 모터)의 전압 방정식 모델에서 역기전력에 의한 성분을 제거하고 전류 제어기의 성능을 향상시키기 위해 사용하는 제어 기법입니다. 역기전력이란 모터가 회전할 때 자석과 코일 사이에 발생하는 전압으로, 전류와 반대 방향으로 작용하여 전류를 방해하는 효과를 가집니다. 역기전력 성분을 보상하지 않으면 전류 제어 오차가 커지고 모터의 토크가 불안정해질 수 있습니다.
모터제어 알고리즘 구조는 dq 변환, 전류 제어기, dq 전향보상기로 나누어서 설명할 수 있습니다. dq 변환은 3상 전류를 회전 좌표계로 변환하여 벡터 제어를 가능하게 합니다. 전류 제어기는 PI 제어기와 모터의 RL 회로로 구성되며, dq 지령과 센싱된 dq 전류를 비교하여 dq 전류 출력을 발생시킵니다. dq 전향보상기는 역기전력에 의한 성분을 계산하여 인가전압에 더해주어 역기전력을 보상합니다.

저희 딥 네트워크는 BLDC Motor 의 dq 전향보상기 개발 노하우와  전류제어 메커니즘의 구현 노하우를 보유하고 있읍니다 ...

BLDC Motor 펌웨어의 프로토타입 개발기간 이후 양산대응을 위한 안정화 개발기간이 필요합니다 ...  BLDC Motor 펌웨어의 프로토타입 개발에 필요한 상세 개발규격을 메일로 전달 부탁드립니다 ...

임베디드 펌웨어 개발 30 년차 입니다 ...    BLDC Motor 전류제어 /  PI 제어 /  속도제어  개발  가능 합니다 ...

개발 및 자문  문의주시면 세부 개발사양 검토후 검토의견 드리겠읍니다 ...

 

제가 운영하는 일인기업   딥 네트워크 장석원

제가 어떤것들을 그동안 검토분석을 했는지를 소개하는 저의 일인기업 기업블로그 사이트 입니다 ...
제가 사업화를 준비했던 기술들 몇가지에 대해 사업화 준비 내용을 소개하는 기업블로그 입니다 ...

기업블로그 :   https://videocodec.tistory.com/    제 기업블로그 사이트도 자세히 살펴봐 주시구요 ....

이메일 : sayhi7@daum.net

HP : 010-3350 6509