반응형

Variation of Canon

캐논(Canon)이란, 선행구가 제시되면 후속구가 적당한 간격을 두고 뒤따라가는 음악형식이라고 한다.

초등학교 때 배우는 '동네 한바퀴' 같은 돌림노래도 여기에 속한다.

그 중 가장 유명한 것이 파헬벨의 '캐논 변주곡' 아닌가 싶다.

다양한 음악가들이 연주하였고, 우리나라에는 조지 윈스턴으 앨범이 유명하다고 한다.

 

캐논 변주곡을 들어보면, 반복적이면서도 변화가 느껴진다. 

돌림노래이지만 돌림구마다 음을 조금씩 변형시켜 나가는 형식이라, 

변주곡이라고 부르는 것 같다. 

 

그래서, 나름대로 이런 원리에 충실하게 캐논 변주곡 악보를 꾸며 보았다.

원곡을 바탕으로 하지만, 원곡에 미치지 못하는 나만의 캐논 변주곡~^^

 

다음 주소에 있다.

https://musescore.com/user/131828/scores/826671

 

Canon

Print and download in PDF or MIDI Canon. 연습 및 재미 삼아 만들어본 캐논 변주곡 원작자 : Johann Pachelbel

musescore.com

 

반응형

'MuseScore와 놀기' 카테고리의 다른 글

음악용어 풀이  (0) 2019.11.15
[링크]르네상스 무렵의 음악가들  (0) 2019.11.15
웹 신디사이저(MIDI처리기)  (0) 2016.10.24
아리랑  (0) 2015.11.04
MuseScore란?  (0) 2015.05.01
반응형

키움이 제공하는 ActiveX를 이용해서 시스템 트레이딩을 개발하면서,

이유 없이 프로그램이 중단되거나 에러가 나는 상황이 종종 발생하엿다.

메뉴얼을 아무리 찾아봐도 이유를 발견할 수 없는 경우가 많은데,

키움 OpenAPI관련 게시판을 찾아보면 도움되는 정보를 얻을 수 있다.


내가 경험한 개발시 유의점들은 다음과 같다.

  1. 중단 및 에러 발생 원인을 알 수 없을 때에는, 키움 OpenAPI게시판에 비슷한 증상으로 올라온 문의내용이 없는지 확인해 보는 것이 좋다.
  2. 키움이 제공한 ActiveX모듈이 가끔 버전 처리를 하는 경우가 있는데, 버전 처리 이후에는 꼭 Rebuild를 해 주는 것이 좋다.
  3. 메뉴얼에는 없지만, 게시판에 보면 1초 동안 서버에 보내는 request는 5회 이내로 제한하는 것이 좋다고 나와 있다. 따라서, 각 request 사이에는 적어도 200ms 이상의 Delay를 주는 것이 필요하다.
  4. 서버로부터 오는 메세지 처리시 이벤트 함수를 연결해서 처리하는데, 처리 시간이 오래 걸리면 Exception이 발생할 수 있다. 최대한 신속하게 처리해서 다음 메세지를 받아들일 준비를 해야 하며, 시간이 많이 필요한 처리는 일단 기본 정보만 저장해 두었다가 별도의 쓰레드에서 처리하던가 해야 한다.
  5. 이런 저런 주의사항들을 다 지키더라도, 때때로 제공 모듈 자체에서 오류가 발생하는 경우가 있다. 이런 경우 원인을 찾기가 어렵다. 그저 모듈이 좀더 개선되기를 기다리는 수밖에 없는 것 같다. 이런 경우의 대비책도 마련할 수 있으면 마련해 두는 것이 좋다.


반응형
반응형

키움 OpenAPI를 이용해 SystemTrading 기능을 개발하면서 

많은 시행착오를 겪었다.

일단, 개발환경을 뭘로 할지부터 갈팡질팡하였다.

키움 OpenAPI가 ActiveX형태로 제공되기에,

처음에는 HTML을 이용해서 구현하려 생각하였고,

그게 여의치 않게 느껴져서 Excel로 시도해보다가,

그것도 여의치 않아서, C#으로 결정하여 지금까지 개발 및 운영중이다.

키움에서 해당 서비스를 시작한지 1년도 채 되지 않기 때문에,

여러가지 자료가 부실하기 짝이 없었고

제공되는 ActiveX도 불안정한 것이 사실이었다.

매뉴얼에 나와 있지 않는 내용들이 많아서,

사소한 구현에도 굉장히 많은 시행착오를 하게 되었거,

그에 따라 시간도 많이 소요되었다.

그리고, 사정상 VisualStudio를 이용하지 않고 XamarineStudio를 이용하였기 때문에

GUI Tool을 이용해 편하게 할 수 있는 일들도 어렵게 작업하게 되었다.

그래도 꼭 한번 만들어 보고 싶은 마음이 있어서, 포기하고 싶은 마음은 들지 않았다.

그리고 드디어, 키움이 제공하는 예제를 바탕으로 한 자동 주문 시스템을 만들 수 있었다.

하지만 그게 끝이 아니더라...

자동으로 주문하고 팔고 하다 보니, 매매 알고리즘을 잘못 세웠을 경우

자동반복적인 손실이 나오더라......

개발하면서 겪은 시행착오에 대해 더 많이 쓰고 싶은 마음도 있지만,

지금 되새겨봐야 그닥 재미도 없고 정작 중요한 것은 수익률을 높이는 것이라서,

생략하는 것이 좋을 것 같다.

다만, 키움증권의 OpenAPI에 대한 서비스의 질이 지금보다 많이 좋아지면 좋겠다.

특히 매뉴얼 내용이 너무 부실한데, 많이 보완되어야 할 것 같다.


이제 수익을 내는 방법을 찾아보자!!

반응형
반응형

주식투자를 시작한 것은, 아마도 2007년인 것 같다.

재테크도 할 겸, 경제 관련 지식도 얻을겸 시작하게 되었는데,

키움 증권에 계좌를 개설하게 되었다.


처음에는 돈을 버는 듯 해서 신이 났지만,

순식간에 수익률이 마이너스로 돌아선 이후

좀처럼 회복이 되지 않고 있다.

그렇게 열의를 가지고 공부도 하고 하다가

몇년째 더이상 사지도 팔지도 않고 현상유지만 하면서

손을 놓고 있었다.


그런데 올해 들어 코스피가 많이 오르고 있다고 해서,

문득 예전 계좌를 다시 들어가 보니

여전히 마이너스이기는 하지만 예쩐보다 조금 올라 있었다.


그래서, 이판에 다시 주식을 하고 싶었지만

이제는 그럴 만한 시간이나 에너지가 없어서,

시스템트레이딩을 통해 자동매매를 하고자 했다.


그러던 중에 키움에서도 작년말부터 OpenAPI를 제공한다는 사실을 알게 되었고,

예제를 다운받아 수정해가면서 시스템트레이딩을 시작하게 되었다.

하지만 구현하는 것도, 수익을 올리는 것도 생각처럼 쉽지 않음을 느끼게 된다.

이제 트레이딩 시스템 자체는 어느 정도 안정적으로 돌아가게 되었고,

수익을 낼 수 있는 알고리즘을 구현하는 것이 지금부터의 과제인 것 같다.


시스템트레이딩을 개발하고 운용는 가운데 좌충우돌하면서 알게 되는 지식들을

이곳 블로그에 정리해 보려 한다.

반응형
반응형

시작이

반이다

일정에 따라, 떨림보정 개선 작업부터 시작하였다.

기본적인 흐름은, 기존과 동일하다.

  • 1단계 : 매칭 영역 선정 또는 특징점 추출
  • 2단계 : 이전 프레임과의 연산을 통해, 이동 거리 계산
  • 3단계 : 현재 프레임 역이동을 통한 보정
다만, 각 단계별로 사용하는 알고리즘을 다음과 같이 변경하였다.
  • 1단계 : 템플릿 매칭 영역 설정 => OpticalFlow를 위한 특징점 추출
  • 2단계 : 템플릿 매칭을 통한 dx, dy 계산 => OpticalFlow 결과를 통해 Homography 계산
  • 3단계 : dx,dy 만큼 역이동 => warpPerspective를 통한 위치 보정


개선을 통해 얻은 결과는 다음과 같다.



반응형

'영상처리 프로젝트' 카테고리의 다른 글

안개보정 개선  (4) 2015.07.21
객체추적 개선  (0) 2015.07.21
기존 모듈 분석  (0) 2015.07.03
영상처리 개발 계획  (0) 2015.07.03
영상처리 프로젝트를 다시 시작하다  (0) 2015.06.26
반응형

온고지신

일단 개발 환경을 설정하고, 기존 모듈을 다시 컴파일한 다음,

기존 모듈을 링크하여 테스트하기 위한 프로그램을 작성하여

오랜만에 테스트를 시행해 보았다.


그리고 그 내용을 다음과 같이 정리하였다.

  • 안개보정
    • 방식
      • YUV 기반 히스토그램 정규화
    • 문제점
      • 영상에 따라, 잡티가 많이 생기는 경우가 있음
      • 영상에 따라 잘 보이는 경우도 있지만, 안개보정을 해도 여전히 뿌옇게 보이는 경우도 적지 않음
    • 개선 방안
      • Retinex알고리즘 응용
  • 객체 추적
    • 방식
      • Template매칭 사용
      • 기존 프레임의 매칭 영역 주위를 탐색영역으로 설정
      • 연속적인 형태변화에 대응하기 위해, Template는 매 프레임마다 갱신됨
    • 장점
      • 객체의 완만한 변형에 대처 가능
    • 단점
      • 객체의 급작스런 변화에 대처 불가능
      • 매 프레임마다 템플릿이 갱신되므로, 시간이 흐름에 따라 최초 템플릿과 전혀 다른 템플릿으로 변형될 수 있음
    • 개선 방안
      • 템플릿매칭의 한계를 극복할 수 있는 매칭방법 사용
  • 떨림보정
    • 방식
      • 영상에 6군데 정도 영역을 지정해서, 이전 프레임과 템플릿 매칭을 하여 dx, dy를 구하고, 그에 따라 현재 프레임을 이동시킴
    • 문제점
      • 속도가 너무 느림
      • 실제적으로 보정이 잘 안됨
    • 개선 방안
      • OpticalFlow  응용 
반응형

'영상처리 프로젝트' 카테고리의 다른 글

안개보정 개선  (4) 2015.07.21
객체추적 개선  (0) 2015.07.21
떨림보정 개선  (0) 2015.07.06
영상처리 개발 계획  (0) 2015.07.03
영상처리 프로젝트를 다시 시작하다  (0) 2015.06.26
반응형

Plan

그동안 손을 놓고 있던 영상처리를 다시 시작하려니,

과연 잘 할 수 있을까 하는 두려움도 생겼지만,

처음부터 잘 할 필요는 없고, 일정을 잡아서 조금씩 개선해 나가면 된다고 해서

일정을 잡아보았다.


기존에 개발한 영상처리 모듈은 다음과 같은 기능을 가지고 있다.

  • 안개보정
  • 떨림보정
  • 객체추적

그래서, 다음과 같은 틀에서 계획을 세우기로 했다.

  1. 개발 환경 정비 - 기존 모듈을 다시 컴파일하고 테스트할 수 있는 환경 마련
  2. 기존 모듈의 성능 시험 및 장단점 분석
  3. 떨림보정 자료 조사 및 구현
  4. 떨림보정 성능 테스트
  5. 객체추적 자료 조사 및 구현
  6. 객체 추적 성능 테스트
  7. 안개보정 자료조사 및 구현
  8. 안개보정 성능 테스트
  9. 각 기능별 개선방안 고안
  10. 3번부터 다시 반복


처음 한달간은 위의 1,2번 작업을 하는데 사용됐고.

이후 3번부터 9번까지의 작업은, 

1차로 기능별 2주씩 일정을 잡아 진행중이다.

반응형

'영상처리 프로젝트' 카테고리의 다른 글

안개보정 개선  (4) 2015.07.21
객체추적 개선  (0) 2015.07.21
떨림보정 개선  (0) 2015.07.06
기존 모듈 분석  (0) 2015.07.03
영상처리 프로젝트를 다시 시작하다  (0) 2015.06.26
반응형

ComputerVision

영상처리를 처음 접한 것은 2008년이다.

당시 일본 SI업계에서 일을 하고 있었는데,

하나의 프로젝트가 끝나고 다음 프로젝트를 찾고 있는 중에

영상처리 연구소를 만나게 되었다.

KDDI 연구소라는 곳인데, KDDI는 일본 3대 통신사 중 하나이다.

우리나라로 치면 KT와 비슷한 성격인데,

공기업에서 민간기업으로 탈바꿈한 곳이기도 하다.


영상처리에 대해 아무것도 모르는 상태였지만

게임 개발에 늘 관심을 가지고 있었고,

웬지 영상처리는 게임개발하고도 비슷한 면이 있지 않을까 하는 마음에

프로젝트를 시작하게 되었다.

담당 역할은, 연구원과 짝이 되어 연구를 위한 개발을 하면서

함께 연구에 참여하는 것이었다.


기존에 하던 SI업무에 비해 훨씬 재미있고 흥미로운 업무였고,

나에게 신세계가 열리는 기분이었다.

그러다가 개인 사정으로 한국에 오게 되었고,

연구소 프로젝트도 그만 두게 되었다.


한국에 오면서, 영상처리를 연구한다는 회사에 들어갔지만,

영상처리는 조금밖에 못하고 다른 일만 하다가,

결국 회사가 사실상 망하면서 회사를 그만두게 되고

프리랜서로서의 생활을 시작하게 되었다.


Restart

그 후, 다른 프로젝트를 전전하다가

프로젝트를 통해 알게 된 사장님의 의뢰로,

기존 영상처리모듈의 개선 작업을 다시 시작하게 되었다.


기간이 딱 정해진 것은 아니고,

다른 프로젝트를 하면서 꾸준히 시간을 할애해서

연구 개선 작업을 하면 되는 것이다.


많은 시행착오가 예상되지만, 

지금 상황에서 내게 좋은 기회라는 생각이 든다.

블로그를 쓰는 이유는,

진행 과정 중에 나타났다 사라져버리는 

여러 생각과 아이디어들을 붙잡기 위함이다.


이제부터 시작이다~~

반응형

'영상처리 프로젝트' 카테고리의 다른 글

안개보정 개선  (4) 2015.07.21
객체추적 개선  (0) 2015.07.21
떨림보정 개선  (0) 2015.07.06
기존 모듈 분석  (0) 2015.07.03
영상처리 개발 계획  (0) 2015.07.03
반응형

MuseScore

MuseScore는, OpenSource로 만들어진 악보 작성 프로그램이다.

공식 사이트는,

  • https://musescore.org/

이며, MuseScore로 만든 악보를 다음 사이트에 올릴 수 있다.

  • https://musescore.com/

사이트에 올려진 악보는, 웹상에서 연주를 듣는 것이 가능하다.


반응형

'MuseScore와 놀기' 카테고리의 다른 글

음악용어 풀이  (0) 2019.11.15
[링크]르네상스 무렵의 음악가들  (0) 2019.11.15
웹 신디사이저(MIDI처리기)  (0) 2016.10.24
아리랑  (0) 2015.11.04
나의 캐논 변주곡(Canon)  (0) 2015.07.14
반응형

Hello!!

 

티스토리를 처음 시작합니다.

소프트웨어를 개발하는 프로그래머입니다.

현재는 비행스케쥴을 관리하는 프로젝트의 유지보수 업무를 담당하고 있습니다.

막상 블로그를 시작하려니,

내가 다른 이들에게 나누고 공유할 수 있는 것들이 무엇일런지

막연한 느낌이 들었습니다.

하지만, 업무를 하면서 혹은 개인적으로 관심을 가지고 무언가을 만드는 과정 가운데

경험하는 일들 혹은 알게된 지식 등을 나누고 공유해 보려고 합니다.

글을 재밌게 쓸 수 있을지 모르겠지만,

관심있게 봐 주신다면 감사하겠습니다.^^

반응형

'기타' 카테고리의 다른 글

공무원 직무태만 신고하는 법  (0) 2016.04.22
건강보험, 실비보험, 암보험 - 보험 리모델링  (0) 2016.03.23
아파트  (0) 2015.12.15
오븐 없이 컵케익 만드는 법 링크  (0) 2015.11.26
인천 도시농업 네트워크  (0) 2015.09.07

+ Recent posts