-
Earth Engine과 FastAPI, Leaflet TOP NEW
Earth Engine 라이브러리 Google Earth Engine은 Google에서 제공하는 클라우드 기반의 플랫폼으로, 지구 관련 데이터를 저장하고 처리할 수 있는 도구를 제공한다. 위성 데이터, 기상 데이터, 지리 공간 벡터 데이터를 비롯한 다양한 데이터 소스를 정제하여 제공하여 손쉽게 활용할 수 있다. 기본적으로 JavaScript를 사용하는 Code Editor를 제공하며, Python API도 제공하고 있다. FastAPI 라이브러리 FastAPI는 Python 3.6+에서 사용할 수 있는 웹 프레임워크로, 빠르고, 유연하며, 간단하게 Restful API를 구축할 수 있다. 비동기적으로 동작하며, ... Read More
-
Leaflet으로 웹 사이트에 지도 띄우기 TOP NEW
Leaflet Leaflet은 오픈소스 자바스크립트 라이브러리로, 다양한 종류의 지도 데이터를 웹에서 쉽게 표출할 수 있도록 돕는 도구이다. Leaflet은 경량화되어 빠르고, 모바일 친화적인 지도 서비스를 제공한다. 다양한 지도 타일 제공: OpenStreetMap, Mapbox, Google Maps 등 다양한 지도 타일을 사용할 수 있다. 마커, 팝업, 폴리라인, 폴리곤 등 다양한 지도 요소를 추가할 수 있다. 상호작용: 지도 이동, 확대/축소, 마커 클릭 등 다양한 이벤트를 처리할 수 있다. Leaflet 기본 지도 띄우기 Leaflet을 사용하기 위해서는 HTML 파일에 Leaflet... Read More
-
2024 농공학회: 주기적 작황정보 제공서비스 구축을 위한 국외 곡물 작황 모니터링 시스템 분석 TOP NEW
-
Plotly로 동적인 그래프 그리기 TOP NEW
-
위성영상 토지 피복 분할: UNet++과 DeepLabv3+ 비교 TOP NEW
위성영상 토지 피복 분할: UNet++과 DeepLabv3+ 비교 프로젝트 개요 2024 UNLV 빅데이터 해외 연구 프로그램을 통해 진행한 위성영상 기반 토지 피복 분할 프로젝트이다. 이 프로젝트에서는 딥러닝을 활용한 이미지 분할(Image Segmentation) 기술을 적용하여 위성영상의 토지 피복을 구분하고, 그 중에서도 UNet++과 DeepLabv3+ 모델의 성능을 비교 분석하는 실험을 진행했다. 왜 위성영상 토지 피복 분할이 필요할까? 토지 피복 분할(Land Cover Segmentation)은 위성영상을 통해 지표면의 다양한 요소(산림, 농지, 도시, 물 등)를 구분하는 작업이다. 이 작업은 환경... Read More
-
기상 정보와 위성영상 기반의 식생지수를 사용한 머신러닝 기반 논 농작물 생산량 예측 TOP NEW
프로젝트 개요 농작물 생산량 예측은 농업 자원 관리를 최적화하고, 시장 수급 조절 및 가격 예측을 통해 정책 수립에 중요한 역할을 한다. 농작물 생산량 예측을 위해서는 비료 사용, 토양 조성 등의 정보를 반영할 필요가 있으나, 개별 농가의 각종 데이터를 얻는 데는 한계가 있다. 이를 해결하기 위한 방안으로 위성영상 또는 무인 비행체 영상을 통해 실시간으로 넓은 지역의 식생을 파악할 수 있다. 또한 기상청을 통해 기상 정보를 얻을 수 있다. 본 프로젝트에서는 농작물 생산을 모니터링할 수 있는 식생정보와 농작물 생산에 영향을 미치는 요소 중 하나인 기상정보를 바탕을 농작물 생산량을 예측하고자 하였다. 재료 및 방법 ... Read More
-
위성영상 기반의 식생지수와 드론 영상 기반의 식생지수 평가 TOP NEW
프로젝트 개요 최근 농업 및 환경 모니터링에서 식생지수(Vegetation Index)는 작물의 상태나 생태계의 변화를 파악하는 데 중요한 역할을 하고 있다. 전통적으로 위성영상을 통해 식생지수를 산출해왔으나, 드론 영상의 해상도와 접근성이 높아짐에 따라 드론을 활용한 정밀 모니터링이 주목 받고 있다. 본 프로젝트는 위성영상 기반의 식생지수를 드론 영상 기반의 식생지수와 비교하여 정확성을 평가하고, 드론 데이터가 위성 데이터의 보완 수단으로서 어떠한 가능성이 있는지 탐구하였다. 위성영상 데이터 수집 Google Earth Engine Python API를 사용하여 Sentinel-2, Landsat8, Land... Read More
-
2024 춘계 생물환경조절학회: 무인비행체 영상 정보와 생육인자를 활용한 머신러닝 기반 밀 수량 예측 모형 개발 TOP NEW
-
이상기후 분석: 공공데이터포털 API를 활용한 ASOS 데이터 분석 TOP NEW
프로젝트 개요 최근 몇 년간 ‘전례없는’, ‘역대급’ 추위와 더위가 빈번하게 발생하고 있다는 보도를 많이 접하였다. 이러한 이상기후가 얼마나 빈번하게 발생하는지와 기후 변화를 테이터 분석을 통해 확인하고자 했다. 이 프로젝트에서는 공공데이터포털의 기상청 제공 ASOS 데이터를 활용하여 기후 변화와 이상기후 빈도를 파악했다. 데이터 수집 및 전처리 공공데이터포털 API 기상청에서는 종관기상관측 장비로 관측한 일 기상자료를 조회하는 서비스를 제공하고 있다. 이 서비스를 활용하여 1980년도부터 2023년까지의 관측지점의 일 기상자료를 수집하였다. 관측 지점 번호와, 시작일, 종료일 값을 지정하여 요청하면 평균 상대습... Read More
-
GitHub Action 사용법 TOP NEW
본 문서는 GitHub Action을 사용한 데이터 수집 자동화 방법을 담고 있다. GitHub Action Github Action은 github에서 공식적으로 제공하는 CI 및 CD 워크플로우를 자동화하기 위한 툴이다. CI(Continuous Integration) 빌드, 테스트, 통합, 즉 배포 전까지의 단계 CD(Continuous Delivery) 사용자에게 프로덕트를 전달(배포)하는 단계 활용 예시 배포 서버에 새로운 기능 버전 등을 배포 새로운 글을 등록(GitHub 블로그도 GitHub Action을 사용하여 배포... Read More
-
Earth Engine과 Streamlit 앱 Docker로 배포하기 TOP NEW
본 문서는 Python에서 Earth Engine API를 사용해 만든 Streamlit 앱을 Docker로 배포하는 방법을 담고 있다. -Google Earth Engine과 Streamlit ee.Authenticate()가 주석처리 되어 있다면 해제한다. 1. 서버터미널에서 $ docker compose exec {앱 이름} bash $ earthengine authenticate --quiet gcloud auth application-default login ~ # < 이걸 복사하기 Enter the output of the above command: 2. 로컬 Anaconda ... Read More
-
기상 데이터 시각화 대시보드 프로젝트 TOP NEW
-
개화모델 구현 및 시각화 프로젝트 TOP NEW
개화모델 구현 및 시각화 프로젝트 프로젝트 개요 이 프로젝트에서는 사과와 배의 개화 시점을 예측하기 위한 여러 개화 모델을 파이썬 코드로 구현하고, 이를 GUI 환경에서 시각화하였다. 식물의 개화는 농업에서 방제 계획 수립 등에 있어 중요한 정보이다. 개화 모델은 온도, 일장 등 환경 요인과 식물의 생리적 반응을 수학적으로 연결하여 개화 시기를 예측하는 데 활용한다. 이 모델들을 사용하여 개화 시점을 예측하고 이를 시각적으로 확인할 수 있도록 하였다. 개화 모델 선정 1. DVR(Degree-Day Vegetation Growth Model) DVR 모델은 특정 온도 이상에서 식물이 성장하는 데 필요한 ‘deg... Read More
-
ThingsBoard API 사용하기 with Python TOP NEW
본 문서는 Python으로 ThingsBoard API를 사용해 데이터를 받아오는 방법을 담고 있다. ThingsBoard ThingsBoard는 IoT 애플리케이션의 빠른 생성 및 확장을 가능하게 하는 Java 기반 오픈 소스 IoT 플랫폼이다. 데이터 수집, 처리, 시각화 및 장치 관리에 사용됩니다. MQTT, CoAP 및 HTTP는 장치 연결을 제공하기 위해 Thingsboard에서 지원하는 표준 프로토콜이며 클라우드 및 로컬 배포를 모두 지원한다. ThingsBorad는 엄청 화려하게(?) 많은 기능들이 갖추어져 있다. 문서화도 엄청 잘 되어 있다. 1. ThingsBoard Swagger-U... Read More
-
ThingSpeak API 사용하기 with Python TOP NEW
본 문서는 Python으로 ThingSpeak API를 사용해 데이터를 보내고, 받아오는 방법을 담고 있다. ThingSpeak ThingSpeak 는 사용자가 인터넷 지원 장치 와 통신할 수 있도록 해주는 Ruby 로 작성된 오픈 소스 소프트웨어이다. 장치와 소셜 네트워크 웹사이트 모두에 API를 제공하여 데이터 액세스, 검색 및 데이터 로깅에 용이하다. 1. ThingSpeak 시작하기 1-1. ThingSpeak 가입하기 ThingSpeak에 접속하여 회원가입을 한다. 1-2. Channel 개설 새로운 채널을 개설한다. 채널 공개 여부를 결정할 수 있으며, 무료 계정은 채널을 최대 ... Read More
-
2023 추계 원예학회: 딥러닝 객체 탐지 및 분할 기술을 이용한 엽채류의 엽수 계수 모델 개발 TOP NEW
-
2023 추계 생물환경조절학회: ViT 기반 해충 분류 모델 및 웹기반 서비스 개발 TOP NEW
-
Jupyter 노트북을 다른 형식의 문서로 변환하기 TOP NEW
본 문서는 Jupyter 노트북(.ipynb)을 다른 형식의 문서로 변환하는 방법을 담고 있다. nbconvert nbconvert는 Jupyter 노트북 파일을 다양한 형식으로 변환하는 데 사용되는 라이브러리이다. HTML, PDF, Markdown, Reveal.js 등 다양한 형식으로 변환할 수 있다. $ pip install nbconvert $ conda install nbconvert 같은 디렉토리에 동일한 파일명의 문서가 생성된다. 1. Jupyter to Markdown Jupyter 노트북을 Markdown 문서로 변환하는 방법이다. Jupyter 노트북이 있는 디렉토리에서... Read More
-
Earth Engine 데이터 다루기 with Python TOP NEW
본 문서는 Earth Engine Python API를 사용하여 ee.Image/Feature 등을 Pandas의 DataFrame 또는 Numpy의 Array 형태로 얻는 방법을 담고 있다. Earth Engine과 Streamlit에서는 ImageCollection으로부터 직접 DataFrame을 생성하였다면, computeFeatures을 사용하여 바로 type을 바꾸는 방법을 담고 있다. 1. Library 필요한 library를 import 하고, earth engine 계정 인증과 초기화를 진행한다. import altair as alt import ee import eerepr im... Read More
-
Earth Engine과 Streamlit TOP NEW
본 문서는 Python에서 Earth Engine API를 사용해 NDVI 시각화 Streamlit 앱을 만드는 방법을 담고 있다. 앱에는 NDVI 시계열 차트와 가장 최근 NDVI 지도를 담을 것이다. Google Earth Engine 시작하기 Google Earth Engine 시작하기 with Python 1. NDVI 값 구하기 1-1. 지점과 위성영상 Import MultiPolygon을 생성해서 roi를 지정하고, 필요한 위성영상을 불러온다. NDVI 값을 구할 것이기 때문에 LANDSAT8을 Import했다. LANDSAT9, Sentinel 영상을 가져와도 된다... Read More
-
Earth Engine 시작하기 with Python TOP NEW
본 문서는 Earth Engine Python API를 사용하는 방법을 담고 있다. Google Earth Engine에 대한 설명은 Google Earth Engine 시작하기에서 볼 수 있다. 1. Google Earth Eninge 시작하기 Google Earth Engine에 가입하여 승인을 받아야 하며, 어렵지 않게 가입할 수 있다. google 계정으로 가입하는 것이 좋다. 1-1. Google Earth Engine Python API 설치 !pip install earthengine-api --upgrade 1-2. Google 계정 인증 및 초기화 ee.Authenticat... Read More
-
Google Earth Engine 시작하기 TOP NEW
본 문서는 Google Earth Engine에 대한 설명을 담고 있다. Google Earth Engine Google Earth Engine은 지구의 위성 이미지를 시각화하고 분석할 수 있는 클라우드 기반 지리공간 분석 플랫폼이다. Earth Engine 공식문서가 잘 정리되어 있다. Earth Engine Guides Earth Engine Tutorials 1. 작동 방식 코드 편집기를 사용해 명령을 작성하면, 클라우드(서버 측)에서 병렬 처리를 위해 Google에 명령을 보낸다. 사용자는 이 코드 편집기를 통해 지도, 차트, 통계 등을 포함한 다양한 동작으로 요청하고 브라우저(클라... Read More
-
객체 탐지 with GroundingDINO: 소개 및 사용 가이드 TOP NEW
GroundingDINO 개요 GroundingDINO란 컴퓨터 비전과 자연어 처리의 교차점에서 사용되는 모델로, 이미지에서 특정 객체의 위치를 탐지하는 Zero-Shot Object Detection 모델이다. DINO(Detection Transformer with IoU-aware Contrastive Learning)를 기반으로 한 모델로, 이미지와 텍스트 간의 상관관계를 학습하여 더 정확한 물체 인식과 위치 지정이 가능하다. 대규모 데이터셋에서 pre-train 된 self-supervised learning 모델로, 새로운 클래스에 대한 annotated data가 없어도 객체 탐지가 가능하다. Gro... Read More
-
객체 탐지(Object Detection): 개념과 주요 모델 TOP NEW
객체 탐지(Object Detection) 개요 컴퓨터 비전 분야(Computer Vision, CV)의 기술 중 하나인 객체 탐지(Object Detection)는 이미지나 비디오에서 특정 객체를 인식하고, 해당 객체의 위치를 바운딩 박스(bounding box)로 표시하는 기술이다. 어떤 객체가 이미지 내에 어디에 있는지를 정확하게 찾아내는 것이 목표이다. 이는 이미지 분할(Image Segmentation)보다 낮은 픽셀 단위의 정보가 요구된다. 이 기술은 자율주행, 의료 영상 분석, 스마트 농업 등 다양한 분야에서 활용되고 있다. 딥러닝 객체 탐지 모델: YOLO(You Only Look Once) Y... Read More
-
이미지 분할 with CLIPSeg: 소개 및 사용 가이드 TOP NEW
CLIPSeg의 원리: CLIP의 텍스트-이미지 임베딩 CLIPSeg는 CLIP 모델을 기반으로 개발된 제로샷 이미지 분할 모델이다. 텍스트와 이미지의 상호 관계를 학습하여, 사용자가 입력한 텍스트 프롬프트에 맞는 이미지의 특정 부분을 자동으로 분할한다. 예를 들어, 고양이가 있는 이미지와 “고양이”라는 텍스트 프롬프트를 입력하면 이미지 속의 고양이 부분만을 자동으로 선택할 수 있다. 기존의 컴퓨터 비전 모델은 pre-trained된 작업에 대해 우수한 성능을 보인다. 하지만 새로운 작업을 할당하기 위해서는 새로운 데이터셋에 대한 학습이 필요하기 때문에 많은 비용이 든다. CLIP은 인터넷 상의 이미지와 텍스트... Read More
-
Streamlit 배포하기 TOP NEW
본 문서는 Streamit Sharing을 사용하여 Stremlit 앱을 배포하는 방법을 담고 있다. 무료 계정의 경우 3개의 어플리케이션까지 배포할 수 있고, public 레포지토리(Github)만 배포가 가능하다. 하나의 어플리케이션 당 프로비저닝 되는 리소스는 RAM 1GB이다. 1. Streamlit Sharing 가입 및 GitHub 연동 Streamlit Sharing에 가입하고 GitHub 계정을 연동한다. 2. requirements.txt streamlit 앱을 실행하는 데 필요한 라이브러리를 작성한다. 3. Streamlit 앱 만들기 배포할 streamlit 코드... Read More
-
ChatGPT API를 활용한 뉴스 분석 Streamlit 앱 프로젝트 TOP NEW
프로젝트 개요 프로젝트 배경 소셜미디어 접근성이 점점 낮아지고 있다. 누구나 정보를 생산하고, 무분별하게 생산된 거의 모든 정보에 누구나 쉽게 접근할 수 있다. 각종 커뮤니티, 메신저 등은 물론이고, 언론사도 낚시성 기사, 어뷰징 기사, 광고성 기자 등 낮은 품질의 컨텐츠를 생산하고 있다. 또한, 취재과정에서 충분한 사실 확인 과정을 거치지 않고 보도한다. 잘못된 정보를 제대로 판단하지 못한 상태에서 이 정보가 확산되고 사실과 다른 여론이 형성되어 피해를 입는 사례가 늘어나고 있다. 이러한 상황 속에서 대중은 비판적으로 사고하고 수용하며, 편향적인 정보를 걸러내는 능력을 키울 필요가 있다. 그러나 미디어 ... Read More
-
공공데이터포털 Open API 사용하기 with Python TOP NEW
본 문서는 Python으로 공공데이터포털의 API를 사용해 데이터를 수집하는 방법을 담고 있다. 공공데이터포털 공공데이터포털 공공데이터포털은 행정안전부에서 운영하는 공공데이터 통합제공 시스템이다. 대한민국 정부가 보유한 다양한 공공데이터를 개방하여 쉽게 활용할 수 있다. 1. 사용할 데이터의 API 키 발급 받기 공공데이터포털에서 원하는 데이터의 API 활용 신청을 통해 API Key를 발급받는다. 사용할 데이터의 상세 내용 또는 참고 문서의 활용가이드를 살펴보면, 요청 주소, 요청 변수, 요청 결과 를 확인할 수 있다. 요즘은 Swagger-UI를 제공하는 데이터들이 많아져 ... Read More
-
이미지 분할 with Segment Anythin Model: 소개 및 사용 가이드 TOP NEW
SAM(Segment Anything Model) 개요 SAM 이란? 2023년 4월 MetaAI는 모든 분야에서 광범위하게 사용할 수 있는 이미지 분할 모델인 SAM(Segment Anything Model)과 40억개의 파라미터 데이터셋(SA-1B)을 소개했다. Foundation Model은 다양한 작업을 수행할 수 있도록 범용적으로 학습된 대형 AI 모델을 의미한다. 방대한 양의 데이터로 훈련되어, 특정한 태스크에 대해 미세 조정(fine-tuning) 없이도 작업을 수행할 수 있는 장점이 있다. 이러한 모델은 특정한 작업을 위한 훈련 없이도 여러 분야의 문제를 해결할 수 있는 능력을 가진다. SA... Read More
-
2023 춘계 생물환경조절학회: 밀 재배 환경의 효율적 관리를 위한 디지털 모니터링 체계 구축 TOP NEW
-
2023 춘계 생물환경조절학회: 밀 생육관리를 위한 디지털 농업 대시보드의 위성영상 활용방안 TOP NEW
-
이미지 분할(Image Segmentation): 개념과 주요 모델 TOP NEW
이미지 분할(Image Segmentation) 개요 컴퓨터 비전 분야(Computer Vision, CV)의 기술 중 하나인 이미지 분할(Image Segmentation)은 이미지를 픽셀 단위로 나누어 객체 또는 영역을 식별하는 기술이다. 즉, 이미지 내의 개별 객체를 구분하고, 각 객체의 경계를 얻어내는 작업을 수행한다. 이 기술은 자율 주행, 의료 영상 분석, 스마트 농업 등 다양한 분야에서 활용되고 있다. 먼저, Thing과 Stuff 용어에 대해 이해해보자. Thing은 사람, 차량과 같이 특징적인 모양을 가져 셀 수 있는 객체를 의미한다. Stuff는 하늘, 물처럼 형태가 없고 크기가 매우 다양해... Read More
-
GitHub 블로그 만들기 (3) TOP NEW
본 문서는 GitHub 블로그 만들기 시리즈의 세번째 단계로 글 작성과 배포 방법을 담고 있다. Github 블로그를 위한 환경을 만들고 블로그를 개설하는 방법은 이전 포스트에서 확인할 수 있다. GitHub 블로그 만들기(1) GitHub 블로그 만들기(2) 1. 글 작성하기 이전 포스트에서도 언급하였지만 Markdown을 사용하여 글을 작성한다. _posts 디렉토리에 있는 마크다운 파일을 참고하여 기본 구조 - front matter를 파악하고 글을 작성하면 된다. --- layout: post title: 제목 author: 작성자 date: 작성일시 # YYYY-M... Read More
-
GitHub 블로그 만들기 (2) TOP NEW
본 문서는 GitHub 블로그 만들기 시리즈의 두번째 단계로 블로그 개설과 테마 적용 방법을 담고 있다. Ruby와 Jekyll이 설치된 환경이어야 하며, 이전 포스팅에서 그 방법을 확인할 수 있다. GitHub 블로그 만들기(1) 1. GitHub Pages 시작하기 GitHub Pages는 GitHub를 통해 호스트되고 게시되는 퍼블릭 웹 페이지이다. 1-1. 신규 Repository 만들기 user_name.github.io를 Repository Name 으로 하여 새로운 Repository를 만든다. 생성한 Repository를 원하는 로컬 저장소로 clone ... Read More
-
GitHub 블로그 만들기 (1) TOP NEW
본 문서는 GitHub 블로그 만들기 시리즈의 첫번째 단계로 Ruby와 Jekyll 설치 방법을 담고 있다. macOS와 Windows의 Ruby 설치 방법이 약간 다르다. Windows는 3. Ruby부터 시작하면 된다. Jeklly과 Ruby Jeklly(지킬)은 정적 사이트 생성기이며, Ruby 프로그래밍언어로 작성되었다. 따라서 Ruby를 설치한 뒤, Jeklly을 설치하는 과정이 필요하다. GitHub Pages를 통해 무료로 내가 만든 웹페이지를 인터넷상에 공개할 수 있다. Markdown을 사용한다. 1. Command Line Tools 설치 Xcode가 있는 경... Read More