본문 바로가기

728x90

AI/Computer Vision

(8)
colab python 버전 변경 !wget https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz!tar xvfz Python-3.7.12.tgz!rm Python-3.7.12.tgz !cd Python-3.7.12 && ./configure!make!sudo make install !sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.7 1
colab video play import cv2from IPython.display import display, Image# 동영상 파일 경로video_path = '/content/data/nice.mp4'# 비디오 캡처 객체 생성cap = cv2.VideoCapture(video_path)# 첫 번째 프레임 표시를 위한 display_id 초기화display_id = display(Image(data=cv2.imencode('.jpg', cap.read()[1])[1].tobytes()), display_id=True)# 프레임 단위로 읽어 들이고 표시while cap.isOpened(): ret, frame = cap.read() if ret == True: # 이전 출력을 덮어쓰도록 display_id 사용 display_i..
colab javascript 1)var startClickConnect = function startClickConnect(){ var clickConnect = function clickConnect(){ console.log("Connnect Clicked - Start"); document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click(); console.log("Connnect Clicked - End"); }; var intervalId = setInterval(clickConnect, 60000); var stopClickConn..
numpy clip numpy.clip() 함수는 배열의 값을 특정 범위 내로 제한하는 데 사용됩니다. 주어진 최솟값과 최댓값을 기준으로 배열의 값들을 잘라냅니다.기능:배열의 값이 지정된 최솟값보다 작으면 최솟값으로 변경됩니다.배열의 값이 지정된 최댓값보다 크면 최댓값으로 변경됩니다.배열의 값이 최솟값과 최댓값 사이에 있으면 변경되지 않습니다. 사용법: import numpy as np# 배열 생성arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])# clip() 함수 적용clipped_arr = np.clip(arr, 3, 7)# 결과 출력print(clipped_arr) # 출력: [3 3 3 3 4 5 6 7 7 7]  매개변수:a: 입력 배열a_min: 최솟값a_max: 최댓값out: ..
torch.cat torch.cat은 PyTorch에서 제공하는 함수로, 여러 개의 텐서를 특정 차원을 따라 연결하여 하나의 텐서로 만드는 역할을 합니다.쉽게 말해, 여러 개의 텐서를 하나로 합치는 기능을 한다고 생각하면 됩니다.사용법: torch.cat(tensors, dim=0, *, out=None) → Tensor tensors: 연결할 텐서들을 담은 시퀀스 (튜플, 리스트 등) 입니다.dim: 텐서를 연결할 차원을 지정합니다. 기본값은 0입니다.out: 결과를 저장할 텐서 (선택 사항) 입니다.  예시: import torch# 2개의 텐서 생성tensor1 = torch.tensor([[1, 2], [3, 4]])tensor2 = torch.tensor([[5, 6], [7, 8]])# dim=0을 따라 연결 ..
구글 PailGemma PaliGemma는 이미지와 텍스트를 동시에 입력받아 텍스트를 생성하는 경량의 비전-언어 모델(VLM)입니다. 이 모델은 PaLI-3에서 영감을 받아 SigLIP 비전 모델과 Gemma 언어 모델과 같은 오픈 소스 구성 요소를 기반으로 구축되었습니다. ​Synced | AI Technology & Industry Review+6Home- Google Developers Blog+6캐글+6PaliGemma의 아키텍처는 이미지 인코더와 텍스트 디코더로 구성되어 있습니다. 이미지 인코더는 SigLIP 모델을 활용하며, 텍스트 디코더는 Gemma 2B 모델을 기반으로 합니다. 이러한 결합을 통해 이미지와 텍스트 입력을 처리하여 다양한 비전-언어 과제에서 우수한 성능을 발휘합니다. ​Home- Google Dev..
체류 시간 분석 실시간 영상 스트리밍에서 객체를 추적하고, 해당 객체가 특정 영역에 머무는 시간을 계산하는 방법과특히, 정적 비디오 파일과 실시간 스트리밍의 차이를 강조하면서 실시간 영상 스트리밍에서 발생할 수 있는 문제를 해결하는 방법을 알아보자.주요 내용:정적 비디오 파일 처리 vs. 스트리밍 처리:정적 비디오 파일의 경우, 프레임률(FPS)이 일정하여, 단순히 프레임 수를 세고 FPS로 나누어 시간 계산을 할 수 있음. 하지만 스트리밍에서는 FPS가 일정하지 않기 때문에, 실시간으로 프레임을 처리하는 모델이 속도를 따라가지 못하면 문제가 발생할 수 있기도 함.스트리밍에서의 문제점:실시간 스트리밍에서는 모델의 처리 속도보다 스트리밍의 FPS가 높을 수 있음. 이 경우, 모델이 프레임을 처리하는 속도가 스트리밍 속도보..
YOLO-World: Real-Time, Zero-Shot Objeddt Detecdtion Explained YOLO-World: 실시간 Zero-Shot 객체 탐지 모델1. YOLO-World란?YOLO-World는 Zero-Shot Object Detection 모델로, 별도의 데이터 학습 없이 다양한 객체를 실시간으로 탐지할 수 있음. 기존 객체 탐지 모델보다 20배 빠른 속도를 제공하며, 저가형 GPU(Nvidia T4)에서도 원활하게 동작함.2. 기존 객체 탐지 모델과의 차이점기존 객체 탐지 모델(Faster R-CNN, SSD, YOLO 등)은 사전에 학습된 데이터셋(예: COCO, 80개 클래스) 내에서만 탐지가 가능함. 새로운 객체를 탐지하려면 추가 데이터셋을 구축하고 학습해야 하는 단점이 있음.이를 해결하기 위해 Zero-Shot Object Detection 모델이 등장했으며, YOLO-Wor..

728x90