Constant False Alarm Rate (CFAR)은 기본적으로 테스트하고자 하는 위치의 cell과 주변 cell의 관계를 보고 테스트 cell이 Target 인지 아닌지를 구분하는 알고리즘이다. 주변 cell과의 관계를 어떤 방식으로 비교하는가에 따라 여러가지 알고리즘이 존재한다. CA-CFAR, GO-CFAR, SO-CFAR, OS-CFAR, VI-CFAR, OSVI-CFAR등이 있다. 이 많은 알고리즘 중 간단하고 기본적인 CA-CFAR과 OS-CFAR에 대해 알아보자. CA-CFAR (Cell Average CFAR) CA-CFAR의 원리는 위 그림과 같다. 좌우의 Reference Cell의 평균에 Scale Factor T를 곱하고, ADT (Average Decision Threshold)를 합하여 CUT가 타겟인지 아닌지를 구분한다. ADT는 신호의 white noise를 고려하기 위해 더해준다. Scale Factor T와 ADT는 아래와 같은 공식으로 사용할 수 있다. 사용하려는 시스템에 따라 공식은 달라질 수도 있다. Pfa는 False Alarm 발생 확률을 나타내고, M과N는각 좌우의 Reference Cell의 개수를 나타낸다. OS-CFAR (Order Static CFAR) OS-CFAR의 원리는 위 그림과 같다. 좌우의 reference cell중 K번째 큰 값의 cell을 Reference Cell의 대표 값으로 정해 CUT가 타겟인지 아닌지를 구분한다. 보통 전제 reference cell의 크기 순에서 (3*N)/4 번째 cell이 성능이 좋다고 알려져 있다. CFAR 사용 예 아래 사진은 위 두 cfar을 사용한 예다. 파란색은 신호이며, 붉은 색은 char을 사용해 만든 threshold이다. 이 threshold보다 큰 값의 신호가 있는 위치에 실제 Tar...
별도의 스마트폰 app없이 스마트폰 화면을 녹화하는 방법이다. [준비물] - 스마트폰 - windows 10 pc - obs studio windows 10 연결 응용프로그램 windows 10에는 '연결'이라는 스마트폰 미러링 application이 있다. 스마트폰과 연결하여 폰 화면을 볼 수 있고, 원격으로 스마트폰을 조종할 수 있다. 사용법은 간단하다. 1. PC와 스마트폰이 같은 네트워크에 연결된 상태 2. '연결' 응용프로그램을 실행 3. 스마트폰의 'smart view' (삼성 갤럭시 계열의 경우)를 실행 4. 스마트폰의 연결 요청 창에 '연결' 응용 프로그램의 PIN을 입력 5. 스마트폰의 화면이 '연결' 응용프로그램에 나오게 된다. 단, 이때 키와 마우스의 모두 스마트폰으로 전달돼 스마트폰을 조정하게 된다. OBS Studio 사용하여 화면 녹화 OBS Studio는 무료 녹화 및 스트리밍 툴로 많이 사용되고 있는 응용프로그램이다. https://obsproject.com/ko 에서 다운 받을 수 있다. OBS Studio의 소스를 윈도우 캡쳐로 하여 스마트폰 미러링하는 '연결' 응용프로그램 화면을 녹화할 수 있다. 1. 소스에 윈도우 캡쳐 소스를 추가한다. 2. 윈도우 캡쳐 소스 추가 중, 아래 이미지처럼 '윈도우 캡쳐'속성 창에서 윈도우를 '[Receiver.exe]:연결'로 선택하고 '연결' 응용프로그램 창의 크기를 적절히 조정한다. 아래 이미지에서는 OBS Studio의 설정 > 비디오 > 기본(캔버스)해상...
Windows 10에서는 미라캐스트를 사용한 무선 디스플레이연결을 지원한다. 하지만, 만약 크롬캐스트(Chromecast)를 사용해 윈도우 화면을 미러링 하고자 할 때, 구글 크롬 브라우저를 사용하면 쉽고 편하게 할 수 있다. https://www.google.co.kr/intl/ko/chrome/ VLC에서도 비디오 화면을 미러링 할 수 있다고 하는데, 잘 동작하지 않고 윈도우 화면 전체를 미러링하지 않아 크롬 브라우저를 사용하고 있다. 크롬 캐스트 윈도우 화면 전송 방법 0. 크롬 캐스트 디바이스와 windows pc는 같은 네트웍에 연결되어 있어야 한다. (같은 공유기에 연결되어 있어야 한다.) 1. 크롬 브라우저의 우측 상단의 메뉴 > 전송을 클릭하면, 현재 사용가능한 크롬캐스트 디바이스 항목을 볼 수 있다. 2. 편의에 따라 탭 전송 아이콘에서 우측 버튼을 클릭하여 항상 표시되게 설정할 수도 있다. 3. 윈도우 화면 전체를 전송하고자 할 때는 탭 전송의 소스에서 '데스크톱 전송'을 선택하고, 바로 위의 크롬캐스트 디바이스를 클릭하면 된다. ** 소스는 미러링 중에는 변경되지 않는다. 먼저 소스를 선택하고 미러링해야 한다. 4. 화면 전송을 끝내고자 할 때는, 탭 전송에서 화면 전송중인 크롬캐스트 디바이스를 클릭하거나, 크롬 브라우저를 종료하면 된다.
딥러닝을 공부하며 , 이것을 사용하여 무엇을 해볼까 생각해보다 로또 번호 예측을 해보기로 했다 . 최근에 딥러닝 공부를 위해 구입한 O’REILLY 에서 나온 ‘Deep Learning Cookbook’ 에 나온 예제 중 ‘ 셰익스피어가 쓴 것 같은 문장 생성하기 ’ 를 참조하기로 했다 . 파이선은 딥러닝 공부하며 처음 접해본 언어라 책의 예제 소스를 많이 참조했다 . 참조한 예제는 RNN(Recurrent Neural Network) 을 사용하고 있다 . RNN 은 일정한 순서를 가진 입력의 경우 흔히 사용한다고 한다 . 1. 당첨 번호들을 사용하여 데이터 셋을 만든다 . 트레이닝 세트와 테스트 세트로 나눠 테스트를 하는 것이 좋지만 일단은 테스트 세트 없이 학습 loss 와 accuracy 만을 보기로 했다 . 로또 당첨 번호들을 로또 사이트에서 다운받은 다음 text 형태로 만든 뒤 , 이를 읽어 리스트 형태의 데이터로 만든다 . 2. RNN 모델을 만든다 . RNN 모델은 Keras( https://keras.io/ ) API 를 사용하여 만들었다 . 입력과 출력은 45 개의 one-hot 코딩된 데이터 ( 로또 번호가 1~45 이므로 ) 형태를 사용한다 . 입력 받은 데이터는 Keras 에서 제공하는 LSTM(Long Short-Term Memory Layer) 를 사용하고 , 과적합 방지를 위해 GaussianDropout 레이어도 중간에 넣어준다 . LSTM 은 총 6 개의 Layer 를 쌓고 node 개수는 256 개를 사용했다 . LSTM Layer 다음에는 일반적인 Neural Network 을 두어 45 개의 one-hot 코딩된 값을 출력하게 했다 . Activation 은 softmax 를 사용했다 . 3. 모델 Training 위는 Training 코드와 같다 . 먼저 모델을 만들고 fit_generator 를 사용하여 ...
본 포스트는 uwb radar 신호에서 움직이는 물체의 위치를 측정하는 예제를 싣고 있다. csv파일로 저장된 radar 신호를 읽어, python으로 구현하였다. 움직이는 물체 측정 원리 저장된 uwb radar 신호와 uwb radar 송출 signature 신호와의 상관관계 분석을 위해 Cross Correlation을 사용한 후, Background Subtraction을 사용하여 배경 신호와 움직이는 물체의 신호를 분리해 낸다. 그 후 CA-CFAR를 사용하여 threshold를 생성해 움직이는 물체의 위치를 측정한다. def main(): csvfile = open('uwb_signal.csv') if csvfile is None: return bg = bgs(bg_stack_cnt=20,alpha=0.2) xcorrel = crosscorrelation(signature) cfar = cacfar(window_size=50,guard_size=50,pfa=1e-7,scale=20) painter = cdrawsignal((20,3)) uwb_signal = csv.reader(csvfile) for line in uwb_signal: frame = [float(x) for x in line] frame = frame[10...
댓글
댓글 쓰기