Be-Chase が出力する数値と画像が、それぞれ何を数え、何を測った値なのかをまとめたページです。結果を論文に使うときや、思ったのと違う値が出たときに、その値をどう読めばよいかを判断する手がかりにしてください。
ファイルの構成や CSV の列の並びは解析結果の見方で説明しています。このページでは、値の考え方と「数えるもの・数えないもの」の境目を説明します。
すべての値に共通すること
位置の取り方
ターゲットの位置は、動画の各コマで見つけたターゲットの輪郭の重心です。この位置を0.1秒ごとにそろえてから、距離・速さ・停止・滞在時間などを集計します(回転行動だけは、そろえる前の撮影したコマの位置で数えます)。そのため、撮影したフレームレート(25fps・30fps・60fps など)が違っても、同じ動きならほぼ同じ値になります。
位置は、画面に写った画素から求めたものです。画素より細かい体の動きや、コマとコマの間の動きまでは復元しません。
見失った時間の扱い
ターゲットが物陰に隠れたり、照明の具合で見えなくなったりして、位置が分からないコマがあると、その間の行動は直接には測れません。Be-Chase では、見失った時間の長さと値の種類によって、次のように扱います。
短い見失い(補間の上限の1秒以内)
前後の位置を直線で結び、その線の上を動いていたものとして補います。補った位置は、移動距離・滞在時間・停止・ヒートマップなどに使います。回転行動には使いません。回転は撮影したコマの位置だけで数え、1コマでも見失うと、その前後の角度を足しません。
補間の上限は1秒です。実際に使った値は、結果の ZIP に入っている analysis_definitions.csv の Max interpolation gap で確かめられます。
長い見失い(補間の上限を超えるもの)
見失う直前と、見つけ直した直後の位置が違えば、少なくともその間を移動したことは確かです。そこで移動距離にだけ、前後の2点を結んだ直線の長さ(以下「つないだ距離」)を加えます。その間にどこにいたかは分からないので、ほかの値には使いません。
| 値 | 長い見失いの間の扱い |
|---|---|
| 総移動距離 | 前後の2点を結んだ直線の長さを加えます。実際にはもっと動いていた可能性があるので、この分は「少なくともこれだけは動いた」という下限の値です |
| 区画ごとの移動距離 | 前後の2点がどちらも同じ区画の中にあるときだけ、その区画の距離に加えます。区画をまたいだときは、総移動距離にだけ加えます |
| 滞在時間・ヒートマップ・ジニ係数 | 加えません。見失っていた時間は、どの区画にも、どのマス目にも入りません |
| 停止 | 見失いの前と後をつなげて判定しません |
| 回転行動 | 長さにかかわらず、見失いの前と後をつなげて判定しません |
| 区画への出入り | 見失っている間に出入りがあったかは分からないので、記録しません |
| 移動の速さ | つないだ区間には速さを付けず、速さの画像にも描きません |
ただし、つないだ場合の速さが、その解析の最大の速さ(速さの画像の色の帯の上端と同じ値。短い見失いを補った区間も含みます)を超えるときは、つなぎません。見失いの前後のどちらかで、影などをターゲットと取り違えた可能性が高いためです。
見失いの記録
trace_result.csv の Missing Detection に、長い見失いの回数・時間の合計・つないだ距離の合計・つながなかった回数が出ます。解析の始まりから最初に見つけるまでと、最後に見失ってから解析の終わりまでも、回数と時間に含めます(片側の位置しか分からないので、つなぎません)。総移動距離のうち、どれだけがつないだ距離かを確かめられます。観測できた距離だけを使いたい場合は、総移動距離からつないだ距離を引いてください。見失いが多い解析は、その時間の行動が結果に反映されていないことにご注意ください。
複数のターゲットを追跡したとき
見失いの長さにかかわらず、前後をつなぎません。重なったあとに個体を取り違えると、別の個体の位置どうしを結んでしまうためです。別の個体の下に隠れていた時間も、見失った時間として扱います。見失いの回数と時間は、補間の上限を超えたものだけが Missing Detection と missing の列に出ます。上限以内の短い見失いや隠れは、補わないうえにこれらの列にも入らないので、区画の滞在時間と missing を足しても解析した時間より短くなります。
空欄と0の違い
CSV の数値の欄が空欄のときは、「計算に必要な観測がなく、値を決められない」という意味です。0 は「観測はできていて、該当する行動がなかった」という意味です。たとえば、停止が1回もない場合、停止の回数は 0、平均の停止時間は空欄(0回で割る平均は決まらないため)になります。空欄を0に置き換えて集計しないでください。
長さの単位
距離・半径などの長さは、縮尺を設定していれば mm・cm・m で、設定していなければピクセルで出ます。時刻はすべて、解析の開始時点を0とした秒です。
体長を基準にする値
停止の範囲とヒートマップのマス目の大きさは、ターゲットの体の大きさに合わせて決まります。基準の「体長」は、ターゲット設定で囲んだ枠の長い方の辺です。実際に使った値は、結果の ZIP に入っている analysis_definitions.csv に書き出されます。論文の方法の節には、このファイルの値をそのまま書き写せます。
移動距離(Total Tracing Data・区画ごとの length)
0.1秒ごとにそろえた位置を順に直線で結び、その長さを足した値です。
- 体の小さな揺れも含め、動いた分はすべて距離に入ります。細かい動きを切り捨てる閾値や、軌跡をなめらかにする処理はしていません
- 0.1秒ごとの点を直線で結ぶので、その間に曲がった分は少し短く出ます
- 補間の上限(1秒)を超えて見失った間は、前後の2点を結んだ直線の長さを加えます(上の「見失った時間の扱い」)。この分は
Missing DetectionのBridged Distanceで確かめられます
区画ごとの移動距離は、同じ軌跡のうち、区画の中にいた部分の長さです。長い見失いの前後がどちらも同じ区画の中なら、つないだ距離もその区画に含めます。区画の境界を浅い角度で何度も横切る動きでは、総移動距離に比べて誤差が積み重なりやすくなります。
停止(Stop Analysis)
ターゲットが一か所にとどまっていた回数と時間です。
1回と数える条件:ターゲットが、とどまり始めた地点を中心とする円の中に、2秒以上いたとき、停止を1回と数えます。円の半径は体長の半分です。実際に使った値は、analysis_definitions.csv の Stop duration・Stop radius で確かめられます。
- 円の中心は、とどまり始めた地点に固定します。少しずつずれながら移動し続ける動きは、円の外へ出た時点で停止が終わります
- 円の中で体の向きを変えたり、その場で小さく動いたりしていても、円から出なければ停止のままです
- 2秒に満たずに円から出た場合は数えません
- 「止まっていた」ではなく「範囲から出なかった」という定義です。ゆっくり歩き続けていても、2秒で体長の半分より進まなければ停止になります。たとえば体長20pxのターゲットが毎秒5pxで歩き続けると、停止が続けて数えられます
- 停止の始まりは、そこから先2秒以上その円の中にいる最初の時点です。そのため、止まる直前の接近(体長の半分以内の動き)が停止に含まれることがあります
- 停止中に補間の上限を超えてターゲットを見失った場合は、見失う直前で停止を終えます(上の「見失った時間の扱い」)
停止時間は、とどまり始めてから円を出るまでの時間です。円を出た時刻は、円の外の位置が観測されたコマではなく、軌跡が円の境界を越えた時点です。
区画ごと・出入りごとの停止:区画ごとの停止は、停止の時間の半分以上を中にいた区画に数えます。区画が重なっている場所や、区画の中に別の区画がある場所での停止は、それぞれの区画に数えます。どの区画にも半分以上いなかった停止は、どの区画にも数えません。区画ごとの停止時間は、その停止の全体の長さです。出入りごとの停止時間は、その回に区画にいた時間と重なる部分だけです。そのため、区画の境界をまたいだ停止では、区画ごとの停止時間と出入りごとの停止時間の合計が一致しないことがあります。
分割時間を設定した場合:区間の区切りをまたいだ停止は、停止が終わった区間に、その停止の全体の長さで数えます。そのため、区間ごとの停止時間が区間の長さを超えることがあります。区切りの時刻ちょうどに終わった停止は、その前の区間に数えます。
回転行動(Rotation Analysis)
ターゲットが同じ中心のまわりを、同じ向きに1周した動きを、回転行動の1回と数えます。
数えるもの
- 円を描く動き:1周するごとに1回です。3周すれば3回です
- 楕円や、角のある輪:中心のまわりを1周していれば数えます
- 渦巻き:だんだん大きく(小さく)なりながら回る動きも、同じ向きに1周するごとに数えます
- 8の字:右回りの輪と左回りの輪を、それぞれの向きで1回ずつ数えます
- 周回の途中で止まった場合:止まっていた時間も含めて1周を数えます。途中で止まっても、それまでの角度は捨てません
- 1周を超えた端数:次の周回へ持ち越します。たとえば1.5周したあとにさらに0.5周すれば、2回目と数えます
数えないもの
- 1周に届かない動き:0.9周で引き返した場合などは数えません。端数を切り上げることはありません(位置の誤差の分だけ1周にわずかに届かない場合は、1周と数えます)
- 往復:楕円の一部や円弧を行って戻るだけの動きは、合わせて1周分の距離を動いても数えません
- その場での方向転換:体の向きを変えるだけで、位置が輪を描かない動きは数えません
- 直線的な移動
- 中心を横切る動き:輪の中心のすぐ近くを通り抜ける動きは、向きが決まらないので周回に数えません
- ごく細い輪:幅が数ピクセルしかない細長い往復や、体の揺れほどの小さな輪は数えません(この幅はピクセルで決まっていて、体の大きさでは変わりません)
- 見失いをまたぐ周回:1コマでも見失うと、その前と後の角度は足しません
中心が違う輪の角度は足し合わせません。たとえば、2つの別々の場所で半周ずつ回っても、1回にはなりません。
回転1回ごとの記録(Detailed Rotation Events)
| 列 | 値の意味 |
|---|---|
| start_time_s / end_time_s | 周回を始めた時刻と、1周を終えた時刻。どちらも、軌跡の上でその位置を通った時刻です(コマとコマの間なら、前後のコマの時刻から補います)。1周に達した位置で止まっていた場合、終わりの時刻はそこに着いた時刻です |
| duration_s | 1周にかかった時間 |
| radius | その1周の軌跡を囲む最も小さい円の半径。楕円では長い方の半径に近い値になり、軌道の大きさの目安です |
| path_length | その1周の軌跡の長さ |
| circularity | 軌跡の長さ÷囲む円の円周。真円ではほぼ1で、楕円やいびつな輪では1から離れます。1を超えることもあります |
| angle_deg | その1周で回った角度。右回り(CW)は正、左回り(CCW)は負で、通常は ±360 です |
1周を終えたあと、その場で完全に止まっていた時間(位置がまったく変わらない間)は、次の周回の時間には含めません。
読むときの注意
- 右回り・左回りは、動画の画面で見た向きです。カメラを下から向けて撮影した場合などは、実際の向きと逆になります
- 回転は撮影したコマの位置で数えるので、フレームレートが低い動画や見失いの多い動画では、少なく出ることがあります
- 回転の回数は、軌跡の形から数える値です。体をひねる動きや、頭の向きの変化を測るものではありません
- 回転の回数と向きは、軌跡の形だけで決めます。同じ動きなら、撮影したコマの数や時刻の刻みが違っても、同じ回数になります
- 回転は、数えすぎない(1周していない動きを回転にしない)ことを優先して判定しています。そのため、形によっては、1周していても数えないことがあります。回数が少なく感じるときは、
rotation_trajectory.pngで数えた輪を確かめてください - 追跡の誤差(体の一部を見失う、別の個体と取り違える)があると、実際の行動と違う回数になることがあります。回数が意外な値のときは、
rotation_trajectory.pngで数えた輪を確かめてください
区画(チェックエリア)の滞在と出入り
チェックエリアで描いた区画ごとに、滞在時間・移動距離・出入りを集計します。
区画の中にいるかどうかは、ターゲットの位置(重心)が図形の中にあるかで決めます。体の一部だけが区画にかかっていても、重心が外なら区画の外です。境界の線の上は中として扱います。
出入り:重心が区画の境界を越えた時点で、入った・出たと記録します。重心が境界の上で細かく揺れても、出入りとして何度も数えないようにしています。
- 解析を始めた時点で区画の中にいた場合は、時刻0に入ったものとして1回と数えます。解析の始まりに見失っていて、区画の中で初めて見つけた場合は、いつ入ったか分からないので進入回数に数えません
- 動画の最後まで区画の中にいた場合は、解析の終わりの時刻を出た時刻とします
- 見失った間に出入りがあったかは分からないため、見失ったあと中にいる状態で観測が戻った場合は、新しい進入として数えません。区画ごとの進入回数は、「出入りごとの停止」の表の Entry No. の最大値で確かめてください
滞在時間は、区画の中にいた時間の合計です。補間の上限を超えて見失っていた時間はどの区画にも入らず、「区画ごとの滞在時間と移動距離」の表の missing の列に出ます。区画ごとの移動距離は、区画の中にいた間の移動距離です。
分割時間を設定した場合:区間の区切りで滞在を分けます。区切りの時点で区画の中にいた場合は、出入りの記録をそこで1行終え、次の区間で新しい行として続けます。そのため、出入りの記録の行数は進入回数と一致しません。
滞在場所の偏り(ジニ係数)
滞在時間が特定の場所に集中していたかを、0から1の値で表します。
- 0に近い:画面の全体にまんべんなく滞在していた
- 1に近い:ごく一部の場所にとどまっていた
計算のしかた:動画の画面全体を、ヒートマップと同じマス目(一辺が体長の4分の1)に区切ります。マス目ごとの滞在時間を求め、そのばらつきをジニ係数にします。一度も訪れなかったマス目や、解析範囲の外のマス目も、滞在時間0のマス目として計算に含めます。
読むときの注意
- 画面全体を基準にするので、解析範囲が画面の一部だけの場合や、ターゲットの体が画面に比べて小さい場合は、値が1に寄ります。画面の大きさ・解析範囲・ターゲットの大きさがそろった条件どうしで比べてください
- マス目の境目の近くにいた時間は、わずかな位置の差でどちらのマス目に入るかが変わります。小数第3位の違いには意味を持たせないでください
ジニ係数の考え方と使い方はジニ係数による滞在の偏りの定量化で解説しています。
ヒートマップと可視化の画像
ヒートマップは、画面をマス目に区切り、マス目ごとの量を色で表した画像です。マス目の大きさは、ジニ係数と同じです(一辺が体長の4分の1)。
色の読み方:量が少ないマス目ほど青く、多いマス目ほど赤くなります。その画像で最も多いマス目が、色の帯の上端の色になります。一度も該当しなかったマス目は白のままです。色は、その画像の中での相対的な多さを表します。別の解析のヒートマップと色をそのまま比べることはできません。
チェックエリアを設定した解析では、ヒートマップに区画の位置が破線で描かれます。
軌跡の通過回数(trajectory_density_heatmap)
軌跡がそのマス目を通った回数です。軌跡が別のマス目からそのマス目に入るたびに1回と数えます。
- 同じマス目の中にとどまっている間は、何秒いても回数は増えません。長く滞在した場所を見るときは、滞在時間のヒートマップを使ってください
- よく行き来する通り道や、何度も往復した場所が赤くなります
- 色の帯の目盛りは回数です
滞在時間(dwell_time_heatmap)
そのマス目にいた時間の合計です。
- 長く止まっていた場所、ゆっくり動いていた場所が赤くなります
- 速く通り過ぎただけのマス目は、通った回数が多くても青寄りになります
- 色の帯には「Long」「Short」の表示だけがあり、秒の目盛りはありません。滞在時間の数値が必要な場合は、チェックエリアで区画を描いて、区画ごとの滞在時間を使ってください
- ジニ係数は、このヒートマップと同じ滞在時間から計算しています
区画への出入りの位置(checkarea_entry_exit_heatmap など)
チェックエリアを設定したときに作られます。区画に入った瞬間・出た瞬間の位置を、マス目ごとに数えた回数です。
| ファイル | 数えるもの |
|---|---|
checkarea_entry_exit_heatmap.png | 入った位置と出た位置の両方 |
checkarea_entry_heatmap.png | 入った位置だけ |
checkarea_exit_heatmap.png | 出た位置だけ |
3枚は色の尺度が共通です。区画のどの辺から出入りすることが多いかを比べるのに使えます。出入りが1回もなかった場合は作られません。
区間ごとのヒートマップ(abs と rel)
分割時間を設定すると、通過回数と滞在時間のヒートマップが区間ごとに2種類ずつ作られます。
- abs:解析した時間全体で最も多かったマス目を基準に塗ります。区間どうしで色を比べられるので、「後半は滞在が減った」のような時間の変化を見るのに向いています
- rel:その区間の中で最も多かったマス目を基準に塗ります。その区間の中での分布の形を見るのに向いていますが、区間どうしで色を比べることはできません
移動の速さ(speed_visualization)
軌跡を、その場所での移動の速さの色で描いた画像です。速さは、0.1秒ごとの位置の間を動いた距離を時間で割った値です。
- 遅いほど青く、速いほど赤くなります
- 色の帯の上端は、解析した時間全体での最大の速さです。区間ごとの画像も同じ尺度で塗るので、区間どうしで比べられます
- 帯の下の
Maxは、その画像に描いた範囲での最大の速さです - その場で止まっている間は軌跡が伸びないので、線は描かれません
回転の軌跡(rotation_trajectory)
回転行動として数えた周回の部分だけを描いた画像です。右回りは赤、左回りは青です。回転の回数が意外な値だったときに、どの動きを数えたかを確かめるのに使ってください。
複数のターゲットを追跡したとき
ターゲットごとの値の定義は、1体のときと同じです。違うのは次の点です。
- 見失った時間を前後の位置から補いません(上の「見失った時間の扱い」)
- ターゲットどうしが重なって見分けられなかった時間は、見失った時間として扱います。重なりが多い場面では、移動距離や滞在時間などの合計の値が小さめに出ます
- ヒートマップ・速さ・回転の画像は、ターゲットごとのフォルダに入ります
関連するページ
- 解析結果の見方:ZIP ファイルの中身と、CSV の列の並び
- チェックエリアを設定する
- 縮尺を設定する
- 分割時間を設定する
- 条件を変えて分析し直す:区画・縮尺・分割時間を変えて、結果を作り直す
