KR20240053658A - 물고기 부피 추정, 중량 추정, 및 분석 값 생성을 위한 시스템 및 방법 - Google Patents

물고기 부피 추정, 중량 추정, 및 분석 값 생성을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20240053658A
KR20240053658A KR1020247011928A KR20247011928A KR20240053658A KR 20240053658 A KR20240053658 A KR 20240053658A KR 1020247011928 A KR1020247011928 A KR 1020247011928A KR 20247011928 A KR20247011928 A KR 20247011928A KR 20240053658 A KR20240053658 A KR 20240053658A
Authority
KR
South Korea
Prior art keywords
fish
image
determining
segmentation mask
pixels
Prior art date
Application number
KR1020247011928A
Other languages
English (en)
Inventor
첸 마
스리칸스 파루파티
라구난단 파술라
Original Assignee
이노베이시 시스템즈 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이노베이시 시스템즈 인코포레이티드 filed Critical 이노베이시 시스템즈 인코포레이티드
Publication of KR20240053658A publication Critical patent/KR20240053658A/ko

Links

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K61/00Culture of aquatic animals
    • A01K61/90Sorting, grading, counting or marking live aquatic animals, e.g. sex determination
    • A01K61/95Sorting, grading, counting or marking live aquatic animals, e.g. sex determination specially adapted for fish
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K29/00Other apparatus for animal husbandry
    • A01K29/005Monitoring or measuring activity, e.g. detecting heat or mating
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K61/00Culture of aquatic animals
    • A01K61/10Culture of aquatic animals of fish
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/05Underwater scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/296Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30128Food products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30242Counting objects in image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A40/00Adaptation technologies in agriculture, forestry, livestock or agroalimentary production
    • Y02A40/80Adaptation technologies in agriculture, forestry, livestock or agroalimentary production in fisheries management
    • Y02A40/81Aquaculture, e.g. of fish

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Environmental Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Zoology (AREA)
  • Animal Husbandry (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Marine Sciences & Fisheries (AREA)
  • Geometry (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Farming Of Fish And Shellfish (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Mechanical Means For Catching Fish (AREA)
  • Studio Devices (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

일부 실시예에서, 물고기 펜 내 물고기를 모니터링하는 수중 카메라 시스템이 제공된다. 일부 실시예에서, 입체 카메라는 물고기의 치수를 결정하기 위해 사용될 수 있고, 수중 카메라 시스템은 물고기 펜 내의 물고기의 바이오매스를 추정하기 위해 물고기 치수를 사용할 수 있다. 바이오매스 값 및 바이오매스 값의 변화 속도는 물고기 펜 내 물고기의 먹이를 조절하는데 사용될 수 있다. 일부 실시예에서, 입체 카메라에 의해 캡처된 이미지는 물고기에 가변 초점 렌즈 카메라를 포커싱하여 물고기 상태를 진단하는데 사용될 수 있는 고해상도 이미지를 획득하기위해 사용될 수 있다. 일부 실시예에서, 카메라에 의해 캡처된 이미지는 물고기의 운동을 예측하는데 사용될 수 있고, 예측된 운동은 다양한 물고기 모니터링 분석 값을 생성하는데 사용될 수 있다

Description

물고기 부피 추정, 중량 추정, 및 분석 값 생성을 위한 시스템 및 방법{SYSTEMS AND METHODS FOR FISH VOLUME ESTIMATION, WEIGHT ESTIMATION, AND ANALYTIC VALUE GENERATION}
이 요약은 이하의 상세한 설명에서 더 설명되는 단순화된 형태의 개념들의 선택을 소개하기 위해 제공된다. 이 요약은 청구된 청구물의 주요 특징들을 식별하도록 의도되지 않으며, 청구된 청구물의 범위를 결정하는 도움으로서 사용되도록 의도되지 않는다.
일부 실시예에서, 물고기 펜(fish pen) 내의 적어도 하나의 물고기의 바이오매스(biomass)을 결정하는 컴퓨터-구현 방법이 제공된다. 컴퓨팅 장치는 수중 입체 카메라에 의해 캡처된 이미지에서 물고기의 위치를 검출한다. 컴퓨팅 장치는 이미지 내의 물고기에 대한 세그멘테이션 마스크를 결정한다. 컴퓨팅 장치는 세그멘테이션 마스크가 측정 가능한 물고기와 연관되는지 여부를 결정한다. 세그멘테이션 마스크가 측정 가능한 물고기와 연관된다는 결정에 응답하여, 컴퓨팅 장치는 이미지에 기초하여 물고기의 적어도 하나의 치수를 결정하고, 물고기의 적어도 하나의 치수에 기초하여 물고기의 중량을 결정하고, 물고기의 중량을 물고기 중량 측정치들의 세트에 추가한다.
일부 실시예에서, 물고기 펜 내의 복수의 물고기를 모니터링하기 위한 수중 카메라 시스템이 제공된다. 시스템은 적어도 하나의 카메라 및 적어도 하나의 카메라에 통신 가능하게 결합된 컴퓨팅 장치를 포함한다. 컴퓨팅 장치는 적어도 하나의 카메라로부터의 적어도 하나의 이미지에서 물고기를 검출하고; 적어도 하나의 이미지로부터 물고기의 운동 거동을 결정하고; 물고기의 운동 거동에 적어도 부분적으로 기초하여 적어도 하나의 물고기 모니터링 분석 값을 결정하도록 구성된다.\
일부 실시예들에서, 컴퓨터 실행가능 명령어들이 저장된 비-일시적(non-transitory) 컴퓨터-판독가능 매체가 제공된다. 명령어들은, 컴퓨팅 장치의 하나 이상의 프로세서에 의한 실행에 응답하여, 컴퓨팅 장치로 하여금 물고기 펜 내의 복수의 물고기를 모니터링하기 위한 동작들을 수행하게 하며, 상기 동작들은, 컴퓨팅 장치에 의해, 적어도 하나의 물고기를 묘사하는 수중 카메라 시스템에 의해 캡처된 이미지를 수신하는 것; 컴퓨팅 장치에 의해, 적어도 하나의 물고기가 가려져 있는지 여부에 적어도 부분적으로 기초하여 이미지 내의 적어도 하나의 물고기의 측정 가능성을 결정하는 것; 및 이미지 내의 적어도 하나의 물고기가 측정 가능하다고 결정하는 것에 응답하여, 이미지에 기초하여 적어도 하나의 물고기의 적어도 하나의 특성을 결정하는 것을 포함한다.
일부 실시예에서, 물고기 펜 내의 적어도 하나의 물고기를 모니터링하기 위한 수중 카메라 시스템이 제공된다. 시스템은 입체 카메라, 가변 초점 렌즈 카메라, 및 컴퓨팅 장치를 포함한다. 컴퓨팅 장치는 가변 초점 렌즈 카메라 및 입체 카메라에 통신 가능하게 결합된다. 컴퓨팅 장치는 입체 카메라로부터의 이미지에서 물고기를 검출하고; 입체 카메라로부터의 이미지에 기초하여 가변 초점 렌즈 카메라의 초점을 조정하고; 가변 초점 렌즈 카메라를 사용하여 물고기의 포커싱된 이미지를 캡처하고; 포커싱된 이미지에 적어도 부분적으로 기초하여 적어도 하나의 물고기 모니터링 분석 값을 결정하도록 구성된다.
어떤 특정 요소 또는 행위에 대한 논의를 쉽게 식별하기 위해, 참조 번호에서 가장 중요한 숫자 또는 숫자들은 그 요소가 처음 소개되는 숫자 번호를 참조한다.
도 1은 본 개시의 다양한 양태에 따른 물고기 펜 내의 상태를 모니터링하고 제어하기 위한 시스템의 비-제한적인 예시적인 실시예를 도시하는 개략도이다.
도 2는 본 개시의 다양한 양태에 따른 수중 카메라 시스템의 비-제한적인 예시적인 실시예를 도시하는 블록도이다.
도 3은 본 개시의 다양한 양태에 따른 물고기 펜 내의 복수의 물고기의 전체 바이오매스를 결정하는 방법의 비-제한적인 예시적인 실시예를 도시하는 흐름도이다.
도 4는 본 개시의 다양한 양태들에 따라 이미지에서 세그멘테이션 마스크와 연관된 물고기의 측정 가능성을 결정하기 위한 절차의 비-제한적인 예시적인 실시예를 예시하는 흐름도이다.
도 5는 본 개시의 다양한 양태들에 따른, 가려지지 않은(non-occluded) 세그멘테이션 마스크 및 이미지의 비-제한적인 예시적인 실시예, 뿐만 아니라 가려진(occlude) 세그멘테이션 마스크 및 이미지의 비-제한적인 예시적인 실시예를 예시하는 이미지이다.
도 6은 본 개시의 다양한 양태들에 따른 이미지 및 세그멘테이션 마스크에 기초하여 물고기의 길이를 측정하기 위한 절차의 비-제한적인 예시적인 실시예를 예시하는 흐름도이다
도 7은 본 개시의 다양한 양태에 따른 적어도 하나의 물고기 모니터링 분석 값을 결정하는 방법의 비-제한적인 예시적인 실시예를 도시하는 흐름도이다.
도 8은 본 개시의 다양한 양태에 따른 적어도 하나의 V 모니터링 분석 값을 결정하는 방법의 비-제한적인 예시적인 실시예를 도시하는 흐름도이다.
도 9는 본 개시의 실시예들과 함께 컴퓨팅 장치로서 사용하기에 적합한 컴퓨팅 장치의 비-제한적인 예시적인 실시예를 도시하는 블록도이다.
물고기 양식(fish farming)과 같은 수산 양식 기술이 소비를 위한 물고기를 양식하기 위한 방법으로서 더 널리 보급되고 있다. 비교적 새로운 형태의 수산 양식 중 하나는 탁 트인 물에 배치된 물고기 펜을 사용한다. 이러한 시스템은 물고기를 양식하기 위한 유리한 환경을 제공하지만, 물고기 펜의 수중 배치는 펜 내의 상태와 물고기의 건강을 모니터링하는 것을 어렵게 한다. 펜 운용의 효율적인 관리를 위하여 펜 내의 물고기에 대한 정확하고 적시 모니터링을 가질 것이 요구된다. 중량 및 건강은 정확한 모니터링이 요구되는 2가지 조건이다: 물고기 펜 내의 바이오매스의 변화를 모니터링하는 것은 지지 먹이 시스템(supporting feeding system)의 증가 또는 감소에 관한 결정을 통지할 수 있고, 물고기 펜 내의 물고기의 건강을 모니터링하는 것은 물고기에 피해를 주는 임의의 조건에 대한 치료를 제공할지 여부에 관한 결정을 통지할 수 있다.
도 1은 본 개시의 다양한 양태에 따른 물고기 펜 내의 상태를 모니터링하고 제어하기 위한 시스템의 비-제한적인 예시적인 실시예를 도시하는 개략도이다.
도시된 시스템(100)에서, 수산 양식 관리 컴퓨팅 장치(102)는 물고기 펜(104)과 함께 설치된 수중 카메라 시스템(106)에 통신 가능하게 연결된다. 일부 실시예에서, 수중 카메라 시스템(106)은 물고기에 대한 건강 정보 및 바이오매스 추정치 중 적어도 하나를 결정하기 위해 물고기 펜(104) 내의 물고기의 이미지를 캡처하고 분석하도록 구성된다.
일부 실시예에서, 수중 카메라 시스템(106)은 건강 정보 및 바이오매스 추정치 중 적어도 하나를 수산 양식 관리 컴퓨팅 장치(102)에 전송한다. 일부 실시예들에서, 수산 양식 관리 컴퓨팅 장치(102)는 사용자에게 수신된 정보를 제시하여 사용자가 불리한 건강 상태들에 대한 급식 및 치료의 제공 속도를 변경하는 것을 포함하지만 이에 제한되지 않는, 물고기 펜(104)을 관리하기 위한 동작들을 취할 수 있다. 일부 실시예들에서, 수산 양식 관리 컴퓨팅 장치(102)는 정보를 수신하고, 자동화된 공급 펠릿 분배기에 의한 공급 속도를 자동으로 변경하는 것, 물고기 펜(104)의 깊이를 자동으로 변경하는 것, 및 약물을 자동으로 분배하는 것을 포함하지만 이에 제한되지 않는, 정보를 사용자에게 제시하거나 제시하지 않고 관리 동작들을 자율적으로 취할 수 있다.
수산 양식 관리 컴퓨팅 장치(102)가 도 1에서 랩톱 컴퓨팅 장치인 것으로 도시되어 있지만, 일부 실시예들에서, 데스크탑 컴퓨팅 장치, 서버 컴퓨팅 장치, 태블릿 컴퓨팅 장치, 스마트폰 컴퓨팅 장치, 및 클라우드 컴퓨팅 시스템 내의 하나 이상의 컴퓨팅 장치를 포함하지만 이에 제한되지 않는 다른 유형들의 컴퓨팅 장치들이 수산 양식 관리 컴퓨팅 장치(102)에 사용될 수 있다.
또한, 도 1은 수중 카메라 시스템(106)이 개방된 바다와 같은 개방된 물에 잠길 수 있는 수중 물고기 펜인 물고기 펜(104)과 함께 설치되는 예시적인 실시예를 도시한다. 그러나, 이 실시예는 제한적인 것으로 간주되어서는 안되며, 일부 실시예에서, 수중 카메라 시스템(106)은 상이한 환경에서 수중에 설치될 수 있다. 예를 들어, 일부 실시예들에서, 수중 카메라 시스템(106)은 해안선 근처의 양식장(aquadurature site)에서 표면 물고기 펜(surface fish pen)에 설치될 수 있다. 다른 예로서, 일부 실시예에서, 수중 카메라 시스템(106)은 물고기 유충, 부화 및/또는 어린 물고기를 모니터링하기 위해 육상 부화장 또는 어린 물고기집과 연관된 물고기 펜 내에서 수중에서 이용될 수 있다. 또 다른 예로서, 일부 실시예에서, 수중 카메라 시스템(106)은 정교한 물 처리 시스템에 결합된 육상 물고기 펜이 물고기를 키우기 위해 사용되는 재순환 양식 시스템(RAS)과 연관된 물고기 펜에 이용될 수 있다.
도 2는 본 개시의 다양한 양태에 따른 수중 카메라 시스템의 비-제한적인 예시적인 실시예를 도시하는 블록도이다. 수중 카메라 시스템(106)은 건강 및 총 바이오매스와 같은 특성을 결정하기 위해 물고기 펜 내의 물고기를 모니터링하기 위한 고-정확도 시스템을 제공하도록 설계된다.
도시된 바와 같이, 수중 카메라 시스템(106)은 입체 카메라(202), 가변 초점 렌즈 카메라(204), 및 컴퓨팅 장치(206)를 포함한다. 일부 실시예에서, 하우징(도시되지 않음)은 수중 카메라 시스템(106)의 상기 구성요소를 둘러쌀 수 있거나, 또는 수중 카메라 시스템(106)의 몇 구성요소를 둘러쌀 수 있고, 수중 카메라 시스템 (106)의 다른 구성요소들에 대한 외부 장착 위치들을 제공한다.
일부 실시예에서, 입체 카메라(202)는 시차(parallax)가 이미지 내의 픽셀에 대한 깊이 정보를 결정하는 데 사용될 수 있도록 서로 물리적으로 오프셋된 2개의 카메라를 포함하는 카메라이다. 일부 실시예들에서, 전파 시간(time-of-flight) 센서를 포함하지만 이에 제한되지 않는 다른 깊이 검출 기술들을 사용하는 카메라가 입체 카메라(202) 대신에 사용될 수 있다. 일부 실시예들에서, 가변 초점 렌즈 카메라(204)는 제한된 초점 깊이에 걸쳐 고해상도 사진들을 촬영할 수 있는 카메라이다. 초점 깊이가 제한되기 때문에, 가변 초점 렌즈 카메라(204)는 가변 초점 렌즈 카메라(204)로부터의 초점의 거리를 조절하는 메커니즘을 갖는다. 일반적으로, 수중에서 사용하도록 구성된 임의의 적합한 입체 카메라(202) 및 가변 초점 렌즈 카메라(204)가 사용될 수 있다. 일부 실시예들에서, 입체 카메라(202) 및 가변 초점 렌즈 카메라(204) 중 하나 또는 다른 하나만이 존재할 수 있다. 일부 실시예에서, 수중 카메라 시스템 (106)은 입체 카메라 (202) 대신에 또는 그에 추가하여 광 시야각 카메라(wide field of view camera)를 포함할 수 있다.
도시된 바와 같이, 컴퓨팅 장치(206)는 하나 이상의 프로세서(들)(208), 네트워크 인터페이스(210), 및 컴퓨터-판독가능 매체(212)를 포함한다. 일부 실시예들에서, 프로세서(들)(208)는 하나 이상의 상업적으로 이용 가능한 범용 컴퓨터 프로세서를 포함할 수 있으며, 이들 각각은 하나 이상의 프로세싱 코어를 포함할 수 있다. 일부 실시예들에서, 프로세서(들)(208)는 또한 머신 러닝 태스크들을 효율적으로 수행하도록 적응된 하나 이상의 프로세서들을 포함하지만 이에 제한되지 않는 하나 이상의 특수 목적 컴퓨터 프로세서들 및/또는 CUDA(Compute Unified Device Architecture)-가능 GPU(graphics processing unit)를 포함하지만 이에 제한되지 않는 컴퓨터 비전 태스크들을 효율적으로 수행하도록 적응된 하나 이상의 프로세서들을 포함할 수 있다.
일부 실시예에서, 네트워크 인터페이스(210)는 수중 카메라 시스템(106)으로부터 다른 컴퓨팅 장치로 정보를 통신하기 위해 임의의 적절한 통신 기술을 구현할 수 있다. 예를 들어, 일부 실시예들에서, 네트워크 인터페이스(210)는 2G, 3G, 4G, 5G, LTE, Wi-Fi, WiMAX, 블루투스, 위성 기반, 또는 다른 무선 통신 기술을 구현하는 무선 인터페이스를 포함할 수 있다. 다른 예로서, 일부 실시예들에서, 네트워크 인터페이스(210)는 이더넷, USB, 파이어와이어, CAN-BUS, 또는 다른 유선 통신 기술을 구현하는 유선 인터페이스를 포함할 수 있다. 일부 실시예들에서, 네트워크 인터페이스(210)는 다수의 통신 기술들을 포함할 수 있다. 예를 들어, 네트워크 인터페이스(210)는 수중 컴퓨팅 장치(206)를 부표 또는 표면에서의 다른 구성요소 상에 위치된 트랜시버에 결합하는 유선 인터페이스를 포함할 수 있고, 트랜시버는 선박 또는 육상에서 컴퓨팅 장치와 통신하기 위해 무선 통신 기술을 사용할 수 있다. 일부 실시예에서, 수중 카메라 시스템(106)은 플래시 메모리 또는 하드 드라이브를 포함하지만 이에 제한되지 않는 이동식 컴퓨터-판독 가능 매체의 교환을 통해 데이터를 전송할 수 있다.
일부 실시예에서, 컴퓨터-판독 가능 매체(212)는 컴퓨팅 장치(206)에 설치되고, 프로세서(들)(208)에 의한 실행에 응답하여 수중 카메라 시스템(106)이 다양한 엔진 및/또는 데이터 저장소를 제공하게 하는 컴퓨터 실행 가능 명령어를 저장한다. 일부 실시예들에서, 컴퓨터-판독가능 매체(212)는 하드 디스크 드라이브를 포함하지만 이에 제한되지 않는 자기 컴퓨터-판독가능 매체를 포함할 수 있다. 일부 실시예에서, 컴퓨터-판독 가능 매체(212)는 DVD 또는 CD-ROM 드라이브를 포함하지만 이에 제한되지 않는 광학 컴퓨터-판독 가능 매체를 포함할 수 있다. 일부 실시예에서, 컴퓨터-판독 가능 매체(212)는 플래시 메모리를 포함하지만 이에 제한되지 않는 전자 비휘발성 저장 매체를 포함할 수 있다. 일부 실시예들에서, 컴퓨터 실행가능 명령어들 중 적어도 일부는 FPGA(field-programmable gate array), ASIC(application-specific integrated circuit), 또는 컴퓨터 실행가능 명령어들의 저장을 로직을 구현하기 위한 하나 이상의 회로와 조합하는 다른 장치로 프로그래밍될 수 있다. 일부 실시예들에서, 이러한 FPGA 또는 ASIC은 컴퓨터-판독가능 매체(212) 및 컴퓨팅 장치(206) 둘 모두의 양태들을 제공할 수 있다. 일부 실시예들에서, 전술한 컴퓨터-판독가능 매체의 조합들은 예시된 컴퓨터-판독가능 매체(212)를 집합적으로 제공하기 위해 제공될 수 있다.
도시된 바와 같이, 컴퓨터-판독가능 매체(212)는 이미지 분석 엔진(220), 물고기 측정 엔진(222), 물고기 측정 데이터 저장소(214), 물고기 중량 데이터 저장소(216), 및 머신 러닝 모델 데이터 저장소(218)를 포함한다. 일부 실시예에서, 이미지 분석 엔진(220)은 분석을 위해 물고기 펜(104) 내의 물고기의 이미지를 캡처하기 위해 입체 카메라(202) 및/또는 가변 초점 렌즈 카메라(204)로부터 정보를 수신하고 처리한다. 일부 실시예들에서, 이미지 분석 엔진(220)은 또한 이미지들의 전처리, 필터링, 및/또는 다른 분석을 수행한다. 일부 실시예들에서, 이미지 분석 엔진(220)은 제어 커맨드들을 입체 카메라(202) 및/또는 가변 초점 렌즈 카메라(204)에 전송할 수 있다. 일부 실시예들에서, 물고기 측정 엔진(222)은 이미지 분석 엔진(220)에 의해 프로세싱된 이미지들을 수신하고, 이미지들 내의 물고기의 측정치들을 생성한다. 이미지 분석 엔진(220) 및 물고기 측정 엔진(222)에 의해 수행되는 동작들에 대한 추가 설명이 아래에 제공된다.
일부 실시예에서, 물고기 측정 데이터 저장소(214)는 물고기 측정 엔진(222) 및/또는 이미지 분석 엔진(220)에 의해 생성된 물고기의 측정치를 저장한다. 일부 실시예들에서, 물고기 중량 데이터 저장소(216)는 물고기의 하나 이상의 치수와 같은 이미지 분석 엔진(220)에 의해 결정될 수 있는 물고기의 특성들과 물고기의 중량 사이의 상관성들을 저장한다. 일부 실시예들에서, 머신 러닝 모델 데이터 저장소(218)는 이미지들에 대해 다양한 태스크들을 수행하도록 트레이닝된 하나 이상의 머신 러닝 모델들을 저장한다. 예를 들어, 머신 러닝 모델 데이터 저장소(218)는 이미지에서 물고기들을 검출하도록 훈련되는 하나 이상의 컨볼루션 신경망들을 저장할 수 있다. 물고기 측정 데이터 저장소(214), 물고기 중량 데이터 저장소(216), 및 머신 러닝 모델 데이터 저장소(218)에 의해 저장되고 이로부터 검색된 정보에 대한 추가 설명이 아래에 제공된다.
본 명세서에서 사용되는 바와 같이, "엔진"은 C, C++, COBOL, JAVA??, PHP, Perl, HTML, CSS, JavaScript, VBScript, ASPX, Microsoft .NET??, Go, Python 등의 프로그래밍 언어로 기록될 수 있는 하드웨어 또는 소프트웨어 명령어들로 구현되는 로직을 지칭한다. 엔진은 실행가능한 프로그램들로 컴파일되거나 해석된 프로그래밍 언어들로 기록될 수 있다. 소프트웨어 엔진들은 다른 엔진들로부터 또는 자신들로부터 호출 가능할 수 있다. 일반적으로, 본 명세서에 설명된 엔진들은 다른 엔진들과 병합될 수 있거나, 서브-엔진들로 분할될 수 있는 논리 모듈들을 지칭한다. 엔진들은 임의의 유형의 컴퓨터-판독가능 매체 또는 컴퓨터 저장 장치에 저장된 로직에 의해 구현될 수 있고, 하나 이상의 범용 컴퓨터에 저장되고 그에 의해 실행될 수 있으며, 따라서 엔진 또는 그의 기능을 제공하도록 구성된 특수 목적 컴퓨터를 생성한다. 엔진들은 ASIC, FPGA, 또는 다른 하드웨어 장치에 프로그래밍된 로직에 의해 구현될 수 있다.
물고기 측정 데이터 저장소(214), 물고기 중량 데이터 저장소 (216), 및 머신 러닝 모델 데이터 저장소 (218)는 컴퓨터-판독가능 매체(212) 상에 존재하는 것으로 예시되어 있다. 일부 실시예들에서, 물고기 측정 데이터 저장소(214), 물고기 중량 데이터 저장소(216), 및 머신 러닝 모델 데이터 저장소(218) 중 하나 이상은 상이한 컴퓨터-판독가능 매체 또는 상이한 컴퓨팅 장치 상에 존재할 수 있다.
본 명세서에서 사용되는 바와 같이, "데이터 저장소"는 컴퓨팅 장치에 의한 액세스를 위해 데이터를 저장하도록 구성된 임의의 적절한 장치를 지칭한다. 데이터 저장소의 일례는 하나 이상의 컴퓨팅 장치 상에서 실행되고 고속 네트워크를 통해 액세스 가능한 신뢰성이 높은 고속 관계형 데이터베이스 관리 시스템(DBMS)이다. 데이터 저장소의 다른 예는 키-값 저장소이다. 그러나, 문의들에 응답하여 저장된 데이터를 빠르고 신뢰성 있게 제공할 수 있는 임의의 다른 적절한 저장 기술 및/또는 장치가 사용될 수 있고, 컴퓨팅 장치는 네트워크를 통하는 대신에 로컬로 액세스가능할 수 있거나, 클라우드 기반 서비스로서 제공될 수 있다. 데이터 저장소는 또한 하드 디스크 드라이브, 플래시 메모리, RAM, ROM, 또는 임의의 다른 유형의 컴퓨터-판독가능 저장 매체와 같은 컴퓨터-판독가능 저장 매체 상에 조직화된 방식으로 저장된 데이터를 포함할 수 있다. 당업자는 본 개시의 범위를 벗어나지 않고, 본 명세서에 설명된 별개의 데이터 저장소들이 단일 데이터 저장소로 결합될 수 있고, 및/또는 본 명세서에 설명된 단일 데이터 저장소가 다수의 데이터 저장소들로 분리될 수 있다는 것을 인식할 것이다.
도 3은 본 개시의 다양한 양태에 따른 물고기 펜에서 적어도 하나의 물고기의 바이오매스를 결정하는 방법의 비-제한적인 예시적인 실시예를 도시하는 흐름도이다. 카메라 이미지를 사용하여 자동화된 방식으로 물고기 펜에서 물고기를 측정하는 것은 다수의 어려움에 직면한다. 예를 들어, 초점/운동 흐릿함(focus/motion blur), 다른 물고기 또는 물고기 펜의 하드웨어에 의한 물고기의 가려짐(occlusion), 불량한 조명, 또는 기울어진 물고기(angled fish)로 인한 저하된 이미지 품질은 불량한 모니터링 데이터가 생성되게 할 수 있다. 일부 실시예들에서, 방법(300)은 물고기 펜에서 바이오매스의 신뢰성 있는 추정치들을 생성하기에 충분히 정확한 카메라 이미지로부터 데이터를 수집하기 위해 품질 결정 파이프라인 및 고유 측정 기술들을 제공함으로써 이러한 문제들을 회피하려고 시도한다. 일부 실시예들에서, 복수의 물고기의 측정치들이 수집되고, 물고기 펜 내의 물고기의 총 바이오매스를 결정하기 위해 물고기 펜의 물고기의 개체수(population count)의 추정치와 함께 사용될 수 있다.
개시 블록으로부터, 방법(300)은 수중 카메라 시스템(106)의 입체 카메라(202)가 물고기의 이미지를 캡처하는 블록(302)으로 진행한다. 일부 실시예들에서, 입체 카메라(202)에 의해 캡처된 이미지는 하나 초과의 물고기들을 포함할 수 있고, 방법(300)은 단일 이미지에서 다수의 물고기들을 프로세싱할 수 있다. 그러나, 논의의 편의를 위해, 방법(300)의 설명은 이미지가 측정될 단일 물고기를 포함한다고 가정할 것이다. 입체 카메라(202)에 의해 촬영된 영상은 영상 내의 각 픽셀에 대한 컬러 정보 및 깊이 정보를 포함한다.
블록(304)에서, 수중 카메라 시스템(106)의 이미지 분석 엔진(220)은 이미지 내의 물고기의 위치를 결정한다. 일부 실시예들에서, 이미지 분석 엔진(220)은 이미지 내의 물고기의 위치를 정의하는 경계 박스를 결정하기 위해 머신 러닝 모델 데이터 저장소(218)로부터의 제1 머신 러닝 모델을 사용할 수 있다. 일부 실시예들에서, 이미지 내에서 물고기의 위치를 결정하는 데 사용되는 제1 머신 러닝 모델은 입체 이미지에서 물고기를 검출하기 위해 물고기의 다른 이미지들에 대해 트레이닝된 컨볼루션 신경망일 수 있다.
블록(306)에서, 이미지 분석 엔진(220)은 이미지 내의 물고기에 대한 세그멘테이션 마스크를 결정한다. 일부 실시예들에서, 이미지 분석 엔진(220)은 세그멘테이션 마스크를 결정하기 위해 머신 러닝 모델 데이터 저장소(218)로부터의 제2 머신 러닝 모델을 사용할 수 있다. 예를 들어, 이미지 분석 엔진(220)은 블록(304)에서 결정된 물고기의 위치를 포함하는 이미지의 부분을 크롭 아웃할 수 있고, 크롭 아웃된 부분을 제2 머신 학습 모델에 대한 입력으로서 제공할 수 있다. 일부 실시예들에서, 제2 머신 러닝 모델은 다른 컨볼루션 신경망일 수 있다. 일부 실시예들에서, 에지 검출 및 깊이 불연속성들의 검출을 포함하지만 이에 제한되지 않는, 물고기에 대한 세그멘테이션 마스크를 결정하거나 정제하기 위해 다른 기술들이 사용될 수 있다.
절차 블록(308)에서, 이미지 분석 엔진(220)은 세그멘테이션 마스크가 측정 가능한 물고기와 연관되는지를 결정한다. 수중 카메라로부터의 이미지의 자동화된 처리에 있어서의 문제점들 중 하나는 수중 카메라에 의해 캡처된 많은 이미지가 자동화된 분석에 적합하지 않을 수 있다는 것이다. 따라서, 방법(300)은 이미지가 세그멘테이션 마스크와 연관된 물고기를 측정하기에 적합한지를 결정하기 위해 절차 블록(308)에서 임의의 적합한 절차를 사용할 수 있다. 이러한 절차의 하나의 비-제한적인 예가 도 4에 도시되어 있고 아래에서 상세히 설명된다.
방법(300)은 결정 블록(310)으로 진행하고, 여기서 물고기가 측정 가능한 것으로 결정되었는지의 여부에 기초하여 결정이 이루어진다. 물고기가 측정 가능하지 않은 것으로 결정되면, 결정 블록(310)의 결과는 '아니오'이고, 방법(300)은 물고기의 다른 이미지를 캡처하기 위해 블록(302)으로 복귀한다. 그렇지 않고, 물고기가 측정 가능하다고 결정되면, 결정 블록(310)의 결과는 '네'이고, 방법(300)은 절차 블록(312)으로 진행한다.
절차 블록(312)에서, 수중 카메라 시스템(106)의 물고기 측정 엔진(222)은 이미지 및 세그멘테이션 마스크에 기초하여 물고기의 적어도 하나의 치수를 결정하고, 블록(314)에서, 물고기 측정 엔진(222)은 물고기의 적어도 하나의 치수를 사용하여 물고기의 중량을 결정하여 수중 카메라 시스템(106)의 물고기 중량 데이터 저장소(216)에 문의한다. 일부 실시예에서, 물고기 펜(104) 내의 모든 물고기는 동일할 수 있고, 따라서 물고기 중량 데이터 저장소(216)는 물고기의 종을 별도로 결정할 필요 없이 문의될 수 있다. 일부 실시예들에서, 다수의 상이한 종들의 물고기들이 물고기 펜(104)에 존재할 수 있고, 따라서 물고기들의 종을 결정하는 추가적인 단계(예컨대, 머신 학습 모델 데이터 저장소(218)에 저장된 다른 머신 학습 모델에 세그멘테이션 마스크를 제공하는 단계)가 문의에 대한 묘사된 물고기들의 종을 획득하기 위해 수행될 수 있다.
방법(300)은 물고기 중량에 대해 물고기 중량 데이터 저장소(216)에 문의하는데 사용될 수 있는 임의의 치수(또는 치수들)를 결정할 수 있다. 예를 들어, 주어진 종의 물고기의 길이 및/또는 높이를 중량과 상관시키는 데이터가 이용 가능하다(그리고 물고기 중량 데이터 저장소(216)에 저장될 수 있다). 따라서, 물고기 중량 데이터 저장소(216)에 문의하기 위해 절차 블록(312)에서 결정된 물고기의 길이 및/또는 높이를 사용함으로써, 물고기의 중량이 결정될 수 있다. 이미지 및 세그멘테이션 마스크에 기초하여 물고기의 적어도 하나의 치수를 획득하기 위한 임의의 적합한 기술이 사용될 수 있다. 이러한 기술의 하나의 비-제한적인 예가 도 6에 도시되어 있고 아래에서 더 상세히 논의된다.
블록(316)에서, 물고기 측정 엔진(222)은 수중 카메라 시스템(106)의 물고기 측정 데이터 저장소(214)에 물고기의 중량을 추가한다. 일부 실시예들에서, 물고기 측정 엔진(222)은 또한 물고기의 측정된 치수들을 물고기 측정 데이터 저장소(214)에 저장할 수 있다.
방법(300)은 결정 블록(318)으로 진행하고, 여기서 물고기의 충분한 측정치가 물고기 측정 데이터 저장소(214)에 추가되었는지에 관한 결정이 이루어진다. 일부 실시예들에서, 물고기 측정 데이터 저장소(214)에 추가된 물고기들의 측정들의 총 수는 측정들의 임계 수와 비교될 수 있다. 일부 실시예들에서, 신뢰 구간이 구성될 수 있고, 신뢰 구간은 측정들의 임계 수를 결정하기 위해 사용될 수 있다. 예를 들어, 물고기 펜(104)이 40,000마리의 물고기를 포함하는 것으로 알려진 경우, 95% 신뢰 구간을 사용하도록 수중 카메라 시스템(106)을 구성하는 것은 약 381마리의 물고기 측정치가 수집되어 펜 내의 모든 물고기의 실제 평균 중량이 샘플의 평균의 5% 이내임을 보장해야 한다는 것을 의미할 것이다.
물고기 펜(104) 내의 물고기의 통계적으로 적절한 샘플을 구성하기 위해 더 많은 측정이 필요한 경우, 결정 블록(318)의 결과는 '아니오'이고, 방법(300)은 블록(302)으로 복귀하여 물고기의 또 다른 이미지를 캡처한다. 그렇지 않고, 충분한 측정치가 물고기 측정 데이터 저장소(214)에 저장되었다면, 결정 블록(318)의 결과는 '네'이고, 방법(300)은 블록(320)으로 진행한다.
블록(320)에서, 물고기 측정 엔진(222)은 물고기 바이오매스를 결정하기 위해 물고기 측정 데이터 저장소(214)에 저장된 중량을 사용한다. 일부 실시예들에서, 물고기 측정 엔진(222)은 저장된 물고기 측정치들의 평균을 결정할 수 있고, 전체 물고기 바이오매스를 결정하기 위해 그 평균을 물고기 펜(104) 내의 물고기의 모집단과 곱할 수 있다. 일부 실시예들에서, 물고기 측정 엔진(222)은, 물고기 펜(104)에 추가되는 것으로 카운트된 물고기의 초기 수에 기초하여 물고기 펜(104) 내 물고기의 인구를 결정하고, 죽은 것으로 알려진 물고기의 카운트를 반영하는 사망률 카운트를 빼고, 및 검출되지 않은 수단(외부 포식(external predation)을 포함하지만 이에 제한되지 않음)에 의해 물고기 펜(104)으로부터 제거된 물고기의 카운트를 반영하는 추정된 수축 카운트를 뺄 수 있다. 일부 실시예들에서, 물고기 측정 엔진(222)은 저장된 물고기 측정치들 자체의 평균을 결정된 물고기 바이오매스로서 사용할 수 있다.
방법(300)은 종료 블록으로 진행하여 종료된다. 도 3은 이 시점에서 중단하는 것으로 방법(300)을 도시하지만, 일부 실시예에서, 방법(300)은 임의의 목적을 위해 결정된 총 물고기 바이오매스를 계속 사용할 수 있다. 예를 들어, 일부 실시예들에서, 물고기 측정 엔진(222)은 전체 물고기 바이오매스를 수산 양식 관리 컴퓨팅 장치(102)에 전송할 수 있고, 그 후 전체 물고기 바이오매스를 사용자에게 제시할 수 있다. 일부 실시예들에서, 물고기 측정 엔진(222)은 전체 물고기 바이오매스를 수산 양식 관리 컴퓨팅 장치(102)에 전송할 수 있고, 그 후 자동화된 먹이 장치를 제어하기 위해 전체 물고기 바이오매스를 사용할 수 있다. 다른 예로서, 물고기 측정 엔진(222)은 저장된 물고기 측정치들의 평균을 유사한 목적들을 위해 사용될 수 있다.
일부 실시예에서, 수산 양식 관리 컴퓨팅 장치(102)는 시간에 따른 물고기 바이오매스의 변화 속도를 측정할 수 있고, 변화 속도는 물고기 공급 장치를 제어하는데 사용될 수 있다. 일부 실시예에서, 바이오매스 추정 및 성장 속도에 대한 경향은 물고기 펜(104) 내의 집단에 대한 먹이 펠릿 크기 및/또는 먹이의 유형을 선택하는 데 사용될 수 있다. 바이오매스 추정 및 성장 속도에 대한 경향은 또한 총 먹이량, 먹이 전달 스타일, 먹이 속도 및/또는 먹이 시간을 설정하는데 사용될 수 있다. 일부 실시예에서, 바이오매스 추정치 및/또는 시간에 따른 전체 물고기 바이오매스의 변화율은 자동화 공급 장치를 제어하기 위한 피드백 루프 메커니즘(feedback loop mechanism)에 대한 입력일 수 있다. 피드백 루프 메커니즘에 대한 다른 입력은 수온 및 수압(표면 아래의 거리)과 같은 환경 데이터의 세트 중 하나 이상을 포함할 수 있다. 피드백 루프 메커니즘의 출력은 주어진 날에 먹이 전달을 위한 가다/가지 않다를 나타낼 수 있다.
도 4는 본 개시내용의 다양한 양태들에 따라 이미지에서 세그멘테이션 마스크와 연관된 물고기의 측정 가능성을 결정하기 위한 절차의 비-제한적인 예시적인 실시예를 예시하는 흐름도이다. 절차(400)는 도 3의 절차 블록(308)에서 사용하기에 적합한 절차의 비-제한적인 예이다. 3. 일반적으로, 절차(400)는 부정확한 물고기 중량 추정치를 초래할 가능성이 있는 이미지가 무시되게 하는 이미지 품질 추정 파이프라인을 제공한다. 일부 실시예들에서, 절차(400)는 위에서 논의된 바와 같이 물고기를 포함하도록 이미지 분석 엔진(220)에 의해 결정된 이미지의 크로핑된 부분에 대해 동작한다. 일부 실시예들에서, 절차(400)는 또한 분석될 물고기와 연관된 이미지의 픽셀들을 나타내는 세그멘테이션 마스크 정보를 수신할 수 있다. 전술한 바와 같이, 이미지는 입체 카메라(202)에 의해 캡처되기 때문에, 이미지는 각각의 픽셀에 대한 컬러 정보 및 깊이 정보 모두를 포함한다.
개시 블록으로부터, 절차(400)는 블록(402)으로 진행하고, 여기서 이미지 분석 엔진(220)은 물고기의 이미지와 연관된 흐릿함의 양을 결정한다. 흐릿함은 라플라시안(Laplacian)의 변화를 결정하는 것, 고속 푸리에 변환(Fast Fourier Transform)을 계산하는 것 및 높은 주파수 및 낮은 주파수의 분포를 검사하는 것, 흐릿하고 흐릿하지 않은 이미지에 대해 트레이닝된 머신 러닝 모델, 또는 임의의 다른 적절한 기술을 포함하지만 이에 제한되지 않는 임의의 적절한 기술을 사용하여 검출될 수 있다.
절차(400)는 결정 블록(404)으로 진행하고, 여기서 이미지 분석 엔진(220)에 의해 결정된 흐릿함의 양에 기초하여 결정이 이루어진다. 일부 실시예들에서, 결정은 흐릿함의 양을 사용된 흐릿함 검출 기술에 의존하는 미리 결정된 흐릿함의 임계 량과 비교함으로써 이루어질 수 있다.
흐릿함의 양과 흐릿함의 미리 결정된 임계 량의 비교가, 물고기의 이미지가 너무 흐릿하다는 것을 나타내면, 결정 블록(404)의 결과는 '네'이고, 절차(400)는 블록(418)으로 진행한다. 그렇지 않고, 흐릿함의 양과 흐릿함의 미리 결정된 임계 량의 비교가 물고기의 이미지가 너무 흐릿하다는 것을 나타내지 않으면, 결정 블록(404)의 결과는 '아니오'이고, 절차(400)는 블록(406)으로 진행한다.
블록(406)에서, 이미지 분석 엔진(220)은 형상 분석 필터를 사용하여 세그멘테이션 마스크를 처리한다. 일부 실시예들에서, 형상 분석 필터는 세그멘테이션 마스크의 형상으로부터 피처들을 추출하고, 이들 피처들을 공지된 양호한 세그멘테이션 마스크들의 트레이닝 세트로부터 추출된 피처들과 비교하도록 트레이닝된다. 일부 실시예들에서, 제르니케 모멘트(Zernike moment)의 세트가 세그멘테이션 마스크에 대해 결정될 수 있다. 제르니케 모멘트는 서로 직교하는 특징을 포함함으로써, 정보의 중복을 최소화할 수 있다. 제르니케 모멘트에 기초한 특징들은 또한 병진 및 스케일 불변이고, 따라서 엄격한 형상 매칭 기준을 제공한다. 일부 실시예들에서, 세그멘테이션 마스크는 피처들을 추출하기 전에 세그먼테이션 마스크를 회전, 타이트한 크로핑(tight cropping), 및/또는 고정된 치수들로 리사이징함으로써 스케일 또는 병진 불변성을 제거하도록 표준화될 수 있다.
절차(400)는 결정 블록(408)으로 진행하고, 여기서 세그멘테이션 마스크로부터 추출된 특징들이 공지된 양호한 세그멘테이션 마스크들로부터 추출된 특징들과 충분히 유사하다고 형상 분석 필터가 결정하였는지 여부에 기초하여 결정이 이루어진다. 세그멘테이션 마스크가 충분히 유사하지 않다고 형상 분석 필터가 결정하면, 결정 블록(408)의 결과는 '네'이고, 절차(400)는 블록(418)으로 진행한다. 그렇지 않고, 세그멘테이션 마스크가 공지된 양호한 세그멘테이션 마스크 형상들과 유사한 형상을 갖는다고 형상 분석 필터가 결정하면, 결정 블록(408)의 결과는 '아니오'이고, 절차(400)는 블록(410)으로 진행한다.
물고기 펜(104) 내의 물고기를 감시하기 위해 카메라를 사용하는 것에 있어서의 하나의 공통적인 문제점은, 물고기가 성장하고 물고기 펜(104)을 모여들기 시작할 때, 다른 물고기에 의해 가려진 하나의 물고기의 공통적인 뷰가 점점 더 증가한다는 것이다. 도 5는 본 개시의 다양한 양태들에 따른, 가려진 세그멘테이션 마스크 및 이미지의 비-제한적인 예시적인 실시예, 뿐만 아니라 가려지지 않은 세그멘테이션 마스크 및 이미지의 비-제한적인 예시적인 실시예를 도시하는 이미지이다. 제1 이미지(502)에서, 가려지지 않은 물고기(508)가 그 전체 길이에서 카메라에 가시적이다. 따라서, 대응하는 가려지지 않은 세그멘테이션 마스크(506)는 전체 가려지지 않은 물고기(508)를 보여준다. 제2 이미지(504)에서, 가려진 물고기(512)의 일부가 카메라에 가시적이지만, 카메라에 더 가까운 가려진 물고기(514)는 가려진 물고기(512)의 전방 부분을 덮고 있는 지느러미를 갖는다. 따라서, 대응하는 가려진 세그멘테이션 마스크(510)에서 가려진 물고기(512)의 전방 부분에서 절단된다. 즉, 가려진 세그멘테이션 마스크(510)의 형상은 여전히 물고기형이어서, 가려짐에도 불구하고, 블록(406)에서 적용된 형상 분석 필터는 제2 이미지(504)가 측정 가능하지 않다고 결정하지 않았을 수 있다. 세그멘테이션 마스크가 측정에 적합하지 않게 하는 이미지 내의 가려짐을 검출하기 위해 추가적인 분석이 수행되어야 한다.
이를 위해, 도 4의 블록(410)으로 돌아가면, 이미지 분석 엔진(220)은 세그멘테이션 마스크 내부의 영역에서의 픽셀들의 평균 깊이를 결정하고, 블록(412)에서, 이미지 분석 엔진(220)은 세그멘테이션 마스크 외부의 영역에서의 픽셀들의 깊이들과 세그멘테이션 마스크 내부의 영역 내의 픽셀들의 평균 깊이를 비교한다. 도 5에 도시된 바와 같이, 이미지 분석 엔진(220)은 세그멘테이션 마스크의 경계 외부의 미리 결정된 수의 픽셀들에서의 영역에서의 픽셀들의 평균 깊이를 결정할 수 있고, 세그멘테이션 마스크의 경계 내부의 (또는 전체 세그멘테이션 마스크 내의) 미리 결정된 수의 픽셀들에서의 영역에서의 픽셀들의 평균 깊이를 결정할 수 있다. 일부 실시예들에서, 이미지 분석 엔진(220)은 먼저 세그멘테이션 마스크를 슬라이스들로(예를 들어, 수직, 수평, 또는 방사상 슬라이스들로) 분할할 수 있고, 각각의 슬라이스 내의 세그멘테이션 마스크의 경계의 내부 및 외부의 픽셀들의 평균 깊이들을 개별적으로 결정할 수 있다. 이어서, 이미지 분석 엔진(220)은 외부 부분의 픽셀들의 평균 깊이를 내부 부분의 픽셀들의 평균 깊이와 비교한다. 물고기가 가려지지 않으면, 외부 부분(또는 모든 슬라이스에 대한 외부 부분)에서의 픽셀의 평균 깊이는 내부 부분에서의 픽셀의 평균 깊이보다 클 것이다. 그러나, 물고기가 가려지면, 외부 부분(또는 적어도 하나의 슬라이스에 대한 외부 부분)에서의 픽셀들의 평균 깊이는 내측 부분에서의 픽셀들의 평균 깊이보다 클 것이고, 이는 물고기보다 카메라에 더 가까운 물체가 존재함을 의미한다. 도 5에서, 제1 이미지(502) 내의 가려지지 않은 물고기(508)에 대한 세그멘테이션 마스크를 둘러싸는 모든 픽셀들은 세그멘테이션 마스크 내의 픽셀들보다 더 큰 깊이를 가질 것인 반면, 가려진 물고기(512)의 전방 부분의 슬라이스에서 가려진 물고기(512)에 대한 세그멘테이션 마스크를 둘러싸는 픽셀들은 세그멘테이션 마스크 내의 픽셀들보다 더 작은 깊이를 가질 것이며, 따라서 가려진 물고기(514)의 존재를 표시한다.
절차(400)는 결정 블록(414)으로 진행하고, 여기서 블록(412)에서 수행된 비교는 세그멘테이션 마스크에 의해 식별된 객체가 가려졌는지 결정하는데 사용된다. 비교가 객체가 가려짐 나타내면, 결정 블록(414)의 결과는 '네'이고, 절차(400)는 블록(418)으로 진행한다. 블록(418)은 물고기의 이미지가 측정에 적합하지 않음을 나타내는 각각의 결정 블록 결과의 타겟이다. 따라서, 블록(418)에서, 이미지 분석 엔진(220)은 물고기가 측정 가능하지 않다고 결정한다. 그 다음, 절차(400)는 종료 블록으로 진행하여 종료된다.
결정 블록(414)으로 돌아가서, 만약 비교가 객체가 가려지지 않음을 표시하면, 결정 블록(414)의 결과는 '아니오'이고, 절차(400)는 블록(416)으로 진행한다. 블록(416)에서, 물고기의 이미지에 대한 모든 테스트가 수행되었고 테스트 중 어느 것도 이미지 내의 물고기가 측정 가능하지 않음을 나타내지 않았다. 따라서, 블록(416)에서, 이미지 분석 엔진(220)은 물고기가 측정 가능하다고 결정한다. 이어서, 절차(400)는 종료 블록으로 진행하여 종료된다.
종료시에, 절차(400)는 물고기가 그의 호출자에게 측정 가능한지 여부의 결정을 제공한다.
도 6은 본 개시의 다양한 양태에 따른 이미지 및 세그멘테이션 마스크에 기초하여 피시의 길이를 측정하기 위한 절차의 비-제한적인 예시적인 실시예를 도시하는 흐름도이다. 절차(600)는 도 3의 절차 블록(312)에서 사용하기에 적합한 기술의 예이며, 여기서 길이는 결정될 적어도 하나의 치수이다.
개시 블록으로부터, 절차(600)는 블록(602)으로 진행하고, 여기서 이미지 분석 엔진(220)은 세그멘테이션 마스크의 축을 따라 픽셀들을 슬라이스들로 분리한다. 예를 들어, 이미지 분석 엔진(220)은 세그멘테이션 마스크를 주어진 수의 픽셀 폭인 슬라이스들로 분리할 수 있다. 픽셀들의 수는 계산의 속도와 미세 정확도 사이의 트레이드 오프들(trade offs)을 관리하기 위해 구성 가능할 수 있다. 비-제한적인 예로서, 일부 실시예들에서, 이미지 분석 엔진(220)은 세그멘테이션 마스크를 10 픽셀 폭인 슬라이스들로 분리할 수 있지만, 임의의 다른 적절한 수의 픽셀들이 사용될 수 있다.
블록(604)에서, 이미지 분석 엔진(220)은 각각의 슬라이스에 대한 깊이 값을 결정한다. 일부 실시예들에서, 이미지 분석 엔진(220)은 각각의 슬라이스 내의 픽셀들의 평균 깊이를 결정할 수 있고, 평균 깊이를 슬라이스의 깊이로서 사용할 수 있다. 일부 실시예들에서, 이미지 분석 엔진(220)은 각각의 슬라이스의 중간점에서 픽셀의 깊이를 결정할 수 있고, 중간점 픽셀의 깊이를 슬라이스의 깊이로서 사용할 수 있다. 일부 실시예들에서, 이미지 분석 엔진(220)은 각각의 슬라이스의 각각의 경계에서 픽셀들의 깊이를 결정할 수 있다.
블록(606)에서, 이미지 분석 엔진(220)은 슬라이스들에 대한 깊이 값들에 기초하여 물고기의 곡선 표현을 생성한다. 즉, 일부 실시예들에서, 이미지 분석 엔진(220)은 카메라에 대한 3차원 공간에서의 슬라이스들 각각에 대한 위치들을 결정할 수 있다.
블록(608)에서, 이미지 분석 엔진(220)은 핀홀 모델을 사용하여 곡선 표현의 길이를 결정한다. 즉, 이미지 및 깊이 값들은, 이미지를 캡처한 카메라가 핀홀 카메라인 것과 같이 처리될 수 있고, 이미지 분석 엔진(220)은 물고기의 곡선 표현의 3차원 공간에서의 실제 길이를 계산하기 위해, 각 슬라이스의 수평 폭과 함께 카메라로부터의 각 슬라이스의 거리들을 사용할 수 있다. 일부 실시예들에서, 이미지 분석 엔진(220)은 또한 그 핀홀 모델의 일부로서 수중 굴절을 보상할 수 있다.
절차(600)는 종료 블록으로 진행하여 종료한다. 종료 시, 절차(400)는 물고기의 길이의 그 결정을 절차의 호출자에게 제공한다. 유사한 기술들이 수평이 아닌 수직 방향으로 공정을 재배향함으로써 물고기의 높이를 결정하는 데 사용될 수 있다는 것을 이해할 것이다.
도 7은 본 개시의 다양한 양태에 따른 적어도 하나의 물고기 모니터링 분석 값을 결정하는 방법의 비-제한적인 예시적인 실시예를 도시하는 흐름도이다. 물고기의 치수를 측정하고 물고기의 중량 및 바이오매스 총량을 결정하기 위해 치수를 사용하는 것에 더하여, 수중 카메라 시스템(106)에 의해 캡처된 고품질 이미지는 물고기 펜(104)의 관리를 위한 다른 분석 값을 결정하는 능력을 제공한다.
개시 블록으로부터, 방법(700)은 수중 카메라 시스템(106)의 컴퓨팅 장치(206)의 이미지 분석 엔진(220)이 수중 카메라 시스템(106)의 입체 카메라(202)에 의해 캡처된 이미지에서 물고기를 검출하는 블록(702)로 진행한다. 일부 실시예들에서, 이미지 분석 엔진(220)은 이미지에서 물고기를 검출하기 위해 컨볼루션 신경망을 포함하지만 이에 제한되지 않는 머신 러닝 모델 데이터 저장소(218)에 저장된 머신 러닝 모델을 사용할 수 있다. 상기와 같이, 입체 카메라(202)가 촬영하는 영상은 픽셀별로 컬러 정보와 깊이 정보를 모두 포함할 수 있다. 일부 실시예들에서, 방법(700)은 적어도 하나의 이미지가 분석에 적절한지 여부를 결정하기 위해 절차(400)와 같은 기술을 사용할 수 있지만, 이러한 단계들은 도 7에 도시되지 않는다.
블록(704)에서, 이미지 분석 엔진(220)은 이미지 내의 깊이 정보에 기초하여 물고기 및 수중 카메라 시스템(106)의 가변 초점 렌즈 카메라(204) 사이의 거리를 결정한다. 일부 실시예들에서, 이미지 분석 엔진(220)은 입체 카메라(202) 및 가변 초점 렌즈 카메라(204)의 상대 위치를 알고, 물고기와 가변 초점 렌즈 카메라(204) 사이의 거리를 결정하기 위해 (입체 카메라(202)와 물고기 사이의 거리를 나타내는) 이미지 내의 깊이 정보와 함께 이 상대 위치를 사용한다. 일부 실시예들에서, 가변 초점 렌즈 카메라(204)는, 이미지 내의 깊이 정보가 추가 처리 없이 가변 초점 렌즈 카메라(204)와 물고기 사이의 거리로서 사용될 수 있도록, 입체 카메라(202)의 렌즈들 사이를 포함하지만 이에 제한되지 않는 방식으로 위치된다.
선택적인 블록(706)에서, 이미지 분석 엔진(220)은 물고기의 현재 위치 및 물고기의 움직임 행동에 기초하여 물고기의 미래 위치를 예측한다. 일부 실시예들에서, 이미지 분석 엔진(220)은 물고기의 운동 및/또는 배향을 결정하기 위해 물고기의 이미지 또는 다수의 연속적인 이미지들에서 물고기의 운동 및/또는 배향의 표시들을 사용할 수 있다. 일부 실시예들에서, 느리게 움직이는 물고기의 단일 이미지가 분석될 수 있고, 물고기의 예측된 운동은 분석을 위해 중요하지 않을 수 있기 때문에, 이 블록은 선택적인 것으로 예시되고 설명된다.
블록(708)에서, 이미지 분석 엔진(220)은 가변 초점 렌즈 카메라(204)의 초점을 조정한다. 일부 실시예들에서, 이미지 분석 엔진(220)은 블록(704)으로부터의 깊이 정보(또는 프로세싱된 깊이 정보)를 매칭시키기 위해 가변 초점 렌즈 카메라(204)의 초점을 조정할 수 있다. 일부 실시예들에서, 이미지 분석 엔진(220)은 물고기의 예측된 운동을 따르도록 가변 초점 렌즈 카메라(204)의 초점을 조정할 수 있다. 일부 이러한 실시예들에서, 이미지 분석 엔진(220)은 입체 카메라(202)로부터의 깊이 정보를 지속적으로 측정하고 물고기의 예측된 움직임에 기초하여 가변 초점 렌즈 카메라(204)의 초점을 지속적으로 조정할 수 있다. 일부 실시예들에서, 물고기의 예측된 운동은 물고기 운동을 나타내는 벡터, 물고기의 배향, 및 물고기의 신체 움직임 중 하나 이상을 포함할 수 있다.
블록(710)에서, 이미지 분석 엔진(220)은 가변 초점 렌즈 카메라(204)를 사용하여 물고기의 포커싱된 이미지를 캡처하고, 블록(712)에서, 이미지 분석 엔진(220)은 포커싱된 이미지에 적어도 부분적으로 기초하여 적어도 하나의 물고기 모니터링 분석 값을 결정한다. 상기 가변 초점 렌즈 카메라(204)의 초점을 조절하여 물고기의 초점 이미지를 촬영하였기 때문에, 물고기의 고해상도 뷰를 얻을 수 있으며, 이로부터 물고기의 상태에 대한 상세한 분석이 결정될 수 있다.
포커싱된 이미지 및 예측된 운동에 기초하여 결정될 수 있는 물고기 모니터링 분석 값의 일례는 피부 상태, 바다물이(sea lice) 또는 아메바 질(amoebal gill) 질병의 존재 또는 부재이다. 물고기 상에 가변 초점 렌즈 카메라(204)를 포커싱하는 것은 물고기의 피부의 고해상도 이미지가 캡처될 수 있게 하기 때문에, 이들 상태들은, 이에 제한되지 않지만, 바다물이, 피부 상태들, 또는 아메바 질 질병의 징후들을 검출하도록 훈련된 머신 러닝 모델을 포함하는 임의의 적합한 기술을 사용하여 포커싱된 이미지로부터 물고기 상에서 식별될 수 있다.
방법(700)은 종료 블록으로 진행하여 종료된다. 도 7은 이 시점에서 종료하는 방법(700)을 도시하지만, 일부 실시예들에서, 물고기 모니터링 분석 값은 물고기 펜(104)의 동작을 제어하는 데 사용될 수 있다. 예를 들어, 일부 실시예들에서, 물고기 모니터링 분석 값은 사용자에게 제시하기 위해 수산 양식 관리 컴퓨팅 장치(102)로 전송되어 사용자가 동작을 취할 수 있다. 다른 예로서, 일부 실시예들에서, 물고기 모니터링 분석 값은 물고기 펜(104)의 기능을 자동으로 제어하기 위해 수산 양식 관리 컴퓨팅 장치(102)에 의해 사용될 수 있다. 예를 들어, 바다물이가 검출되면, H202의 분배, 바다물이를 예방하기 위한 먹이에 첨가제를 제공하는 것, 또는 바다물이를 먹는 다른 물고기의 도입과 같은 바다물이에 대한 처리가 제공될 수 있다.
도 8은 본 개시의 다양한 양태에 따른 적어도 하나의 물고기 모니터링 분석 값을 결정하는 방법의 비-제한적인 예시적인 실시예를 도시하는 흐름도이다. 일부 물고기 모니터링 분석 값은 포커스된 이미지가 획득되지 않더라도 물고기의 움직임 행동에 기초하여 결정될 수 있다.
개시 블록으로부터, 방법(800)은 수중 카메라 시스템(106)의 컴퓨팅 장치(206)의 이미지 분석 엔진(220)이 수중 카메라 시스템(106)의 카메라에 의해 캡처된 적어도 하나의 이미지에서 물고기를 검출하는 블록(802)으로 진행한다. 일부 실시예들에서, 이미지 분석 엔진(220)은 이미지에서 물고기를 검출하기 위해 컨볼루션 신경망을 포함하지만 이에 제한되지 않는 머신 러닝 모델 데이터 저장소(218)에 저장된 머신 러닝 모델을 사용할 수 있다. 이미지 분석 엔진(220)은 입체 카메라(202) 또는 가변 초점 렌즈 카메라(204)에 의해 캡처된 하나 이상의 이미지를 사용할 수 있다. 일부 실시예들에서, 방법(800)은 적어도 하나의 이미지가 분석에 적절한지 여부를 결정하기 위해 절차(400)와 같은 기술을 사용할 수 있지만, 이러한 단계들은 도 8에 도시되지 않는다.
블록(804)에서, 이미지 분석 엔진(220)은 물고기의 운동 거동을 결정한다. 운동 거동은 물고기의 벡터 및/또는 배향을 포함할 수 있다. 일부 실시예들에서, 이미지 분석 엔진(220)은 물고기의 운동 및/또는 배향을 결정하기 위해 물고기의 이미지 또는 다수의 연속적인 이미지들에서 물고기의 운동 및/또는 배향의 표시들을 사용할 수 있다.
블록(806)에서, 이미지 분석 엔진(220)은 물고기의 운동 거동에 적어도 부분적으로 기초하여 적어도 하나의 물고기 모니터링 분석 값을 결정한다.
동작 거동에 기초하여 결정될 수 있는 물고기 모니터링 분석 값의 한 예는 트레마토드(trematode) 감염의 존재 또는 부재이다. 일부 어종의 물고기에서, 트레마토드 감염은 물고기가 헤엄치는 동안 어선이 그물 또는 밧줄과 같은 물고기 펜(104)의 구조물에 문지르도록 배향을 변화시키게 하고, 물고기가 거꾸로 헤엄치게 할 수 있다. 물고기의 역전된 배향 및/또는 물고기가 수중 구조물과 접촉하게 하는 운동을 검출하는 것은 트레마토이드 감염의 존재를 나타낼 수 있다.
동작 거동에 기초하여 결정될 수 있는 물고기 모니터링 분석 값의 다른 예는 송어 및 스틸헤드(steelhead)를 포함하지만 이에 제한되지 않는, 부레를 갖는 어종에서의 응력(stress)이다. 물고기가 수중 상태에 있고 부력을 조절하기 위해 공기로 수영 부레를 다시 채우기 위해 표면에 오지 못하는 경우에 수축된 부레가 일어날 수 있다. 운동 거동은 예측된 운동이 물고기가 옆으로 헤엄치고 있고/있거나 무기력한 징후를 보이는 것을 나타낼 때, 그들의 부력이 더 이상 그들의 부레에 의해 보상되지 않기 때문에 그러한 응력의 존재를 나타낼 수 있다.
동작 거동에 기초하여 결정될 수 있는 물고기 모니터링 분석 값의 또 다른 예는 물고기 포만감(fish satiation)이다. 일부 어종은 일단 포만하면 수영 패턴과 스쿨링 패턴을 바꾸는 것으로 알려져 있다. 따라서, 동작 거동은 물고기 모니터링 분석 값으로서 포만감을 결정하기 위해 포만감을 나타내는 알려진 수영 패턴 및 스쿨링 패턴과 비교될 수 있다.
방법(800)은 종료 블록으로 진행하여 종료된다. 도 8은 이 시점에서 종료하는 방법(800)을 도시하지만, 일부 실시예들에서, 물고기 모니터링 분석 값은 물고기 펜(104)의 동작을 제어하기 위해 사용될 수 있다. 예를 들어, 일부 실시예들에서, 물고기 모니터링 분석 값은 사용자에게 제시하기 위해 수산 양식 관리 컴퓨팅 장치(102)로 전송되어 사용자가 동작을 취할 수 있다. 다른 예로서, 일부 실시예들에서, 물고기 모니터링 분석 값은 물고기 펜(104)의 기능을 자동으로 제어하기 위해 수산 양식 관리 컴퓨팅 장치(102)에 의해 사용될 수 있다. 예를 들어, 트레마토드 감염이 검출되는 경우, H2O2 분배기는 감염을 다루는데 효과적인 시간, 예컨대 수 초 또는 분 동안 희석된 농도의 H2O2로 물고기 펜(104)을 목욕하도록 활성화될 수 있다. 다른 예로서, 부레 관련 스트레스가 검출되면, 수중 물고기 펜(104)은 물고기가 그들의 부레를 재충전할 수 있도록 표면으로 가져갈 수 있거나, 물고기 펜(104)이 잠긴 동안 제공되는 인공 기포의 기능이 검증되거나 활성화될 수 있다. 최종 예로서, 포만감 검출의 존재 또는 부재는 공급 분배기를 제어하는 데 사용될 수 있다.
도 9는 본 개시의 컴퓨팅 장치로서 사용하기에 적합한 예시적인 컴퓨팅 장치(900)의 양태를 도시하는 블록도이다. 다수의 상이한 타입의 컴퓨팅 장치들이 위에서 논의되었지만, 예시적인 컴퓨팅 장치(900)는 많은 상이한 타입의 컴퓨팅 장치에 공통인 다양한 구성들을 설명한다. 도 9는 네트워크 상의 장치로서 구현되는 컴퓨팅 장치를 참조하여 설명되지만, 아래의 설명은 서버들, 개인용 컴퓨터들, 모바일 폰들, 스마트 폰들, 태블릿 컴퓨터들, 임베디드 컴퓨팅 장치들, 및 본 개시내용의 실시예들의 부분들을 구현하는데 사용될 수 있는 다른 장치들에 적용 가능하다. 컴퓨팅 장치의 일부 실시예들은 ASIC, FPGA, 또는 다른 맞춤화된 장치에서 구현될 수 있거나 이를 포함할 수 있다. 또한, 당업자들 및 다른 사람들은 컴퓨팅 장치(900)가 임의의 수의 현재 이용 가능하거나 아직 개발되지 않은 장치들 중 임의의 하나일 수 있다는 것을 인식할 것이다.
가장 기본적인 구성에서, 컴퓨팅 장치(900)는 커뮤니케이션 버스(906)에 의해 연결된 적어도 하나의 프로세서(902) 및 시스템 메모리(904)를 포함한다. 장치의 정확한 구성 및 유형에 따라, 시스템 메모리(904)는 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), EEPROM, 플래시 메모리, 또는 유사한 메모리 기술과 같은 휘발성 또는 비휘발성 메모리일 수 있다. 당업자 및 다른 사람들은 시스템 메모리(904)가 전형적으로 프로세서(902)에 즉시 액세스 가능하고/하거나 그에 의해 현재 동작되고 있는 데이터 및/또는 프로그램 모듈들을 저장한다는 것을 인식할 것이다. 이와 관련하여, 프로세서(902)는 명령어들의 실행을 지원함으로써 컴퓨팅 장치(900)의 계산 센터로서 기능할 수 있다.
도 9에 더 도시된 바와 같이, 컴퓨팅 장치(900)는 네트워크를 통해 다른 장치와 통신하기 위한 하나 이상의 구성요소를 포함하는 네트워크 인터페이스(910)를 포함할 수 있다. 본 개시내용의 실시예들은 공통 네트워크 프로토콜들을 사용하여 통신들을 수행하기 위해 네트워크 인터페이스(910)를 이용하는 기본 서비스들에 액세스할 수 있다. 네트워크 인터페이스(910)는 또한 Wi-Fi, 2G, 3G, LTE, WiMAX, 블루투스, 블루투스 저에너지 등과 같은 하나 이상의 무선 통신 프로토콜들을 통해 통신하도록 구성된 무선 네트워크 인터페이스를 포함할 수 있다. 당업자에 의해 이해되는 바와 같이, 도 9에 예시된 네트워크 인터페이스(910)는 컴퓨팅 장치(900)의 특정 구성요소들과 관련하여 위에서 설명되고 예시된 하나 이상의 무선 인터페이스들 또는 물리적 통신 인터페이스들을 나타낼 수 있다.
도 9에 도시된 예시적인 실시예에서, 컴퓨팅 장치(900)는 또한 저장 매체(908)를 포함한다. 그러나, 서비스들은 데이터를 로컬 저장 매체에 유지하기 위한 수단을 포함하지 않는 컴퓨팅 장치를 사용하여 액세스될 수 있다. 따라서, 도 9에 도시된 저장 매체(908)는 저장 매체(908)가 선택적이라는 것을 나타내기 위해 점선으로 표현된다. 임의의 이벤트에서, 저장 매체(908)는 하드 드라이브, 솔리드 스테이트 드라이브, CD ROM, DVD, 또는 다른 디스크 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 등과 같은, 그러나 이에 제한되지 않는 정보를 저장할 수 있는 임의의 기술을 사용하여 구현되는 휘발성 또는 비휘발성, 착탈식 또는 비착탈식일 수 있다.
프로세서(902), 시스템 메모리(904), 커뮤니케이션 버스(906), 저장 매체(908), 및 네트워크 인터페이스(910)를 포함하는 컴퓨팅 장치들의 적합한 구현들이 알려져 있고 상업적으로 이용 가능하다. 예시의 용이함을 위해 그리고 청구된 청구물의 이해를 위해 중요하지 않기 때문에, 도 9는 많은 컴퓨팅 장치들의 전형적인 구성요소들 중 일부를 도시하지 않는다. 이와 관련하여, 컴퓨팅 장치(900)는 키보드, 키패드, 마우스, 마이크로폰, 터치 입력 장치, 터치 스크린, 태블릿 등과 같은 입력 장치들을 포함할 수 있다. 이러한 입력 장치들은 RF, 적외선, 직렬, 병렬, 블루투스, 블루투스 저에너지, USB, 또는 무선 또는 물리적 연결들을 사용하는 다른 적절한 연결 프로토콜들을 포함하는 유선 또는 무선 연결들에 의해 컴퓨팅 장치(900)에 결합될 수 있다. 유사하게, 컴퓨팅 장치(900)는 또한 디스플레이, 스피커들, 프린터 등과 같은 출력 장치들을 포함할 수 있다. 이들 장치는 당업계에 잘 알려져 있기 때문에, 본 명세서에서 추가로 예시되거나 설명되지 않는다.

Claims (6)

  1. 컴퓨팅 장치의 하나 이상의 프로세서들에 의한 실행에 응답하여, 상기 컴퓨팅 장치로 하여금 물고기 펜 내의 복수의 물고기를 모니터링하기 위한 동작들을 수행하게 하는 컴퓨터 실행가능 명령어들이 저장된 비-일시적 컴퓨터-판독가능 매체로서, 상기 동작은,
    상기 컴퓨팅 장치에 의해, 적어도 하나의 물고기를 묘사하는 수중 카메라 시스템에 의해 캡처된 이미지를 수신하는 단계;
    상기 컴퓨팅 장치에 의해, 상기 적어도 하나의 물고기가 가려지는지 여부에 적어도 부분적으로 기초하여 상기 이미지 내 적어도 하나의 물고기의 측정 가능성을 결정하는 단계; 및
    상기 이미지 내 적어도 하나의 물고기가 측정 가능하다는 결정에 응답하여, 상기 이미지에 기초하여 상기 적어도 하나의 물고기의 적어도 하나의 특성을 결정하는 단계를 포함하는,
    비-일시적 컴퓨터-판독가능 매체.
  2. 제1항에 있어서, 상기 적어도 하나의 물고기가 가려지는지 여부에 적어도 부분적으로 기초하여 상기 이미지 내 상기 적어도 하나의 물고기의 상기 측정 가능성을 결정하는 단계는,
    상기 이미지 내 물고기에 대한 세그멘테이션 마스크를 결정하는 단계;
    상기 세그멘테이션 마스크 내부의 영역 내의 픽셀들의 평균 깊이를 결정하는 단계;
    상기 세그멘테이션 마스크 외부의 영역 내의 픽셀들의 깊이를 상기 세그멘테이션 마스크 내부의 상기 영역 내의 상기 픽셀들의 상기 평균 깊이와 비교하는 단계; 및
    상기 세그멘테이션 마스크 외부의 상기 영역 내의 상기 픽셀들의 상기 깊이가 상기 세그멘테이션 마스크 내부의 상기 영역 내의 상기 픽셀들의 상기 평균 깊이보다 크다는 결정에 응답하여 물고기가 측정 가능하다고 결정하는 단계를 포함하는, 비-일시적 컴퓨터-판독가능 매체.
  3. 제2항에 있어서,
    상기 세그먼테이션 마스크 내부의 상기 영역 내의 상기 픽셀들은 상기 세그먼테이션 마스크의 에지로부터 제1 임계 거리 내의 픽셀들의 세트를 포함하고, 상기 세그먼테이션 마스크 외부의 상기 영역 내의 상기 픽셀들은 상기 세그먼테이션 마스크의 상기 에지로부터 제2 임계 거리 내의 픽셀들의 세트를 포함하는, 비-일시적 컴퓨터-판독가능 매체.
  4. 제1항에 있어서,
    상기 이미지 내의 상기 적어도 하나의 물고기의 상기 측정 가능성을 결정하는 단계는, 상기 이미지 내의 흐릿함의 양 및 상기 이미지에 대한 형상 분석의 적용에 더 부분적으로 기초하는, 비-일시적 컴퓨터-판독가능 매체.
  5. 제1항에 있어서,
    상기 이미지에 기초하여 상기 적어도 하나의 물고기의 상기 적어도 하나의 특성을 결정하는 단계는, 적어도 하나의 물고기의 적어도 하나의 치수를 측정하는 단계, 적어도 하나의 물고기의 거동을 결정하는 단계, 적어도 하나의 물고기의 중량을 결정하는 단계, 및 적어도 하나의 물고기의 건강 상태를 결정하는 단계 중 적어도 하나를 포함하는, 비-일시적 컴퓨터-판독가능 매체.
  6. 제5항에 있어서,
    적어도 하나의 물고기의 상기 적어도 하나의 치수를 측정하는 단계는,
    상기 이미지 내 물고기에 대한 세그멘테이션 마스크를 결정하는 단계;
    상기 세그멘테이션 마스크의 축을 따라 픽셀들을 슬라이스들로 분리하는 단계;
    상기 슬라이스들의 각각의 슬라이스의 깊이 값을 결정하는 단계; 및
    상기 이미지 상에 핀홀 모델을 사용하여 3D 표현에서 상기 마스크의 길이를 결정하는 단계를 포함하는, 비-일시적 컴퓨터-판독가능 매체.
KR1020247011928A 2020-04-21 2021-04-15 물고기 부피 추정, 중량 추정, 및 분석 값 생성을 위한 시스템 및 방법 KR20240053658A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/854,682 2020-04-21
US16/854,682 US11170209B1 (en) 2020-04-21 2020-04-21 Systems and methods for fish volume estimation, weight estimation, and analytic value generation
PCT/US2021/027392 WO2021216343A1 (en) 2020-04-21 2021-04-15 Systems and methods for fish volume estimation, weight estimation, and analytic value generation
KR1020227039967A KR20230005874A (ko) 2020-04-21 2021-04-15 물고기 부피 추정, 중량 추정, 및 분석 값 생성을 위한 시스템 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020227039967A Division KR20230005874A (ko) 2020-04-21 2021-04-15 물고기 부피 추정, 중량 추정, 및 분석 값 생성을 위한 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20240053658A true KR20240053658A (ko) 2024-04-24

Family

ID=78080718

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020247011928A KR20240053658A (ko) 2020-04-21 2021-04-15 물고기 부피 추정, 중량 추정, 및 분석 값 생성을 위한 시스템 및 방법
KR1020227039967A KR20230005874A (ko) 2020-04-21 2021-04-15 물고기 부피 추정, 중량 추정, 및 분석 값 생성을 위한 시스템 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227039967A KR20230005874A (ko) 2020-04-21 2021-04-15 물고기 부피 추정, 중량 추정, 및 분석 값 생성을 위한 시스템 및 방법

Country Status (11)

Country Link
US (1) US11170209B1 (ko)
EP (1) EP4139837A4 (ko)
JP (1) JP2023523700A (ko)
KR (2) KR20240053658A (ko)
AU (1) AU2021261234A1 (ko)
CA (1) CA3179956A1 (ko)
CL (2) CL2022002873A1 (ko)
EC (1) ECSP22081726A (ko)
MX (1) MX2022012961A (ko)
NZ (1) NZ792826A (ko)
WO (1) WO2021216343A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2019311094A1 (en) 2018-07-24 2021-02-11 Running Tide Technologies, Inc. System and method for the cultivation of aquatic animals
WO2021065265A1 (ja) * 2019-09-30 2021-04-08 日本電気株式会社 大きさ推定装置、大きさ推定方法および記憶媒体
US11688154B2 (en) * 2020-05-28 2023-06-27 X Development Llc Analysis and sorting in aquaculture
US20220000079A1 (en) * 2020-07-06 2022-01-06 Ecto, Inc. Acoustics augmentation for monocular depth estimation
WO2022076542A1 (en) * 2020-10-07 2022-04-14 Forever Oceans Corporation Autonomous real-time feed optimization and biomass estimation in aquaculture systems
AU2021422850A1 (en) * 2021-01-29 2023-08-17 Running Tide Technologies, Inc. System and method for grading and counting aquatic animals
US11864536B2 (en) * 2021-05-14 2024-01-09 X Development Llc State-specific aquaculture feeder controller
US20220400627A1 (en) * 2021-06-18 2022-12-22 Wan-Zhou YU Intelligent cultivating system
US20220408701A1 (en) * 2021-06-25 2022-12-29 X Development Llc Automated feeding system for fish
US20230077889A1 (en) * 2021-09-15 2023-03-16 Wan-Zhou YU Automatic observing net and utilizing method thereof
CN114485415A (zh) * 2021-12-27 2022-05-13 中国水产科学研究院黄海水产研究所 一种底栖鱼类生长表型高效测量方法及装置
CN114612397A (zh) * 2022-03-02 2022-06-10 广东省农业科学院农业经济与信息研究所 鱼苗分选方法、系统、电子设备及存储介质
US20230360423A1 (en) * 2022-05-04 2023-11-09 X Development Llc Underwater camera biomass distribution forecast
CN114972895B (zh) * 2022-08-01 2022-09-30 武汉轻工大学 小龙虾品质无损检测方法及装置
WO2024149842A1 (en) * 2023-01-13 2024-07-18 WINGS ICT Solutions Private Company Automated system and method for estimating average fish weight in an aquaculture environment
WO2024163344A1 (en) * 2023-01-30 2024-08-08 X Development Llc End-to-end differentiable fin fish biomass model
CN116843085B (zh) * 2023-08-29 2023-12-01 深圳市明心数智科技有限公司 淡水鱼生长监控方法、装置、设备及存储介质
CN116935327B (zh) * 2023-09-07 2023-12-22 深圳市明心数智科技有限公司 基于ai视觉的水产养殖监控方法、装置、设备及存储介质
CN117455927B (zh) * 2023-12-21 2024-03-15 万灵帮桥医疗器械(广州)有限责任公司 光斑阵列分割与光斑偏移量计算方法、装置、设备及存储介质
CN118038259B (zh) * 2024-04-10 2024-07-12 华南农业大学 鱼塘养殖鱼类死亡识别方法、系统、设备及介质
US12094119B1 (en) 2024-04-17 2024-09-17 Onwater Llc Physical characteristics determination system and method(s)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367930B2 (en) * 2010-08-31 2016-06-14 University Of Massachusetts Methods and systems for determining fish catches
GB2539495B (en) 2015-06-19 2017-08-23 Ace Aquatec Ltd Improvements relating to time-of-flight cameras
GB201710705D0 (en) 2017-07-04 2017-08-16 Optoscale As Structured-Light Illumination
US11825814B2 (en) 2017-12-20 2023-11-28 Intervet Inc. System for external fish parasite monitoring in aquaculture
US10599922B2 (en) * 2018-01-25 2020-03-24 X Development Llc Fish biomass, shape, and size determination
US10534967B2 (en) 2018-05-03 2020-01-14 X Development Llc Fish measurement station keeping
WO2019232247A1 (en) 2018-06-01 2019-12-05 Aquabyte, Inc. Biomass estimation in an aquaculture environment
WO2020046523A1 (en) * 2018-08-27 2020-03-05 Aquabyte, Inc. Optimal feeding based on signals in an aquaculture environment

Also Published As

Publication number Publication date
CL2022002873A1 (es) 2023-03-31
ECSP22081726A (es) 2022-11-30
CA3179956A1 (en) 2021-10-28
MX2022012961A (es) 2023-01-11
WO2021216343A1 (en) 2021-10-28
AU2021261234A1 (en) 2022-10-20
US11170209B1 (en) 2021-11-09
NZ792826A (en) 2024-08-30
KR20230005874A (ko) 2023-01-10
CL2023001332A1 (es) 2023-09-29
EP4139837A1 (en) 2023-03-01
JP2023523700A (ja) 2023-06-07
EP4139837A4 (en) 2024-05-15
US20210321593A1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
US11170209B1 (en) Systems and methods for fish volume estimation, weight estimation, and analytic value generation
Li et al. Automatic counting methods in aquaculture: A review
US11688196B2 (en) Fish biomass, shape, and size determination
US11475689B2 (en) Fish biomass, shape, size, or health determination
Monkman et al. Using machine vision to estimate fish length from images using regional convolutional neural networks
CN110426112B (zh) 一种生猪体重测量方法及装置
US12051231B2 (en) Analysis and sorting in aquaculture
KR102234697B1 (ko) 수중드론을 이용하는 어망감시장치, 및 그 장치의 제어방법
US20240104900A1 (en) Fish school detection method and system thereof, electronic device and storage medium
US20210368748A1 (en) Analysis and sorting in aquaculture
CN115512215A (zh) 水下生物监测方法、装置及存储介质
Yu et al. An intelligent measurement scheme for basic characters of fish in smart aquaculture
Ivashchuk et al. Neural network methods for the detection of farm animals in dense dynamic groups on images
CN112587089B (zh) 基于人工智能的妊娠检测方法、装置、计算机设备和介质
Wang et al. Deep learning method for rapidly estimating pig body size
Chen et al. Automatic counting methods in aquaculture: A review
WO2024205983A1 (en) Biomass estimation using monocular underwater cameras
CN115995038A (zh) 一种水下目标数量估计方法及相关装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination