JP4579828B2 - 動物の特性を動的に記録および分析するための方法およびシステム - Google Patents

動物の特性を動的に記録および分析するための方法およびシステム Download PDF

Info

Publication number
JP4579828B2
JP4579828B2 JP2005510038A JP2005510038A JP4579828B2 JP 4579828 B2 JP4579828 B2 JP 4579828B2 JP 2005510038 A JP2005510038 A JP 2005510038A JP 2005510038 A JP2005510038 A JP 2005510038A JP 4579828 B2 JP4579828 B2 JP 4579828B2
Authority
JP
Japan
Prior art keywords
limb
examined
current
limbs
average
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2005510038A
Other languages
English (en)
Other versions
JP2006512095A5 (ja
JP2006512095A (ja
Inventor
タスチ,ウリ
ラージコンダワール,パリマル・ジィ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Maryland at Baltimore County UMBC
Original Assignee
University of Maryland at Baltimore County UMBC
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 University of Maryland at Baltimore County UMBC filed Critical University of Maryland at Baltimore County UMBC
Publication of JP2006512095A publication Critical patent/JP2006512095A/ja
Publication of JP2006512095A5 publication Critical patent/JP2006512095A5/ja
Application granted granted Critical
Publication of JP4579828B2 publication Critical patent/JP4579828B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • A01K29/00Other apparatus for animal husbandry
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01LSHOEING OF ANIMALS
    • A01L15/00Apparatus or use of substances for the care of hoofs
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/1036Measuring load distribution, e.g. podologic studies
    • A61B5/1038Measuring plantar pressure during gait
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L5/00Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
    • G01L5/22Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes for measuring the force applied to control members, e.g. control members of vehicles, triggers
    • G01L5/225Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes for measuring the force applied to control members, e.g. control members of vehicles, triggers to foot actuated controls, e.g. brake pedals
    • 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
    • G06V40/25Recognition of walking or running movements, e.g. gait recognition
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2503/00Evaluating a particular growth phase or type of persons or animals
    • A61B2503/40Animals

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Environmental Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Wood Science & Technology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Pathology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Animal Husbandry (AREA)
  • Dentistry (AREA)
  • Zoology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Theoretical Computer Science (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

関連出願
この出願は、2003年5月29日に出願された米国仮出願第60/473,886号と、2002年12月23日に出願された米国仮出願第60/435,320号との優先権を主張する。
この出願は一般に、この明細書において引用により援用される米国特許出願連続番号第09/827,311号に関連するが、その優先権は主張しない。
背景情報
この開示は、動物の特性を動的に記録および分析するための新規の方法およびシステムに関し、動物の特性には、以下のものに限定されないが、直接的にまたは導出により測定データから、およびその分析から得られる動物の重量または動物の生体力学的もしくは生物測定学的データ(たとえば、1つ以上の活動(直立、歩行、トロット等)中における肢の偏位、速度、加速度および/または力)が含まれる。動的な記録および分析により、動物、特に、以下のものに限定されないが、乳用牛、非乳用牛、豚、および羊等の家畜を含む四足動物について問題となる特性を求めることができる。
米国において酪農は重要な産業であり、全世界の多数の国では農業の主部門となっている。牛の、蹄および下肢の疾患により生じる跛行は、酪農家にとって費用のかさむ問題である。跛行により、医療の必要性、牛乳生産量の低下、結果として体調の低下、および繁殖性能の低下を生じ、動物の社会的状況に悪影響を及ぼす。跛行は、乳用家畜にとって、乳腺炎および低受胎に続き、経済的な観点から最も費用のかさむ問題の第3位であることが報告されている。跛行にかかる平均的な費用は、1件につき412ドルであると報告されており、米国国内における年間発生率は15%である。したがって、跛行による年間の経済損失は、米国の900万頭を超える牛に対して5億7千万ドルを上回る。これらの損失は、酪農に著しく損害を与え、牛産業全体に著しい悪影響を及ぼす。したがって、乳用家畜における跛行は、全世界の酪農産業にとって決定的な経済的要素であり、かつ、動物福祉上の極めて重要な問題である。
栄養状態、細菌性および真菌性感染症、細菌内毒素、環境状態、住居、床面、給餌の管理、ならびに牛の行動を含む病因論的要因が、跛行の一因である。この発明およびその他の発明により、米国特許出願連続番号第09/827,311号「重量および歩様を分析するための方法および装置(Method and Device for Analyzing Weight and Walking Gait)」に開示され、現在、ウィスコンシン州マディソン(Madison)のボーマチック社(Bou-Matic, LLC)が販売する有望な反力検出(Reaction Force Detection(RFD))が開発されるまで、蹄および下肢の疾患の早期検出は、大部分が、重篤な段階または後期の跛行を農業従事者が目視観測することによるものであった。このような後期になってからでは、効果の得られる介入であっても、対処により多くの費用がかかり、牛またはその他の家畜を速やかに日常生活に戻すことは不可能であるため、農業従事者には費用が倍増する。したがって、当該技術では、蹄および下肢の問題の早期検出を可能にし、かつ、獣医師による迅速な医療介助により経済的損失を減らし、動物が受ける苦痛を減らし、動物の回復過程を速めることのできる方法および装置が必要とされる。また、乳用家畜における跛行の発生率を下げるように設計された管理プログラムの科学的検査を可能にする早期検出システムもまた必要とされる。
しかしながら、上述の反力検出(RFD)、および米国特許出願(連続番号第09/827,311号)「重量および歩様を分析するための方法および装置」における関連の開示により著しい進歩が得られたにもかかわらず、以下のものに限定されないがたとえば、直接的にまたは導出により測定データから得られる肢の偏位、速度、加速度および/または力(生体力学的データ等)を含む動物の特性の抽出、ならびにその分析には、依然として改良が必要とされる。
体重は、酪農産業にとって効果的な管理パラメータとなる、もう1つの動物の特徴であり(マルツ(Maltz)他、1997年)、中規模および大規模農場では通り抜け式の計量装置(パイパー(Peiper)他、1993年)の使用が増えている。定置された計量装置を乳用家畜が歩いて通過する際に、家畜を操作して個別化し、一頭毎の動物の重量が記録されるようにしなければならない。牛は家畜型の動物であるため、この個別化は、操作上の課題を提起する。この課題は、市販されていることにより入手可能な2つの解決策、すなわち、(i)空気圧で作動する入口および出口ゲート、ならびに(ii)イスラエル(Israel)のS.A.E.アフィキム(Afikim)(www.afimilk.co.il等を参照)により製造されたもの等の、動物自体が作動させる受動型S字ゲートにより、現在対処されている。
しかしながら、計量システムおよびRFDシステムがいずれも、動物を個別化するための手段を使用することから、動物の通行の流れを中断して減速させ、動物の管理者に対してさらなる作業を課す。したがって、重量または力の検出等のために、現行のシステムが現在行なうほど動物の通行の流れを妨げずに動物を個別化することのできる手段が必要とされる。
開示の概要
この開示は、以下のものに限定されないが、直接的または導出により測定データから、およびその分析から得られた動物の重量または動物の生体力学的もしくは生物測定学的データ(1つ以上の活動(直立、歩行、トロット等)中における肢の偏位、速度、加速度および/または力)を含む動物の特性の動的な記録および分析を行なうための新規の方法およびシステムに関する。
一局面において、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するために、方法およびコンピュータ読取可能な命令セットが提供される。この局面において、この方法および命令セットは、(a)機器を備え付けた力検知用床部を横切る動物についての位置データおよび地面反力データを含むデータファイルを得るステップと、(b)位置データを、各々が開始時刻および終了時刻を有する複数の時間帯に分割するステップと、(c)該時間帯の各々が、1本の肢または複数の肢のいずれについての位置データまたは地面反力データを示しているかを判定するステップと、(d)帰納法等により、複数の肢の時間帯を複数の別個の1本の肢の時間帯に個別化するステップと、(e)各時間帯内の各肢を、前肢または後肢、および左肢または右肢として識別するステップと、(f)識別した前肢および後肢の各々を、動物のそれぞれ1頭に関連付けるステップとを含む。
これに従い、動物の通行の流れを物理的に妨げるのではなくソフトウェアを介して動物を個別化することのできるコンピュータベースの手段が、この明細書で提示される。一局面において、個別化は帰納法により実施される。すなわち、一度に1頭の牛がn頭の牛からなる群から分離されて、1頭の牛と、結果的に得られる新規の群内の(n-1)頭の牛とが得られる。これは、j回繰返される反復プロセスであり、そのたびごとに1頭の牛と(n-j)頭の牛からなる群とが得られる。このプロセスは、(n-j)=1まで繰返される。帰納法によ
る個別化により、検出プレートシステムまたは検出現場を一斉に横切って進み得るどのような数の牛をも分離することができ、この分離は、ハードウェアの制約(すなわちメモリおよびCPUの制約)によってのみ制約を受ける。
開示されたこの個別化技術により、たとえばRFDを一斉に通行するn頭の牛の一群に関する肢の動作の変数(LMV)は、N個のファイルに記録される。これらのファイルの各々は、1頭の動物のLMVを含む。開示されたこの個別化技術は、従来の物理的な個別化技術とは異なって障壁を用いない。この障壁は、測定領域を一度に1頭の動物にのみ制限して、所定の牛(nx)のデータが、このような牛に対応するデータファイルに直接割当てられるようにする。その代わりに、開示されたこの個別化技術は、ソフトウェアベースの演算に依存して、n頭の動物のうちの1頭以上が測定領域内に同時に存在しているか否かを判定し、データファイル(この例では、動物の数nよりも少ない数のデータファイルを含むファイルのサブセット)のうちの1つに存在するLMVを、測定領域内に同時に存在する検出動物(nx, ny等)に対応する多数の別個のファイルに抽出する。
この発明のさらに別の利点および他の特徴の或る部分は以下の説明に明示され、或る部分は、当業者が以下の説明を吟味することにより明らかになるか、またはこの発明を実施することにより認識され得る。この発明の利点は、前掲の請求項に具体的に指摘されるように実現かつ獲得され得る。
詳細な説明
この発明の概念に従った使用に有利にも適合される反力装置(Reaction Force Device)(RFD)100が、図1(a)〜図1(c)に示される。このRFDは、動物の歩様に関する重量および力を含む変数を測定するように構成される。以下に論じるように、および、この明細書においてその全体が引用により援用される、テイシュ(Tasch)他への上述の米国特許出願連続番号第09/827,311号「重量および歩様を分析するための方法および装置」に論じられるように、動物がRFDシステムを通過して、機器を備え付けたプレート上に踏み出すと、動物の肢の反力、重量、肢の反力の左右対称性、および他の要素を求めることができる。
複数の動物の移動を容易にするために、ここに開示する概念では、動物の移動に対する妨害(物理的な個別化等)は有利にも行なわれない。側壁(115等)が動物の横方向の動きを制約し、それによって動物にプレートおよび間仕切り125上を歩かせ、高さに応じて左脚を左プレート130上に、右脚を右プレート120上に置くように促すか、または強制する。このことは、ここに開示する概念と組合せて用いられる装置にとって、より有利である。
一局面において、RFDの床部は、図1(a)〜図1(c)に示すように、平行な左右の部分またはプレート130および120を含み得、これらのプレートは任意に、左プレートと右プレートとの間の位置から上方に突出する間仕切りまたは仕切り125により隔てられる。構成により、動物がRFDを1回通過する間に動物の肢の4本すべてについて地面反力(GRF)を測定することができる限り、プレートのサイズおよび数を変化させてよい。
図1(c)の例に示すように、各プレート130および120は、それぞれのプレート130および120の4つの角部に隣接して配置された4つのロードセル150のアレイにより支持されている。RFDは、プレート130および120の上、下、または隣接してさまざまな位置および配列で配置された、それよりも多くのまたはそれよりも少ないロードセル150を含んでよい。ロードセル150は、動物が各プレート上に踏み出すのに
伴って生じるGRFを測定する。RFDシステム100は、これらのGRFを測定し、それぞれの床部のプレート130および120上に加えられた重量の位置を計算する。図1(c)に示すように、プレート130および120の各々は、(XL, YL)および(XR, YR)により規定される別個の座標系を含む。ここで、(XL,R, YL,R)=(0 cm, 0 cm)は、プレート130および120の各々の最も内側の角部に任意に位置付けられる。使用する軸の好ましい配向において、Xは、プレートの外側に向かう方向が正であり、Yは、プレートの後ろまたは後部の方向が正であり、Zは、上方向が正である。
したがって、プレート130および120に印加される力の位置は、図1(a)〜図1(c)に示す左右の座標系(XL, YLおよびXR, YR)により規定される。1本の肢(すなわち蹄または脚)がプレート130および120上にあるとき、RFDシステム100は、その肢の位置を計算する。2本以上の脚が床部のプレート130および120に接触しているとき、RFDシステム100は、以下に論じるように、等価の力または結果的に得られる力の位置を計算する。牛を含む適用例に関し、上述の米国特許出願連続番号第09/827,311号「重量および歩様を分析するための方法および装置」のテイシュ他は、GRFが実質的に垂直方向のものであり、これらの垂直方向のGRFの差に基づいて、跛行または跛行の発症によるGRFの変動の測定が可能になることを明らかにした。
ロードセル150の出力は、たとえば以下のものに限定されないが、外部の8チャネル歪みゲージモジュール(アイオテック社(Iotech)のDBK43A等)から信号を受信するA/Dボード(アイオテック社のDaqBookモデル200等)などの従来の任意のデータ収集装置に出力され、このデータ収集装置により分析され得る。これらの8つのチャネルは読出され、必要であれば処理され(たとえば増幅され)、サンプリングされたデータは、従来の形態の従来のコンピュータ読取可能な記憶装置に記憶される。サンプリングおよび/または記憶されたデータは、任意に、通信インターフェイスまたはネットワークリンクを介して、たとえばこれらのものに限定されないが、遠隔のコンピュータ、遠隔の記憶装置のローカルネットワーク、ホスト、ISP、またはサーバ等の外部のシステムに出力され得る。サンプリングレートは自由に変化させることができるが、当業者に公知であるように、ナイキスト(Nyquist)速度よりも高い速度に維持されるべきである。
耳のタグまたは首輪に組込まれたもの等の、動物に取付けられたトランスポンダ装置(無線周波識別装置(RFID)等)を用いて、動物の速度を計算することができる。当業者に公知であるように、トランスポンダは、トランスポンダから何らかのデータ、たとえば識別コードもしくは測定値を返すか、または実質的に時間遅延のない状態で質問器から受信した信号の本来の特性を返すことにより、質問器から受信した問合せ要求に応答することでその機能を果たし、それにより、飛行時間に基づいた測距を可能にする。たとえば、ベースユニットまたは質問器は、指定された周波数(22Hz等)でエネルギパルス(高強度赤外線パルス等)を問合せ要求として放射することができ、これによりトランスポンダは、データを運ぶ搬送波(超音波パルス等)をベースユニットに放射して返す。ベースユニットは次に、公知の態様で出力パルス(赤外線パルス等)の放射と入来パルス(超音波パルス等)の到着との時間差を測定することができる。基準フレームを規定するための複数のベース(定置センサ)および全地球位置測定システムを含むより高度なシステムもまた、有利にも使用することができる。
便宜上、ここに開示する、動物の特性を動的に記録および分析するための方法およびシステムは、この明細書において、略記「Softseparator」の使用と称される、このような概念の一局面を特に強調して説明する。「Softseparator」は、さらなる処理のために動物のデータを個別化するように適合された、コンピュータ実行可能なコードまたは命令セットを表わす。
一局面において、Softseparatorは、RFDシステムが生成した2つの入力データファイル、すなわち、識別ファイル(YYMMDDxxx.ID)およびアナログファイル(YYMMDDxxx.ANA)を用いる。YYMMDDxxx.IDファイルは、データが記録された時刻と、日付および稼動中のファイル番号(xxx)と、牛のトランスポンダの番号と、対応する牛の番号とを記録する(表1参照)。繰返される稼動中のファイル数(YYMMDDxxx)を数えることにより、各ファイル内の牛の記録数(n)を得ることができる。図2(表1)に挙げるサンプルについて、ファイル020527020は、2頭の牛199および1027(n=2)の記録を含み、ファイル020527021は、4頭の牛961、217、980、および1026(n=4)の記録を含み、ファイル020527022は、3頭の牛991、213、および885(n=3)の記録を含む。各アナログファイルの記録数(n)が一旦求められると、Softseparatorは、帰納法により、対応するYYMMDDxxx.ANAファイルをn個のアナログファイルに変換する。変換されたファイルの各々は、以下の章で論じるように、1頭の動物のLMVを含む。
YYMMDDxxx.ANAに記録されたLMVに基づき、米国特許出願連続番号第09/827,311号「重量および歩様を分析するための方法および装置」のテイシュ他において論じられた手順に従い、Yの位置、地面反力(GRF)、および体重のプロットが生成される。図3は、ファイル020527020.ANAに記録されたデータに関して生成されたプロットを示す。TimeZones関数により、各蹄/床部の接触の開始時刻(TStart)および終了時刻(TEnd)が求められる。図4は、右プレートの蹄/床部の接触に関して記録されたTimeZones1、2、および3を示す(図3参照)。これらの3つのTimeZonesの開始時刻および終了時刻はそれぞれ、TSTART=1.81(TimeZone_1)、2.85(TimeZone_2)、および4.76(TimeZone_3)と、TEND=2.74(TimeZone_1)、4.65(TimeZone_2)、および7.57(TimeZone_3)とである。
個々のTimeZonesを識別した後に、LimbZoneStatistics関数が呼出され、図5(表2)に規定される13個の統計学的パラメータが各LimbZoneに関して評価される。列挙したパラメータから明らかなように、7個のパラメータがYの位置の統計値を評価し、5個のパラメータがGRFの統計値を評価する。これらの12個の(Yの位置およびGRFの)パラメータに基づき、Softseparatorは、各別個のLimbZoneにおける肢の数(J_Limb)を求める。図4に示す3つのLimbZonesの統計学的パラメータを図6(表3)に挙げる。TimeZone_1は1本の肢を反映し、TimeZone_2およびTimeZone_3は2本および3本の肢をそれぞれ反映する。
成体の乳用牛に関し、現行の寸法のRFDは、1列に歩く2頭の牛に満たない長さに対応する。このことは、左または右のRFDの床部に同時に接触する肢の最大数を3に制限する。したがって、任意の所定のLimbZoneにおける1、2、および3本の肢の接触に対応することにより、考え得る限りの妥当な、交差しないすべての歩行に対処することができる。交差する歩行は現時点で考慮されない。しかしながら、この明細書に開示する原理をこの開示に従って適宜拡大縮小および/または変更して、1列に歩く3頭以上の牛または他の動物を許容する寸法を有するRFDに対応することができる。
任意の所定のLimbZone(J_Limb)において床部に接触する肢の数は、以下の事例の1つが選択されることを規定する。
事例1:J_Limb=1である場合、SoftSeparator(登録商標)は、LimbSequence関数を呼出し、所定のLimbZoneが1本の前肢(F)または後肢(H)のいずれに関連しているかを判定する。
事例2:J_Limb=2である場合、SoftSeparator(登録商標)は、TwoLimbSeparation関数を呼出し、このLimbZoneは2つの分離された1本の肢の領域に分割される。次に、LimbSe
quence関数を用いて、分離した肢の領域を前肢(F)または後肢(H)のいずれかに関連付ける。
事例3:J_Limb=3である場合、ThreeLimbSeparation関数を作動させ、このLimbZoneを3つの1本の肢の領域に分離する。この後、前肢および後肢をそれぞれFおよびHと指定するLimbSequence呼出が続く。
図6(表3)において、TimeZone_1は、1本の肢の領域であると識別され、LimbSequence関数は、それを前肢(F)と指定する。第2のTimeZoneは2本の肢の領域(J_Limb=2)であるため、TwoLimbSeparation関数は、それを2つの1本の肢の領域に変換する(図7(c)参照)。図7(a)〜(c)は、分離前のTimeZone_2(図4参照)のYの位置およびGRFのプロットが、参照番号(a)および(b)によりそれぞれ表わされていることを示す。TwoLimbSeparation関数は、2本の肢の領域を2つの1本の肢の領域に分離する。別個の領域についてのGRFのプロットを図7(c)に示す。2つの分離された時間帯(TimeZone_21およびTimeZone_22)のLimbZoneStatisticsが評価され、LimbSequence関数は、TimeZone_21およびTimeZone_22において床部に接触する肢がそれぞれ、後肢(H)および前肢(F)であると判定する(図8(表4)参照)。
肢の順序がF、H、およびFであることを識別した後に(図8(表4)参照)、NewCowCheckを作動させて、この肢の順序が1頭の牛または2頭の牛のいずれのものであるかを判定する。動物は逆行して歩かないという前提が存在するため、後肢(H)の後ろに前肢(F)が続く場合、この前肢(F)は、新規の異なる動物のものであると仮定される。
したがって、TimeZone_1および_21は第1の動物(この場合では牛199)のものであり、LimbZones_22および_3は、他の(n-1)頭の牛のものである。この場合n=2であることから、後者の2本の肢は、歩行する第2の牛(牛1027、図8(表4)参照)のものである。
この反復的アルゴリズムを左右両方の床部に適用し、その結果、図3に示すLMVの記録は、2つの個々のファイルに分離され得る。そのYの位置、GRF、および体重を図9(a)および図9(b)に示す。図9(a)および図9(b)がそれぞれ、牛199および1027の2つの分離されたLMVの記録におけるYの位置、GRF、および体重のプロットを示すことに注目されたい。体重のプロットが、分離が成功したことを反映する2本、4本、および2本の肢の重量を反映することに注目されたい。牛の分離が成功したことにより、図9(a)および図9(b)に示すように、2本の(前)肢、4本の(前および後)肢、および2本の(後)肢の計量の順序を反映する体重のプロットが生じる。
所定のLimbZoneのJ_Limbが3である場合、ThreeLimbSeparation関数を作動させ、図10(c)に示すように、LMVの記録を3つの1本の肢の領域に分離する。TwoLimbSeparationの手順と同様に、この場合のSoftSeparatorは、肢の領域の統計値を計算し、肢の順序を求め、新規の牛の記録を識別する。
さらに、上述の内容に加え、SoftSeparatorを3頭および4頭の牛からなる2つの群に適用した。3頭の牛の群の記録およびそれを個々のファイルに分離したものを図11(a)〜図11(d)に示す。4頭の牛の群の記録を図12(a)〜図12(e)に示す。これらの3頭の牛および4頭の牛の群における体重のプロットは、2本、4本、および2本の肢の重量を反映し、動物の分離が成功したことを示す。
したがって、SoftSeparatorは、いくつかの群となって反力検出システムを通行する動物のLMVの記録を、個々の動物の複数の記録に分離する。このようなアルゴリズムまたは実行可能な符号化により、動物の通行の速度を遅らせるゲートまたは他の物理的な障壁
が必要ではなくなる。上述の例示的な事例研究は、SoftSeparatorが2、3、および4頭の牛からなる群に対して作動することと、帰納法により、この明細書における概念を拡張して、どのような大きさの動物の群にも対応できることとを示す。
一局面において、このシステムは、時間に対してYの位置、GRF、および体重をプロットする。体重のプロットは、動物の記録の分離が成功したことの測定単位として用いられ得る。1頭の分離された動物の体重のプロットは、2本、4本、および2本の肢の重量の順序を反映する。このパターンからの逸脱はいずれも、2頭以上の動物のLMVの記録、または換言すると、動物の分離が成功しなかったことに関連する。
以下の開示内容では、MATLAB(登録商標)を前提とした例示的な符号化およびコマンドの特定の要素を広範囲に参照する。MATLAB(登録商標)は、効率のよいデータの収集および分析、ならびに数学的な計算と視覚化との統合を可能にし、かつ、機器、ファイル、外部のデータベースおよびプログラム(C,C++、Fortran、およびJava(登録商標)で記述された外部ルーチン等)からデータへの高速アクセスおよびデータの導入を可能にする工学用途および科学用途向けの従来の環境である。以下に明示する例ではMATLAB(登録商標)が使用されているが、開示された概念に従い、従来の他の符号化言語もまた、有利にも使用することができる。
図13は、この明細書に開示する概念のSoftseparatorの実施例に従った論理演算(すなわちフローチャート)の非限定的な例である。ファイル名および変数名はいずれも任意であり、当業者に公知の態様で自由に変化させることができる。さらに、さまざまなサブルーチン、呼出、およびシーケンスの実行の順序は、当業者の知識に整合する態様で、この発明の概念に従って種々に変化させることができる。
以下の開示を容易にするために、次に、さまざまなSoftSeparatorのサブルーチンの短い概要を提示する。Softseparatorのメインプログラムまたはサブルーチンは、未処理のデータファイルを開き、他の関数を呼出す。xygrfplot.m関数は、肢の配置のXおよびYの位置と、それに関連する地面反力を計算し、それらを時間の関数としてプロットする。TimeZones_LEFTRRIGHT.m関数は、各時間帯の開始時刻および終了時刻を計算する。LimbZoneStatistics.m関数は、各時間帯についてのさまざまなlimbzoneの統計値を計算する。TwoLimbSeparation.m関数は、所定の時間帯に2本の肢が存在する場合、この2本の肢の領域を、各々が1本の肢を有する2つの領域に分離する。LimbZoneStatisticsfortwolimb.m関数は、2本の肢の領域の分離後に、2つの1本の肢の時間帯に関するさまざまな脚の領域の統計値を計算する。ThreeLimbSeparation.m関数は、1つの時間帯に3本の肢が存在する場合、この3本の肢の領域を、1本の肢からなる3つの領域に分離する。LimbSequence_LEFTRIGHT_Check.m関数は、1本脚の領域を前脚または後脚と指定する。NewCow_LEFTRIGHT_Check.m関数は、このデータが同一の牛または異なる新規の牛のいずれのものであるかを検査する。Cows_separation.m関数は、データベースから新規の牛についての未処理のデータを分離する。
I.メインプログラム
図13に示すメインプログラムでは、_.IDファイルを開き、これらのファイルの各々に存在する牛の数nを導出する。サブルーチンは、たとえばMATLAB(登録商標)のtextreadコマンドを用いて_.IDファイルからデータを読出し、そのデータを、charコマンドを用いて文字フォーマットで記憶する。_.IDファイル内の牛の総数は、D_indexという名の変数に格納される。1で始まりD_indexまで進むループが開始され、各ファイルに記録された牛の数が求められる。この牛の数は、_.ID記録に所定のファイル番号が現われる回数を求めることによって得られる。ファイル番号は、一局面において、_.IDファイルの行における3番目の文字である。各ロードセルファイル内の牛の数は、行列「dc」に書き込まれる
次に、p=1から長さ(dc)までのループが開始される。このループでは、ロードセルの記録(filename.ANA)およびフォトセルのデータ(filename.DIG)が開かれる。動物の識別番号が、datetimeという名の変数に記録されたdate_strおよびtime_strとともに読出される。較正要素もまた読出され(0、傾き、およびupdated_zero)、cal_factorsという名の24項目の行列に加え、caliber.DATという名のファイルに記録される。変数char_raw_dataに書き込まれる文字の総数は、lengthコマンドを用いて計算され、このファイルの長さは、変数last_indexに記録される。ファイルloadcell.datが開かれて、i=29から(last_index-3)までのループが開始される。このループでは、未処理のロードセルのデータの文字フォーマットが、8つの列に書き込まれた数字のフォーマットに変換される。この8つの列のデータファイルはloadcell.datと名付けられ、閉じられる。これらのファイルCalibr.datおよびloadcell.datは、コードを実行する1台のプロセッサまたは複数のプロセッサのRAMにロードされ、ロードセルの未処理のデータ値は、以下の関係を用いる適切な重量単位(lb単位等)に変換される。
LCi=ロードセル*傾き+0 (1)
LCiは、第1列に時間記録(秒単位)を、第2〜第9列にロードセルの値(lb)記録する行列である。
メインプログラムは、関数cows_separationを呼出す。この関数への入力が複数の牛のデータである場合、この関数は、cowseparation変数が1頭の動物のデータしか含まなくなるまで第1の牛を分離することにより、残りの牛のロードセルの未処理の値を別個のcowseparation変数に返す。cowseparationが1頭の動物のデータしか含まなくなると、メインプログラムのループは終了する。
II. TimeZones_LEFTRIGHT
以下の変数、すなわち、Yの位置(LEFTRIGHT_Y)および対応するGRFの値(LEFTRIGHT_GRF)は、関数TimeZones_LEFTRIGHTに渡される。
MATLABのfind関数は、右肢または左肢のいずれかのYの位置が0よりも大きい指数(LR_Y)のベクトルを返す。LR_Yベクトルの最小値および最大値は、識別されてそれぞれLR_tSおよびLR_tEに記憶される。
Yの位置がゼロよりも大きな指数のベクトル間の差が計算されて、diff_LR_Yに記憶される(たとえばLR_Y=find(LEFTRIGHT_Y>0)に関して、LR_tS=min(LR_Y)およびLR_tE=max(LR_Y)。差のベクトルが1よりも大きく、かつ、diff_LRYという名の変数に記憶される(たとえば(diff_LRY=find(diff_LR_Y>1))指数を識別するために、find関数をここでもまた用いる。次にサブルーチンは、1本の肢のみが右側または左側に存在する第1の事例(事例1)と、3本以上の肢が右側または左側に存在する第2の事例(事例2)と、2本の肢が右側または左側に存在する第3の事例(事例3)を含むループを実行する。
事例1に関して、ベクトルdiff_LR_Yの長さがゼロ(たとえば、If(length(diff_LR_Y)==0))である場合、検査されたYの位置は継続される。LR_tSがLRt(1)に記憶され、LR_tEがLRt(2)に記憶される。LRt(x)は、肢の領域内の肢を表わすベクトル変数である。この場合、LRt(1)およびLRt(2)は、左側または右側のいずれかにある1本の肢のみを反映する。
事例2の場合、「elseif」ループが実行される。diff_LRYの長さが1よりも大きい場合、i=0から(length(diff_LRY)-2)までのループが開始される。LRt(1)はLR_tSに等しいと
定義され、LRt(2)は、LR_Yの最小値にdiff_LRY((1)-1)を加えたものに等しい。LRY(1)は、LRYベクトルの最初の数字である。LRt(2*i+3)は、LRt(2*i+2)に(diff_LR_Y(diff_LRY(i+1)を加えたものに等しいと定義される。また、LRt(2*i+4)は、LRt(2*i+3)に(diff_LRY(i+2)-diff_LRY(i+1))-1)を加えたものに等しいと定義され、この時点においてループは終了し、このループの指数iが1だけインクリメントされる(i=i+1)。次に、LRt(2*i+3)は、LRt(2*i+2)にdiff_LR_Y(diff_LRY(i+1))を加えたものに等しいと定義され、LRt(2*i+4)は、LR_tEに等しくなるようセットされる。
事例3に関し、elseループが実行される。LRt(1)がmin(LR_Y)に等しいと定義された場合、LRt(2)は(min(LR_Y)+diff_LRY(1)-1)に等しいと定義され、LRt(3)は(LRt(2)+diff_LR_Y(diff_LRY(1)))に等しいと定義され、LRt(4)はLR_tEに等しいと定義される。
上述のサブルーチンの一例として、2つの肢の領域が存在しかつその中に3本以上の肢が示されている場合、計算は、少なくとも1つの共通解を有する処理を有するループ内にとどまる。この例において、第1の肢の領域は指数5に始まり10で終了し、第2の肢の領域は指数15に始まり20で終了する。LR_Yベクトル(Y>0の場合)は、5 6 7 8 9 10 15 16 17 18 19 20 25 26 27 28 29 30として規定される。このサンプルのベクトルから、LR_tS=5(min(LR_Y))およびLR_tE=30(max(LR_Y))である。Diff_LR_Y、すなわち指数の差(Y>0の場合)は、1 1 1 1 1 5 1 1 1 1 1 5を生じる。次に、Diff_LRY(diff_LR_Y>1の指数)は、6 12を生じる。異なる時間帯に対する時間の割当については、LRt(1)=LR_tSおよびLRt(2)=LR_tS+diff_LRY((1)-1)であり、これは、(5+6-1)すなわち10である。上述のように、LRt(2*i+3)=LRt(2*i+2)+(diff_LR_Y(diff_LRY(i+1)))である。また、LRt(2*i+4)=LRt(2*i+3)+(diff_LRY(i+2)-(diff_LRY(i+1))-1)である。i=0である場合、LRt(3)は、LRt(2)+(diff_LR_Y(diff_LRY(1)))=10+(diff_LR_Y(6))=10+5=15に等しい。LRt(4)=LRt(3)+(diff_LRY(2)-diff_LRY(1))-1)=15+(12-6-1)=20である。ループは、(n-2)個の時間帯にわたって継続する。最後の2つの時間帯には、i=i+1を用いて時間が割当てられ、ここでは、LRt(2*i+3)=LRt(2*i+2)+(diff_LR_Y(diff_LRY(i+1))およびLRt(2*i+4)=LR_tEである。
上述のループが終了した後、別のiiループが開始される。このループに関し、iは0で始まり、length(LRt)/2-1)まで進む。time11はLRt(2*i+1)に等しいと定義され、time22は、LRt(2*i+2)に等しいと定義される。(time22-time11)が10よりも大きい場合、LimbZoneStatisticsが呼出され、結果的に得られる値がLimbZoneStatsに記憶される。LimbZoneStatsは、LimbZoneStatistics(LEFTRIGHT_Y,LEFTRIGHT_GRF,time11,time22)にセットされる。この時点で、ifおよびforループが終了し、limbZoneの開始時刻および終了時刻がTimeZonesLEFTRIGHTに記憶される。
III. Cows_Separation.m サブルーチン
cows_Separationサブルーチンでは、ミリ秒を単位とした時間の値(time_ms)、左右の肢のXおよびY座標(X_LEFT,Y_LEFT,X_RIGHT,およびY_RIGHT)、左右のプレートに関する、Y軸についてのモーメントの値(ADD_LEFT,ADD_RIGHT)、左右のプレートに関する地面反力(GRF)(GRF_LEFT,GRF_RIGHT)、時間に対する重量の関数(WEIGHT)、ならびに記録された重量の最大値(max_weight)が記録される。これらの値はすべて、XYGRFPlotという名の関数により計算され、それらの値は、変数XYGRF_LEFT_RIGHTに記録される。ファイルY_POS.datが開かれ、記憶されたデータが変数Y_POSに読出される。Y_POSは、5個の列を有する行列であり、割当てられた値は以下の通りである。すなわち、(1列目で始まり5列目まで)time_ms、LEFT_Y、LEFT_GRF、RIGHT_Y、およびRIGHT_GRFである。
次に、関数TimeZones_LEFTRIGHTが、LEFT_YおよびLEFT_GRFの値により呼出される。この関数は、左プレートの検査された時間帯の開始時刻および終了時刻(それぞれL_tS、およびL_tEと記す)の値を返す。
LEFTRIGHT_LIMB_STATS.datという名のデータファイルに記録されたデータは、L_Limbsという名の変数としてロードされ記憶される。カウンタを有し、yyという名のループは、1で始まって、左プレート上を通った肢の総数の合計(L_Limbs(12,;)の累積総計(cumsum))まで進む。NewCow_TimeOnLeft>0である場合、yyループは終了する。
次のいくつかの「ifステートメント」は、プログラムがこのコードを通過するのが始めてであるかどうかを確認する。初回の確認は、それ以外の確認とは異なる。プログラムは、検査された時間帯が1本の肢のデータを含む(L_Limbs(12,:)==1)かどうか、およびFHL_Limb==0)を通過するのが始めてであるか否かを確認する。これらの2つの条件が満たされた場合、検査した肢は前肢であり、FHL_Limbは1にセットされる。
検査された時間帯が2本の肢のデータを含み(L_Limb(12,;)==2)、(FHL_Limb==0)を初めて通過する場合、関数TwoLimbSeparationを作動させて、2本の肢のGRFの軌跡(signature)を1本の肢の2つのGRFの軌跡に分解する。これらの軌跡は、L_Limbs変数に書き込まれる。この時点で、関数LimbSequence_LEFTRIGHT_Checkを作動させ、この関数がTRUE(10の値)を返した場合、ループは終了する。そうでない場合、LimbSequence_LEFTRIGHTから返された値が変数LimbSequenceCheckおよびFHL_Limbに記録される。
検査された時間帯が3本の肢のデータを含み(L_limb(12,;)==3)、(FHL_Limb==0)を初めて通過し、Yの位置の最大の傾きの時間が、Yの位置の最小の傾きが生じた時間よりも小さい(L_Limbs(5,;)<L_Limbs(7,;))場合、関数ThreeLimbSeparationCase1を作動させ、3本の肢のGRFの軌跡を1本の肢の3つのGRFの軌跡に分解する。これらの軌跡は、L_Limbs変数に書き込まれる。この時点で関数LimbSequence_LEFTRIGHT_Checkを作動させ、この関数がTRUE(10の値)を返す場合、このループは終了する。そうでない場合、LimbSequence_LEFTRIGHTから返された値は、変数LimbSequenceCheckおよびFHL_Limbに記録される。
検査された時間帯が3本の肢のデータを含み(L_Limb(12,;)==3)、(FHL_Limb==0)を初めて通過し、Yの位置の最大の傾きの時間が、Yの位置の最小の傾きが生じた時間よりも大きい(L_Limbs(5,;)>L_Limbs(7,:))場合、関数ThreeLimbSeparationCase2を作動させ、3本の肢のGRFの軌跡を1本の肢の3つのGRFの軌跡に分解する。これらの軌跡は、L_Limbs変数に書き込まれる。この時点で関数LimbSequence_LEFTRIGHT_Checkを作動させ、この関数がTRUE(10の値)を返す場合、このループは終了する。そうでない場合、LimbSequence_LEFTRIGHTから返された値は、変数LimbSequenceCheckおよびFHL_Limbに記録される。
そうでない場合、LimbSequence_LEFTRIGHT_Checkを作動させ、LimbSequenceCheckの値が検査されてTRUEであることが分かる(LimbSequenceCheck==10)。ここで、検査した領域は、1本の肢のデータのデータを含み(L_Limbs(12,;)==1)、このプログラムを初めて通過するのではない(FHL_Limb is not 0)が実行される。返されたTRUE値(LimbSequenceCheck=10)はループを終了し、そうでない場合、FHL_Limbが更新されてLimbSequenceCheckの値となる。
或る時間帯のデータが2本の肢を含み(L_Limbs(12,;)==2)、コードを初めて通過するのではない場合(FHL_Limb is not 0)、TwoLimbSeparationを作動させ、2本の肢のGRFの軌跡を1本の肢の2つの軌跡として分解する(L_Limbs=Two_Limb_Separation)。
検査された時間帯が3本の肢のデータを含み(L_Limb(12,;)==3)、Yの位置の最大の傾きの時間が、Yの位置の最小の傾きが生じた時間よりも小さい(L_Limbs(5,;)<L_Limb
s(7,;))場合、ThreeLimbSeparationCase1を作動させ、3本の肢のGRFの軌跡を1本の肢の3つのGRFの軌跡に分解する。これらの軌跡はL_Limbs変数に書き込まれる。
検査された時間帯が3本の肢のデータを含み(L_Limbs(12,;)==3)、Yの位置の最大の傾きの時間が、Yの位置の最小の傾きが生じた時間よりも大きい(L_Limbs(5,;)>L_Limbs(7,;))場合、ThreeLimbSeparationCase2を作動させ、3本の肢のGRFの軌跡を1本の肢の3つのGRFの軌跡に分解する。これらの軌跡はL_Limbs変数に書き込まれる。
関数NewCow_TimeOnLEFTRIGHTを作動させ、左プレート上で新規の牛が識別された時刻がNewCowTimeOnLeftとして記録される。上に列挙したプロセス全体が右のプレートに対して繰返され、新規の牛の記録が右プレート上で識別された時刻が、NewCowTimeOnRightとして記録される。
NewCowTimeOnLeftおよびNewCowTimeOnRightとの間の最大値が識別されて、変数nとして記録される。次に、1頭の牛の左右の側の記録がマージされる。一局面において、最初のn個の記録の、対応するロードセルのデータは、変数名firstcow_rawdataに記憶され、この記録の末尾に20個のゼロのマージンが任意で追加される。newcow_timeOnLeft<newcowtimeOnRightである場合、エントリnewcow_timeOnLEFT+1からnewcow_timeOnRIGHTまで、行列firstcow_rawdataの第1〜第4列(左プレートのロードセル)にゼロが挿入される。newcow_timeOnLeft>newcowtimeOnRightである場合、エントリnewcow_timeOnRIGHT+1からnewcow_timeOnLEFTまで、行列firstcow_rawdataの第5〜第8列(右プレートのロードセル)にゼロが挿入される。この行列newcowloadcellは別個のファイルとして記録され、firstcow_rawdataと名付けられる。記録された変数は、関数XYGRFPlotを用いてモニタにプロットされる。
NewCowTimeOnLeftまたはNewCowTimeOnRightがゼロである場合、変数nextcow_timeonRIGHTおよびnextcow_timeonLEFTがゼロにセットされる。そうでない場合、nextcow_timeonLEFT=NewCowTimeOnLEFT+10である。newcowTimeonLEFTまたはnewcowTimeonRIGHTがゼロである場合、変数nextcow_timeonRIGHTおよびnextcow_timenonLEFTはゼロにセットされる。そうでない場合、nextcow_timeonRIGHT=NewCowTimeOnRight+10である。(nextcow_timeonLEFT<nextcow_timeonRIGHT)である場合、ロードセルの行列は、エントリnextcow_timeonLEFTからエントリnextcow_timeonRIGHT+10まで、第5〜第8列(右プレート)がゼロで埋められる。
(nextcow_timeonLEFT>nextcow_timeonRIGHT)である場合、ロードセルの行列は、エントリnextcow_timeonRIGHTからエントリnextcow_timeonLEFTまで、第1〜第4列がゼロのエントリで埋められる。
newcow_timeonLEFTおよびnewcow_timeonRIGHTがいずれもゼロよりも大きい場合、newcowloadcellという名の行列が、残りの動物のロードセル値(すなわち、エントリn-20で始まる行列ロードセルの8列すべての値)を得る。このnewcowloadcellは、lbに変換されてプロットされる。この時点でcowseparation関数を作動させ、newcowloadcellが1頭の牛のデータしか含まなくなるまでこのプロセスが続く。
IV. TwoLimbSeparation.m サブルーチン
以下の変数、すなわち、肢の統計値(LR_Limbs)、Yの位置(LEFTRIGHT_Y)、GRF(GRF_LEFTRIGHT)、Y軸についてのモーメント(ADD_LEFTRIGHT)、検査した領域のうちのどれが2本の肢の領域であるかを示す整数(kr)、および動物の最大重量(max_weight)が、TwoLimbSeparation関数に渡される。肢の統計値の行および列の数は、LR_Limbs上にMatlabのsize関数を呼出すことにより得られ、それぞれxおよびyに記憶される。
検査した肢の領域の開始時刻にしきい値10を加えたもの((LR_Limbs(10,;)+10)に始まり、この肢の領域の終了時刻からしきい値10を引いたもの((LR_Limbs(11,;)-10)に至るyy1ループが開始される。このループでは、5ユニット幅の稼動中のウインドウとYの位置のベクトルとの差が評価され、この差が3以上である場合にループは崩壊し、ループが最初に生じたときのyy1の値が記録される。
検査した肢の領域の終了時刻からしきい値10を引いたもの((LR_Limbs(11,;)-10)に始まり、この肢の領域の開始時刻にしきい値10を加えたもの((LR_Limbs(10,;)+10)に戻るyy2ループが開始される。このループでは、5ユニット幅の稼動中のウインドウとYの位置のベクトルとの差が評価され、この差の絶対値が3以上である場合にループは崩壊し、ループが最初に生じたときのyy2の値が記録される。
力の境界を求めるために、Ym1には、検査した肢の領域の開始時刻にしきい値10を加えたもの(LR_Limbs(10,;)+10)に始まってyy1に至るYの位置のベクトルの平均値が割当てられる。Ym2には、検査した肢の領域の終了時刻からしきい値10を引いたもの(LR_Limbs(11,;)-10)に始まってyy2に至るYの位置のベクトルの平均値が割当てられる。
検査した肢の領域の開始時刻(LR_Limbs(10,;)から終了時刻(LR_Limbs(11,;)まで、mmループが開始される。2つの平衡連立方程式を解くためにクラマース(Kramer's)の規則が用いられ、2本の肢のGRFの軌跡(GRF_LEFTRIGHT)から、2本の個別化された肢の2つの別個のGRFの軌跡が評価される(GRF_LRFTRIGHT_yy1およびGRF_LRFTRIGHT_yy2)。このような符号化の一例は以下のものを有する。すなわち、LR_Limbs(10,kr):LR_Limbs(11,kr)に等しいmmの場合、D1(mm)はdet([GRF_LEFTRIGHT(mm)1;ADD_LEFTRIGHT(mm)Ym2])に等しく、D2(mm)はdet([1 GRF_LEFTRIGHT(mm);Ym1 ADD_LEFTRIGHT(mm)])に等しく、ここで、Ym1はmean(LEFTRIGHT_Y((LR_Limbs(10,kr)+10):yy1))に等しく、Ym2はmean(LEFTRIGHT_Y((LR_Limbs(11,kr)-10):-1:yy2))に等しい。行列Dはdet([11;Ym1 Ym2])に等しい。これに対応して、分解されたGRF_LEFTRIGHT_yy1はD1./Dに等しく、GRF_LEFTRIGHT_yy2はD2./Dに等しい。
GRF_LEFTRIGHT_yy1が最大であって100よりも大きいときの時間が、LEFTRIGHT_yy1_t1に記録される。GRF_LEFTRIGHT_yy2が最小であって100よりも大きいときの時間が、LEFTRIGHT_yy2_t2に記録される。
肢の領域の統計値をシフトする際に、反転したkkループは、肢の領域の統計値の最大値(y)の列の数で始まり、検査した肢の領域の現時点での指数(kr)において終了する。肢の統計値の行列においてkk番目の検査された列(LR_Limbs(;,kk))は、(kk+1)番目の列にコピーされる。第2の(分離された)肢の開始時刻および終了時刻は、それぞれtime11およびtime22として記録される。分離された第2の肢の領域の肢の統計値が計算されて、LR_Limbs行列における(kr+1)番目の列においてLimbZoneStats変数に記憶される。第1の(分離された)肢の開始時刻および終了時刻は、それぞれtime11およびtime22として記録される。分離された第1の肢の領域の肢の統計値が計算されて、LR_Limbs行列における(kr)番目の列においてLimbZoneStats変数に記憶される。
行列Two_Limb_Separationは更新される。
V. ThreeLimbSeparationCase1.m サブルーチン
以下の変数、すなわち、肢の統計値(LR_Limbs)、Yの位置(LEFTRIGHT_Y)、GRFの行のロードセル値(LEFTRIGHT_GRF)、正規化されたGRF(GRF_LEFTRIGHT)、Y軸についてのモーメント(ADD_LEFTRIGHT)、検査した領域のうちのどれが3本の肢の領域で
あるかを示す整数(kr)、および動物の最大重量(max_weight)が、ThreeLimbSeprationCase1関数に渡される。肢の統計値の行および列の数は、LR_Limbs上にMatlabのsize関数を呼出すことにより得られ、それぞれxおよびyに記憶される。
検査した肢の領域の開始時刻に2のしきい値を加えたもの((LR_Limbs(10,;)+2)において始まり、検査した肢の領域内で最小のyの位置の傾きが生じた時刻から2のしきい値を引いたもの(LR_Limbs(7,;)-2)に至るyy1ループが開始される。このループでは、2ユニット幅の稼動中のウインドウとYの位置のベクトルとの差の絶対値が評価され、この差が2未満である場合にループは崩壊し、ループが最初に生じたときのyy1の値が記録される。
検査した肢の領域内で最小のyの位置の傾きが生じた時刻から2ユニットのしきい値を引いたもの((LR_Limbs(7,;)-2)において始まり、肢の領域の開始時刻に2のしきい値を加えたもの((LR_Limbs(10,;)+2)まで戻るyy2ループが開始される。このループでは、2ユニット幅の稼動中のウインドウとYの位置のベクトルとの差の絶対値が評価され、この絶対値が2未満である場合にループが崩壊し、ループが最初に生じたときのyy2の値が記録される。
力の境界を求めるために、Ym1およびYm2には、時刻yy1およびyy2のそれぞれにおけるYの位置の値が割当てられる。検査した肢の領域の開始時刻(LR_Limbs(10,;)から終了時刻(LR_Limbs(11,;)までmmループが開始される。2つの平衡連立方程式を解くためにクラマースの規則が用いられ、2本の肢のGRFの軌跡(GRF_LEFTRIGHT)から、個別化された2本の肢の2つの別個のGRFの軌跡が評価される(GRF_LRFTRIGHT_yy1およびGRF_LRFTRIGHT_yy2)。GRF_LEFTRIGHT_yy1が最大であり100よりも大きいときの時間がLEFTRIGHT_yy1_t1に記録される。GRF_LEFTRIGHT_yy2が最小であり100よりも大きいときの時間がLEFTRIGHT_yy2_t2に記録される。
肢の領域の統計値をシフトする際に、反転したkkループは、肢の領域の統計値の行列における列の数(y)で始まり、検査した肢の領域の現在の指数(kr)において終了する。肢の統計値の行列においてkk番目の検査された列(LR_Limbs(;,kk))は二度コピーされ、すなわち、一度目は(kk+1)番目の列に、二度目は(kk+2)番目の列にコピーされる。
3本の肢の位置の第1の部分についての肢の領域の統計値を再計算する際に、第1の肢の開始時刻および終了時刻がそれぞれtime11およびtime22として記録される。分離された第1の肢の領域の肢の統計値が計算されて、LR_Limbs行列の(kr)番目の列においてLimbZoneStats変数に記憶される。第3の肢の開始時刻および終了時刻はそれぞれ、time11およびtime22として記録される。3本の肢の位置の第2の部分についての肢の領域の統計値を再計算する際に、3本の肢のこの記録における第2の肢の開始時刻および終了時刻はそれぞれ、time11およびtime22である。分離された第2の肢の領域の肢の統計値が計算されて、LR_Limbs行列の(kr+1)番目の列においてLimbZoneStats変数に記憶される。3本の肢の位置の第1の部分についての肢の領域の統計値を再計算する際に、分離された第3の肢の領域の肢の統計値が計算されて、LR_Limbs行列の(kr+2)番目の列においてLimbZoneStats変数に記憶される。
行列Three_Limb_Separationは更新される。
VI. ThreeLimbSeparationCase2.mサブルーチン
以下の変数、すなわち、肢の統計値(LR_Limbs)、Yの位置(LEFTRIGHT_Y)、GRFの行のロードセル値(LEFTRIGHT_GRF)、正規化されたGRF(GRF_LEFTRIGHT)、Y軸についてのモーメント(ADD_LEFTRIGHT)、検査した領域のうちのどれが3本の肢の領域で
あるかを示す整数(kr)、および動物の最大重量(max_weight)がThreeLimbSeprationCase2関数に渡される。肢の統計値の行および列の数は、LR_Limbs上にMatlabのsize関数を呼出すことにより得られ、それらの数はそれぞれxおよびyに記憶される。
最小のyの位置の傾きが生じる時刻に2のしきい値を加えたもの((LR_Limbs(7,;)+2)に始まり、肢の領域の終了時刻から2のしきい値を引いたもの(LR_Limbs(11,;)-2)に至る、検査した肢の領域において開始する、yy1ループが開始される。このループでは、2ユニット幅の稼動中のウインドウとYの位置のベクトルとの差の絶対値が評価され、この絶対値が2未満である場合にループが崩壊し、ループが最初に生じたときのyy1の値が記録される。
検査した肢の領域の終了時刻から2ユニットのしきい値を引いたもの((LR_Limbs(11,;)-2)に始まり、最小のyの位置の傾きが生じた時刻に2のしきい値を加えたもの((LR_Limbs(7,;)+2)に戻るyy2ループが開始される。このループでは、2ユニット幅の稼動中のウインドウとYの位置のベクトルとの差の絶対値が評価され、この値が2未満である場合にこのループが崩壊し、このループが最初に生じたときのyy2の値が記録される。
力の境界を求めるために、Ym1およびYm2には、それぞれ時刻yy1およびyy2におけるYの位置の値が割当てられる。検査した肢の領域の開始時刻(LR_Limbs(10,;)から終了時刻(LR_Limbs(11,;)までmmループが開始される。2つの平衡連立方程式を解くためにクラマースの規則が用いられ、2本の肢のGRFの軌跡(GRF_LEFTRIGHT)から、個別化された2本の肢の2つの別個のGRFの軌跡が評価される(GRF_LRFTRIGHT_yy1およびGRF_LRFTRIGHT_yy2)。GRF_LEFTRIGHT_yy1が最大であり100よりも大きいときの時間がLEFTRIGHT_yy1_t1に記録される。GRF_LEFTRIGHT_yy2が最小であり100よりも大きいときの時間がLEFTRIGHT_yy2_t2に記録される。
肢の領域の統計値をシフトする際に、反転したkkループは、肢の領域の統計値の行列の列の数(y)において始まり、検査した肢の領域の現在の指数(kr)において終了する。肢の統計値の行列においてkk番目の検査された列(LR_Limbs(;,kk))が二度コピーされ、すなわち、一度は(kk+1)番目の列に、二度目は(kk+2)番目の列にコピーされる。3本の肢のこの記録における第2の肢の開始時刻および終了時刻はそれぞれ、time11およびtime22である。
分離された第1の肢の領域の肢の統計値が計算され、LR_Limbs行列の(kr)番目の列においてLimbZoneStats変数に記憶される。第1の肢の開始時刻および終了時刻はそれぞれ、time11およびtime22として記録される。分離された第3の肢の領域の肢の統計値が計算され、LR_Limbs行列の(kr+2)番目の列においてLimbZoneStats変数に記憶される。第3肢の開始時刻および終了時刻はそれぞれ、time11およびtime22として記録される。分離された第2の肢の領域の肢の統計値が計算されて、LR_Limbs行列の(kr+1)番目の列においてLimbZoneStats変数に記憶される。
行列Three_Limb_Separationは更新される。
VII. LimbZoneStatistics.mサブルーチン
以下の変数、すなわち、Y_positionのベクトル(LIMB_Y1)、検査した肢についてのGRFベクトル(LIMB_GRF1)、検査した肢の領域の開始時刻および終了時刻(それぞれtime1およびtime2)が、関数LimbZoneStatisticsに渡される。
次に、この関数の内部にある変数が初期化される。これらの変数は、max_Rt_slope=-1000000、min_Rt_slope=1000000、pos_delta_slope_counter=0、neg_delta_slope_counter=
0、delta_grfslope_counter=0、time_min_slope=1000000、およびtime_max_slope=-1000000を含む。(time2-time1)>30である場合、平均のYの位置の値(Y_mean)、最大のYの位置の値(Y_max)、および最小のYの位置の値(Y_min)が計算される。これらの計算では、Yの位置のベクトルのマージンしきい値が10にセットされる。
次に、(time1+10)および(time2-10)との間における地面反力(GRF)の最大値またはピークおよび平均値が求められ、それぞれRGRF_maxおよびR_AGRFに記憶される。R_AGRFはまず、RCUMGRF=(cumsum(LIMB_GRF1((time1+10):(time2-10))))を規定することによって求められ、ここでは、R_IMPULSE=maxRCUMGRF)*0.01およびR_stancetime=(abs((time1+10)-(time2-10)))*0.01である。次に、R_AGRFが(R_IMPULSE)/(R_STANCETIME)の比にセットされる。
最大および最小の傾きならびにそれぞれの時刻を計算するために、(time1+10)から稼動して(time2-20)に至るループjを開始し、Yの位置の値の、10の幅を有する稼動中のウインドウの傾き(Rt_slope)を計算する。傾きの最小値および最大値ならびにこれらの最小値および最大値が生じる時刻(それぞれmin_Rt_slope、time_min_slope、max_Rt_slope、およびtime_max_slope)が計算される。
(Rt_slope>2)である場合、pos_delta_slope_counterは1ユニットだけインクリメントされる。(Rt_slope<-2)である場合、neg_delta_slope_counterは1ユニットだけインクリメントされる。
time1に始まり(time2-2)に至るjjjjループを開始する。このループでは、2ユニット幅の稼動中のウインドウについてGRFの傾きが計算される。連続する2つのGRFの傾きの値の積が負である場合、delta_grfslope_counterの値は1だけインクリメントされる。
time2およびtime1との差が30未満である場合、平均のYの位置の値(Y_mean)、最大のYの位置の値(Y_max)、および最小のYの位置の値(Y_min)が、5のマージンしきい値で計算される。たとえば、Y_meanは、abs(mean(LIMB_Y1(((time1+5):(time2-5))))として計算される。
肢の領域についてのGRFの最大値またはピークおよび平均が次に、(time1+5)と(time2-5)との間で計算され、それぞれRGRF_maxおよびR_AGRFに記憶される。R_AGRFの計算は、上述の計算と同様である。
次に、最大および最小の傾きならびにそれぞれの時刻を求める。(time1+5)から(time2-10)に至るjループは、Yの位置の値の、5の幅を有する稼動中のウインドウの傾き(Rt_slope)を計算する。傾きの最小値および最大値ならびにこれらの最小値および最大値が生じる時刻(それぞれmin_Rt_slope、time_min_slope、max_Rt_slope、およびtime_max_slope)が計算される。
(Rt_slope>2)である場合、pos_delta_slope_counterが1ユニットだけインクリメントされる。(Rt_slope<-2)である場合、neg_delta_slope_counterは1ユニットだけインクリメントされる。
time1に始まり(time2-2)に至るjjjjループが開始される。このループでは、GRFの傾きが、2ユニット幅を有する稼動中のウインドウについて計算される。たとえば、Rt_GRFslope(jjjj)=(((LIMB_GRF1(jjjj+2)−LIMB_GRF1(jjjj))))である。連続する2つのGRFの傾きの値の積が負である場合、delta_grfslope_counterの値は1だけインクリメントされる。
以下の「if-else」ステートメントでは、検査したlimbzoneが1つ、2つ、または3つのlimbzoneのいずれであるかをコードが判定する。
以下の条件セットのいずれかが満たされた場合、その領域内の肢の数は1である。この条件セットは、(IRt_Limb=1):((Y_max-Y_min)<6かつ(Y_mean-Y_min)<6かつmax_Rt_slope<5かつmin_Rt_slope>-5))、((delta_grfslope_counter=1)かつmax_Rt_slope<5)かつ(min_Rt_slope>-5))、((delta_grfslope_counter=1)かつ(max_Rt_slope>=5)かつ((time_max_slope-time1)<20)かつ(min_Rt_slope>-5))、((delta_grfslope_counter=1)かつ(max_Rt_slope>=5)かつ((time2-time_max_slope)<20)かつ(min_Rt_slope>-5))、((delta_grfslope_counter=1)かつ(min_Rt_slope<=-5)かつ((time2-time_min_slope<20)かつ(max_Rt_slope<5))、((delta_grfslope_counter=1)かつ(min_Rt_slope<=-5)および((time_min_slope-time1)<20)かつ(max_Rt_slope<5)))である。
((Y_max-Y_mean<6)かつ(Y_mean-Y_min<6)かつ(pos_delta_slope_counter<0.09*(time2-time1))かつ(neg_delta_slope_counter<0.09*(time2-time1)))の場合、この領域内の肢の数は1である(IRt_Limb=1)。
((Y_max-Y_mean>6)かつ(Y_mean-Y_min>6)かつ(max_Rt_slope>5)かつ(min_Rt_slope<-5)かつ(pos_delta_slope_counter>0.09*(time2-time1))かつ(neg_delta_slope_counter>0.09*(time2-time1)))の場合、この領域内の肢の数は3である(IRt_Limb=3)。
それ以外の場合、肢の数は2である(IRt_Limb=2)。
LimbZoneStatsベクトルは、Y_mean、Y_max、Y_min、abs(max_Rt_slope)、time_max_slope、min_Rt_slope、time_min_slope、RGRF_max、R_AGRF、time1、time2、IRt_Limb、pos_delta_slope_counter、neg_delta_slope_counter、IRt_Limb、およびdelta_grfslope_counterの計算された値により更新される。
VIII. LimbZoneStatisticsfortwolimb1.mサブルーチン
Y_positionのベクトル(Limb_Y1)、検査した肢についてのGRFのベクトル(LIMB_GRF1)、2本の肢の場合に分離された肢についてのY_position(Ym)、検査した肢の領域の開始時刻および終了時刻(それぞれtime1およびtime2)の変数が関数LimbZoneStatisticsfortwolimb1に渡される。この関数の内部の変数は初期化される。
(time1+10)と(time2-10)との間のGRFのピークおよび平均が計算されて、それぞれRGRF_maxおよびR_AGRFに記憶される。
(time1+10)から稼動して(time2-20)に至るループjが開始され、Yの位置の値の、10の幅を有する稼動中のウインドウの傾き(Rt_slope)が計算される。傾きの最小値および最大値ならびにこれらの最小値および最大値が生じる時刻(それぞれ、min_Rt_slope、time_min_slope、max_Rt_slope、およびtime_max_slope)が計算される。
(Rt_slope>2)である場合、pos_delta_slope_counterは1ユニットだけインクリメントされる。(Rt_slope<-2)である場合、neg_delta_slope_counterは1ユニットだけインクリメントされる。
time1に始まり(time2-2)に至るjjjjループが開始される。このループでは、GRFの傾きが、2ユニット幅を有する稼動中のウインドウについて計算される。連続する2つのGRFの傾きの値の積が負である場合、delta_grfslope_counterの値は1だけインクリメン
トされる。
time2とtime1との差が30未満である場合、平均のYの位置の値(Y_mean)、最大のYの位置の値(Y_max)、および最小のYの位置の値(Y_min)が5のマージンしきい値で計算される。
(time1+5)と(time2-5)との間の地面反力(GRF)のピークおよび平均が計算され、それぞれRGRF_maxおよびR_AGRFに記憶される。
(time1+5)から稼動して(time2-10)に至るループjが開始され、Yの位置の値の、5の幅を有する稼動中のウインドウの傾き(Rt_slope)が計算される。傾きの最小値および最大値ならびにこれらの最小値および最大値が生じる時刻(それぞれmin_Rt_slope、time_min_slope、max_Rt_slope、およびtime_max_slope)が計算される。
(Rt_slope>2)である場合、pos_delta_slope_counterが1ユニットだけインクリメントされる。(Rt_slope<-2)である場合、neg_delta_slope_counterは1ユニットだけインクリメントされる。
time1に始まり(time2-2)に至るjjjjループが開始される。このループでは、2ユニット幅を有する稼動中のウインドウについてのGRFの傾きが計算され、連続する2つのGRFの傾きの値の積が負である場合、delta_grfslope_counterの値は1だけインクリメントされる。
ルーチンの最後に肢が分離され、検査した肢の領域が1本の肢の領域であることと、変数IRt_Limbに値1が割当てられること(IRt_Limb=1)とが確実となる。
LimbZoneStatsベクトルは、Y_mean、Y_max、Y_min、abs(max_Rt_slope)、time_max_slope、min_Rt_slope、time_min_slope、RGRF_max、R_AGRF、time1、time2、IRt_Limb、pos_delta_slope_counter、neg_delta_slope_counter、IRt_TwoLlimb、およびdelte_grfslope_counterの計算された値で更新される。
IX. NewCow_LEFTRIGHT_Check.mサブルーチン
以下の変数、すなわち、前/後肢の順序(FHLR_Limb(前肢に対して1、後肢に対して−1、肢がプレートの前端部(前端部から5インチ以内)にある場合は100、肢がプレートの後端部(端部から5インチ以内)にある場合は−100)、および肢の領域の統計値の行列(LR_Limbs)が、関数NewCow_LEFTRIGHT_Checkに渡される。このサブルーチンの内部の変数は初期化される。
1から(行列FHLR_Limbの長さ-1)までループiiが開始される。
以下の条件セットのいずれか1つが満たされる場合、検査した肢の領域は新規の牛に属する(New_Cow_LEFTRIGHT=1)。すなわち、(1)現在の肢の1つ前の肢が後肢であり(FHLR_Limb(ii)=-1)、現在の肢が前肢であり(FHLR_Limb(ii+1)=1)、現在の肢の前の肢の平均のY_positionが、現在の肢の平均のYの位置よりも大きい(LR_Limbs(1,ii)>LR_Limbs(1,(ii+1)))、(2)現在の肢の前の肢が後肢であり(FHLR_Limb(ii)=-1)、現在の肢が前肢であり(FHLR_Limb(ii+1)=1)、現在の肢の開始時刻と現在の肢の1つ前の肢の終了時刻との差が0.5秒よりも大きい(LR_Limbs(10,(ii+1))-LR_Limbs(11,(ii))>50)、(3)検査した領域内の肢の数が1であり(LR_Limbs(12,(ii+1))=1)、現在の肢の前の肢がプレートの開始部分から5インチ以内にあり(FHLR_Limb(ii)=100)、現在の肢の前の肢の平均のY_Positionと現在の肢の平均のYの位置との差が15よりも大きい(
LR_Limbs(1,(ii)))-(LR_Limbs(1,(ii+1))))>15)、(4)現在の肢の前の肢が後肢であり(FHLR_Limb(ii)=-1)、現在の肢がプレートの前端部から1インチ以内にあり(FHLR_Limb(ii+1)=-100)、現在の肢の前の肢の平均のY_positionが、現在の肢の平均のY_Positionよりも大きい(LR_Limbs(1,ii)>LR_Limbs(1,(ii+1))場合である。
新規の牛の開始時刻がNewCow_TimeOnLEFTRIGHTに記録される。
X. LimbSequence_LEFTRIGHT_Check.mサブルーチン
関数LimbSequence_LEFTRIGHT_Checkに渡される変数は、前/後肢の順序(FHLR_Limb(前肢に対して1、後肢に対して−1、肢がプレートの前端部(前端部から1インチ以内)にある場合は−100、肢がプレートの後端部(端部から6インチ以内)にある場合は100)、肢の領域の統計値の行列(LR_Limbs)、および検査した肢の領域の稼動中の指数(kkr)を含む。このサブルーチンの内部の変数は初期化される。
このサブルーチンは、以下に述べるように、検査したlimbzoneが前肢のものであるか後肢のものであるかを識別し、4つの異なる事例のいずれが適用可能であるかを判定する。
「Case 0」と記されたサブルーチンでは、以下の条件が評価される。検査したlimbzoneが1本の肢のものであり(LR_Limbs(12,kkr)=1)、それがこのシーケンス内で検査された最初の肢である(FHLR_Limb=0)場合、この肢は前肢であり、FHLR_Limb(kkr)には1の値が割当てられる。検査した肢の領域が1本の肢のものであり(LR_Limbs(12,kkr)=1)、平均のY_positionがプレートの端部から72インチを上回る(LR_Limbs(1,kkr)>72)場合、FHLR_Limb(kkr)には100の値が割当てられる(FHLR_Limb(kkr)=100)。検査した肢の領域が1本の肢のものであり((LR_Limbs(12,kkr)=1)、平均のY_positionがプレートの前端部から1インチ未満である(LR_Limbs(1,kkr)<1)場合、FHLRには−100の値が割当てられる(FHLR_Limb(kkr)=-100)。
「Case 1」と記されたサブルーチンでは、以下のさらなる条件が評価される。(1)検査したlimbzoneが1本の肢のものであり(LR_Limbs(12,kkr)=1)、検査した肢の前の肢が前肢であり(FHLR_Limb(kkr-1)=1)、検査した肢の前の肢がプレートの端部上に存在せず(FHLR_Limb(kkr-1)〜=100)、検査した肢の前の肢がプレートの開始部分に存在せず(FHLR_Limb(kkr-1)〜=(-100))、前の肢のAGRFが、検査した肢のAGRF*1.04以上であり(LR_Limbs(9,(kkr-1))>=(LR_Limbs(9,(kkr))*1.04))、以前の肢の領域と現在の肢の領域との平均のY_positionの差が5未満である((LR_Limbs(1,kkr)-LR_Limbs(1,(kkr-1)))<5))、(2)検査したlimbzoneが1本の肢の領域であり(LR_Limbs(12,kkr)=1)、検査した肢の前の肢が前肢であり(FHLR_Limb(kkr-1)=1)、以前の肢の領域と現在の肢の領域との平均のY_Positionの差が10未満である((LR_Limbs(1,kkr)-LR_Limbs(1,(kkr-1)))<10))、(3)検査したlimbzoneが1本の肢のものであり(LR_Limbs(12,kkr)=1)、検査した肢の前の肢が前肢であり(FHLR_Limb(kkr-1)=1)、以前の肢のPGRFが現在の肢のPGRF*1.15よりも大きい(LR_Limbs(8,(kkr-1))-LR_Limbs(8,(kkr)))>0.15*(LR_Limbs(8,(kkr))、(4)検査したlimbzoneが1本の肢の領域であり(LR_Limbs(12,kkr)=1)、検査した肢の前の肢が前肢であり(FHLR_Limb(kkr-1)=1)、現在の領域のGRFの傾きのカウンタが3よりも大きい(LR_Limbs(16,kkr)>=3)場合、検査した肢は後肢である(FHLR_Limb(kkr)=-1)。
「Case 2」と記されたサブルーチンでは、以下のさらなる条件が評価される。検査したlimbzoneが1本の肢のものであり(LR_Limbs(12,kkr)=1)、検査した肢の前の肢が前肢であり(FHLR_Limb(kkr-1)=1)、検査した肢の前の肢がプレートの端部上に存在せず(FHLR_Limb(kkr-1)〜=100)、検査した肢の前の肢がプレートの開始部分上に存在せず(FHLR_Limb(kkr-1)〜=(-100))、以前の肢の領域と現在の肢の領域との平均のY_Positionの差が
5以上である((LR_Limbs(1,kkr)-LR_Limbs(1,(kkr-1)))>=5))場合、検査したlimbzoneは前肢である。
「Case 3」と記されたサブルーチンでは、以下のさらなる条件が評価される。(1)検査したlimbzoneが1本の肢のものであり(LR_Limbs(12,kkr)=1)、検査した肢の前の肢が後肢であり(FHLR_Limb(kkr-1)=0)、検査した肢の前の肢がプレートの端部上に存在せず(FHLR_Limb(kkr-1)〜=100)、検査した肢の前の肢がプレートの開始部分上に存在せず(FHLR_Limb(kkr-1)〜=(-100))、以前の肢のAGRFが、検査した肢のAGRF*1.05よりも大きく(LR_Limbs(9,(kkr-1))>(LR_Limbs(9,(kkr))*1.05))、以前の肢の領域と現在の肢の領域との平均のY_Positionの差が0以下である((LR_Limbs(1,kkr)-LR_Limbs(1,(kkr-1)))=<0))、(2)検査したlimbzoneが1本の肢のものであり(LR_Limbs(12,kkr)=1)、検査した肢の前の肢が後肢であり(FHLR_Limb(kkr-1)=0)、以前の肢のAGRFが、現在の肢のAGRF*1.02よりも大きく(LR_Limbs(9,(kkr-1))>(LR_Limbs(9,(kkr))*1.02))、現在の肢と以前の肢との平均のY_positionの差が−15以下である(LR_Limbs(1,kkr)-LR_Limbs(1,kkr-1)<=-15)、(3)検査したlimbzoneが1本の肢のものであり(LR_Limbs(12,kkr)=1)、検査した肢の前の肢が後肢であり(FHLR_Limb(kkr-1)=0)、以前の肢のAGRFが、現在の肢のAGRF*1.1よりも大きい(LR_Limbs(9,(kkr-1))>(LR_Limbs(9,(kkr))*1.1))、(4)検査したlimbzoneが1本の肢のものであり(LR_Limbs(12,kkr)=1)、検査した肢の前の肢が後肢であり(FHLR_Limb(kkr-1)=0)、以前の肢のPGRFが、現在の肢のPGRF*1.1よりも大きい(LR_Limbs(8,(kkr-1))>(LR_Limbs(8,(kkr))*1.1))場合、検査した肢の領域は前肢である(FHLR_Limb(kkr)=1)。
「Case 4」と記されたサブルーチンでは、以下のさらなる条件が評価される。(1)検査したlimbzoneが1本の肢のものであり(LR_Limbs(12,kkr)=1)、検査した肢の前の肢が後肢であり(FHLR_Limb(kkr-1)=0)、検査した肢の前の肢がプレートの端部上に存在せず(FHLR_Limb(kkr-1)〜=100)、検査した肢の前の肢がプレートの開始部分上に存在せず(FHLR_Limb(kkr-1)〜=(-100))、以前の肢のAGRFが、検査した肢のAGRF*1.05以下であり(LR_Limbs(9,(kkr-1))<=(LR_Limbs(9,(kkr))*1.05))、以前の肢の領域と現在の肢の領域との平均のY_Positionの差が0よりも大きい((LR_Limbs(1,kkr)-LR_Limbs(1,(kkr-1)))>0))、(2)検査したlimbzoneが1本の肢のものであり(LR_Limbs(12,kkr)=1)、検査した肢の前の肢が後肢であり(FHLR_Limb(kkr-1)=0)、以前の肢のAGRFが、現在の肢のAGRF*1.05以上であり(LR_Limbs(9,(kkr-1))>=(LR_Limbs(9,(kkr))*1.05))、現在の肢と以前の肢との平均のY_positionの差が40以上である(LR_Limbs(1,kkr)-LR_Limbs(1,kkr-1)>=-40)、(3)検査したlimbzoneが1本の肢の領域であり(LR_Limbs(12,kkr)=1)、検査した肢の前の肢が後肢であり(FHLR_Limb(kkr-1)=0)、現在の肢と以前の肢との平均のY_Positionの差が40以上である(LR_Limbs(1,kkr)-LR_Limbs(1,kkr-1)>=40)場合、検査した肢は後肢である(FHLR_Limb(kkr)=-1)。
この肢の順序は、NewCow_LEFTRIGHT_Check関数に渡される。この関数は、この順序が2頭の牛または1頭の牛のいずれに属するかを確認する。1頭の牛である場合には何も行なわれず、そうでない場合、変数LimbSequenceCheckには10の値が割当てられ、ループは終了する。
XI. XYGRFPlot.mサブルーチン
任意の作図用サブルーチンでは、以下の変数、すなわち、時刻(time_ms)、lbを単位とするロードセルのデータ(LC1,LC2,…,LC8)、牛の数(cow_num_str)、日付(date_str)、時刻(time_str)が、関数XYGRFPlotに渡される。
動物の重量は、8個のロードセルを合計し、重量ベクトルの最大値を取ることによって計算される。時間に対する重量がプロットされる。ここで、時間ベクトルの大きさは、le
ngthコマンドを用いて求められる。
右プレートに関し、Y軸についてのモーメントが計算されてADD_RIGHTとして記憶される。右プレート上の力の合計は、GRF_RIGHTとして記憶される。
1から時間ベクトルの長さまでのループiが開始される。GRF_RIGHT>30である場合、Xの位置が計算され、X_RIGHT1として記憶される。そうでない場合、X_RIGHT1=0である。
右プレートに関してX軸についてのモーメントが計算され、ADD_RIGHTとして記憶される。右プレート上の力の合計はGRF_RIGHTとして記憶される。
1から時間ベクトルの長さまでのループiが開始される。GRF_RIGHT>30である場合、Yの位置が計算され、Y_RIGHT1として記憶される。そうでない場合、Y_RIGHT1=0である。
右プレートに対する力の合計が計算され、重量ベクトルの最大重量により除算される。この変数は、NGRF_RIGHTとして記憶される。
1から時間ベクトルの長さまでのループiが開始される。NGRF_RIGHT<0である場合、NGRF_RIGHT=0である。
右プレート上の肢に関するX_Position、Y_Position、および正規化されたGRFを計算するための上述の手順は、左プレートに対しても繰返される。
これらの計算された変数は、subplotコマンドを用いて時間の関数としてプロットされ、XYGRF_LEFTRIGHT行列に記憶される。
上に開示した概念は、たとえば、情報を通信するためのバスまたは他の通信機構、バスに結合されて情報を処理するための1台または複数のプロセッサ、および、バスに結合されてプロセッサにより実行されるべき命令および情報を記憶するためのメインメモリ、たとえばランダムアクセスメモリ(RAM)または他の動的記憶装置を含む任意の従来のコンピュータシステムと組合せて用いることができる。メインメモリは、1台または複数のプロセッサにより実行されるべき命令が実行されている間に、一時的数値変数または他の中間情報を記憶するために用いられ得る。このようなコンピュータシステムはさらに、バスに結合されて1台または複数のプロセッサに対する命令および静的情報を格納する読出専用メモリ(ROM)または他の静的記憶装置を含み得る。磁気ディスクまたは光学ディスク等の記憶装置を設けてバスに結合し、情報および命令を記憶することができる。
コンピュータシステムは、コンピュータのユーザに情報を表示するための表示装置にバスを介して結合され得る。1つ以上の入力装置(キーボード、タッチスクリーン、カーソル制御、マウス、トラックボール、カーソル方向キー、マイクロフォン等)をバスに結合し、情報およびコマンド選択を1台または複数のプロセッサに通信することができる。
コンピュータシステムは、さまざまなデータ入力手段により得られたデータを処理する。関連するプログラムおよび実行可能なコードまたは命令セットが好ましくはメインメモリに含まれ、1台または複数のプロセッサに応答して選択的にアクセスおよび実行される。1台または複数のプロセッサは、メインメモリに含まれる1つ以上の命令の1つ以上のシーケンスを実行する。このような命令は、記憶装置等の別のコンピュータ読取可能な媒体からメインメモリに読出され得る。多重処理の構成に置かれた1台以上のプロセッサを用いて、メインメモリ内に含まれる命令のシーケンスを実行することもできる。
これらの命令は、任意の数の形態で、たとえばソースコード、アセンブリコード、オブジェクトコード、機械言語、上述のコードの圧縮バージョンまたは暗号化バージョン、およびそれらのあらゆる等価物の形で提供され得る。「コンピュータ読取可能な媒体」は、1台または複数のプロセッサに命令を提供して実行することに関与する任意の媒体を指し、「プログラムプロダクト」は、コンピュータ実行可能なプログラムを有するこのようなコンピュータ読取可能な媒体を指す。コンピュータ使用可能な媒体は、命令を「有する」ものと呼ぶことができ、命令は、命令がコンピュータ使用可能な媒体に関連付けられるすべての態様を包含する。
コンピュータ読取可能な媒体は、以下のものに限定されないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む。不揮発性媒体には、たとえば、光学ディスクまたは磁気ディスク、たとえば記憶装置が含まれる。揮発性媒体には、メインメモリ等の動的メモリが含まれる。伝送媒体には、同軸ケーブル、銅線、および光ファイバが含まれ、バスを含むワイヤが含まれる。伝送媒体は、音波または光波、たとえば電波(RF)および赤外線(IR)データ通信中に生成されるものを含み得る。コンピュータ読取可能な媒体の一般的な形態には、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD−ROM、DVD、他の任意の光学媒体、パンチカード、紙テープ、孔のパターンを有する他の任意の物理的媒体、RAM、PROM、EPROM、FLASH−EPROM、他の任意のメモリチップもしくはカートリッジ、後述する搬送波、またはコンピュータが読出すことのできる他の任意の媒体が含まれる。
さまざまな形態のコンピュータ読取可能な媒体は、1つ以上の命令の1つ以上のシーケンスをプロセッサに搬送して実行することに関与し得る。たとえば、命令はまず、遠隔のコンピュータの磁気ディスク上で保持され得る。遠隔のコンピュータは、その動的メモリにこれらの命令をロードして、モデムを用いる電話回線経由で送信することができる。コンピュータシステムにローカルなモデムは、電話回線上のデータを受信して、赤外線送信機を用いてそのデータを赤外線信号に変換することができる。バスに結合された赤外線検出器は赤外線信号で運ばれるデータを受信して、そのデータをバス上に出力することができる。バスはこのデータをメインメモリに運び、このメインメモリから、プロセッサが命令を取出して実行する。メインメモリが受信した命令は、プロセッサによる実行の前または後のいずれかに記憶装置に任意に記憶され得る。
コンピュータシステムはまた、バスに結合されて、ローカルネットワークに接続されたネットワークリンクへの双方向データ通信結合を提供する通信インターフェイスも含み得る。たとえば、通信インターフェイスは、対応する種類の電話回線にデータ通信接続を提供するための統合サービスデジタル網(ISDN)カードまたはモデムであり得る。別の例として、通信インターフェイスは、互換性を有するLANにデータ通信接続を提供するためのローカルエリアネットワーク(LAN)カードであり得る。また、無線リンクも実現することができる。このようなあらゆる実現例において、通信インターフェイスは、さまざまな種類の情報を表わすデジタルデータストリームを運ぶ電気信号、電磁信号、または光学信号を送受信する。
ネットワークリンクは一般に、1つ以上のネットワーク経由で他のデータ装置にデータ通信を提供する。たとえば、ネットワークリンクは、ローカルネットワークを介した接続を、ホストコンピュータに提供するか、またはインターネットサービスプロバイダ(Internet Service Provider)(ISP)が作動させるデータ装置に提供することができる。それにより、ISPは、ワールドワイドパケットデータ通信ネットワーク、現在では「インターネット(Internet)」と一般に呼ばれるものを介してデータ通信サービスを提供する。ローカルネットワークおよびインターネットはいずれも、デジタルデータストリーム
を運ぶ電気信号、電磁信号、または光学信号を用いる。さまざまなネットワークを経由する信号、ネットワークリンク上の信号、および通信インターフェイスを経由する信号は、コンピュータシステムとの間でデジタルデータをやり取りするものであり、情報を運ぶ搬送波の例示的な形態である。したがって、この明細書において例示として記載される発明の方法が必要とする処理は、記憶装置を用いるローカルコンピュータ上で実施され得、または、たとえばLANもしくはインターネットを介して実施され得る。
コンピュータシステムは、1つまたは複数のネットワーク、ネットワークリンク、および通信インターフェイス経由でメッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例において、サーバは、インターネット、ISP、ローカルネットワーク、および通信インターフェイス経由でアプリケーションプログラム用に要求されたコードを送信することができる。受信されたコードはそのまま1台または複数のプロセッサにより実行されてよく、および/または後の実行に備えて記憶装置、または他の不揮発性記憶装置に記憶されてよい。この態様で、コンピュータシステムは、搬送波の形のアプリケーションコードを得ることができる。
この開示は好ましい実際の実施例の説明を明示しているが、この発明が開示された実施例に限定されず、その反対に、前掲の請求項の精神および範囲内に含まれるさまざまな変形例および等価の構成を包含するように意図されることを理解されたい。命令セットは、任意のコンピュータ読取可能な媒体に書込まれ得、該コンピュータ読取可能な媒体を読出すように適合された任意のプロセッサにおいて実行され得る。さらに、上述の命令セットは、例示された牛の例に特に関連するさまざまな物理的変数を考慮する。対象動物(牛等)の物理的な属性および動的な特性は、たとえば前肢と後肢とを区別するためにこの発明に従って用いられ得る一意の情報を提供する。たとえば、前のGRFのピークと後のGRFのピークとの差は約10〜15%であり、後肢のピークは前肢のピークよりも低い。また、後肢の力の軌跡は、2個または3個の谷またはピークを有し、曲線内に2個または3個の変曲点を有するが、その一方で、前肢は一般に1つのピークしか有さない。上述の命令に含まれるこれらのおよび他の要素は、未知の変数の数を減らし、かつ、力の軌跡およびその解釈において表わされる事象の識別を可能にする手段を提供する。他の種類の動物には、同様のまたは異なる要素が固有であることが考えられ、これらの要素をこの発明に従って同じ目的で用いることができる。
したがって、その一例のみがこの明細書に提示されているこの発明は、他の異なる実施例が可能であり、そのいくつかの詳細は、すべてがこの明細書に開示された概念から逸脱することなく種々の明らかな点で変更可能であることを理解されるべきである。添付の図面および説明は本質的に例示と考えられるべきであり、限定と考えられるべきではない。
この明細書に開示する概念と組み合わせて用いることのできる反力検出(RFD)システムの等角図である。 この明細書に開示する概念と組み合わせて用いることのできる反力検出(RFD)システムの側面図である。 この明細書に開示する概念と組み合わせて用いることのできる反力検出(RFD)システムの上面図である。 ここに開示する概念に従った、有用なサンプルの情報ファイルを示す表である。 図2に示す情報ファイルの1つに記録された牛199および1027のYの位置、地面反力(GRF)、および重量のプロットを示す図である。 ここに開示する概念に従った、牛199および1027についての右プレートのYの位置およびGRFに加え、異なるTimeZonesに対するTSTARTおよびTENDの時刻の識別を示す図である。 この概念に従った、Yの位置およびGRFの値に基づいて各TimeZoneに関して評価される統計学的パラメータの定義を有する表である。 図4のデータのプロットについてのLimbZoneStatisticsの数値を示す表であり、ここでは、この概念に従い、TimeZone_1が1本の肢を反映し、TimeZone_2が2本の肢を反映し、TimeZone_3が3本の肢を反映する。 (a)はこの概念に従った、図6の2本肢のTimeZone_2の個別化と、Yの位置のプロットとを示す図であり、(b)はこの概念に従った、図6の2本肢のTimeZone_2の個別化と、GRFのプロットとを示す図であり、(c)はこの概念に従ったTwoLimbSeparation関数を用いた個別化の後の、(b)のGRFのプロットを示す図である。 この概念に従い、TimeZone_2が2本の肢の領域である図6(表3)の例について、TwoLimbSeparation関数を適用してTimeZone_2を2つの別個の時間帯であるTimeZone_21およびTimeZone_22に変換することと、分離した時間帯に関して肢の領域の統計値を計算することと、LimbSequenceを割当てることとを示す図である。 この概念に従った、上述の牛199についての分離された記録または個別化された記録に対し、Yの位置、GRF、および体重のプロットを示す図である。 この概念に従った、上述の牛1027についての分離された記録または個別化された記録に対し、Yの位置、GRF、および体重のプロットを示す図である。 ThreeLimbSeparation関数による分離前の、図4に示すTimeZone_3のYの位置を示す図である。 ThreeLimbSeparation関数による分離前の、図4に示すTimeZone_3のGRFのプロットを示す図である。 この概念に従ったThreeLimbSeparation関数による分離後の、3つの一本の肢の領域についてのGRFのプロットを示す図である。 3頭の牛(991,213,885)の記録を、各々が1頭の牛を有する3つの記録に分離することを示す図であり、3頭の牛の記録を示す図である。 3頭の牛(991,213,885)の記録を、各々が1頭の牛を有する3つの記録に分離することを示す図であり、牛991のYの位置、GRF、および重量のプロットを示す図である。 3頭の牛(991,213,885)の記録を、各々が1頭の牛を有する3つの記録に分離することを示す図であり、牛213のYの位置、GRF、および重量のプロットを示す図である。 3頭の牛(991,213,885)の記録を、各々が1頭の牛を有する3つの記録に分離することを示す図であり、牛885のYの位置、GRF、および重量のプロットを示す図である。 4頭の牛(961,217,980,1026)の記録を、各々が1頭の牛を有する4つの記録に分離することを示す図であり、4頭の牛の記録を示す図である。 4頭の牛(961,217,980,1026)の記録を、各々が1頭の牛を有する4つの記録に分離することを示す図であり、牛961のYの位置、GRF、および重量のプロットを示す図である。 4頭の牛(961,217,980,1026)の記録を、各々が1頭の牛を有する4つの記録に分離することを示す図であり、牛217のYの位置、GRF、および重量のプロットを示す図である。 4頭の牛(961,217,980,1026)の記録を、各々が1頭の牛を有する4つの記録に分離することを示す図であり、牛980のYの位置、GRF、および重量のプロットを示す図である。 4頭の牛(961,217,980,1026)の記録を、各々が1頭の牛を有する4つの記録に分離することを示す図であり、牛1026のYの位置、GRF、および重量のプロットを示す図である。 ここに開示する概念に従った論理的な演算の一例についてのフロー図である。

Claims (16)

  1. 機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための命令を有するコンピュータ読取可能な媒体であって、前記命令は、実行されると1つ以上のプロセッサに、
    (a) 機器を備え付けた力検知用床部を横切る前記複数の動物についての位置データおよび地面反力データを含むデータファイルを得るステップと、
    (b) 前記位置データを、各々が開始時刻および終了時刻を有する複数の時間帯に分割するステップと、
    (c) 前記時間帯の各々が、1本の肢または複数の肢のいずれについての位置データおよび地面反力データを表わすかを判定するステップと、
    (d) 複数の肢の時間帯を複数の別個の1本の肢の時間帯に個別化するステップと、
    (e) 各時間帯内の各肢を、前肢または後肢、および左肢または右肢として識別するステップと、
    (f) 識別した各前肢および後肢を、前記複数の動物のそれぞれ1頭に関連付けるステップとを実行させるように構成される、コンピュータ読取可能な媒体。
  2. ステップ(d)は、帰納法により、複数の肢の時間帯を複数の別個の1本の肢の時間帯に個別化するステップを含む、請求項1に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための命令を有するコンピュータ読取可能な媒体。
  3. 実行されると1つ以上のプロセッサにステップ(e)を実行するように構成される前記命令はさらに、検査した肢の領域が1本の肢のものであり、かつ、データのシーケンスにおいて検査された最初の肢である場合に、検査した肢を前肢と指定し、そして、前記検査した肢の領域が1本の肢を有しており、かつ、平均のYの位置がプレートの端部から72インチよりも離れている場合、または、前記検査した肢の領域が1本の肢を有しており、かつ、平均のYの位置が前記プレートの前端部から1インチ未満である場合に、肢のデータを不定であると指定するように構成される1つ以上の命令を含み、前記Yの位置は、前記プレートに加えられる力の位置を表わすために前記プレートにおいて規定されるX−Y座標系のうちのY座標の値であり、前記Y座標は前記プレートにおける動物の歩行方向に対応する、請求項1に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための命令を有するコンピュータ読取可能な媒体。
  4. 実行されると1つ以上のプロセッサにステップ(e)を実行させるように構成される前記命令はさらに、(1)検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が前肢であり、前記検査した肢の前の肢が前記プレートの端部に隣接せず、前記検査した肢の前の肢が前記プレートの開始部分に隣接せず、以前の肢の平均地面反力が、検査した肢の平均地面反力の1.04倍以上であり、以前の肢の領域と現在の肢の領域との平均のYの位置の差が5インチ未満であること、(2)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が前肢であり、以前の肢の領域と現在の肢の領域との平均のYの位置の差が10インチ未満であること、(3)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が前肢であり、以前の肢の地面反力のピークが現在の肢の地面反力のピークの1.15倍よりも大きいこと、および(4)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が前肢であり、現在の領域の地面反力の傾きのカウンタが3よりも大きいこと、の条件セットのいずれか1つが満たされた場合に、検査した肢を後肢と明確に示すように構成される1つ以上の命令を含む、請求項3に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための命令を有するコンピュータ読取可能な媒体。
  5. 実行されると1つ以上のプロセッサにステップ(e)を実行するように構成される前記命令はさらに、検査した肢の領域が1本の肢のものであり、前記検査した肢の前の肢が前肢であり、前記検査した肢の前の肢が前記プレートの端部に隣接せず、前記検査した肢の前の肢が前記プレートの開始部分に隣接せず、以前の肢の領域と現在の肢の領域との平均のYの位置の差が5インチ以上である場合に、肢のデータを前肢のものと指定するように構成される1つ以上の命令を含む、請求項4に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための命令を有するコンピュータ読取可能な媒体。
  6. 実行されると1つ以上のプロセッサにステップ(e)を実行させるように構成される前記命令はさらに、(1)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、前記検査した肢の前の肢が前記プレートの端部に隣接せず、前記検査した肢の前の肢が前記プレートの開始部分に隣接せず、以前の肢の平均地面反力が、前記検査した肢の平均地面反力の1.05倍よりも大きく、以前の肢の領域と現在の肢の領域との平均のYの位置の差がゼロ以下であること、(2)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、前記以前の肢の平均地面反力が、現在の肢の平均地面反力の1.02倍よりも大きく、現在の肢と以前の肢との平均のYの位置の差が−15インチ以下であること、(3)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、以前の肢の平均地面反力が、現在の肢の平均地面反力の1.1倍よりも大きいこと、および(4)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、前記以前の肢の地面反力のピークが、現在の肢の地面反力のピークの1.1倍よりも大きいこと、の条件セットのいずれか1つが満たされた場合に、検査した肢を前肢と指定するように構成される1つ以上の命令を含む、請求項4に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための命令を有するコンピュータ読取可能な媒体。
  7. 実行されると1つ以上のプロセッサにステップ(e)を実行させるように構成される前記命令はさらに、(1)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、前記検査した肢の前の肢が前記プレートの端部に隣接せず、前記検査した肢の前の肢が前記プレートの開始部分に隣接せず、以前の肢の平均地面反力が、前記検査した肢の平均地面反力の1.05倍以下であり、以前の肢の領域と現在の肢の領域との平均のYの位置の差がゼロよりも大きいこと、(2)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、以前の肢の平均地面反力が、現在の肢の平均地面反力の1.05倍以上であり、現在の肢と以前の肢との平均のYの位置の差が40インチ以上であること、および(3)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、現在の肢と以前の肢との平均のYの位置の差が40インチ以上であること、の条件セットのいずれか1つが満たされた場合に、前記検査した肢を後肢と指定するように構成される1つ以上の命令を含む、請求項4に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための命令を有するコンピュータ読取可能な媒体。
  8. 実行されると1つ以上のプロセッサにステップ(f)を実行させるように構成される前記命令はさらに、(1)現在の肢の1つ前の肢が後肢であり、現在の肢が前肢であり、現在の肢の前の肢の平均のYの位置が、現在の肢の平均のYの位置よりも大きいこと、(2)現在の肢の前の肢が後肢であり、現在の肢が前肢であり、現在の肢の開始時刻と現在の肢の前の肢の終了時刻との差が0.5秒よりも大きいこと、(3)検査した領域内の肢の数が1であり、現在の肢の前の肢が前記プレートの開始部分から5インチ以内にあり、現在の肢の前の肢の平均のYの位置と現在の肢の平均のYの位置との差が15インチよりも大きいこと、および(4)現在の肢の前の肢が後肢であり、現在の肢が前記プレートの前端部から約1インチ以内にあり、現在の肢の前の肢の平均のYの位置が、現在の肢の平均のYの位置よりも大きいこと、の条件セットのいずれか1つが満たされた場合に、検査した肢の領域を新規の牛のものであると指定するように構成される1つ以上の命令を含む、請求項3に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための命令を有するコンピュータ読取可能な媒体。
  9. 機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための方法であって、
    (a) 機器を備え付けた力検知用床部を横切る前記複数の動物についての位置データおよび地面反力データを含むデータファイルを得るステップと、
    (b) 前記位置データを、各々が開始時刻および終了時刻を有する複数の時間帯に分割するステップと、
    (c) 前記時間帯の各々が、1本の肢または複数の肢のいずれについての位置データおよび地面反力データを表わすかを判定するステップと、
    (d) 複数の肢の時間帯を複数の別個の1本の肢の時間帯に個別化するステップと、
    (e) 各時間帯内の各肢を、前肢または後肢および左肢または右肢として識別するステップと、
    (f) 識別した前肢および後肢の各々を、前記複数の動物のそれぞれ1頭に関連付けるステップとを含む、方法。
  10. ステップ(d)は、帰納法により、複数の肢の時間帯を複数の別個の1本の肢の時間帯に個別化するステップを含む、請求項9に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための方法。
  11. ステップ(e)はさらに、検査した肢の領域が1本の肢のものであり、かつ、データのシーケンスにおいて検査された最初の肢である場合に、検査した肢を前肢と指定するステップと、前記検査した肢の領域が1本の肢を有しており、かつ、平均のYの位置が前記プレートの端部から72インチよりも離れている場合、または、前記検査した肢の領域が1本の肢を有しており、かつ、平均のYの位置が前記プレートの前端部から1インチ未満にある場合に、肢のデータを不定と指定するステップを含み、前記Yの位置は、前記プレートに加えられる力の位置を表わすために前記プレートにおいて規定されるX−Y座標系のうちのY座標の値であり、前記Y座標は前記プレートにおける動物の歩行方向に対応する、請求項9に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための方法。
  12. ステップ(e)はさらに、(1)検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が前肢であり、前記検査した肢の前の肢が前記プレートの端部に隣接せず、前記検査した肢の前の肢が前記プレートの開始部分に隣接せず、以前の肢の平均地面反力が、検査した肢の平均地面反力の1.04倍以上であり、以前の肢の領域と現在の肢の領域との平均のYの位置の差が5インチ未満であること、(2)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が前肢であり、以前の肢の領域と現在の肢の領域との平均のYの位置の差が10インチ未満であること、(3)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が前肢であり、以前の肢の地面反力のピークが現在の肢の地面反力のピークの1.15倍よりも大きいこと、および(4)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が前肢であり、現在の領域の地面反力の傾きのカウンタが3よりも大きいこと、の条件セットのいずれか1つが満たされた場合に、検査した肢を後肢と明確に指定するステップを含む、請求項11に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための方法。
  13. ステップ(e)はさらに、検査した肢の領域が1本の肢のものであり、前記検査した肢の前の肢が前肢であり、前記検査した肢の前の肢が前記プレートの端部に隣接せず、前記検査した肢の前の肢が前記プレートの開始部分に隣接せず、以前の肢の領域と現在の肢の領域との平均のYの位置の差が5インチ以上である場合に、肢のデータを前肢のものと指定するステップを含む、請求項12に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための方法。
  14. ステップ(e)はさらに、(1)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、前記検査した肢の前の肢が前記プレートの端部に隣接せず、前記検査した肢の前の肢が前記プレートの開始部分に隣接せず、以前の肢の平均地面反力が、前記検査した肢の平均地面反力の1.05倍よりも大きく、以前の肢の領域と現在の肢の領域との平均のYの位置の差がゼロ以下であること、(2)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、以前の肢の平均地面反力が、現在の肢の平均地面反力の1.02倍よりも大きく、現在の肢と以前の肢との平均のYの位置の差が−15インチ以下であること、(3)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、以前の肢の平均地面反力が、現在の肢の平均地面反力の1.1倍よりも大きいこと、および(4)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、以前の肢の地面反力のピークが現在の肢の地面反力のピークの1.1倍よりも大きいこと、の条件セットのいずれか1つが満たされた場合に、検査した肢を前肢と指定するステップを含む、請求項12に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための方法。
  15. ステップ(e)はさらに、(1)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、前記検査した肢の前の肢が前記プレートの端部に隣接せず、前記検査した肢の前の肢が前記プレートの開始部分に隣接せず、以前の肢の平均地面反力が、前記検査した肢の平均地面反力の1.05倍以下であり、以前の肢の領域と現在の肢の領域との平均のYの位置の差がゼロよりも大きいこと、(2)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、以前の肢の平均地面反力が、現在の肢の平均地面反力の1.05倍以上であり、現在の肢と以前の肢との平均のYの位置の差が40インチ以上であること、および(3)前記検査した肢の領域が1本の肢を有しており、前記検査した肢の前の肢が後肢であり、現在の肢と以前の肢との平均のYの位置の差が40インチ以上であること、の条件セットのいずれか1つが満たされた場合に、前記検査した肢を後肢と指定するステップを含む、請求項12に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための方法。
  16. ステップ(f)はさらに、(1)現在の肢の1つ前の肢が後肢であり、現在の肢が前肢であり、現在の肢の前の肢の平均のYの位置が、現在の肢の平均のYの位置よりも大きいこと、(2)現在の肢の前の肢が後肢であり、現在の肢が前肢であり、現在の肢の開始時刻と現在の肢の前の肢の終了時刻との差が0.5秒よりも大きいこと、(3)検査した領域内の肢の数が1であり、現在の肢の前の肢が前記プレートの開始部分から5インチ以内にあり、現在の肢の前の肢の平均のYの位置と現在の肢の平均のYの位置との差が15インチよりも大きいこと、および(4)現在の肢の前の肢が後肢であり、前記現在の肢が前記プレートの前端部から約1インチ以内にあり、現在の肢の前の肢の平均のYの位置が、現在の肢の平均のYの位置よりも大きいこと、の条件セットのいずれか1つが満たされた場合に、検査した肢の領域を新規の牛のものと指定するステップを含む、請求項11に記載の、機器を備え付けた力検知用床部を横切る複数の動物の肢を個別化するための方法。
JP2005510038A 2002-12-23 2003-12-23 動物の特性を動的に記録および分析するための方法およびシステム Expired - Fee Related JP4579828B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US43532002P 2002-12-23 2002-12-23
US47388603P 2003-05-29 2003-05-29
PCT/US2003/040833 WO2004059620A2 (en) 2002-12-23 2003-12-23 Method and system for dynamic recordation and analysis of animal characteristics

Publications (3)

Publication Number Publication Date
JP2006512095A JP2006512095A (ja) 2006-04-13
JP2006512095A5 JP2006512095A5 (ja) 2007-02-15
JP4579828B2 true JP4579828B2 (ja) 2010-11-10

Family

ID=32685384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005510038A Expired - Fee Related JP4579828B2 (ja) 2002-12-23 2003-12-23 動物の特性を動的に記録および分析するための方法およびシステム

Country Status (8)

Country Link
US (1) US6916295B2 (ja)
EP (1) EP1593118B1 (ja)
JP (1) JP4579828B2 (ja)
AU (1) AU2003303441B2 (ja)
CA (1) CA2511427C (ja)
MX (1) MXPA05006829A (ja)
NZ (1) NZ540829A (ja)
WO (1) WO2004059620A2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7311675B2 (en) * 2003-12-10 2007-12-25 Georgia Tech Research Corporation Systems and methods for mobile activity monitoring
US20070103314A1 (en) * 2004-11-17 2007-05-10 Geissler Randolph K Radio frequency animal tracking system
WO2006055737A2 (en) * 2004-11-17 2006-05-26 Geissler Technologies Corporation Radio frequency animal tracking system
JP4774483B2 (ja) * 2005-02-10 2011-09-14 バイセン株式会社 脚状態診断システムとその診断方法
US7843350B2 (en) * 2007-01-21 2010-11-30 Destron Fearing Corporation Animal management system including radio animal tag and additional tranceiver(s)
JP2008188092A (ja) * 2007-02-01 2008-08-21 Mitsubishi Chemicals Corp データ処理方法,データ処理装置及びデータ処理プログラム
US7978079B2 (en) * 2007-10-12 2011-07-12 Destron Fearing Corporation Electronic tag
GB0813778D0 (en) * 2008-07-28 2008-09-03 Delaval Holding Ab Monitoring animal condition
US9636046B2 (en) * 2009-02-24 2017-05-02 Step Analysis Llc Diagnosis system and method
US9186091B2 (en) 2011-07-11 2015-11-17 Litecure, Llc Systems and methods of analyzing stance of animals
AU2012319199B2 (en) 2011-10-06 2017-06-01 Delaval Holding Ab Method and apparatus for detecting lameness in livestock
US8363891B1 (en) * 2012-03-26 2013-01-29 Southern Methodist University System and method for predicting a force applied to a surface by a body during a movement
WO2014153650A1 (en) * 2013-03-28 2014-10-02 Polyvalor, Limited Partnership Method and system for decomposing superimposed ground reaction forces into individual force profiles
US10304342B2 (en) * 2016-11-08 2019-05-28 Ge Aviation Systems Llc Ground-based data acquisition system
CA3059873A1 (en) * 2017-04-20 2018-10-25 Step Analysis Llc Multidimensional acceleration and/or force gait analysis system for diagnosis
JP7104563B2 (ja) * 2018-06-08 2022-07-21 シャープ株式会社 動物識別装置、動物識別装置の制御方法およびプログラム
CN110987264A (zh) * 2019-12-07 2020-04-10 吉林大学 一种简易山羊蹄足接触测试装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4195643A (en) * 1976-12-27 1980-04-01 Massachusetts Institute Of Technology Diagnostic force analysis system
WO1989011246A1 (en) * 1988-05-19 1989-11-30 Standard St Sensortechnik Ag Process for studying the mode of locomotion of a living organism
US5299454A (en) * 1992-12-10 1994-04-05 K.K. Holding Ag Continuous foot-strike measuring system and method
GB9403158D0 (en) * 1994-02-18 1994-04-06 Draper Edward R C Medical apparatus
US6183425B1 (en) * 1995-10-13 2001-02-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Method and apparatus for monitoring of daily activity in terms of ground reaction forces
US6699207B2 (en) * 2000-05-30 2004-03-02 University Of Maryland Method and apparatus for detecting lameness in animals

Also Published As

Publication number Publication date
NZ540829A (en) 2007-01-26
AU2003303441B2 (en) 2008-08-28
JP2006512095A (ja) 2006-04-13
WO2004059620A2 (en) 2004-07-15
CA2511427A1 (en) 2004-07-15
EP1593118A4 (en) 2009-05-13
US6916295B2 (en) 2005-07-12
MXPA05006829A (es) 2005-12-05
US20040199089A1 (en) 2004-10-07
EP1593118B1 (en) 2013-03-06
AU2003303441A1 (en) 2004-07-22
CA2511427C (en) 2012-03-13
EP1593118A2 (en) 2005-11-09
WO2004059620A3 (en) 2004-11-04

Similar Documents

Publication Publication Date Title
JP4579828B2 (ja) 動物の特性を動的に記録および分析するための方法およびシステム
US6699207B2 (en) Method and apparatus for detecting lameness in animals
CN110147771A (zh) 基于母猪关键部位与环境联合分区的母猪侧卧姿态实时检测系统
Nóbrega et al. Assessing sheep behavior through low-power microcontrollers in smart agriculture scenarios
KR102045741B1 (ko) 반려동물 건강관리데이터 제공장치, 방법 및 프로그램
CN107669278B (zh) 运动状态识别方法和系统、动物行为识别系统
CN109982088B (zh) 图像处理方法及装置
Wang et al. Identification and classification for sheep foraging behavior based on acoustic signal and deep learning
US20160259849A1 (en) System and method for reducing size of raw data by performing time-frequency data analysis
Ji et al. Investigation of acoustic and visual features for pig cough classification
Nunes et al. Horse foraging behavior detection using sound recognition techniques and artificial intelligence
CN106021857A (zh) 一种健康诊断系统及方法
CN112382355A (zh) 一种智慧医疗数据管理方法、存储介质及系统
Doan An efficient system for real-time mobile smart device-based insect detection
Chen et al. Artificial intelligence for image processing in agriculture
KR102682707B1 (ko) 반려동물을 위한 인지능력 개발 시스템 및 방법
CN115795347A (zh) 一种行为识别模型的构建方法、行为识别模型及方法
Yang et al. Recognizing the rooting action of prepartum sow in free-farrowing pen using computer vision
CN114047475A (zh) 基于多维标度法简化代价函数的到达时间差迭代定位方法
CN114491410A (zh) 运动模式的识别方法、系统、智能穿戴设备及存储介质
Kora et al. Detection of bundle branch block using bat algorithm and Levenberg Marquardt neural network
Hu Yak Management Platform Based on Neural Network and Path Tracking
Kumar et al. Mosquito type identification using convolution neural network
CN114998575B (zh) 训练和使用目标检测模型的方法及装置
KR20190050230A (ko) 피쳐 영향 판단 방법 및 그 시스템

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100803

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100826

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees