본문 바로가기

분류 전체보기

(129)
OpenCV(Open Source Computer Vision Library) 출처 : https://opencv.org/about/ https://namu.wiki/w/OpenCV OpenCV(Open Source Computer Vision Library) : open source computer vision 및 machine learning 소프트웨어 라이브러리이다. 크로스 플랫폼과 실시간 이미지 프로세싱에 중점을 두었다. 컴퓨터 비전 애플리케이션을 위한 공통 인프라를 제공하고 상용 제품에서 기계 인식의 사용을 가속화하기 위해 구축되었다. 라이브러리에는 2500개 이상의 최적화된 알고리즘이 있다. 기본적으로 C/C++로 작성되었다. C++, Python, Java, MATLAB 인터페이스가 있다. 딥러닝 관련 연구가 파이썬으로 진행되면서 파이썬 라이브러리의 사용 빈도가 더욱 ..
SLAM(Simultaneous Localization and Mapping) SLAM 기법(Simultaneous Localization and Mapping : 동시적 위치 추적 지도 작성) : 로봇이 이동하면서 로봇에 설치된 각종 센서를 활용하여 공간 지형 또는 환경을 인식하고, 얻어진 공간 지형 또는 인공 표식을 이용하여 주변 환경의 지도를 만들면서 동시에 로봇의 상대적인 위치를 알아내는 기법 SLAM의 과정 : LiDAR 센서 정보로부터 로봇의 이동에 따른 위치 변화를 계산하고 이전 위치와 현재 위치에서 측정한 레이저 점군 데이터의 매칭을 통해 현재 위치를 보정한다. 그리고 로봇이 주행한 모든 위치를 계산하고, 레이저 점군 데이터 누적을 통한 지도를 작성한다. 출처 : SLAM을 이용한 자율주행 순찰 로봇 개발 로봇이 실내에서 작동하는 경우 GPS에 의존하기 어렵다. 따라..
라이다 센서 기술 출처 : ETRI https://ettrends.etri.re.kr/ettrends/138/0905001782/134-143_27-6.pdf LIDAR : Light Detection And Ranging의 약어 (때로는 LADAR(Laser Detection And Ranging) 라이다 센서 : 레이저를 목표물에 비춤으로써 사물까지의 거리, 방향, 속도, 온도, 물질 분포 및 농도 특성 등을 감지할 수 있는 기술 높은 에너지 밀도와 짧은 주기를 가지는 펄스 신호를 생성할 수 있는 레이저의 장점을 활용하여 보다 정밀한 대기 중의 물성 관측 및 거리 측정 등에 활용된다. 라이다 센서 시스템의 구성 : 레이저 송신부 / 레이저 검출부 / 신호 수집 및 처리와 데이터를 송수신하기 위한 부분 레이저 신호의 변..
NVIDIA Jetson Nano & Jetson TX2 단일 보드 컴퓨터(single-board computer, SBC) : 컴퓨터 기능에 필수적인 마이크로프로세서, 메모리, 입출력 등의 기능이 있는 단일 회로 기판으로 구성된 완전한 컴퓨터, 초소형 크기와 저전력이 특징 더보기 ex) 라즈베리 파이 -> 저비용의 단일 보드 컴퓨터로서 교육하는데 사용 아두이노와 라즈베리 파이의 차이점 : 아두이노는 외부 프로그램을 사용하여 외부기기를 직접 제어 -> 마이크로 컨트롤러에 가까움 펌웨어나 운영체제가 존재하지 않는다. : 라즈베리파이는 설치되어 있는 운영체제 내에서 직접 프로그래밍 하여 외부기기를 제어 -> 마이크로 프로세서에 가까움 운영체제 설치가 가능하다. Jetson : Nvidia에서 만든 개발자용 임베디드 미니 컴퓨터, GPU 성능이 크게 강화됨 Jets..
Q. softmax function을 통과시킨 후 one-hot encoding을 하는 이유 ? 여기에 답은 없습니다 ㅠㅅㅠ.. Multi-class classification에서는 binary classification을 사용하여 해결할 수 있다. 예를 들어 A, B, C 로 분류할 때 A or not / B or not / C or not 3개의 Linear function 로 분류 가능하다. Linear Regression 을 사용하여 Binary Classification을 구할 때 H(x) = Wx+b 에서 함수 값을 0 1.0, c->0.1이 나온다면 a로 분류해주어야 한다. 하지만 sigmoid를 태우면 a와 b 모두 1이 나오게 되어서 분류가 실패하게 된다. 따라서 sigmoid 대신 Softmax function을 사용하게 된다. softmax function은 모든 값이 0~1사이..
[인공지능] 국제인공지능대전 참관 후기 코로나 때문에 부산에 있어서 못 갈 줄 알았는데 어떻게 딱 서울에 왔을 때 열려서 다행히 참관하러 갈 수 있었다 :) 참관하면서 느낀 점을 간단히 써보자면 인공지능으로 하는건 역시 엄청 많았다,, 인공지능을 배울때는 어떤 값을 예측하거나 분류하는 것이 대부분이라 정확히 실생활에 어떻게 적용되는지 궁금했던 적이 있는데 그런 부분에 대해서 조금은 궁금증이 해결된 것 같다. 데이터 전처리에 관한 부분이 굉장히 많은 것을 보고 학습의 품질은 데이터가 결정한다는 것을 새삼 또 느꼈다. 인공지능이 이미지 데이터에 대해서 불필요한 사진을 알아서 제거하고 편집하는 것도 있었다. 그리고 학습한 모델을 생성한 이후는 생각해 본 적이 없는데 그 이후에 만든 모델을 가지고 자동으로 앱이나 사이트를 만들어주는 인공지능도 있었다..
[알고리즘] 그리디(Greedy) 알고리즘 그리디(Greedy) 알고리즘 현재 상황에서 지금 당장 좋은 것만 고르는 방법인 탐욕적으로 문제를 푸는 알고리즘 대부분 그리디 알고리즘을 이용했을 때 최적의 해를 찾을 수 없을 가능성이 높기 때문에 알고리즘으로 문제의 해법을 찾았을 경우 정당한지 검토해야 한다. 예제 3- 1 거스름돈 코드 : 시간 복잡도 O(화폐의 갯수) 직접 작성한 코드에서 수정할 부분 - C언어에서 for문을 통해 배열을 사용하는 방법에서 벗어나서 for문을 in과 함께 사용하여 list 데이터를 변수로 바로 꺼내쓸 수 있도록 한다. ex) for coin in coin_type - 7번째 줄 → N %= coin[i]로 간단하게 작성 가능 실전문제 - 큰수의 법칙 처음에 m//k로 계산 실수 --> m//(k+1)로 변경 (배열의..
[알고리즘] 파이썬 문법 복습 - 소수점 값을 비교하는 작업이 필요한 문제 --> round() 함수 이용 인자 : 실수형 데이터, 반올림하고자 하는 위치 - 1 a = 0.3 + 0.6 if a == 0.9: print(True) else: print(False) # False 출력 if round(a, 4) == 0.9: print(True) # True 출력 else: print(False) - 리스트 초기화 #크기가 N이고, 모든 값이 0인 1차원 리스트 초기화 n = 10 a = [0]*n print(a) #[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # 리스트 컴프리헨션을 이용한 N * M 크기의 2차원 리스트 초기화 n = 3 m = 4 array = [[0] * m for _ in range(n)] #[[0,..