JP2020080791A - 養鶏システム、養鶏方法、プログラム、及び、畜産システム - Google Patents

養鶏システム、養鶏方法、プログラム、及び、畜産システム Download PDF

Info

Publication number
JP2020080791A
JP2020080791A JP2018223841A JP2018223841A JP2020080791A JP 2020080791 A JP2020080791 A JP 2020080791A JP 2018223841 A JP2018223841 A JP 2018223841A JP 2018223841 A JP2018223841 A JP 2018223841A JP 2020080791 A JP2020080791 A JP 2020080791A
Authority
JP
Japan
Prior art keywords
image
unit
poultry
chicken
reference structure
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.)
Pending
Application number
JP2018223841A
Other languages
English (en)
Inventor
保 尾崎
Tamotsu Ozaki
保 尾崎
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2018223841A priority Critical patent/JP2020080791A/ja
Publication of JP2020080791A publication Critical patent/JP2020080791A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】画像内の鶏の位置の判定精度を高めることができる養鶏システムを提供する。【解決手段】養鶏システム10は、基準構造物が設置された鶏舎内の画像を撮像する撮像部21と、撮像部21によって撮像された画像を用いて画像内の鶏の位置の判定を行う情報処理部32とを備える。情報処理部32は、撮像部21によって撮像された画像に映る基準構造物の状態に基づいて、上記判定の精度を高めるための情報処理を行う。【選択図】図2

Description

本発明は、鶏舎などにおいて用いられる養鶏システムに関する。
養鶏は、産業として、日本を含めた世界各国において盛んに行われている。養鶏に関連する技術として、特許文献1には、サーモグラフで撮影した画像から鶏の死亡率を自動判定する死亡率自動判定方法が開示されている。
特開2006−50989号公報
食肉用の鶏の飼育においては、効果的に鶏を増体させることが求められている。例えば、鶏舎内の給餌器の周辺の鶏の密集状態の監視が実現されれば、給餌器の周辺にいる鶏が少ない場合に給餌器の周辺の環境を是正することで鶏の摂食状態を改善し、鶏の増体を促進することが可能である。このような鶏の密集状態の監視は、例えば、撮像装置によって撮像された画像を用いて当該画像内の鶏の位置の判定を行うことで実現される。
本発明は、画像内の鶏の位置の判定精度を高めることができる養鶏システム、養鶏方法、及び、プログラムを提供する。
本発明の一態様に係る養鶏システムは、基準構造物が設置された鶏舎内の画像を撮像する撮像部と、前記撮像部によって撮像された画像を用いて前記画像内の鶏の位置の判定を行う情報処理部とを備え、前記情報処理部は、前記撮像部によって撮像された画像に映る前記基準構造物の状態に基づいて、前記判定の精度を高めるための情報処理を行う。
本発明の一態様に係る養鶏方法は、基準構造物が設置された鶏舎内の画像を撮像し、撮像された画像を用いて前記画像内の鶏の位置の判定を行い、撮像された画像に映る前記基準構造物の状態に基づいて、前記判定の精度を高めるための情報処理を行う。
本発明の一態様に係るプログラムは、前記養鶏方法をコンピュータに実行させるためのプログラムである。
本発明の一態様に係る畜産システムは、基準構造物が設置された畜舎内の画像を撮像する撮像部と、前記撮像部によって撮像された画像を用いて前記画像内の鶏の位置の判定を行う情報処理部と、前記撮像部によって撮像された画像に映る前記基準構造物の状態に基づいて、前記撮像部が汚れていることを通知する通知処理を行う通知部とを備える。
本発明の養鶏システム、養鶏方法、及び、プログラムは、画像内の鶏の位置の判定精度を高めることができる。
図1は、実施の形態に係る養鶏システムの概要を示す図である。 図2は、実施の形態に係る養鶏システムの機能構成を示すブロック図である。 図3は、第一監視動作のフローチャートである。 図4は、撮像部によって撮像される鶏舎内の画像の一例を示す図である。 図5は、摂食状態が悪化したことを示す画像の一例を示す図である。 図6は、第二監視動作のフローチャートである。 図7は、鶏舎内の鶏の様々な状態を示す図である。 図8は、密度偏差及び活動量の時間変化を示す図である。 図9は、給水器を示す模式図である。 図10は、複数の撮像装置を備える養鶏システムの概要を示す図である。 図11は、画像の二値化処理の閾値の算出処理1のフローチャートである。 図12は、閾値の算出基準を示す図である。 図13は、画像の二値化処理の閾値の算出処理2のフローチャートである。 図14は、通知処理に適した基準構造物が映る画像を示す図である。 図15は、通知処理のフローチャートである。 図16は、撮像部が汚れていることを示す画像の一例を示す図である。
以下、実施の形態について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
なお、各図は模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付しており、重複する説明は省略または簡略化される場合がある。
(実施の形態)
[構成]
まず、実施の形態に係る養鶏システムの構成について説明する。図1は、実施の形態に係る養鶏システムの概要を示す図である。図2は、実施の形態に係る養鶏システムの機能構成を示すブロック図である。
図1に示されるように、実施の形態に係る養鶏システム10は、例えば、鶏舎100に設置される。鶏舎100で飼育される鶏の品種は、例えば、ブロイラー(より具体的には、チャンキー、コッブ、または、アーバーエーカなど)であるが、いわゆる地鶏など、他の品種であってもよい。鶏舎100内には給餌器50及び給水器(図示せず)などが配置される。また、鶏舎100内には、基準構造物70が設置される。
養鶏システム10は、撮像装置20によって撮像される鶏舎100内の画像を画像処理することにより、鶏舎100内の鶏の摂食状態を監視する。鶏の摂食状態が悪化していると判定されると、摂食状態の悪化を報知するための画像が表示装置40に表示される。つまり、表示装置40によって鶏舎100の管理者に摂食状態の悪化が報知される。これにより、鶏舎100の管理者は、摂食状態の改善を図ることにより、鶏を効率的に増体させることができる。
図1及び図2に示されるように、養鶏システム10は、具体的には、撮像装置20と、情報端末30と、表示装置40とを備える。以下、各装置について詳細に説明する。
[撮像装置]
撮像装置20は、鶏舎100内の画像を撮像する。撮像装置20は、例えば、鶏舎100の天井に取り付けられ、撮像部21は、鶏舎100内を俯瞰した画像を撮像する。ここでの画像は、静止画を意味し、撮像装置20は、例えば、複数の画像(言い換えれば、フレーム)によって構成される動画像を常時撮影する。撮像装置20は、撮像部21を備える。
撮像部21は、イメージセンサと、イメージセンサに光を導く光学系(レンズ等)とからなる撮像モジュールである。イメージセンサは、具体的には、CMOS(Complementary Metal Oxide Semiconductor)センサまたはCCD(Charge Coupled Device)センサなどである。撮像部21によって撮像された画像は、鶏舎100内の鶏の摂食状態を監視するために情報端末30によって画像処理される。
[情報端末]
情報端末30は、鶏舎100の管理者等によって使用される情報端末である。情報端末30は、撮像装置20によって撮像される鶏舎100内の画像を画像処理することにより、鶏舎100内の鶏の餌の摂食状態を監視する。情報端末30は、例えば、パーソナルコンピュータであるが、スマートフォン、または、タブレット端末であってもよい。また、情報端末30は、養鶏システム10に用いられる専用装置であってもよい。情報端末30は、具体的には、通信部31と、情報処理部32と、記憶部33と、入力部34とを備える。
通信部31は、取得部の一例であって、撮像装置20が有する撮像部21が撮像した画像を取得する。また、通信部31は、監視部32aの制御に基づいて、摂食状態が悪化したことを示す画像を表示するための画像情報を表示装置40に送信する。
通信部31は、具体的には、有線通信または無線通信を行う通信モジュールである。通信モジュールは、言い換えれば、通信回路である。通信部31の通信方式は、特に限定されない。通信部31には、撮像装置20及び表示装置40のそれぞれと通信を行うための2種類の通信モジュールが含まれてもよい。また、通信部31と、撮像装置20及び表示装置40との間には、ルータなどの中継装置が介在してもよい。
情報処理部32は、鶏舎100内の鶏の摂食状態を監視するために撮像部21によって撮像された画像内の鶏の位置の判定を行う。また、情報処理部32は、撮像部21によって撮像された画像に映る基準構造物70の状態に基づいて、上記判定の精度を高めるための情報処理を行う。この情報処理は、後述の閾値の算出処理または通知処理である。情報処理部32は、具体的には、マイクロコンピュータによって実現されるが、プロセッサまたは専用回路によって実現されてもよい。情報処理部32は、マイクロコンピュータ、プロセッサ、及び、専用回路のうち2つ以上の組み合わせによって実現されてもよい。情報処理部32は、具体的には、監視部32aと、算出部32bとを有する。
監視部32aは、鶏舎100内の鶏の摂食状態を監視するために、通信部31によって取得された画像を画像処理することによって得られる鶏舎100内の鶏の特徴量を監視する。監視部32aは、具体的には、後述の第一監視動作、及び、第二監視動作の少なくとも一方を定常的または定期的に行うことにより、鶏舎100内の鶏の摂食状態を監視する。なお、第一監視動作においては、特徴量は密度偏差であり、第二監視動作においては、特徴量は、活動量である。
算出部32bは、撮像部21によって撮像された画像に映る基準構造物70の状態に基づいて、画像処理に含まれる画像の二値化処理の閾値の算出処理を行う。算出部32bによって行われる閾値の算出処理の詳細については後述する。
通知部32cは、撮像部21によって撮像された画像に映る基準構造物70の状態に基づいて、撮像部21が汚れていることを通知する通知処理を行う。通知部32cによって行われる通知処理の詳細については後述する。
記憶部33は、監視部32aによって実行される制御プログラムが記憶される。また、記憶部33には、摂食状態の判定に用いられる閾値なども記憶される。記憶部33は、例えば、半導体メモリによって実現される。
入力部34は、鶏舎100の管理者などの入力を受け付けるユーザインターフェース装置である。入力部34は、例えば、マウス及びキーボードなどによって実現される。入力部34は、タッチパネルなどによって実現されてもよい。
[表示装置]
表示装置40は、画像の表示によって、鶏舎100内の鶏の摂食状態を鶏舎100の管理者等に報知する。表示装置40は、表示部41を有する。表示部41は、通信部31から送信される画像情報に基づいて画像を表示する。表示部41は、報知部の一例であり、画像の表示により、摂食状態が悪化したことを報知する。
表示装置40は、具体的には、例えば、パーソナルコンピュータ用のモニタであるが、スマートフォン、または、タブレット端末であってもよい。情報端末30がスマートフォン等である場合、表示装置40に代わって情報端末30が表示部41を備えてもよい。表示部41は、具体的には、液晶パネル、または、有機ELパネルなどによって実現される。
なお、摂食状態が悪化したことが画像によって報知されることは必須ではない。摂食状態が悪化したことは、音声などによって報知されてもよく、この場合、養鶏システム10は、表示部41に代えてスピーカ等の出音部を報知部として備えればよい。
[第一監視動作]
鶏舎100内において、給餌器50の周辺に鶏が集まっている状態は、摂食状態が良いと考えられる。そこで、養鶏システム10は、給餌器50の周辺における鶏の密集状態を監視する。以下、このような第一監視動作の詳細について説明する。図3は、第一監視動作のフローチャートである。
まず、撮像装置20の撮像部21は、鶏舎100内の画像を撮像する(S11)。図4は、撮像部21によって撮像される鶏舎100内の画像の一例を示す図である。
次に、情報端末30の監視部32aは、撮像部21によって撮像された鶏舎100内の画像を取得し、取得した画像を白黒画像に変換する(S12)。撮像部21によって撮像される画像がカラー画像である場合、監視部32aは、取得したカラー画像をグレースケールの画像に変換し、グレースケールの画像に含まれる複数の画素の画素値のそれぞれと閾値との比較により、画像を二値化する。つまり、監視部32aは、グレースケールの画像を白黒画像に変換する。白黒画像は、複数の画素のそれぞれが白色及び黒色のいずれかとなる画像である。白黒画像は、言い換えれば、撮像部21によって撮像され、かつ、二値化された画像である。
鶏の体は、白色であるため、白黒画像において白色の部分は、鶏が映っていると推定される部分となる。第一監視動作では、給餌器50の周辺における鶏の密集状態の判定が目的であるため、鶏が映っている部分とそれ以外の部分とが区別されることで密集状態の判定精度が高められる。したがって、二値化に用いられる閾値は、鶏が映っている部分が選択的に白色となるように適宜定められる。また、鶏舎100内に配置される給餌器50などは、二値化においてなるべく黒色になるような配色のものであるとよい。つまり、給餌器50は、鶏とは異なる配色がなされているとよい。
次に、監視部32aは、白黒画像の少なくとも一部の領域である特定領域を決定する(S13)。特定領域は、具体的には、白黒画像の一部の領域であり、かつ、給餌器50が映っている部分を含む領域である。図4では、給餌器50の周辺の、画像の水平方向に沿って長い特定領域Aが例示されている。図4では、給餌器50の周辺の領域が選択的に特定領域Aとされている。画像内のどの部分を特定領域とするかは、例えば、撮像装置20の設置時に設置者等によって経験的または実験的に定められる。撮像部21による撮像範囲が狭いような場合には、特定領域は画像の全部であってもよい。
次に、監視部32aは、特定領域を複数の単位領域に分割する(S14)。図4では、特定領域を格子状に分割することによって得られる矩形の単位領域aが例示されている。特定領域の分割方法(単位領域の大きさ、及び、分割数など)は、例えば、設置者等によって経験的または実験的に定められる。
次に、監視部32aは、複数の単位領域のそれぞれについて当該単位領域に占める鶏が映っていると推定される部分の割合を算出する(S15)。監視部32aは、具体的には、単位領域の全面積に占める白色の部分の面積の割合を、単位領域に占める鶏が映っていると推定される部分の割合として算出する。監視部32aは、より具体的には、単位領域に含まれる白色の画素の総数を単位領域に含まれる総画素数によって除算することで白色の部分の面積の割合を算出する。
次に、監視部32aは、複数の単位領域のそれぞれについて算出された鶏が映っていると推定される部分の割合のばらつきを算出する(S16)。言い換えれば、監視部32aは、特定領域に存在する鶏の密度の空間的なばらつきを求める。ここでのばらつきは、具体的には、標準偏差であるが、分散であってもよい。以下では、複数の単位領域のそれぞれについて算出された鶏が映っていると推定される部分の割合のばらつきは、密度偏差とも記載される。
密度偏差が比較的小さい状態は、摂食状態が良好であることを意味する。発明者らの実験によれば、密度偏差が比較的小さい状態が継続されることで、鶏を効果的に増体できる。そこで、監視部32aは、密度偏差(つまり、ステップS16において算出されたばらつき)が第一閾値を上回ったか否かを判定する(S17)。
監視部32aは、密度偏差が第一閾値を上回る場合(S17でYes)、つまり、鶏の餌の摂食状態が悪いと推定される場合には、摂食状態が悪化したことを示す画像を表示するための画像情報を通信部31に送信させる。表示装置40は、画像情報を受信し、表示部41は、受信した画像情報に基づいて摂食状態が悪化したことを示す画像を表示する(S18)。図5は、摂食状態が悪化したことを示す画像の一例を示す図である。表示部41は、言い換えれば、監視部32aによって監視されるばらつきが第一閾値を上回った場合に図5のような画像の表示によって摂食状態が悪化した旨の報知を行う。
一方、密度偏差が第一閾値以下である場合(S17でNo)、つまり、鶏の餌の摂食状態が良好であると推定される場合には、摂食状態が悪化したことを示す画像の表示は行われない。この場合、表示部41は、摂食状態が良好であることを示す画像を表示してもよい。
なお、表示部41による摂食状態が悪化したことを示す画像は、より具体的には、密度偏差が第一閾値を上回る状態が一定期間以上続く場合に行われる。つまり、密度偏差が一定期間以上の間、第一閾値以下に復帰しない場合に行われる。第一閾値については、設置者等によって経験的または実験的に適宜定められる。第一閾値は、固定の閾値でなくてもよく、例えば、鶏の日齢に応じて変更されてもよい。
以上のような第一監視動作によれば、鶏舎100内の給餌器50周辺における鶏の密集状態を監視し、給餌器50の周辺における鶏の密集状態が低下した際にその旨を報知することができる。
[第二監視動作]
また、給餌器50の周辺で活動している鶏は、単に給餌器50の周辺に滞在しているのではなく餌を摂取していると推定される。したがって、給餌器50の周辺における鶏の活動量が多いほど、摂食状態が良いと考えられる。そこで、養鶏システム10は、給餌器50の周辺における鶏の活動量を監視してもよい。具体的には、監視部32aは、撮像部21によって撮像された画像を用いた画像処理により、特定領域における鶏の活動量を算出し、算出した活動量を監視してもよい。以下、このような第二監視動作の詳細について説明する。図6は、第二監視動作のフローチャートである。
まず、撮像装置20の撮像部21は、鶏舎100内の画像を撮像する(S21)。情報端末30の監視部32aは、撮像部21によって撮像された鶏舎100内の画像を白黒画像に変換し(S22)、白黒画像の少なくとも一部の領域を特定領域として決定する(S23)。これらのステップS21〜ステップS23については、図3のステップS11〜ステップS13と同様である。
次に、監視部32aは、処理対象の白黒画像の特定領域に含まれる、1フレーム前の画像から色が変化した画素の数に基づいて活動量を算出する(S24)。監視部32aは、具体的には、処理対象の白黒画像と当該白黒画像の1フレーム前の白黒画像とを比較し、特定領域に含まれる、1フレーム前の白黒画像から色が変化した画素の数をカウントする。ここでの色が変化した画素には、黒色から白色に変化した画素、及び、白色から黒色に変化した画素の両方が含まれる。そして、監視部32aは、カウントされた画素の数を活動量として算出する。なお、監視部32aは、特定領域に含まれる総画素数に対するカウントされた画素の数の割合を活動量として算出してもよい。
次に、監視部32aは、算出された活動量が第二閾値を下回ったか否かを判定する(S25)。監視部32aは、活動量が第二閾値を下回る場合(S25でYes)、つまり、鶏の餌の摂食状態が悪いと推定される場合には、摂食状態が悪化したことを示す画像を表示するための画像情報を通信部31に送信させる。表示装置40は、画像情報を受信し、表示部41は、受信した画像情報に基づいて摂食状態が悪化したことを示す画像を表示する(S26)。表示部41は、言い換えれば、監視部32aによって監視される活動量が第二閾値を下回った場合に図5のような画像の表示によって摂食状態が悪化した旨の報知を行う。
一方、活動量が第二閾値以上である場合(S25でNo)、つまり、鶏の餌の摂食状態が良好であると推定される場合には、摂食状態が悪化したことを示す画像の表示は行われない。この場合、表示部41は、摂食状態が良好であることを示す画像を表示してもよい。
なお、表示部41による摂食状態が悪化したことを示す画像は、より具体的には、活動量が第二閾値を下回る状態が一定期間以上続く場合に行われる。つまり、活動量が一定期間以上の間、第二閾値以上に復帰しない場合に行われる。第二閾値については、設置者等によって経験的または実験的に適宜定められる。第二閾値は、固定の閾値でなくてもよく、例えば、鶏の日齢に応じて変更されてもよい。
以上のような第二監視動作によれば、鶏舎100内の給餌器50の周辺における鶏の活動量を監視し、活動量が低下した際にその旨を報知することができる。
[摂食状態についてのまとめ]
以上説明したように、監視部32aによって密度偏差及び活動量が定常的または定期的に監視されれば、養鶏システム10は、鶏舎100内の鶏の摂食状態を推定することができる。図7は、鶏舎100内の鶏の様々な状態を示す図である。
図7の(a)に示されるように、給餌器50の周辺に鶏が均等に分布し、かつ、活動している場合には、摂食状態は良好である。このような場合には、密度偏差は小さくなり、かつ、活動量は大きくなる。
また、図7の(b)に示されるように、給餌器50の周辺において鶏がバラバラに動きまわっている場合には、摂食状態はあまりよくない。このような場合には、密度偏差は大きくなり、かつ、活動量は大きくなる。
また、図7の(c)に示されるように、給餌器50の周辺にある程度鶏が集まっているが、寝ている鶏が多いような場合には、摂食状態はあまりよくない。このような場合には、密度偏差は小さくなり、かつ、活動量は小さくなる。
また、図7の(d)に示されるように、給餌器50の周辺に鶏が集まっておらず、鶏が鶏舎100内で分散して寝ているような場合、摂食状態はよくない。このような場合には、密度偏差は大きくなり、かつ、活動量は小さくなる。
以上説明したように、監視部32aによって密度偏差及び活動量が定常的または定期的に監視されれば、養鶏システム10は、鶏舎100内の鶏の摂食状態を推定することができる。監視部32aによる密度偏差及び活動量の時間変化は、例えば、図8のようになる。図8は、密度偏差及び活動量の時間変化を示す図である。なお、監視部32aは、密度偏差の移動平均及び活動量の移動平均を監視してもよい。
[変形例1]
上記実施の形態では、給餌器50の周辺の領域が選択的に特定領域とされたが、図9に示されるような給水器60の周辺の領域が選択的に特定領域とされてもよい。図9は、給水器60を示す模式図である。つまり、特定領域は、撮像部21によって撮像された画像の一部の領域であり、かつ、給餌器50及び給水器60の少なくとも一方が映っている部分を含めばよい。
給餌器50と同様に、給水器60も二値化においてなるべく黒色になるような配色のものであるとよい。つまり、給水器60は、鶏とは異なる配色がなされているとよい。
また、特定領域に給餌器50及び給水器60の少なくとも一方が映っている部分が含まれることは必須ではない。例えば、鶏舎100内の鶏の密集状態に基づいて鶏舎100内の異常を判定するような場合、特定領域には、給餌器50及び給水器60が映っている部分が含まれなくてもよい。
[変形例2]
鶏舎100内には複数の撮像装置20が設置されてもよい。図10は、このような養鶏システムの概要を示す図である。
図10に示される養鶏システム10aは、撮像装置20及び撮像装置20aの2つの撮像装置を備える。つまり、養鶏システム10aは、複数の撮像装置を備える。このような養鶏システム10aでは、例えば、撮像装置20によって撮像された画像、及び、撮像装置20aによって撮像された画像のそれぞれを用いて、上記第一監視動作、及び、上記第二監視動作が行われる。養鶏システム10aは、養鶏システム10に比べて、鶏舎100内における監視対象範囲を拡張することができる。
[画像の二値化処理の閾値の算出処理1]
上述のように、監視部32aは、密度偏差及び活動量を監視するために、取得したカラー画像をグレースケールの画像に変換し、グレースケールの画像に含まれる複数の画素の画素値のそれぞれと閾値との比較により、画像を二値化する。つまり、監視部32aは、閾値を用いた画像の二値化処理を行う。二値化処理によって得られる白黒画像においては、鶏が映っている部分は、白色とされるべきである。しかしながら、鶏の育成が進むと、鶏の体が粉塵及び敷料などによって汚れてしまい、鶏が映っている部分が黒色と判定される可能性がある。そうすると、画像内の鶏の位置の判定精度が低下してしまう。つまり、監視対象の特徴量(密度偏差及び活動量の少なくとも一方)の算出精度が低下してしまう。
そこで、算出部32bは、撮像部21によって撮像された画像に映る基準構造物70の状態に基づいて、画像の二値化処理の閾値の算出処理を行う。つまり、算出部32bは、撮像部21によって撮像された画像に映る基準構造物70の状態に基づいて、画像の二値化処理の閾値を変更する。
基準構造物70は、閾値を算出するための基準として使用される構造物であり、鶏舎100内の撮像部21の撮像範囲内に設置される。つまり、基準構造物70は、撮像部21が撮像する画像に映るような場所に設置される。
基準構造物70は、雛鳥の羽が白い羽に生え変わるタイミング(例えば、20日齢前後のタイミング)で鶏舎100内の地面に近い位置に設置される。これにより、基準構造物70は、鶏の育成が進むと、鶏の体と同様に汚れていく。したがって、二値化処理において、粉塵及び敷料などによって汚れた鶏を白色と判定するための基準として使用することができる。基準構造物70は、例えば、白色であり、表面に羽毛が取り付けられる。この羽毛は、天然物であってもよいし、人工物であってもよい。つまり、基準構造物70は、例えば、鶏を模擬した構造物である。なお、基準構造物70は、汚れていく様子が画像からわかるようなものであればよく、白色以外の色であってもよいし、羽毛が取り付けられることは必須ではない。また、基準構造物70の形状などは特に限定されない。
以下、基準構造物70を使用した画像の二値化処理の閾値の算出処理についてフローチャートを参照しながら説明する。図11は、画像の二値化処理の閾値の算出処理1のフローチャートである。
まず、算出部32bは、撮像部21によって撮像された鶏舎100内の画像を取得し(S31)、取得した画像をグレースケールの画像に変換する(S32)。算出部32bは、例えば、図4に示されるような画像を取得し、グレースケールの画像に変換する。グレースケールの画像は、撮像部21によって撮像された画像であって二値化処理が行われる直前の画像の一例である。
次に、算出部32bは、グレースケールの画像内の基準構造物70が映る領域B(図4に図示)を特定する(S33)。領域Bは、例えば、鶏舎100の管理者などが入力部34を介して手動で特定するが、算出部32bが画像の輪郭抽出処理によって特定してもよい。
次に、算出部32bは、特定した領域Bに含まれる画素の輝度値の平均値を算出する(S34)。なお、実施の形態では、画素が白色であるときの当該画素の輝度値は255、画素が黒色であるときの当該画素の輝度値は0である。
そして、算出部32bは、算出した輝度値の平均値に基づいて閾値を算出する(S35)。図12は、閾値の算出基準を示す図である。
上述のように、基準構造物70は、白色であり、鶏の育成が進むと、鶏の体と同様に汚れていく。基準構造物70が汚れるほど、ステップS34において算出される輝度値の平均値は低くなり、鶏の体も汚れていると推定される。そこで、算出部32bは、画像の二値化処理において鶏が映る部分が白色であると判定されるように、閾値を下げる。つまり、算出部32bは、ステップS34において算出される輝度値の平均値が低いほど、閾値を黒色の輝度値に近づける。言い換えれば、算出部32bによって算出される閾値は、ステップS34において算出される輝度値の平均値が低いほど、暗い輝度値を示す値(実施の形態では小さな値)となる。なお、どの程度閾値を低下させるかは、経験的または実験的に適宜定められればよい。
以上説明したように、算出部32bは、領域Bに含まれる画素の輝度値の平均値(つまり、基準構造物70の汚れ具合)に基づいて画像の二値化処理の閾値を算出する。これにより、画像の二値化処理において、粉塵及び敷料などによって汚れた鶏が映る部分が黒色と判定されてしまうことなどが抑制される。この結果、監視対象の特徴量(密度偏差及び活動量の少なくとも一方)の算出精度の低下が抑制される。
なお、算出部32bは、領域Bに含まれる画素の輝度値の最小値に基づいて画像の二値化処理の閾値を算出してもよい。例えば、画像の二値化処理において、輝度値の最小値が白色と判定されるように閾値を算出する。これにより、算出部32bは、画像の二値化処理において領域Bの全体(つまり、画像に映る基準構造物70の全体)が白色であると判定されるような閾値を算出することができる。
ところで、撮像部21のレンズが汚れて白っぽくなると、画像全体が白っぽくなるため、ステップS34において算出される輝度値の平均値が高くなる場合がある。この場合、二値化処理において、黒色であると判定されるべき領域が白色であると判定されてしまう可能性がある。
そこで、上記図12に示されるように、算出部32bは、ステップS34において算出される輝度値の平均値が高いほど、閾値を白色の輝度値に近づける(つまり、閾値を上げる)。言い換えれば、算出部32bによって算出される閾値は、ステップS34において算出される輝度値の平均値が高いほど、明るい輝度値を示す値(実施の形態では、大きな値)となる。なお、どの程度閾値を低下させるかは、経験的または実験的に適宜定められればよい。なお、撮像部21のレンズの汚れを検出するためには、基準構造物70は黒色であるほうがよい場合がある。
[画像の二値化処理の閾値の算出処理2]
一般的な画像の二値化処理において閾値を算出する方法として、p−タイル法、モード法、及び、判別分析法などが知られている。算出部32bは、このような方法を用いて基準閾値を算出した後、基準閾値を補正してもよい。図13は、このような画像の二値化処理の閾値の算出処理2のフローチャートである。
まず、算出処理1と同様に、ステップS31〜ステップS34の処理が行われる。次に、算出部32bは、グレースケールの画像を二値化するために用いられる基準閾値を算出する(S36)。基準閾値の算出には、例えば、p−タイル法、モード法、及び、判別分析法のいずれかが用いられる。
p−タイル法は、全画素の輝度値の分布に対して、白色または黒色にしたい領域の全領域に占める割合を指定することで基準閾値を算出する手法である。
モード法は、グレースケールの画像の輝度値の分布が双峰型分布になる場合に、二つの峰の間の谷底の部分に相当する輝度値を基準閾値とする手法である。
判別分析法は、判別比が最大となる輝度値を基準閾値とする手法である。判別比は、全ての画素を、白色と判定される画素が属するグループと黒色と判定される画素が属するグループとの2つに分けたときの、グループ間分散(2つのグループの輝度値の平均値の分散)とグループ内分散(輝度値の分散の平均値)との比を意味する。
次に、算出部32bは、グレースケールの画像内の基準構造物70が映る領域Bに基づいて、基準閾値を補正する(S37)。算出部32bは、ステップS34において算出される輝度値の平均値が低いほど、基準閾値を黒色の輝度値に近づける。言い換えれば、算出部32bは、ステップS34において算出される輝度値の平均値が低いほど、基準閾値を暗い輝度値を示す値(実施の形態では小さな値)に補正する。補正後の基準閾値が最終的な閾値となる。なお、どの程度閾値を低下させるかは、経験的または実験的に適宜定められればよい。
以上説明したように、算出部32bは、撮像部21によって撮像された画像に映る基準構造物70の状態に基づいて基準閾値を補正することにより、閾値を算出する。これにより、画像の二値化処理において、粉塵及び敷料などによって汚れた鶏が映る部分が黒色と判定されてしまうことなどが抑制される。この結果、監視対象の特徴量(密度偏差及び活動量の少なくとも一方)の算出精度の低下が抑制される。
[通知処理]
上述のように、撮像部21のレンズが汚れて白っぽくなると、画像全体が白っぽくなる。そこで、養鶏システム10は、この汚れを検知して管理者などに通知を行ってもよい。以下、このような通知処理について説明する。
撮像部21のレンズが白っぽく汚れることを検知するためには、基準構造物70は、黒色であるほうがよい。また、撮像部21のレンズが白っぽく汚れることを検知するためには、基準構造物70自体は汚れないほうがよい。このため、基準構造物70は、例えば、鶏舎100の天井から吊り下げられる。図14は、通知処理に適した基準構造物が映る画像を示す図である。なお、基準構造物70は、黒色以外の色であってもよい。また、基準構造物70の形状などは特に限定されない。
図15は、通知処理のフローチャートである。まず、通知部32cは、撮像部21によって撮像された鶏舎100内の画像を取得し(S41)、取得した画像をグレースケールの画像に変換する(S42)。通知部32cは、例えば、図14に示されるような画像を取得し、グレースケールの画像に変換する。
次に、通知部32cは、グレースケールの画像内の基準構造物70が映る領域C(図14に図示)を特定する(S43)。領域Cは、例えば、鶏舎100の管理者などが入力部34を介して手動で特定するが、通知部32cが画像の輪郭抽出処理によって特定してもよい。
次に、通知部32cは、特定した領域Cに含まれる画素の輝度値の平均値を算出し(S44)、算出した輝度値の平均値が所定値以上であるか否かを判定する(S45)。
通知部32cは、算出した輝度値の平均値が所定値以上であると判定した場合(S45でYes)、つまり、撮像部21のレンズが白っぽく汚れていると推定される場合には、撮像部21のレンズが汚れていることを通知するための通知情報を通信部31に送信させる。表示装置40は、通知情報を受信し、表示部41は、受信した通知情報に基づいて撮像部21のレンズが汚れていることを示す画像を表示する(S46)。図16は、撮像部21が汚れていることを示す画像の一例を示す図である。
一方、輝度値の平均値が所定地未満である場合(S45でNo)、つまり、撮像部21のレンズがそれほど汚れていないと推定される場合には、撮像部21のレンズが汚れていることを示す画像の表示は行われない。この場合、表示部41は、撮像部21のレンズが汚れていないことを示す画像を表示してもよい。
以上説明したように、通知部32cは、撮像部21によって撮像された画像に映る基準構造物70の状態に基づいて、撮像部21が汚れていることを通知する通知処理を行う。これにより、通知を受けた管理者などによって撮像部21がクリーニングされれば、画像の二値化処理において、黒色であると判定されるべき領域が白色であると判定されてしまうことが抑制される。この結果、監視対象の特徴量(密度偏差及び活動量の少なくとも一方)の算出精度の低下が抑制される。
なお、通知部32cは、ステップS44において、領域Cに含まれる画素の輝度値の合計を算出し、ステップS45において、算出された画素の輝度値の合計が所定値以上であるか否かの判定を行ってもよい。つまり、ステップS44において平均値が算出されることは必須ではない。
また、図15のフローチャートは、撮像部21のレンズが白っぽく汚れることを前提としているが、撮像部21のレンズが黒っぽく汚れるような場合も考えられる。このような場合、通知部32cは、算出した輝度値の平均値が所定値未満であると判定した場合に(S45でYes)、通知情報を通信部31に送信させ、算出した輝度値の平均値が所定値以上である場合(S45でNo)に通知情報を通信部31に送信させない。
これにより、通知を受けた管理者などによって撮像部21がクリーニングされれば、画像の二値化処理において、白色であると判定されるべき領域が黒色であると判定されてしまうことが抑制される。この結果、監視対象の特徴量(密度偏差及び活動量の少なくとも一方)の算出精度の低下が抑制される。
[効果等]
以上説明したように、養鶏システム10は、基準構造物70が設置された鶏舎100内の画像を撮像する撮像部21と、撮像部21によって撮像された画像を用いて画像内の鶏の位置の判定を行う情報処理部32とを備える。情報処理部32は、撮像部21によって撮像された画像に映る基準構造物70の状態に基づいて、上記判定の精度を高めるための情報処理を行う。
このような養鶏システム10は、撮像部21によって撮像された画像を用いて画像内の鶏の位置の判定精度を高めることができる。
また、情報処理部32は、上記判定によって得られる鶏舎100内の鶏の特徴量を監視する監視部32aと、上記情報処理として、上記判定において行われる画像の二値化処理に用いられる閾値の算出処理を行う算出部32bとを備える。
このような養鶏システム10は、撮像部21によって撮像された画像に映る基準構造物70の状態に基づいて、画像の二値化処理の閾値の算出処理を行うことができる。閾値が適切に算出されれば、画像内の鶏の位置の判定精度が高められる。
また、算出部32bは、撮像部21によって撮像された画像であって二値化処理が行われる直前の画像のうち基準構造物70が映る部分に含まれる画素の輝度値の平均値または最小値に基づいて、閾値を算出する。
このような養鶏システム10は、グレースケールの画像の基準構造物70が映る部分に含まれる画素の輝度値の平均値または最小値に基づいて、画像の二値化処理の閾値の算出処理を行うことができる。
また、算出部32bによって算出される閾値は、平均値または最小値が低いほど暗い輝度値を示す値となる。
このような養鶏システム10は、画像の二値化処理において、粉塵及び敷料などによって汚れた鶏が映る部分が黒色と判定されてしまうことを抑制することができる。
また、算出部32bは、p−タイル法、モード法、及び、判別分析法のいずれかを用いて基準閾値を算出し、撮像部21によって撮像された画像に映る基準構造物70の状態に基づいて基準閾値を補正することにより、閾値を算出する。
このような養鶏システム10は、撮像部21によって撮像された画像に映る基準構造物70の状態に基づいて、基準閾値を補正することにより、画像の二値化処理の閾値を算出することができる。
また、監視部32aは、上記判定により、画像内の少なくとも一部の領域である特定領域を分割することで得られる複数の単位領域のそれぞれについて当該単位領域に占める鶏が映っていると推定される部分の割合を算出し、算出された割合のばらつきを特徴量として監視する。
このような養鶏システム10は、鶏舎100内の鶏の密度偏差を監視することができる。
また、監視部32aは、上記判定により、鶏舎100内の鶏の活動量を算出し、算出された活動量を特徴量として監視する。
また、基準構造物70は、白色である。
このような養鶏システム10は、撮像部21によって撮像された画像に映る白色の基準構造物70の状態に基づいて、画像の二値化処理の閾値の算出処理を行うことができる。
また、基準構造物70の表面には、羽毛が取り付けられている。
このような養鶏システム10は、撮像部21によって撮像された画像に映る鶏を模擬した基準構造物70の状態に基づいて、画像の二値化処理の閾値の算出処理を行うことができる。
このような養鶏システム10は、鶏舎100内の鶏の活動量を監視することができる。
また、情報処理部32は、上記情報処理として、撮像部21が汚れていることを通知するための通知処理を行う通知部32cを備える。
このような養鶏システム10は、撮像部21によって撮像された画像に映る基準構造物70の状態に基づいて、撮像部21が汚れていることを通知するための通知処理を行うことができる。
また、基準構造物70は、黒色である。
このような養鶏システム10は、撮像部21によって撮像された画像に映る黒色の基準構造物70の状態に基づいて、撮像部21が汚れていることを通知するための通知処理を行うことができる。撮像部21が適切にクリーニングされれば、画像内の鶏の位置の判定精度が高められる。
また、養鶏方法は、基準構造物70が設置された鶏舎100内の画像を撮像し、撮像された画像を用いて当該画像内の鶏の位置の判定を行い、撮像された画像に映る基準構造物70の状態に基づいて、上記判定の精度を高めるための情報処理を行う。
このような養鶏方法は、撮像された画像を用いて画像内の鶏の位置の判定精度を高めることができる。
(その他の実施の形態)
以上、実施の形態に係る養鶏システムについて説明したが、本発明は、上記実施の形態に限定されない。
例えば、本発明は、昼行性家禽類を対象としたシステムとして実現されてもよい。昼行性家禽類には、鶏の他に、例えば、アヒル、七面鳥、またはホロホロチョウなどが含まれる。また、本発明は、昼行性家禽類以外の家畜(畜舎)を対象とした畜産システムとして実現されてもよい。
また、上記実施の形態では、養鶏システムは、複数の装置を含むシステムとして実現されたが、単一の装置として実現されてもよいし、クライアントサーバシステムとして実現されてもよい。
また、養鶏システムが備える構成要素の複数の装置への振り分けは、一例である。例えば、一の装置が備える構成要素を他の装置が備えてもよい。例えば、表示装置に代えて情報端末が表示部を備え、表示装置が省略されてもよい。
また、本発明の包括的または具体的な態様は、装置、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、装置、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。例えば、本発明は、養鶏方法として実現されてもよいし、養鶏方法をコンピュータに実行させるためのプログラムとして実現されてもよいし、当該プログラムが記録された非一時的な記録媒体として実現されてもよい。
また、上記実施の形態において、特定の処理部が実行する処理を別の処理部が実行してもよい。また、上記実施の形態において説明された養鶏システムの動作における複数の処理の順序は一例である。複数の処理の順序は、変更されてもよいし、複数の処理は、並行して実行されてもよい。
また、上記実施の形態において、情報処理部などの構成要素は、当該構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
また、情報処理部などの構成要素は、ハードウェアによって実現されてもよい。構成要素は、具体的には、回路または集積回路によって実現されてもよい。これらの回路は、全体として1つの回路を構成してもよいし、それぞれ別々の回路でもよい。また、これらの回路は、それぞれ、汎用的な回路でもよいし、専用の回路でもよい。
その他、各実施の形態に対して当業者が思いつく各種変形を施して得られる形態、または、本発明の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本発明に含まれる。
10、10a 養鶏システム
21 撮像部
32 情報処理部
32 算出部
32a 監視部
32b 算出部
32c 通知部
70 基準構造物
100 鶏舎

Claims (14)

  1. 基準構造物が設置された鶏舎内の画像を撮像する撮像部と、
    前記撮像部によって撮像された画像を用いて前記画像内の鶏の位置の判定を行う情報処理部とを備え、
    前記情報処理部は、前記撮像部によって撮像された画像に映る前記基準構造物の状態に基づいて、前記判定の精度を高めるための情報処理を行う
    養鶏システム。
  2. 前記情報処理部は、
    前記判定によって得られる前記鶏舎内の鶏の特徴量を監視する監視部と、
    前記情報処理として、前記判定において行われる画像の二値化処理に用いられる閾値の算出処理を行う算出部とを備える
    請求項1に記載の養鶏システム。
  3. 前記算出部は、前記撮像部によって撮像された前記画像であって前記二値化処理が行われる直前の画像のうち前記基準構造物が映る部分に含まれる画素の輝度値の平均値または最小値に基づいて、前記閾値を算出する
    請求項2に記載の養鶏システム。
  4. 前記算出部によって算出される前記閾値は、前記平均値または前記最小値が低いほど暗い輝度値を示す値となる
    請求項3に記載の養鶏システム。
  5. 前記算出部は、
    p−タイル法、モード法、及び、判別分析法のいずれかを用いて基準閾値を算出し、
    前記撮像部によって撮像された画像に映る前記基準構造物の状態に基づいて前記基準閾値を補正することにより、前記閾値を算出する
    請求項2に記載の養鶏システム。
  6. 前記監視部は、
    前記判定により、前記画像内の少なくとも一部の領域である特定領域を分割することで得られる複数の単位領域のそれぞれについて当該単位領域に占める鶏が映っていると推定される部分の割合を算出し、
    算出された前記割合のばらつきを前記特徴量として監視する
    請求項2〜5のいずれか1項に記載の養鶏システム。
  7. 前記監視部は、
    前記判定により、前記鶏舎内の鶏の活動量を算出し、
    算出された前記活動量を前記特徴量として監視する
    請求項2〜5のいずれか1項に記載の養鶏システム。
  8. 前記基準構造物は、白色である
    請求項1〜7のいずれか1項に記載の養鶏システム。
  9. 前記基準構造物の表面には、羽毛が取り付けられている
    請求項1〜8のいずれか1項に記載の養鶏システム。
  10. 前記情報処理部は、前記情報処理として、前記撮像部が汚れていることを通知する通知処理を行う通知部を備える
    請求項1に記載の養鶏システム。
  11. 前記基準構造物は、黒色である
    請求項10に記載の養鶏システム。
  12. 基準構造物が設置された鶏舎内の画像を撮像し、
    撮像された画像を用いて前記画像内の鶏の位置の判定を行い、
    撮像された画像に映る前記基準構造物の状態に基づいて、前記判定の精度を高めるための情報処理を行う
    養鶏方法。
  13. 請求項12に記載の養鶏方法をコンピュータに実行させるためのプログラム。
  14. 基準構造物が設置された畜舎内の画像を撮像する撮像部と、
    前記撮像部によって撮像された画像を用いて前記画像内の鶏の位置の判定を行う情報処理部と、
    前記撮像部によって撮像された画像に映る前記基準構造物の状態に基づいて、前記撮像部が汚れていることを通知する通知処理を行う通知部とを備える
    畜産システム。
JP2018223841A 2018-11-29 2018-11-29 養鶏システム、養鶏方法、プログラム、及び、畜産システム Pending JP2020080791A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018223841A JP2020080791A (ja) 2018-11-29 2018-11-29 養鶏システム、養鶏方法、プログラム、及び、畜産システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018223841A JP2020080791A (ja) 2018-11-29 2018-11-29 養鶏システム、養鶏方法、プログラム、及び、畜産システム

Publications (1)

Publication Number Publication Date
JP2020080791A true JP2020080791A (ja) 2020-06-04

Family

ID=70904418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018223841A Pending JP2020080791A (ja) 2018-11-29 2018-11-29 養鶏システム、養鶏方法、プログラム、及び、畜産システム

Country Status (1)

Country Link
JP (1) JP2020080791A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112189622A (zh) * 2020-10-10 2021-01-08 四川厚全好鲜见信息科技有限公司 一种数据驱动型数字蛋鸡养殖系统
JP2022031005A (ja) * 2020-08-07 2022-02-18 ライブストック・アグリテクノ株式会社 判定装置、判定方法、及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022031005A (ja) * 2020-08-07 2022-02-18 ライブストック・アグリテクノ株式会社 判定装置、判定方法、及びプログラム
JP7156616B2 (ja) 2020-08-07 2022-10-19 ライブストック・アグリテクノ株式会社 判定装置、判定方法、及びプログラム
CN112189622A (zh) * 2020-10-10 2021-01-08 四川厚全好鲜见信息科技有限公司 一种数据驱动型数字蛋鸡养殖系统

Similar Documents

Publication Publication Date Title
JP7108886B2 (ja) 養鶏システム、養鶏方法、及び、プログラム
WO2021014906A1 (ja) 体重推定システム、体重推定方法、及び、プログラム
JP7209269B2 (ja) 畜舎監視方法、及び、畜舎監視システム
JP7382899B2 (ja) 死亡鶏検知システム
US10475211B2 (en) Method, information processing apparatus and non-transitory computer-readable storage medium
Dawkins et al. Optical flow patterns in broiler chicken flocks as automated measures of behaviour and gait
De Wet et al. Computer-assisted image analysis to quantify daily growth rates of broiler chickens
JP2019024482A (ja) 情報処理システム、情報処理装置、およびプログラム
JP6781440B1 (ja) 畜産情報管理システム、畜産情報管理サーバ、畜産情報管理方法、及び畜産情報管理プログラム
JP2020080791A (ja) 養鶏システム、養鶏方法、プログラム、及び、畜産システム
JP7129675B2 (ja) 養鶏システム、養鶏方法、及び、プログラム
CN109086696B (zh) 一种异常行为检测方法、装置、电子设备及存储介质
JP2019201578A (ja) 死鳥推定装置、死鳥推定方法、プログラムおよび記録媒体
JP2020156393A (ja) 行動検出プログラム、行動検出方法及び行動検出システム
Doornweerd et al. Passive radio frequency identification and video tracking for the determination of location and movement of broilers
JP2020014421A (ja) 家畜出産予測システム
JP7327039B2 (ja) 活動量管理プログラム、活動量管理システム、及び活動量管理方法
WO2022181131A1 (ja) 体重推定システム、及び、体重推定方法
WO2022181132A1 (ja) 体重推定システム、及び、体重推定方法
CN116963595A (zh) 猪饲养辅助装置、猪饲养辅助方法以及猪饲养辅助程序
JP2020191820A (ja) 畜舎監視方法、及び、畜舎監視システム
JP2023015924A (ja) 生産管理システム、生産管理方法及びプログラム
JP4598405B2 (ja) 小動物の行動診断方法
JP2021153488A (ja) 蚕の停食時期判定装置及びその方法
JP2021090355A (ja) 刺激選択装置、刺激選択方法、およびプログラム