本発明の一態様に係る経過時間推定装置は、魚体の黒色素胞の状態と当該魚体の死後の経過時間との対応関係を示す対応情報を記憶する記憶部と、魚体の画像を取得する取得部と、前記取得部により取得された画像を解析することにより魚体の黒色素胞の状態を検出する解析部と、前記対応情報に基づいて、前記解析部により検出された魚体の黒色素胞の状態に応じて当該魚体の死後の経過時間を推定して、推定結果を出力する推定部とを備える経過時間推定装置である。記憶部は予め対応情報を記憶しているものであっても、経過時間推定装置の外部から対応情報を取得して記憶するものであっても良い。これにより、魚体の画像を解析して黒色素胞の状態から魚体の死後の経過時間を推定するので、魚体を傷つけることなく瞳孔と白目の境界位置に依らない推定が可能となる。また、ユーザは例えば魚体の画像を撮影等により経過時間推定装置に取得させるだけで、魚体の死後の経過時間を知ることができるようになる。
また、前記取得部により取得される魚体の画像は、魚体の虹彩又はヒレの部分を含むこととしても良い。これにより、黒色素胞の解析に適した画像を対象として解析できるので、魚体の死後の経過時間の推定が適切に行える。
また、前記対応情報は、黒色素胞の黒色部分の大きさが小さいほど死後の経過時間が長くなる対応関係を示し、前記解析部は、魚体の黒色素胞の状態として当該黒色素胞の黒色部分の大きさを検出することとしても良い。黒色素胞の黒色部分の大きさは、例えばその黒色部分に対応する画素数(ピクセル数)から計算した面積等で表される。これにより、面積の計算等の比較的簡易な計算により特定できる黒色部分の大きさにより、魚体の死後の経過時間の推定が可能となる。
また、前記対応情報は、黒色素胞の黒色部分の形状についての複雑さの度合いが低いほど死後の経過時間が長くなる対応関係を示し、前記解析部は、魚体の黒色素胞の状態として当該黒色素胞の黒色部分の形状についての複雑さの度合いを検出することとしても良い。黒色素胞の黒色部分の形状についての複雑さの度合いは、例えば、黒色部分の輪郭線長の、黒色部分の面積と同面積の円の円周長に対する比等として表される。これにより、画像解析で黒色素胞における黒色の色素顆粒の移動による形状を捉えて、適切に魚体の死後の経過時間を推定することができる。
また、前記対応情報における黒色素胞の状態は、当該黒色素胞の黒色部分の面積と当該黒色部分の形状についての複雑さの度合いとを含む特徴量で示され、前記解析部は、魚体の黒色素胞の状態として特徴量を検出することとしても良い。これにより、画像上の特徴量に基づいて適切に魚体の死後の経過時間を推定できる。
また、前記取得部により取得される魚体の画像は、紫外領域を含む光を当該魚体に照射して撮影された画像であることとしても良い。これにより、黒色素胞の色素顆粒が紫外線を吸収し他の部分と区別されて黒色素胞の状態の検出が適切に行えるようになるため、適切に魚体の死後の経過時間を推定できる。
また、本発明の一態様に係る経過時間推定方法は、魚体の画像を取得する取得ステップと、前記取得ステップにより取得された画像を解析することにより魚体の黒色素胞の状態を検出する解析ステップと、魚体の黒色素胞の状態と当該魚体の死後の経過時間との対応関係を示す対応情報に基づいて、前記解析ステップにより検出された魚体の黒色素胞の状態に応じて、当該魚体の死後の経過時間を推定する推定ステップとを含む経過時間推定方法である。これにより、魚体を傷つけることなく瞳孔と白目の境界位置に依らない死後の経過時間の推定が可能となる。
また、本発明の一態様に係る制御プログラムは、コンピュータに経過時間推定処理を実行させるための制御プログラムであって、前記経過時間推定処理は、魚体の画像を取得する取得ステップと、前記取得ステップにより取得された画像を解析することにより魚体の黒色素胞の状態を検出する解析ステップと、魚体の黒色素胞の状態と当該魚体の死後の経過時間との対応関係を示す対応情報に基づいて、前記解析ステップにより検出された魚体の黒色素胞の状態に応じて、当該魚体の死後の経過時間を推定する推定ステップとを含む制御プログラムである。この制御プログラムをインストールしたコンピュータにより魚体の死後の経過時間の推定が可能となる。
また、本発明の一態様に係る保存状態推定装置は、魚体の黒色素胞の状態と非冷凍の場合における当該魚体の死後の経過時間との対応関係を示す対応情報を記憶する記憶部と、魚体の画像を取得する取得部と、前記取得部により取得された画像を解析することにより魚体の黒色素胞の状態を検出する解析部と、前記対応情報に基づいて、前記解析部により検出された魚体の黒色素胞の状態に応じて、非冷凍の場合における当該魚体の死後の経過時間を推定する経過時間推定部と、前記経過時間推定部により推定された魚体の死後の経過時間を用いて当該魚体についての保存状態を推定して、推定結果を出力する保存状態推定部とを備える保存状態推定装置である。これにより、画像解析による魚体の保存状態の推定が可能になる。
また、前記保存状態推定装置は更に、前記取得部により取得された画像に係る魚体についての死後の経過時間の入力を受け付ける入力部を備え、前記保存状態推定部は、前記入力部により受け付けられた入力に係る経過時間と前記経過時間推定部で推定された経過時間とを比較することにより、前記魚体が、冷凍状態か否かを推定することとしても良い。入力部が受け付ける入力の概念は、人の操作による情報の入力に限られず、保存状態推定装置の内外の装置から情報を受信し、或いは、記録媒体から情報を読み出すことで情報を取得することを含む。これにより、魚体の見た目からは判別困難な冷凍保存されたか否かという保存状態が、入力に係る死後の経過時間と黒色素胞の解析に適した画像とから適切に推定されるようになる。
また、前記保存状態推定装置は更に、前記取得部により取得された画像に係る魚体についての死後の経過時間の入力を受け付ける入力部を備え、前記記憶部は、非冷凍の温度範囲内の複数の温度それぞれについて、魚体の黒色素胞の状態と当該温度における当該魚体の死後の経過時間との対応関係を示す対応情報を、記憶し、前記経過時間推定部は、前記複数の温度それぞれについて、当該温度に該当する対応情報に基づいて、前記解析部により検出された魚体の黒色素胞の状態に応じて、当該温度における当該魚体の死後の経過時間を推定し、前記保存状態推定部は、前記入力部により受け付けられた入力に係る経過時間と前記経過時間推定部で推定された各経過時間とを比較することにより、前記魚体についての保存状態として当該魚体が保存された温度を推定することとしても良い。これにより、魚体の死後の経過時間の入力と画像解析とに基づいて魚体が保存された温度の推定が可能となる。
また、前記取得部により取得される魚体の画像は、魚体の虹彩又はヒレの部分を含んで撮影された画像であることとしても良い。これにより、黒色素胞の解析に適した画像を対象として解析できるので、魚体の保存状態の推定が適切に行える。
また、前記対応情報は、黒色素胞の黒色部分の面積と当該黒色部分の形状についての複雑さの度合いとを含む特徴量と死後の経過時間との対応関係を示し、前記解析部は、魚体の黒色素胞の状態として特徴量を検出することとしても良い。これにより、画像上の特徴量により適切に魚体の保存状態を推定できるようになる。
また、前記対応情報は、黒色素胞の黒色部分の大きさが小さいほど死後の経過時間が長くなる対応関係、又は、黒色素胞の黒色部分の形状についての複雑さの度合いが低いほど死後の経過時間が長くなる対応関係を示し、前記対応情報が、黒色素胞の黒色部分の大きさが小さいほど死後の経過時間が長くなる対応関係を示すものであるとき、前記解析部は、魚体の黒色素胞の状態として当該黒色素胞の黒色部分の大きさを検出し、前記対応情報が、黒色素胞の黒色部分の形状についての複雑さの度合いが低いほど死後の経過時間が長くなる対応関係を示すものであるとき、前記解析部は、魚体の黒色素胞の状態として当該黒色素胞の黒色部分の形状についての複雑さの度合いを検出することとしても良い。これにより、魚体の黒色素胞の黒色部分の大きさ或いは形状を捉えて適切に魚体の保存状態を推定できるようになる。
また、前記保存状態推定部は、前記比較により、前記魚体が冷凍保存されたか否かを推定することとしても良い。また、前記保存状態推定部は、前記推定された経過時間が前記入力に係る経過時間よりも短い場合には、前記魚体が冷凍保存されたと推定することとしても良い。これらにより、ユーザは魚体が冷凍保存されたか否かを知ることができるようになる。
また、前記取得部により取得される魚体の画像は、魚体の表面から所定の深さでの反射光から撮影により得られた画像であることとしても良い。これにより、所定の深さとして黒色素胞が多く存在する深さを定めておくことで適切に魚体の保存状態を推定し得る。
また、前記取得部により取得される魚体の画像は、1画素あたり2μmの解像度より高い解像度の画像であり、前記対応情報は、黒色素胞の黒色部分の形状についての複雑さの度合いが低いほど死後の経過時間が長くなる対応関係を示し、前記解析部は、魚体の黒色素胞の状態として当該黒色素胞の黒色部分の形状についての複雑さの度合いを検出することとしても良い。これにより、魚体の黒色素胞の黒色部分の形状を精度良く解析することができ、適切に魚体の保存状態を推定できるようになる。
また、前記取得部は、魚体の画像を撮影するカメラから当該画像を取得し、前記保存状態推定装置は更に、前記画像から抽出される黒色領域の画像全体に対する割合が一定範囲に含まれるか否かを判定する判定部と、前記判定部により、前記割合が一定範囲に含まれないと判定された場合にはカメラの移動を促すメッセージを出力する出力部とを備えることとしても良い。これにより、ユーザにカメラの移動を促すので結果的に魚体の黒色素胞の状態の解析に適した画像が得られ、適切に魚体の保存状態を推定できるようになる。
また、前記保存状態推定部は、前記推定された経過時間に応じて前記魚体の水揚げから冷凍が完了するまでに要した時間を推定し、前記保存状態推定部は、前記推定された経過時間が長いほど前記魚体の水揚げから冷凍が完了するまでに要した時間が長いように推定することとしても良い。これにより、ユーザは魚体の水揚げからの冷凍完了までに要した時間について知ることができるようになる。
また、前記取得部は、冷凍装置により同時に冷凍された複数の魚体を同時に撮影することにより生成された画像を取得し、前記保存状態推定部は、前記経過時間推定部により前記複数の魚体について推定された死後の経過時間の分布に基づき、前記複数の魚体がいかなる冷凍性能を有する冷凍装置により保存されたかを推定することとしても良い。これにより、ユーザは魚体を冷凍した冷凍装置の冷凍性能について知ることができるようになる。
また、本発明の一態様に係る保存状態推定方法は、魚体の画像を取得する取得ステップと、前記取得ステップにより取得された画像を解析することにより魚体の黒色素胞の状態を検出する解析ステップと、魚体の黒色素胞の状態と非冷凍の場合における当該魚体の死後の経過時間との対応関係を示す対応情報に基づいて、前記解析ステップにより検出された魚体の黒色素胞の状態に応じて、非冷凍の場合における当該魚体の死後の経過時間を推定する経過時間推定ステップと、前記経過時間推定ステップにより推定された魚体の死後の経過時間を用いて当該魚体についての保存状態を推定する保存状態推定ステップとを含む保存状態推定方法である。これにより、魚体の保存状態の推定が可能になる。
また、本発明の一態様に係る制御プログラムは、コンピュータに保存状態推定処理を実行させるための制御プログラムであって、前記保存状態推定処理は、魚体の画像を取得する取得ステップと、前記取得ステップにより取得された画像を解析することにより魚体の黒色素胞の状態を検出する解析ステップと、魚体の黒色素胞の状態と非冷凍の場合における当該魚体の死後の経過時間との対応関係を示す対応情報に基づいて、前記解析ステップにより検出された魚体の黒色素胞の状態に応じて、非冷凍の場合における当該魚体の死後の経過時間を推定する経過時間推定ステップと、前記経過時間推定ステップにより推定された魚体の死後の経過時間を用いて当該魚体についての保存状態を推定する保存状態推定ステップとを含む制御プログラムである。この制御プログラムをインストールしたコンピュータにより魚体の保存状態の推定が可能となる。
また、本発明の一態様に係る経過時間情報出力装置は、魚体の画像を取得する取得部と、前記取得部により取得された画像を解析することにより魚体の黒色素胞の状態を検出する解析部と、魚体の黒色素胞の状態と当該魚体の死後の経過時間との対応関係を示す対応情報に基づき、前記解析部により検出された魚体の黒色素胞の状態に応じて当該対応関係に従って定まる、魚体の死後の経過時間を示す情報を出力する出力部とを備える経過時間情報出力装置である。これにより、魚体の死後の経過時間を認識し得る。
また、本発明の一態様に係る保存状態情報出力装置は、魚体の画像を取得する取得部と、前記取得部により取得された画像を解析することにより魚体の黒色素胞の状態を検出する解析部と、前記取得部により取得された画像に係る魚体についての死後の経過時間の入力を受け付ける入力部と、魚体の黒色素胞の状態と非冷凍の場合における当該魚体の死後の経過時間との対応関係を示す対応情報に基づき、前記解析部により検出された魚体の黒色素胞の状態に応じて当該対応関係に従って定まる、非冷凍の場合における当該魚体の死後の経過時間と、前記入力部により受け付けられた入力に係る経過時間との関係に基づいて前記魚体が冷凍状態か否かを示す情報を出力する出力部とを備える保存状態情報出力装置である。これにより、魚体の保存状態を認識し得る。
また、本発明の一態様に係る保存状態情報出力装置は、魚体の黒色素胞の状態と非冷凍の場合における当該魚体の死後の経過時間との対応関係を示す対応情報を記憶するメモリと、入力された魚体の画像に表れた黒色素胞の状態に応じて、非冷凍の場合における当該魚体の死後の経過時間を前記対応情報に基づいて特定し、特定した経過時間に応じて当該魚体の保存状態を特定し、特定した保存状態を示す保存状態情報を出力するプロセッサと、前記プロセッサから出力された保存状態情報を表示するディスプレイとを備える保存状態情報出力装置である。これにより、ユーザは、魚体を傷つけることなく、魚体の保存状態をディスプレイで確認できるようになる。
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されても良い。
以下、実施の形態に係る経過時間推定装置、保存状態推定装置等について、図面を参照しながら説明する。ここで示す実施の形態は、いずれも本発明の一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、並びに、ステップ(工程)及びステップの順序等は、一例であって本発明を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
(概要)
市場を流通する食用の魚類の鮮度を判定するための方法として、魚体に傷をつけることなく魚体を撮影して得られる画像の解析により魚体の死後の経過時間を推定することは有効である。
実施の形態に係る経過時間推定装置或いは保存状態推定装置は、魚体を撮影して得られた画像を解析することにより魚体の虹彩又はヒレにおける黒色素胞の状態を検知し、この黒色素胞の状態から魚体の死後の経過時間或いは魚体の保存状態を推定する装置である。この黒色素胞は、魚類の表皮等に広く存在する色素細胞である。これらの装置による推定は、魚体の虹彩又はヒレ(背びれ、尾びれ等)における黒色素胞の状態と魚体の死後の経過時間とに特定の相関(対応関係)があるという本願発明者らの発見に基づく。
本願発明者らは、淡水魚であるウグイ及びコイの黒色素胞の死後の経過時間に伴う変化を観察し、上記発見に至った。
図1は、ウグイにおける魚眼70の虹彩71の一部を約200倍に拡大して撮影した画像群を示す。画像71a〜画像71fは、常温において魚体の死後4時間経過後から9時間経過後まで1時間毎に撮影された画像である。これらの画像は可視光カメラによりカラー撮影したカラー画像をグレースケールに変換し、2値化した画像である。なお、黒色素胞は可視光カメラ、赤外線カメラ、紫外線カメラ等により撮影可能である。画像中の円72a〜円72fそれぞれに囲まれた部分は、1つの黒色素胞を示している。死後4時間経過時の画像71aにおける円72aで囲んだ黒色素胞の色素顆粒は、突起の多い複雑な形状即ち黒色素胞の細胞の形状に広がっており、色素顆粒の広がった黒い面積が大きい。この黒色素胞の黒色部分即ち色素顆粒の広がりは、時間経過にともなって突起部分が無くなり、死後9時間経過時の画像71fでは、円72f内の色素顆粒の広がりが小さく単純な円に近い形状となっている。図2A及び図2Bは、黒色素胞とその内部における色素顆粒(メラニン顆粒)の分布状態を示す模式図である。図2Aは黒色素胞80全体に色素顆粒80aが広がって分布(拡散)した状態を示し、図2Bは黒色素胞81の中央部分に色素顆粒81aが凝集した状態を示す。例えば画像71aにおける円72aで囲んだ黒色素胞ではその中の色素顆粒が図2Aのような黒色素胞全体に広がった状態になっているため突起の多い複雑な形状で面積が大きい。魚体の死後の時間経過に伴って色素顆粒が、黒色素胞の中央部分に凝集して(図2B参照)、画像71fの円72fで囲んだ黒色素胞のように小さな円形となる。
このように、本願発明者らは、死後特段の化学処理等を施さない魚体において、虹彩とヒレにおける黒色素胞内の色素顆粒が時間経過とともに凝集することを発見した。一方、魚体の側面の鱗(ウロコ)にある黒色素胞については時間経過に対して色素顆粒の広がりに変化が見られないことを確認した。
従って、魚体の虹彩又はヒレにおける黒色素胞の状態と魚体の死後の経過時間との対応関係を用いることで、実施の形態に係る経過時間推定装置等は魚体の画像の解析によって魚体の死後の経過時間等を適切に推定できる。なお、魚類の黒色素胞の面積については、サケ、マス或いはタイにおいて、死後に体色、特に腹側の部分が黒く変化する、即ち黒色素胞内で色素顆粒であるメラニンが広がり黒色素胞の黒い面積が増加することが、特許文献3において指摘されている。これは、本願発明者らの発見した虹彩及びヒレにおける黒色素胞内の色素顆粒が時間経過とともに凝集することとは異なる。
(実施の形態1)
実施の形態1では、上記発見に基づき、魚体の虹彩又はヒレの画像を取得し、画像の解析により、魚体の死後の経過時間を推定する経過時間推定装置について説明する。
本実施の形態に係る経過時間推定装置10は、入力手段、メモリ等の記憶装置、カメラ等の画像センサである画像取得手段、ディスプレイ等の出力手段、プロセッサ等を備えるコンピュータで構成される。なお、画像取得手段は、写真を読み取って画像を生成するスキャナや、カメラ等の画像センサにより撮影された画像を記録した記録媒体から画像のデータを読み込む装置等であっても良い。メモリは、経過時間推定処理をプロセッサに実行させるための制御プログラムを記憶し、また、プロセッサによる経過時間推定処理の実行に際して用いられるデータの格納等に用いられる。
経過時間推定装置10は、経過時間推定方法に係る経過時間推定処理を実行する機能を有する。即ち、経過時間推定装置10は、取得した魚体の画像を画像処理することで、黒色素胞の黒色の色素顆粒に相当する部分の面積を計算する機能を有する。また、経過時間推定装置10は、その計算した面積に応じて、黒色素胞の黒色部分の面積と死後の経過時間との対応関係を示し予め記憶している対応情報に基づいて、死後の経過時間を推定する機能を有する。
図3は、実施の形態1に係る経過時間推定装置10の構成を示す機能ブロック図である。経過時間推定装置10は、機能面では図3に示すように取得部110、解析部120、推定部140及び記憶部150を備える。
取得部110は、制御プログラムを実行するプロセッサ及び画像取得手段により実現され、魚体が撮影された画像(静止画像)を取得する機能を有する。この画像は例えば紫外線、可視光、赤外線のいずれかの範囲の波長で撮影可能なカメラ等によって取得されたものである。なお、黒色素胞に含まれるメラノフォア等の色素顆粒(メラニン顆粒)は紫外線を吸収する物質であるため、紫外線による撮影が、色素顆粒と他の部分との区別を明確化する点で有効である。
解析部120は、制御プログラムを実行するプロセッサにより実現され、取得部110より取得された画像を解析することにより魚体の黒色素胞の状態を検出する機能を有する。この解析部120は、画像処理部120aと黒色素胞状態分析部120bとを含む。画像処理部120aは、取得部110が取得した画像について、黒色素胞の黒色部分を抽出するための画像処理を行う機能を有する。また、黒色素胞状態分析部120bは、画像処理部120aで処理された画像中の黒色素胞の黒色部分についての状態を分析する機能を有する。画像処理部120aと黒色素胞状態分析部120bとについては、後に詳しく説明する。
記憶部150は、記憶装置の一領域により実現され、経過時間に伴う黒色素胞の状態の変化を計測した実験結果に基づいて予め生成された、魚体の黒色素胞の黒色部分の状態と魚体の死後の経過時間との対応関係を示す対応情報を記憶している。対応情報は、経過時間と黒色素胞の状態を対応させて記憶するテーブルであっても良いし、黒色素胞の状態を経過時間に対する関数として記憶するものであっても良い。なお、本実施の形態において黒色素胞の状態は、黒色素胞の黒色部分の大きさにより表される。この場合に対応情報は、黒色素胞の黒色部分の大きさが小さいほど死後の経過時間が長くなる対応関係を示すものとなる。なお、記憶部150は、キャッシュメモリ等で構成されても良く、例えば外部装置(例えば経過時間推定装置10とネットワークを介して通信可能なサーバ装置等)から対応情報を受信することで取得して、一時的に記憶しても良い。また、記憶部150は、記録媒体から対応情報を読み出して取得して、記憶しても良い。
推定部140は、記憶部150に記憶された対応情報を参照して、黒色素胞状態分析部120bで分析された黒色素胞の状態が、死後どれだけの時間が経過した状態に対応するかを判断し、死後の経過時間の推定を行い、推定結果を出力する機能を有する。この推定部140は、制御プログラムを実行するプロセッサ及び出力手段により実現される。
図4は、本実施の形態に係る経過時間推定装置10による経過時間推定処理を示すフローチャートである。図4に従って、経過時間推定処理の処理手順を説明する。この経過時間推定処理は、経過時間推定装置10の入力手段への入力(例えばスイッチの押下等)によって開始される。
まず、経過時間推定装置10の取得部110は、画像取得手段から静止画である画像を取得する(ステップS1)。この画像は、魚体の虹彩又はヒレを含むように撮影されたものである。
解析部120における画像処理部120aは、取得された画像に対する画像処理を行うことにより画像中の黒色領域を特定する(ステップS2)。この画像処理の詳細については後述する。
続いて解析部120における黒色素胞状態分析部120bは、ステップS2において特定された黒色領域より黒色素胞を抽出し、黒色素胞を分析して黒色素胞の状態を検出する(ステップS3)。黒色素胞の状態としての黒色素胞の黒色部分の大きさは、具体的には、例えば、連続する黒色領域を抽出し、領域毎の面積を計算することで検出される。面積は、例えばピクセル(つまり画像中の1画素)間の実距離或いはピクセルあたりの実面積の情報を用いて、黒色領域として抽出された領域に含まれるピクセル数から計算される。ピクセル間の実距離或いはピクセルあたりの実面積の情報は、例えば取得部110が画像を取得する際に付加情報として同時に取得する、或いは予め定められ経過時間推定装置10がメモリ等に記憶している。
次に、推定部140はステップS3で解析部120(黒色素胞状態分析部120b)により検出された黒色領域の状態に基づき、記憶部150に記憶されている対応情報を参照して死後の経過時間を推定し(ステップS4)、推定結果を出力する(ステップS5)。ここで、黒色領域の状態は、具体的には黒色部分の大きさである面積である。推定の詳細は後述する。ステップS5における出力は、出力手段がディスプレイであればテキスト、画像等の表示である。また音声或いは印刷による出力でも良い。音声の場合には出力手段として音声出力装置(スピーカ等)を用いれば良く、印刷されるものであれば出力手段としてプリンタ等を用いれば良い。
以上のようにして、経過時間推定装置10は取得した魚体の画像より黒色素胞の状態を分析して、魚体の死後の経過時間を推定する。
以下、解析部120における画像処理部120a及び黒色素胞状態分析部120bの詳細な構成と動作について説明する。図5は、解析部120の詳細な構成の一例を示すブロック図である。
まず、画像処理部120aの詳細について説明する。画像処理部120aは、図5に示すように、例えばグレースケール変換部121と2値化処理部122とを備える。
グレースケール変換部121は、取得部110が取得した画像を受け取り、カラー画像をグレースケール画像(白黒画像)に変換する。グレースケール画像への変換は、例えばNTSC係数による加重平均法を用いて行う。NTSC係数による計算方法は以下のようなものである。
赤R,緑G,青Bの3つの値が0〜255の任意の整数である場合に、グレースケール変換後の0〜255の範囲における整数である値Yは以下の式で求められる。
Y=(0.298912×R+0.586611×G+0.114478×B)
NTSC係数による計算以外にも、HDTV係数による計算、単純平均法等でグレースケールに変換するとしても良い。
2値化処理部122は、グレースケール変換部121でグレースケールの画像に変換された画像の各画素の輝度に対して閾値を設定して、閾値を越える輝度の画素については白色、閾値以下の輝度の画素については黒色を割り当てる処理を行う。閾値については、予め定められた値を適用するものとしても良いし、画像毎に輝度分布を求め、その分布に基づいて閾値を決定するとしても良い。閾値の決定方法は、白色と黒色との両方がある程度存在することになるように、例えば3分の2の画素が白色、3分の1の画素が黒色になるように閾値を決定する等である。
図6は、経過時間推定処理の一部の詳細例を示すフローチャートである。図6に従って、図4に示したステップS2における黒色領域の特定について詳細な動作を説明する。
グレースケール変換部121は、取得部110が取得した画像がカラー画像であるか白黒画像であるかを判断する(ステップS21)。この判断は、例えば取得部110が画像を取得する際に付加情報としてカラー画像であるか白黒画像であるかの情報を取得し、その情報に基づいて行われる。なお、運用上、カラー画像のみが入力される場合等においてはこの判断は省略できる。
取得部110が取得した画像がカラー画像であると判断した場合には、グレースケール変換部121は、取得部110より取得したカラー画像をグレースケール画像に変換する(ステップS22)。
ステップS21において取得部110が取得した画像がカラー画像でないと判断した場合、及び、ステップS22が実行された場合には、2値化処理部122がグレースケール画像を2値化する(ステップS23)。この2値化された画像の黒色部分が黒色領域を構成する。なお、ここでは黒色領域を構成する黒色部分を特定するために、取得した画像を輝度に基づいて2値化する方法を説明したが、黒色部分の特定には他の色判別等の方法を用いても良い。
次に、黒色素胞状態分析部120bの詳細について説明する。黒色素胞状態分析部120bは、図5に示すように、例えば領域抽出部131と面積計算部132と面積平均部133とを備える。
領域抽出部131は、画像処理部120aで2値化された画像つまり黒色部分が特定された画像から、連続する黒色部分の画素の集まりである塊毎に分離して各塊を1つの黒色領域として抽出する。
面積計算部132は、領域抽出部131が抽出した1つ以上の黒色領域のそれぞれについてその領域の面積を計算する。領域の面積は、領域抽出部131が抽出した連続する黒色画素からなる黒色領域の全画素数と画素あたりの実面積との積によって計算する。画素あたりの実面積の情報は、例えば取得部110が画像を取得する際に付加情報として同時に取得する、或いは予め定められた経過時間推定装置10がメモリ等に記憶している。なお、画素あたりの実面積は、カメラと被写体との距離、レンズの倍率等によって定まる。
面積平均部133は、面積計算部132が領域毎に計算した黒色領域の面積を平均する。
図7は、経過時間推定処理の一部の詳細例を示すフローチャートである。図7に従って、図4に示したステップS3における黒色素胞の分析(黒色素胞の状態の検出)について詳細な動作を説明する。
領域抽出部131は、ステップS23において2値化された画像中の連続する黒色部分である各黒色領域を黒色素胞として抽出する(ステップS31)。例えば、図1における画像71aでは円72aで囲まれた範囲内の黒色領域が1つの黒色素胞として抽出され、図1における画像71eでは3つの黒色領域が3つの黒色素胞として抽出される。
面積計算部132は、ステップS31で抽出された1つ以上の黒色素胞それぞれについて、面積を計算する(ステップS32)。面積は、例えば1画素あたりの実面積と領域の総画素数との積である。例えば1画素あたり4μm2即ち、画素間の実距離が2μmである場合、黒色素胞として抽出された黒色領域の画素数が6000である場合、面積は24000μm2となる。面積平均部133は、ステップS32で計算された1つ以上の黒色素胞の面積を平均する(ステップS33)。黒色素胞の状態(黒色部分の大きさ)の検出は、この平均面積の計算により実現される。
なお、図1の画像71aの右下部分のように複数個の黒色素胞による黒色部分がつながり、連続した1つの黒色領域と判断され、ステップS31ではこの黒色領域が1つの黒色素胞として抽出される場合がある。この場合のように、黒色領域の面積が1つの黒色素胞ではありえない面積である場合には、ステップS31においてその黒色領域を黒色素胞として抽出しないようにすることで、ステップS33での平均化の対象から除外することとしても良い。即ち、予め定められた大きさ(例えば直径500μm)より大きい黒色領域を除外しても良い。
ここでは黒色素胞の状態としての黒色部分の大きさを検出するために、黒色素胞の面積の平均値を計算したが、黒色素胞の黒色部分の大きさを例えば同面積の円の半径、直径等で表す等といった他の方法で、黒色素胞の黒色部分の大きさの検出を行っても良い。また、黒色素胞の面積の中央値、分散等といった統計的な代表値を用いても良い。
以下、上述した黒色素胞の状態の検出結果に応じて対応情報に基づいて魚体の死後の経過時間を推定する処理(ステップS4)の具体例を示す。
図8は、記憶部150に記憶された対応情報の一例を示す図である。この例では、対応情報が、黒色素胞の状態即ち平均面積と経過時間とが対応付けられたテーブルとして記憶部150に記憶される例を示している。この平均面積と経過時間との対応関係は、実験等により定められており、経過時間は、常温での魚体の死後の経過時間を示す。
推定部140は、ステップS3で検出された魚体の黒色素胞の状態である黒色部分の大きさ(面積)に応じて、対応情報に基づいて魚体の死後の経過時間を推定して出力する。例えば、検出された黒色素胞の平均面積が24000μm2の場合、図8に例示する対応情報では、10000μm2以上50000μm2未満の範囲に該当するため、魚体の死後の経過時間は6時間から8時間であると推定される。
なお、記憶部150は、黒色素胞の平均面積と魚体の死後の経過時間との対応関係を示す対応情報を上述したテーブルとして記憶する代わりに、他の形式で記憶しても良い。例えば、記憶部150は、経過時間による平均面積の変化を示す関数を定めるパラメータを記憶するものとしても良い。この場合には推定部140は、記憶部150に記憶されたパラメータにより定まる関数を用いて平均面積から経過時間を計算することにより、経過時間の推定を行う。図9は、経過時間による平均面積の変化を示す関数の一例をグラフとして示したものである。対応情報は、テーブル、関数以外の形式で記憶され、参照されるものとしても良い。
上述した対応情報は、常温での経過時間を示すとしたが、経過時間推定装置10の推定対象となる魚体が保存される温度に合わせて、保存温度毎の大きさと経過時間との対応関係を示すものとしても良く、冷蔵温度或いは氷温での対応関係を示すものとしても良い。
本実施の形態では、2値化した画像中の連続する黒色部分である1つの黒色領域を1つの黒色素胞であるものとして抽出した。この代わりに、2値化する際の閾値を所定間隔で2種類設定して、閾値の違いによって連続する黒色部分の形状が変化するようなその連続する黒色部分を黒色素胞として抽出するものとしても良い。黒色素胞の画像は細胞内での色素顆粒の分布が輝度として撮影されている。このため、黒色素胞内に黒色の色素顆粒が一様に拡散している或いは中心部に全ての色素顆粒が凝集している場合を除いて黒色領域の輪郭線は曖昧となり、黒色素胞の中心部は輝度が低く周辺部は輝度が高いというグラデーションが現れている。従って黒色素胞の多くは2値化する際の輝度の閾値を変化させることにより形状が変化する。このため、閾値の違いにより形状が変化する黒色領域を黒色素胞として抽出することで、瞳孔等の黒色素胞以外の輝度の低い黒色部分と区別して黒色素胞のみを抽出することができ、死後の経過時間の推定の精度を高めることができる。
なお、上述した取得部110が取得する魚体の画像は、魚体表面からの深さの範囲を制限した画像であるとしても良い。深さの範囲を制限する方法は、例えば、偏光フィルタを用いて魚体表面からの反射光を除去する撮影である。光源に偏光フィルタを使用して、偏光によって照明すると、表面での反射光は偏光を保っているが、表面から撮影対象(魚体)の内部へ入り、内部の物質から反射する反射光は偏光が崩れて非偏光となる。カメラ側で、光源に用いた偏光フィルタに直交する偏光フィルタを通すことで、偏光を維持した表面からの反射光はフィルタを通過せず、撮影対象の内部で反射した非偏光の光の一部はフィルタを通過する。これにより、画像として取得する際の、魚体の表面からの距離を設定することができる。黒色素胞は真皮の表面近くに分布しており、偏光により焦点の範囲を黒色素胞の多い所定の深さに限定することで、黒色素胞以外の黒色の物質を画像から除外することができる。また、光の周波数により、表面から到達する深さが異なることが知られている。撮影に利用する光源の周波数を黒色素胞が存在する所定の深さで反射する周波数に調整することで、偏光と同様の効果を得ることができる。
(実施の形態1の変形例1)
以下、実施の形態1の変形例1に係る経過時間推定装置20について説明する。この経過時間推定装置20は、実施の形態1で示した経過時間推定装置10とハードウェア構成については同様であるが、プロセッサにより実行される制御プログラムが相違することにより、次のように、機能が若干異なる。
実施の形態1の経過時間推定装置10では、黒色素胞の状態として黒色部分の大きさ(黒色部分の面積等)を検出して経過時間推定の基礎とした。これに対して、実施の形態1の変形例1の経過時間推定装置20は、黒色素胞の状態として黒色部分の形状の複雑さの度合いを検出して、経過時間推定の基礎として用いる指標にする。黒色素胞の黒色部分は、黒色素胞の色素顆粒が拡散した状態では星型のような複雑な形状となり、色素顆粒が凝集した状態では円のような単純な形状となる。黒色部分の形状の複雑さの度合いを指標とすることで、黒色素胞の状態を詳細に反映した精度の高い経過時間推定を行うことができる。
図10は、実施の形態1の変形例1に係る経過時間推定装置20の構成を示す機能ブロック図である。経過時間推定装置20は、機能面では図10に示すように取得部110、解析部220、推定部240及び記憶部250を備える。なお、実施の形態1で示した経過時間推定装置10と同じ機能構成要素(機能ブロック)には、同じ符号を付してあり、ここでは詳しくは説明しない。解析部220、推定部240及び記憶部250は、それぞれ、実施の形態1で示した解析部120、推定部140及び記憶部150を一部変形したものである。
解析部220は、制御プログラムを実行するプロセッサにより実現され、取得部110より取得された画像を解析することにより魚体の黒色素胞の状態を検出する機能を有する。この解析部220は、画像処理部120aと黒色素胞状態分析部220bとを含む。黒色素胞状態分析部220bは、画像処理部120aで処理された画像中の黒色素胞の黒色部分についての状態を分析する機能を有する。実施の形態1の変形例1では、黒色素胞の状態は黒色部分の形状の複雑さの度合いである。
記憶部250は、記憶装置の一領域により実現され、経過時間に伴う黒色素胞の状態の変化を計測した実験結果に基づいて予め生成された、魚体の黒色素胞の黒色部分の状態と魚体の死後の経過時間との対応関係を示す対応情報を記憶している。対応情報は、経過時間と黒色素胞の状態を対応させて記憶するテーブルであっても良いし、黒色素胞の状態を経過時間に対する関数として記憶するものであっても良い。なお、実施の形態1の変形例1において黒色素胞の状態は、黒色素胞の形状の複雑さの度合いに表され、対応情報は、黒色素胞の黒色部分の形状の複雑さの度合いが低いほど死後の経過時間が長くなる対応関係を示すものとなる。
推定部240は、記憶部250に記憶された対応情報を参照して、黒色素胞状態分析部220bで分析された黒色素胞の状態が、死後どれだけの時間が経過した状態に対応するかを判断し、死後の経過時間の推定を行い、推定結果を出力する機能を有する。この推定部240は、制御プログラムを実行するプロセッサ及び出力手段により実現される。
実施の形態1の変形例1の経過時間推定装置20による経過時間推定処理は、概ね、図4に示した経過時間推定装置10による経過時間推定処理と同様である。従って、経過時間推定処理の概要についての説明は省略する。また、解析部220における画像処理部120aについての説明を省略する。
以下、解析部220における黒色素胞状態分析部220bの詳細な構成と動作について説明する。
図11は、解析部220の詳細な構成の一例を示すブロック図である。同図に示すように、解析部120は、画像処理部120a及び黒色素胞状態分析部220bを備え、黒色素胞状態分析部220bは、領域抽出部131と円当てはめ部231と輪郭抽出部232と外周計算部233と比較部234とを有する。
領域抽出部131は、画像処理部120aで2値化された画像つまり黒色部分が特定された画像から、連続する黒色部分の画素の集まりである塊毎に分離して各塊を1つの黒色領域として抽出する。
円当てはめ部231は、領域抽出部131が抽出した1つ以上の黒色領域のうち予め定められた大きさ以下の領域それぞれについて、面積が等しくなる円を決定し、円周の長さを求める。
輪郭抽出部232は、領域抽出部131が抽出した各黒色領域について、輪郭線、つまり黒色領域の輪郭即ち黒色領域と白色の領域との境界をなす画素の集合を抽出する。なお、ここでは黒色領域が連続する黒色部分の塊であるため、黒色領域と白色の領域との境界をなす画素の集合を輪郭線とする。輪郭線の抽出については、ラスタスキャン(raster scan)により白黒の変化点を探索して輪郭線を抽出する輪郭追跡(contour tracking)の既存技術(例えば、非特許文献1の「10−2.2値画像の基本処理と計測」(p.177−184)参照)を用いても良い。
外周計算部233は、黒色領域の輪郭線による外周の長さを計算する。即ち、輪郭抽出部232が抽出した黒色領域の輪郭線の全長を計算する。計算方法は、例えば、輪郭線をなす画素、即ち黒色領域と白色の領域との境界をなす画素の数を数え、1画素あたりの距離を乗じて全長を求める。或いは、輪郭抽出部232が抽出した黒色領域の輪郭線を形成する画素を、1画素を単位とした2次元の座標で表し、輪郭線に該当する全ての画素について隣り合う2点間の距離を計算して、距離の総計を求める。なお、輪郭抽出時に予め定められた空間周波数でローパスフィルタを通過させる或いは輪郭線をスムージング(smoothing)する等により2値化時の閾値周辺での輝度の微細な変化による輪郭線の微細な変化を除去し、外周を簡易な計算で求めるようにしても良い。なお、輪郭線の全長を計算する際に、輪郭を形成する画素について画素を、例えば5点に1点或いは10点に1点のように間引きをして、輪郭線を単純化してから計算しても良い。なお、上述のような輪郭線の全長の計算を行うためには、取得部110が取得する画像の解像度は、1画素あたり2μm(画素間が2μm)の解像度より高い解像度であることが望ましい。魚の種類等の条件によって異なるが、黒色素胞は直径が200μmから400μm程度の大きさであり、星型の腕部分は腕の幅において2μm程度であるため、形状の複雑さを分析するには、1画素あたり2μmより高い解像度が望まれる。
比較部234は、円当てはめ部231で求められた黒色領域と面積の等しい円の円周の長さと、外周計算部233で求められた黒色領域の輪郭線の全長との比較を行う。
以下、円当てはめ部231による円の決定について図12A〜図12Dを用いて説明する。
図12A及び図12Bは、円当てはめ部231が、黒色素胞による黒色領域に、黒色領域と面積の等しい円を決定した様子を示した模式図である。図12Aは、黒色素胞82内で色素顆粒が拡散している状態に対して円82aを決定した様子を示している。図12Bは、図12Aと同一の黒色素胞82において色素顆粒が細胞の中心部に凝集した状態に対して円82bを決定した様子を示している。図12Aでは、便宜上、色素顆粒を実際より少なく表現しているが黒色素胞82による黒色領域は腕の長い星型をしており、その星型の黒色領域の外周は決定された円82aの円周に比べて長く、その外周と円周との長さの差異はある程度十分にある。図12Bでは、黒色素胞82による黒色領域は星型が若干残っているもののその腕は短く、その黒色領域の外周と、決定された円82bの円周との長さの差異は、図12Aの場合に比べて小さい。図12Cは、図1の画像71aの円72aで囲んだ部分を拡大しその中の黒色領域83と面積が等しい円83aを決定した様子を示す図である。図12Dは、図1の画像71fの円72fで囲んだ部分を拡大しその中の黒色領域84と面積が等しい円84aを決定した様子を示す図である。図12Cでは、黒色領域の外周と決定された円の円周との長さに十分な差異があるが、図12Dでは、大きな差異がない。この差異の程度が、黒色素胞の黒色部分の形状の複雑さの度合いを表す指標となる。そして、比較部234では、この差異の程度を計算することにより、黒色領域の外周の長さ(輪郭線の全長)と、黒色領域と面積の等しい円の円周の長さとの比較を行う。なお、円当てはめ部231による円の決定は、比較部234での比較対象となる円周の長さを得るためのものであり、円の位置等を決定する必要はない。
図13は、経過時間推定処理の一部の詳細例を示すフローチャートである。以下、図13に従って、図4に示したステップS3における黒色素胞の分析(黒色素胞の状態の検出)について詳細な動作を説明する。
領域抽出部131は、2値化された画像中の連続する黒色部分である各黒色領域を黒色素胞として抽出する(ステップS31)。
円当てはめ部231は、ステップS31において抽出された黒色素胞に対して、その黒色部分と面積が等価となる円を、当てはめる、つまり決定する(ステップS34)。更に円当てはめ部231は、ステップS1243で当てはめた円の円周の長さを計算する(ステップS35)。
輪郭抽出部232は、ステップS31において抽出された黒色素胞の輪郭線を決定する(ステップS36)。外周計算部233はステップS36で決定された輪郭線の全長を計算する(ステップS37)。
比較部234は、ステップS37で計算された黒色領域の外周の長さ(輪郭線の全長)とステップS35で計算されたその黒色領域に当てはめられた円の円周の長さとの比を計算する(ステップS38)。黒色領域の外周の長さと当てはめられた円の円周の長さとの比は、例えば、その外周の長さを、円周の長さで除した値である。この黒色領域の外周の長さと当てはめられた円の円周の長さとの比は、この黒色領域の外周の長さと当てはめられた円の円周の長さとの差異の程度を表し、即ち、黒色素胞の黒色部分の形状の複雑さの度合い(つまり黒色素胞の状態)を表す指標となる。なお、ステップS34〜ステップS38における処理は、ステップS31で抽出された全ての黒色素胞のそれぞれを対象として行われる。比較部234は、全ての黒色素胞について計算した比の平均を計算する(ステップS39)。このようにして黒色素胞の状態が検出される。
上述のような分析によって黒色素胞の状態が検出された後に、推定部240は、ステップS39で計算された、黒色素胞の黒色部分である黒色領域の外周と対応する円の円周との比の平均値、即ち黒色領域の黒色部分の形状の複雑さ、を取得する。そして、推定部240では、記憶部250に記憶された対応情報を参照して、黒色素胞状態分析部220bで分析された黒色素胞の状態(複雑さ)が、死後どれだけの時間が経過した状態に対応するかを判断し、死後の経過時間の推定を行い、推定結果を出力する。ステップS39を省略して、推定部240が、ステップS38で計算された黒色素胞毎の比(つまり黒色素胞の黒色部分の形状の複雑さの度合い)と対応情報とに基づいて黒色素胞毎に対応する死後の経過時間を特定し、特定した経過時間の平均を求めても良い。この場合は、この平均された経過時間が、魚体の死後の経過時間の推定値となる。なお、黒色素胞の黒色部分の形状の複雑さの度合いの平均値や、経過時間の平均値を用いる代わりに、中央値等といった他の統計的な代表値を用いても良い。
図14は、記憶部250に記憶された対応情報の一例を示す図である。この例では、対応情報が、複雑さ(黒色素胞の状態即ち黒色素胞の黒色部分の形状の複雑さ)と経過時間とが対応付けられたテーブルとして記憶部250に記憶される例を示している。この複雑さと経過時間との対応関係は、実験等により定められており、経過時間は、常温での魚体の死後の経過時間を示す。なお、記憶部150は、黒色素胞の黒色部分の形状の複雑さと魚体の死後の経過時間との対応関係を示す対応情報を上述したテーブルとして記憶する代わりに、他の形式で記憶しても良い。例えば、記憶部150は、経過時間による黒色素胞の黒色部分の形状の複雑さの変化を示す関数を定めるパラメータを記憶するものとしても良い。対応情報は、テーブル、関数以外の形式で記憶され、参照されるものとしても良い。
なお、本実施の形態1の変形例1では黒色素胞の黒色部分の形状の複雑さの度合いを示す指標として、黒色領域の外周の長さ(輪郭線の全長)と黒色領域と同面積の円の円周の長さとの比を用いた。この比の代わりに、その外周の長さと円周の長さとの差異を表すものであれば例えば差(外周の長さから円周の長さを減算した値)等を用いても良い。また、黒色領域と同面積の円の代わりに、例えば黒色領域と同面積の正多角形等の単純図形を用いても良く、この場合には円周の代わりに黒色領域と同面積の単純図形の外周を用いることになる。また、黒色素胞の形状の複雑さの度合いを示す指標として、画像処理技術の分野で形状特徴パラメータ(geometric feature parameter)の1つとして広く知られている円形度(roundness)の逆数を用いても良い。円形度は、面積をS、外周(周囲長:perimeter)をLとしたとき、4πS/L2で求められる。円形度は、対象が円のとき円形度最大で1となり、値が小さいほど対象の形状は複雑であるため、その逆数により、複雑なほど大きな値をとる、複雑さの度合いの指標とすることができる。なお、円形度をそのまま用いる場合には、記憶部250には、円形度が大きいほど死後の経過時間が長くなり、円形度が小さいほど死後の経過時間が短くなる対応関係を示す対応情報が記憶される必要がある。
上述の対応情報は、常温での経過時間を示すものとしたが、経過時間推定装置20の推定対象となる魚体が保存される温度に合わせて、保存温度毎の複雑さと経過時間との対応関係を示すものとしても良く、冷蔵温度或いは氷温での対応関係を示すものとしても良い。
(実施の形態1の変形例2)
以下、実施の形態1の変形例2に係る経過時間推定装置30について説明する。この経過時間推定装置30は、実施の形態1で示した経過時間推定装置10とハードウェア構成については同様である。但し、経過時間推定装置30は、カメラを有する。また、プロセッサにより実行される制御プログラムが相違することにより、次のように、経過時間推定装置30には機能が追加されている。
実施の形態1の変形例2の経過時間推定装置30は、実施の形態1の経過時間推定装置に、経過時間の推定を精度良く行うことのできる画像を取得するようユーザにカメラの移動を促す機能が追加されたものである。黒色素胞の分析精度が高くなる条件で画像を取得することで死後の経過時間の推定精度を高めることができる。
図15は、実施の形態1の変形例2に係る経過時間推定装置30の構成を示す機能ブロック図である。同図に示すように経過時間推定装置30は、機能面では実施の形態1で示した取得部110、解析部120、推定部140及び記憶部150に加えて、カメラ310、判定部320及び出力部330を備える。なお、実施の形態1で示した経過時間推定装置10と同じ機能構成要素(機能ブロック)には、同じ符号を付してあり、ここでは詳しくは説明しない。ここでは、主に経過時間推定装置10との差異について説明する。
カメラ310は、魚体表面の静止画である画像を撮影する。
取得部110は、カメラ310より画像を取得する。
解析部120は、画像を解析して魚体の黒色素胞の状態を検出する機能を有し、取得された画像における黒色素胞の黒色部分を抽出するため画像を2値化する画像処理部120a及び黒色素胞の黒色部分の状態を分析する黒色素胞状態分析部120bを有する。
判定部320は、画像処理部120aの処理結果に基づき、画像内の黒色素胞の分布状態を推定して、カメラ310から取得された画像が黒色素胞状態分析部120bにおける分析に適した部位(魚体の一部分)を含む画像であるか否かを判定する機能を有する。この判定部320は、制御プログラムを実行するプロセッサにより実現される。なお、画像が分析に適した部位を含むか否かは、画像から抽出される黒色領域の画像全体に対する割合が一定範囲に含まれるか否かにより判定する。具体的には、画像全体の平均輝度が予め定められた所定範囲内であるか否かにより判定する。この所定範囲としては、例えば、平均輝度が最大値(例えば255)及び最小値(例えば0)から離れた中央の範囲(例えば64から192まで等)が定められる。即ち、黒色素胞として抽出される黒色領域が多すぎて分析が困難な部位の画像や、黒色素胞が少なすぎて経過時間推定の精度が低くなる可能性がある部位の画像等の平均輝度が所定範囲に含まれないように、この所定範囲が定められる。
出力部330は、出力手段及び制御プログラムを実行するプロセッサで実現され、判定部320の判定結果に基づきカメラ310の移動が必要な場合にユーザにカメラの移動を促すメッセージを表示する機能を有する。出力手段がディスプレイであればメッセージはディスプレイに表示される。また、メッセージはテキストであっても画像であっても良く、また音声或いは印刷されるものであっても良い。音声の場合には出力手段として音声出力装置(スピーカ等)を用いれば良く、印刷されるものであれば出力手段としてプリンタ等を用いれば良い。
実施の形態1の変形例2の経過時間推定装置30による経過時間推定処理は、図4に示した経過時間推定装置10による経過時間推定処理を一部変形したものである。
図16は、経過時間推定装置30による経過時間推定処理を示すフローチャートである。図16に従って、経過時間推定処理の処理手順を説明する。この経過時間推定処理は、経過時間推定装置30の入力手段への入力(例えばスイッチの押下等)によって開始される。なお、図16に示す経過時間推定処理は、図4に示した経過時間推定処理にステップS2a〜S2cが追加されたものである。経過時間推定装置10と同様の処理手順については同一の符号で示しており、ここでは詳しくは説明しない。
取得部110はカメラ310で撮影された静止画である画像を取得する(ステップS1)。解析部120の画像処理部120aは、画像の2値化を行って画像中の黒色領域を特定する(ステップS2)。判定部320は、ステップS2で2値化された画像について、画像全体の輝度の平均を計算し平均輝度を求める(ステップS2a)。続いて判定部320は、ステップS2aにおいて求めた平均輝度が予め定められた所定範囲内であるか否かを判定する(ステップS2b)。ステップS2bにおいて平均輝度が所定範囲内である場合には、ステップS3に進み、黒色素胞状態分析部120bが黒色素胞を分析して黒色素胞の状態を検出する。また、ステップS2bにおいて平均輝度が所定範囲内に含まれない場合には、出力部330は、カメラ310を移動して魚体の別の部分を撮影することをユーザに促すメッセージを出力する(ステップS2c)。ステップS2cにおける処理の後に、ユーザがカメラ310を移動して魚体の別の部分を撮影することとなり、ステップS1における画像の取得が再び実行される。ステップS3以後は、経過時間推定装置10における手順と同じである。
以上のようにして、経過時間推定装置30は、取得した魚体の画像が、経過時間を推定するための黒色素胞の状態の検出に適切でない場合には、メッセージを出力して画像の取り直しを促すので、適切に魚体の死後の経過時間が推定できるようになる。
なお、判定部320は画像処理部120aが2値化を行った画像の平均輝度を求め、平均輝度が所定範囲内であるか否かを判定したが、2値化を行う前の画像を用いて分析に適切な部位を含む画像であるか否かの判定を行うこととしても良い。分析に適切な部位を含む画像であるか否かの判定は、画像中の黒色素胞の量が適切であるか否かの判定である。また、平均輝度の代わりに、輝度の分布範囲、分散、白色領域と黒色領域の面積比等を指標としてその指標に対応して予め定めた所定範囲内か否かの判定を行うことで、分析に適切な部位を含む画像であるか否かの判定を行っても良い。即ち、画像から抽出される黒色領域の画像全体に対する割合が、最大値と最小値とから離れた中央の一定範囲に含まれていれば、分析に適切な部位を含む画像であると判定できる。
(実施の形態2)
以下、実施の形態2に係る経過時間推定装置40について説明する。この経過時間推定装置40は、実施の形態1で示した経過時間推定装置10とハードウェア構成については同様であるが、プロセッサにより実行される制御プログラムが相違することにより、次のように、機能が若干異なる。
実施の形態1の経過時間推定装置10及びその変形例1である経過時間推定装置20は、魚体の黒色素胞の大きさ(面積等)或いは黒色素胞の黒色部分の形状の複雑さという状態の分析に基づいて魚体の死後の経過時間を推定するものであった。これらに対して、経過時間推定装置40は、実験等により予め経過時間毎に黒色素胞の画像の特徴量(後述)をクラス化して定めた時間クラスの基準データ(プロトタイプ)群を保持する。そして、死後の経過時間の推定対象となる魚体の画像から抽出した黒色領域の特徴量がどの基準データと特徴空間において距離が最も小さいかを決定する。それから、その決定された基準データに対応する経過時間をその魚体の死後の経過時間とするものである。
図17は、実施の形態2に係る経過時間推定装置40の構成を示す機能ブロック図である。経過時間推定装置40は、機能面では図17に示すように取得部110、解析部420、推定部440及び記憶部450を備える。なお、実施の形態1で示した経過時間推定装置10と同じ機能構成要素(機能ブロック)には、同じ符号を付してあり、ここでは詳しくは説明しない。解析部420、推定部440及び記憶部450は、それぞれ、実施の形態1で示した解析部120、推定部140及び記憶部150を一部変形したものである。
解析部420は、制御プログラムを実行するプロセッサにより実現され、取得部110より取得された画像を解析することにより魚体の黒色素胞の状態を検出する機能を有する。この解析部420は、画像処理部120aと黒色素胞状態分析部420bとを含む。黒色素胞状態分析部420bは、画像処理部120aで処理された画像中の黒色素胞の黒色部分についての状態を分析する機能を有する。この黒色素胞の黒色部分の状態は、特徴量として把握される。なお、画像中に黒色素胞が複数ある場合には黒色素胞毎に状態が分析され、各黒色素胞の状態が検出される。特徴量は、例えば円形度(roundness)、外接長方形(bounding box)、面積(area)、周囲長(perimeter)等といった黒色素胞の黒色部分について画像解析から得られる特徴の集合として構成される。ここで、円形度は、黒色素胞の黒色部分の形状の円への近さであり、外接長方形は黒色素胞の黒色部分に接する最小の長方形である。周囲長は、黒色素胞の黒色部分からなる領域の輪郭を一周する移動量である。
記憶部450は、記憶装置の一領域により実現され、経過時間に伴う黒色素胞の画像の特徴量の変化を計測した実験結果に基づいて予め生成された、経過時間毎に特徴量をクラス化した時間クラスの基準データ群であるクラス情報を記憶している。このクラス情報は、実施の形態1における対応情報と同等の意義を有する。このとき対応情報としてのクラス情報における黒色素胞の状態は、例えば、黒色素胞の黒色部分の面積と黒色部分の形状についての複雑さの度合いとを含む特徴量で示されている。時間クラスの基準データ群は、実験により多数の死後の経過時間の判明している魚体の黒色素胞の画像データを用いて統計学習によって予め作成される。この作成方法については次の手順で示す既存技術による(例えば、非特許文献1の「13−1.画像処理におけるパターン認識」(p.220−223)参照)。まず、死後の経過時間の判明している魚体の黒色素胞の画像について、例えば画像処理部120aと同様な2値化を施した後、それぞれに特徴量(例えば円形度、外接長方形、面積及び周囲長)を計算する。特徴量は特徴ベクトルとして表される。この特徴ベクトルで構成される特徴空間において、黒色素胞に対応する死後の経過時間毎(経過時間を複数に区分した区分毎)に時間クラスを作り、その各クラスに属する1以上の黒色素胞の特徴量の特徴空間における重心を基準データ(プロトタイプ)とする。なお、ここで例示した特徴量は画像の一部の形状に関わる特徴であるが、特徴量は形状に限られない。例えば、画像の2値化を行わない場合において、色情報等の他の特徴が利用可能であれば、特徴量として、色、輝度等といった特徴を用いても良い。図18は、記憶部350に記憶されたクラス情報である各時間クラスの基準データ群を例示した図である。時間クラス毎に、死後の経過時間がその時間クラスの魚体の黒色素胞についての画像上の特徴量が対応する。
推定部440は、制御プログラムを実行するプロセッサ及び出力手段により実現される。この推定部440は、記憶部450に記憶されたクラス情報(つまり対応情報)を参照して、黒色素胞状態分析部420bで分析された黒色素胞の状態に近い基準データを黒色素胞毎に判断して魚体の死後の経過時間の推定を行い、推定結果を出力する機能を有する。なお、推定部440は、黒色素胞の特徴量(特徴ベクトル)が、時間クラスのどの基準データの特徴ベクトルと特徴空間において最短距離にあるかを黒色素胞毎に判断し、最短距離にある基準データに係る経過時間に基づき総合的に魚体の死後の経過時間を推定する。
図19は、本実施の形態2に係る経過時間推定装置40による経過時間推定処理を示すフローチャートである。図19に従って、経過時間推定装置40における経過時間推定処理の処理手順を説明する。この経過時間推定処理は、経過時間推定装置40の入力手段への入力(例えばスイッチの押下等)によって開始される。
まず、経過時間推定装置10の取得部110は、画像取得手段から静止画である画像を取得する(ステップS1)。解析部420における画像処理部120aは、取得された画像に対する画像処理を行うことにより画像中の黒色領域を特定する(ステップS2)。続いて解析部420における黒色素胞状態分析部420bは、ステップS2において特定された黒色領域より黒色素胞を抽出し、黒色素胞を分析して黒色素胞の状態を検出する(ステップS3a)。黒色素胞の状態として上述した画像上の特徴量を用いる。
次に、推定部440はステップS3aで解析部420により検出された各黒色素胞の状態(特徴量)に基づき、記憶部450に記憶されているクラス情報を参照して、各黒色素胞について、特徴量が特徴空間で最短距離にある基準データの時間クラスを決定する(ステップS3b)。そして、推定部440は、各黒色素胞について決定した時間クラスから総合的に魚体の死後の経過時間を推定し(ステップS4a)、推定結果を出力する(ステップS5)。ステップS4aにおいては、例えばステップS3bにおいて決定された全ての時間クラスに対応する全ての経過時間のうち最頻値(モード)を、魚体の死後の経過時間として推定する。
以上のようにして、経過時間推定装置40は取得した魚体の画像より黒色素胞の状態を分析して、予めに定められた経過時間毎の黒色素胞の画像上の特徴量を示すモデルに当てはめることで、魚体の死後の経過時間を推定する。
なお、本実施の形態2では、推定部440は複数の黒色素胞に対して決定された経過時間から、最も出現頻度の高い時間クラスに対応する経過時間を、魚体の死後の経過時間とするように推定を行った。最も出現頻度の高い時間クラスに対応する経過時間の代わりに、複数の黒色素胞に対して決定された経過時間の平均或いは中央値等を魚体の死後の経過時間として採用しても良い。また、記憶部450は時間クラスに対応する経過時間を一意に決定される値として記憶したが、時間クラス毎に経過時間の範囲を記憶するものとしても良い。その場合には、基準データ群のそれぞれに対応する経過時間の範囲は一部重複しても良い。この場合にステップS4aでは、ステップS3bにおいて決定された全ての時間クラスに対応する全ての経過時間の範囲について加重平均した経過時間を、魚体の死後の経過時間とするよう推定することができる。
(実施の形態3)
市場を流通する食用の魚類には鮮魚と冷凍魚がある。同種の魚であっても鮮魚と冷凍魚では市場価値が異なるが、冷凍と解凍の技術の向上により鮮魚と解凍された冷凍魚を見分けることは困難になりつつある。魚体が冷凍保存されたものか冷凍されずに保持された鮮魚かを簡易に判定することは一般消費者にとっても、流通の過程においても有用である。実施の形態3では、魚体が冷凍保存されたか否か等といった魚体の保存状態を推定する保存状態推定装置50について説明する。この魚体の保存状態の推定は、入力等された現実の魚体の死後の経過時間と、魚体の虹彩又はヒレにおける黒色素胞の画像から分析された黒色素胞の状態から推定される魚体の死後の経過時間との比較により実現される。
実施の形態3の詳細を述べる前に、本願発明者らが発見した冷凍保存後の黒色素胞の状態を説明する。
本願発明者らは、魚体(ウグイ)を死後1時間で−80度以下に冷凍した後、1日以上−80度以下で冷凍保存したウグイを解凍し、解凍後の黒色素胞の変化を観察した。
図20は、冷凍したウグイを自然解凍した後に、魚眼75の虹彩76を含む一部分を約200倍に拡大して撮影した画像群を示す。画像76a〜画像76cは、それぞれ、解凍直後(0時間経過後)、解凍から4時間経過後、解凍から8時間経過後に撮影された画像である。これらの画像は、図1と同様に2値化した画像である。各画像の右上の黒色部分は瞳孔である。図1では、時間経過とともに黒色素胞の状態が大きく変化していたが、図20に示すように冷凍魚では、解凍後の経過時間に拘わらず、黒色素胞の状態はほとんど変化しない。即ち、冷凍魚では解凍して8時間後であっても、黒色素胞の色素顆粒は、突起の多い複雑な形状即ち黒色素胞の細胞の形状に広がっており、黒色部分が突起の多い複雑な形状となり、色素顆粒の広がった黒い面積が大きい。
実施の形態3では、上記発見に基づき、魚体の虹彩又はヒレの画像を取得し、画像の解析により魚体の死後の経過時間を推定し、その推定に基づいて魚体の保存状態を推定する保存状態推定装置について説明する。
本実施の形態に係る保存状態推定装置50は、実施の形態1で示した経過時間推定装置10と同様に入力手段、メモリ等の記憶装置、カメラ等の画像センサである画像取得手段、ディスプレイ等の出力手段、プロセッサ等を備えるコンピュータで構成される。メモリは、保存状態推定処理をプロセッサに実行させるための制御プログラムを記憶し、また、プロセッサによる保存状態推定処理の実行に際して用いられるデータの格納等に用いられる。
保存状態推定装置50は、保存状態推定方法に係る保存状態推定処理を実行する機能を有する。保存状態推定装置50は、経過時間推定装置10と同じ構成要素により、取得した魚体の画像に基づいて魚体の黒色素胞の状態に基づいて魚体の死後の経過時間を推定し、更にその推定結果に基づいて、魚体の保存状態を推定する機能を有する。つまり、保存状態推定装置50は、取得した魚体の画像から魚体の黒色素胞を抽出してその黒色部分の面積を計算し、その面積に基づいて魚体の死後の経過時間を推定し、その経過時間から、魚体が冷凍保存されたか否かを推定する。
図21は、実施の形態3に係る保存状態推定装置50の構成を示す機能ブロック図である。保存状態推定装置50は、機能面では図21に示すように取得部110、解析部120、経過時間推定部540、記憶部150、入力部560及び保存状態推定部570を備える。なお、実施の形態1で示した経過時間推定装置10と同じ機能構成要素(機能ブロック)には、同じ符号を付してあり、ここでは詳しくは説明しない。
経過時間推定部540は、実施の形態1で示した推定部140と同等であるが、推定結果の出力先が保存状態推定部570であり、経過時間推定部540が推定した経過時間が保存状態推定部570に伝達される。なお、記憶部150に記憶されている対応情報は常温における死後の経過時間に関するものであり、経過時間推定部540が推定する魚体の死後の経過時間は、常温における死後の経過時間である。
入力部560は、外部から情報を取得するための入力手段等により実現され、取得部110が取得した画像に係る魚体についての死後の経過時間を示す情報の入力を受け付けて死後の経過時間を保存状態推定部570に伝達する機能を有する。例えば、入力手段がキーボード等であればユーザから死後の経過時間を示す情報の入力を受け付けることができる。また、RFID(Radio Frequency Identifier)技術等を用いて、魚体又はその魚体を保存、輸送等するための包装、箱等に付された、死後の経過時間を示す情報を出力可能なICタグから、タグリーダ装置により情報を読み取ることで入力を受け付けても良い。また、他の端末装置から魚体の死後の経過時間を示す情報を受信することで入力を受け付けても良い。この情報の受信は、有線通信、無線通信、赤外線通信等により実現される。死後の経過時間を示す情報は、例えば、経過時間を直接的に示す情報、或いは、魚体の水揚げ日時、箱詰め等の包装日時、水揚げ場所と配送手段等といった経過時間を間接的に示す情報である。なお、入力部560は、受信等した死後の経過時間を示す情報が、魚体の水揚げ日時等といった経過時間を間接的に示す情報である場合においては、例えば現在日時等を用いて死後の経過時間を特定して保存状態推定部570に伝達しても良い。
保存状態推定部570は、魚体の黒色素胞の状態に基づいて経過時間推定部540により推定された死後の経過時間と、入力部560から取得した死後の経過時間とを比較することにより、魚体の保存状態を推定し、推定結果を出力する機能を有する。具体的には、保存状態推定部570は、例えば、経過時間推定部540により推定された死後の経過時間が、入力部560で受け付けた入力に係る死後の経過時間よりも短い場合に、魚体が冷凍保存の過程を経たと推定する。魚体が冷凍保存の過程を経たと推定するための条件に、推定された死後の経過時間と入力された死後の経過時間との差異が所定程度よりも大きいことを加えても良い。この所定程度は、例えば1時間等であり、誤差を考慮して予め定める。
図22は、本実施の形態に係る保存状態推定装置50による保存状態推定処理を示すフローチャートである。図22に従って、保存状態推定処理の処理手順を説明する。この保存状態推定処理は、保存状態推定装置50の入力手段への入力(例えばスイッチの押下等)によって開始される。保存状態推定処理においても実施の形態1で示した経過時間推定処理におけるステップS1〜S4の手順を含む。
まず、保存状態推定装置50の取得部110は、画像取得手段から静止画である画像を取得する(ステップS1)。この画像は、魚体の虹彩又はヒレを含むように撮影されたものである。解析部120における画像処理部120aは、取得された画像に対する画像処理を行うことにより画像中の黒色領域を特定する(ステップS2)。続いて解析部120における黒色素胞状態分析部120bは、ステップS2において特定された黒色領域より黒色素胞を抽出し、黒色素胞を分析して黒色素胞の状態を検出する(ステップS3)。次に、経過時間推定部540はステップS3で解析部120(黒色素胞状態分析部120b)により検出された黒色領域の状態に基づき、記憶部150に記憶されている対応情報を参照して死後の経過時間を推定する(ステップS4)。経過時間推定部540は、その推定した経過時間を保存状態推定部570に伝達する。
入力部560は、魚体の死後の経過時間を示す情報の入力を受け付けて、入力に基づき死後の経過時間を保存状態推定部570に伝達する(ステップS6)。
保存状態推定部570は、魚体の黒色素胞の状態から経過時間推定部540により推定された経過時間と、入力部560から得た入力に基づく魚体の死後の経過時間とを比較し、推定された経過時間が入力に基づく経過時間よりも短いか否かを判定する(ステップS7)。保存状態推定部570は、推定された経過時間が入力に基づく経過時間よりも短いと判定した場合には、魚体が冷凍処理され冷凍保存されていたと推定し、推定結果を出力する(ステップS8)。また、保存状態推定部570は、推定された経過時間が入力に基づく経過時間よりも短くないと判定した場合には、魚体が冷凍保存されたことがないと推定し、推定結果を出力する(ステップS9)。なお、ステップS8及びステップS9における出力は、出力手段がディスプレイであればテキスト、画像等の表示である。また音声或いは印刷による出力でも良い。音声の場合には出力手段として音声出力装置(スピーカ等)を用いれば良く、印刷されるものであれば出力手段としてプリンタ等を用いれば良い。
なお、本実施の形態3では、記憶部150に記憶された対応情報は常温における死後の経過時間に関するものであるとしたが、非冷凍である常温以外の保存状態(例えば冷蔵温度、氷温等)での死後の経過時間に関するものであることとしても良い。この具体内容については、後に説明する。
なお、本実施の形態3では、黒色素胞の状態から推定された経過時間が、入力に基づく経過時間より短いか否かを判定することにより冷凍保存されたか否かを推定することとした。この代わりに、黒色素胞の状態から推定された経過時間が、入力に基づく経過時間と一致しないか否かにより冷凍保存されたか否かを推定することとしても良い。一致しない場合に冷凍保存されたと推定することになる。この場合にも誤差を考慮し、推定された経過時間と入力に基づく経過時間との差異が一定程度以上あることをもって一致しないと判定することとしても良い。また、推定された経過時間が入力に基づく経過時間よりも短い場合と、推定された経過時間が入力に基づく経過時間と一致する場合と推定された経過時間が入力に基づく経過時間よりも長い場合との3状態の判別をすることとしても良い。例えば、記憶部150に記憶された対応情報が例えば冷蔵温度又は氷温での死後の経過時間を示すとすると、短い場合には冷凍保存されたと推定し、一致する場合にはその冷蔵温度又は氷温で保存されたと推定し、長い場合には、その冷蔵温度又は氷温よりも高い温度(例えば常温)で保存されたと推定し得る。
以上のようにして、保存状態推定装置50は、取得した魚体の画像から黒色素胞の状態を分析により推定した魚体の死後の経過時間と、別途取得した魚体の死後の経過時間とを比較することにより、魚体の保存状態を推定することができる。この保存状態推定装置50によれば、ユーザは、鮮魚であるかのように見える魚体が、本当に鮮魚であるのか、冷凍保存の過程を経たもの(解凍された冷凍魚)であるのかを知ることができるようになる。
なお、本実施の形態3では取得した黒色素胞の画像から死後の経過時間を推定する方法として、実施の形態1と同様に黒色素胞の面積を用いたが、実施の形態1の変形例1で示したように黒色素胞の形状、殊に形状の複雑さを用いても良い。また、実施の形態2で示したように黒色素胞の特徴量を用いて死後経過時間を推定しても良い。
なお、実施の形態1の変形例2に示したように黒色素胞を抽出しやすい画像を得るため、画像中の黒色領域の割合が一定範囲内にない場合にカメラの移動を促す機能を備えるとしても良い。
(実施の形態3の変形例1)
実施の形態3では、常温における魚体の死後の経過時間に関する対応情報を記憶した記憶部150を備える保存状態推定装置50を示した。これに対して、この実施の形態3の変形例1では、非冷凍の温度範囲内の複数の温度それぞれについてその温度における魚体の死後の経過時間に関する対応情報を記憶する記憶部550を備えて、魚体の保存状態を推定する保存状態推定装置50aについて説明する。
この保存状態推定装置50aは、実施の形態3で示した保存状態推定装置50とハードウェア構成については同様であるが、プロセッサにより実行される制御プログラムが相違することにより、機能が異なる。
図23は、実施の形態3の変形例1に係る保存状態推定装置50aの構成を示す機能ブロック図である。保存状態推定装置50aは、機能面では図23に示すように取得部110、解析部120、経過時間推定部540a、記憶部550、入力部560及び保存状態推定部570aを備える。なお、実施の形態3で示した保存状態推定装置50と同じ機能構成要素(機能ブロック)には、同じ符号を付してあり、ここでは詳しくは説明しない。経過時間推定部540aは、実施の形態3で示した経過時間推定部540を一部変形したものであり、保存状態推定部570aは、実施の形態3で示した保存状態推定部570を一部変形したものである。
記憶部550は、メモリ等の記憶装置の一領域により実現され、経過時間に伴う黒色素胞の状態の変化を計測した実験結果に基づいて予め生成された、魚体の黒色素胞の黒色部分の状態と魚体の死後の経過時間との対応関係を示す複数の対応情報(対応情報A〜C)を記憶している。記憶部550は、対応情報A〜Cそれぞれの記憶領域である対応情報A記憶部550a、対応情報B記憶部550b、対応情報C記憶部550cを含む。
対応情報A記憶部550aは、魚体を常温保存した場合(つまり常温で魚体を保存した場合)における経過時間に伴う黒色素胞の状態の変化を計測した実験結果に基づいて、予め生成された魚体の黒色素胞の黒色部分の状態と、魚体の死後の経過時間との対応関係を示す対応情報Aを記憶している。
対応情報B記憶部550bは、魚体を冷蔵保存した場合(つまり摂氏5度前後である冷蔵温度で魚体を保存した場合)における経過時間に伴う黒色素胞の状態の変化を計測した実験結果に基づいて、予め生成された魚体の黒色素胞の黒色部分の状態と、魚体の死後の経過時間との対応関係を示す対応情報Bを記憶している。
対応情報C記憶部550cは、魚体を氷温保存した場合(つまり摂氏0度前後である氷温で魚体を保存した場合)における経過時間に伴う黒色素胞の状態の変化を計測した実験結果に基づいて、予め生成された魚体の黒色素胞の黒色部分の状態と、魚体の死後の経過時間との対応関係を示す対応情報Cを記憶している。
図24は、記憶部550(対応情報A記憶部550a、対応情報B記憶部550b及び対応情報C記憶部550c)に記憶された対応情報A〜Cの一例を示す図である。同図は、対応情報A〜Cのそれぞれが、黒色素胞の平均面積と経過時間とが対応付けられたテーブルとして記憶される例を示している。対応情報Aは、常温で魚体を保存した場合における黒色素胞の平均面積と魚体の死後の経過時間との対応を示し、実施の形態1における記憶部150に記憶されている対応情報(図8参照)と同様である。対応情報Bは、冷蔵温度で魚体を保存した場合における黒色素胞の平均面積と魚体の死後の経過時間との対応を示す。図24に示すように対応情報Bは、対応情報Aと同じ黒色素胞の平均面積に至るまでの魚体の死後の経過時間が長く、このことは、冷蔵保存では常温保存の場合より黒色素胞の変化がゆっくりである(つまり変化速度が小さい)ことを示している。対応情報Cは、氷温で魚体を保存した場合における黒色素胞の平均面積と魚体の死後の経過時間との対応を示す。図24では、対応情報C及び対応情報Bにより、氷温保存の方が冷蔵保存よりも更に黒色素胞の変化がゆっくりであることを示している。
経過時間推定部540aは、記憶部550における対応情報A記憶部550a、対応情報B記憶部550b及び対応情報C記憶部550cのそれぞれに記憶された対応情報(対応情報A〜C)を参照して、解析部120で解析された黒色素胞の状態が、各温度において死後どれだけの時間が経過した状態に対応するかを判断し、死後の経過時間の推定を行い、推定結果を出力する機能を有する。この経過時間推定部540aは、制御プログラムを実行するプロセッサ等により実現される。経過時間推定部540aは、魚体を常温保存、冷蔵保存及び氷温保存のそれぞれの保存方法で保存した場合における魚体の死後の経過時間を推定する。
保存状態推定部570aは、魚体の黒色素胞の状態に基づいて経過時間推定部540aにより推定された各温度で保存した場合における魚体の死後の経過時間と、入力部560から取得した死後の経過時間とを比較することにより、魚体の保存状態を推定し、推定結果を出力する機能を有する。
図25は、本実施の形態3の変形例1に係る保存状態推定装置50aによる保存状態推定処理を示すフローチャートである。図25に従って、保存状態推定処理の処理手順を説明する。保存状態推定処理においても実施の形態1で示した経過時間推定処理におけるステップS1〜S3の手順を含む。
まず、保存状態推定装置50aの取得部110は、画像取得手段から静止画である画像を取得する(ステップS1)。この画像は、魚体の虹彩またはヒレを含むように撮影されたものである。解析部120における画像処理部120aは、取得された画像に対する画像処理を行うことにより画像中の黒色領域を特定する(ステップS2)。続いて解析部120における黒色素胞状態分析部120bは、ステップS2において特定された黒色領域より黒色素胞を抽出し、黒色素胞を分析して黒色素胞の状態を検出する(ステップS3)。ここでは黒色素胞の平均面積を求めるものとする。
次に、経過時間推定部540aは、ステップS3で解析部120(黒色素胞状態分析部120b)により検出された黒色領域の状態(ここでは黒色素胞の平均面積)に基づき、対応情報A記憶部550aに記憶されている対応情報Aを参照して魚体が常温で保存されていた場合における魚体の死後の経過時間を推定する(ステップS541)。また、経過時間推定部540aは、ステップS3で解析部120(黒色素胞状態分析部120b)により検出された黒色領域の状態に基づき、対応情報B記憶部550bに記憶されている対応情報Bを参照して魚体が冷蔵温度で保存されていた場合における魚体の死後の経過時間を推定する(ステップS542)。さらに、経過時間推定部540aはステップS3で解析部120(黒色素胞状態分析部120b)により検出された黒色領域の状態に基づき、対応情報C記憶部550cに記憶されている対応情報Cを参照して魚体が氷温で保存されていた場合における魚体の死後の経過時間を推定する(ステップS543)。経過時間推定部540aは、各温度で保存されていた場合についての魚体の死後の経過時間の推定結果それぞれを保存状態推定部570aに伝達する。
入力部560は、魚体の死後の経過時間を示す情報の入力を受け付けて、その受け付けた入力に係る経過時間を保存状態推定部570aに伝達する(ステップS6)。
保存状態推定部570aは、魚体の黒色素胞の状態から経過時間推定部540aにより対応情報Cを参照して推定された氷温保存での経過時間と、入力部560から得た入力に係る経過時間とを比較し、推定された氷温保存での経過時間が入力に係る経過時間より短いか否かを判定する(ステップS101)。保存状態推定部570aは、推定された氷温保存での経過時間が入力に係る経過時間より短いと判定した場合には、魚体が冷凍保存されていたと推定し、その推定結果を出力する(ステップS102)。なお、推定された氷温保存での経過時間が入力に係る経過時間より短い場合においては、推定された冷蔵保存での経過時間及び常温保存での経過時間も入力にかかる経過時間より短くなることが想定される。ここでは、魚体の画像から推定される、冷凍していない各種温度(常温、冷蔵温度、氷温)の保存状態での死後の経過時間が、入力された経過時間より短いため、冷凍保存がなされたと推定している。
また、ステップS101において、推定された氷温保存での経過時間が入力に係る経過時間より短くないと判定された場合には、保存状態推定部570aは、魚体の黒色素胞の状態から経過時間推定部540aにより対応情報Bを参照して推定された冷蔵保存での経過時間と、入力部560から得た入力に係る経過時間とを比較し、推定された冷蔵保存での経過時間が入力に係る経過時間より短いか否かを判定する(ステップS103)。保存状態推定部570aは、推定された冷蔵保存での経過時間が入力に係る経過時間より短いと判定した場合には、魚体が氷温保存されていたと推定し、その推定結果を出力する(ステップS104)。
また、ステップS103において、推定された冷蔵保存での経過時間が入力に係る経過時間より短くないと判定された場合には、保存状態推定部570aは、魚体の黒色素胞の状態から経過時間推定部540aにより対応情報Aを参照して推定された常温保存での経過時間と、入力部560から得た入力に係る経過時間とを比較し、推定された常温保存での経過時間が入力に係る経過時間より短いか否かを判定する(ステップS105)。保存状態推定部570aは、推定された常温保存での経過時間が入力に係る経過時間より短いと判定した場合には、魚体が冷蔵保存されていたと推定し、その推定結果を出力する(ステップS106)。また、保存状態推定部570aは、推定された常温保存での経過時間が入力に係る経過時間より短くないと判定した場合には、魚体が常温保存されていたと推定し、その推定結果を出力する(ステップS107)。
このように保存状態推定装置50aは、魚体の保存状態の推定として、魚体が保存された温度について推定することができる。また、保存状態推定装置50aは、魚体が冷凍保存されたか否かを推定することができる。この保存状態推定装置50aによれば、ユーザは、魚体が、どのような保存状態に置かれたかを知ることができるようになる。
なお、本実施の形態3の変形例1では、対応情報A〜Cが、保存の温度毎に、黒色素胞の平均面積と魚体の死後の経過時間との対応関係をテーブルとして記憶するものとし、黒色素胞状態分析部120bが黒色素胞の面積の平均を求めることとした。この他、図26のように、保存状態毎(保存の温度毎)に、黒色素胞の形状の複雑さと魚体の死後の経過時間との対応関係をテーブルとして記憶するものとしても良い。その際には、解析部120(黒色素胞状態分析部120b)は黒色素胞の形状の複雑さを求めるものとする。また、保存状態毎における黒色素胞の平均面積或いは形状の複雑さと魚体の死後の経過時間との対応関係を示す対応情報は、テーブルの他、関数等で表されても良い。図27は、保存状態毎に黒色素胞の平均面積と経過時間との対応関係を表す関数を対応情報A〜Cと定める例を示す図である。同図で示すグラフは、実験により求めた魚体の黒色素胞の平均面積と魚体の死後の経過時間との対応関係を示す関数(対応関係を近似する関数等)を例示したものである。
(実施の形態3の変形例2)
実施の形態3においては、魚体の黒色素胞の状態から魚体の死後の経過時間を推定し、入力に係る死後の経過時間と比較することにより、魚体が冷凍保存の過程を経たか否かという保存状態を推定する保存状態推定装置50を示した。これに対して、この実施の形態3の変形例2では、入力に係る死後の経過時間を要さず、魚体が水揚げ後に素早く冷凍されたか否かに関する保存状態を推定する保存状態推定装置60について説明する。
この保存状態推定装置60は、実施の形態3で示した保存状態推定装置50とハードウェア構成については同様であるが、プロセッサにより実行される制御プログラムが相違することにより、機能が異なる。
図28は、実施の形態3の変形例2に係る保存状態推定装置60の構成を示す機能ブロック図である。保存状態推定装置60は、機能面では図28に示すように取得部110、解析部120、経過時間推定部540、記憶部150及び保存状態推定部670を備える。なお、実施の形態3で示した保存状態推定装置50と同じ機能構成要素(機能ブロック)には、同じ符号を付してあり、ここでは詳しくは説明しない。保存状態推定部670は、実施の形態3で示した保存状態推定部570を一部変形したものである。
なお、本変形例においては、取得部110は、解凍直後の魚体における魚眼の虹彩の一部を含む画像を撮像するものとする。
保存状態推定部670は、経過時間推定部540の推定結果を用いて、魚体の保存状態について、具体的には、水揚げ直後に冷凍が行われたか、冷凍までに長時間を要したかについて推定し、推定結果を出力する。
図29Aは、水揚げ直後に冷凍保存した魚体の解凍直後に撮影した魚眼77における虹彩77aの黒色素胞を含む画像77bを示す図である。また、図29Bは、水揚げから8時間後に冷凍保存が完了した魚体の解凍直後に撮影した魚眼78における虹彩78aの黒色素胞を含む画像78bを示す図である。図29Aの画像77bにおける円77cに囲まれた黒色素胞の黒色部分はある程度面積が大きいのに対して、図29Bの画像78bにおける円78cに囲まれた黒色素胞の黒色部分は面積が小さく、白濁して輝度が上昇している。なお、これらの画像は、それぞれ虹彩77a、虹彩78aの一部を約200倍に拡大して撮影した画像である。上述したように、常温での放置時間が短い間に冷凍された魚体の虹彩領域は、解凍後も黒色素胞の黒色部分が大きい状態となる。一方、冷凍するまでに時間が経過した場合には、図29Bに示すように、解凍後の黒色素胞の黒色部分の面積が小さい状態となる。そこで、保存状態推定部670では、経過時間推定部540が長い経過時間を推定したほど、冷凍までに時間が長く経過したと推定する。具体的には、閾値を設けて、例えば経過時間推定部540が推定した経過時間が閾値(例えば4時間)未満であれば、水揚げ直後或いは比較的短時間の間に冷凍が行われたと推定する。また、経過時間推定部540が推定した経過時間が閾値(例えば4時間)以上であれば、水揚げから冷凍保存が完了するまでに比較的長時間を要したと推定する。なお、経過時間推定部540が推定した経過時間と、水揚げから冷凍保存が完了するまでの時間との関係を実験により予め定めておくことにより、保存状態推定部670は、経過時間推定部540が推定した経過時間に基づいて、水揚げから冷凍保存が完了するまでに要した時間を推定しても良い。図30は、保存状態推定装置60の利用状態を例示する図である。同図に示すように、保存状態推定装置60は、画像取得手段61により解凍直後の魚体の虹彩の撮影画像を取得し、出力手段62(この例ではディスプレイ)に保存状態の推定結果を出力(表示)する。出力手段62は、例えば、水揚げ後、2時間で冷凍が完了したという推定結果を示す画面62aを表示する。これにより、ユーザは、魚体が水揚げ後どのような状態で保存されていたかを認識することができ、保存状態に応じて適切な調理方法を選択する等が可能になる。なお、解析部120による2値化の閾値を黒色素胞の輝度変化の範囲内に設けると、黒色素胞の黒色部分の形状及び大きさの変化のみでなく黒色部分の白濁即ち黒色部分の輝度変化によっても黒色部分の面積が縮小し、時間変化が強調されることになり、推定精度を上げ得る。
(実施の形態3の変形例3)
実施の形態3では、一匹の魚体の保存状態を推定するものであった。しかしながら、冷凍庫等では、同時に魚体を保存した場合でも、冷気のあたり具合により、冷凍に時間がかかる領域と急速に冷凍ができる領域がある。本変形例では、冷凍庫等で所定の保存状態にあった複数の魚体の保存状態を推定することで、魚体がいかなる冷凍性能を有する冷凍装置(冷凍庫等)により保存されたかを推定する変形保存状態推定装置について説明する。この変形保存状態推定装置は、実施の形態3の変形例2で示した保存状態推定装置60を次のように一部変形したものである。取得部110は、図31に示すようにトレーに冷凍装置により同時に冷凍された複数の魚体が配置されているところを撮影することにより生成された画像を取得する。つまり、取得部110は、冷凍装置により同時に冷凍された複数の魚体を同時に撮影することにより生成された画像を取得する。また、解析部120及び経過時間推定部540は、画像中における魚体毎にその魚体内の虹彩又はヒレにおける黒色素胞の状態を分析して各魚体についての死後の経過時間を推定する。そして、保存状態推定部570は、経過時間推定部540によって推定された複数の魚体の死後の経過時間の分布に基づき、複数の魚体がいかなる冷凍性能を有する冷凍装置により保存されたかを推定する。具体的には、例えば複数の魚体の死後の経過時間が一致しない場合には、位置によって冷凍性能にばらつきがある冷凍装置によって保存されたと推定する。また、各魚体の位置の情報も取得して死後の経過時間の分布と位置との関係を調べることにより冷凍性能について、どの位置の冷凍が急速に行えていないか等といった推定も可能となる。なお、各魚体の位置の情報は、取得部110により取得された画像から取得しても良いし、ユーザ入力等の他の方法で取得しても良い。図32は、位置毎に魚体が急速に冷凍できているか否かを推定する様子を示す概念図である。複数の魚体のうち経過時間推定部540により相対的に死後の経過時間が長いと推定された魚体は他の魚体よりも鮮度が低く、その鮮度が低い魚体の位置は、急速に冷凍できていないと推定されることになる。
なお、実施の形態1の変形例1および変形例2、実施の形態2、実施の形態3、実施の形態3の変形例1、変形例2および変形例3において、実施の形態1に示したように、魚体の表面から黒色素胞の存在する所定の深さでの反射光によって撮影するとしても良い。また、黒色素胞の形状を解析するために、1画素あたり2μmの解像度より高い解像度で撮影するとしても良い。
(他の実施の形態等)
以上、上述した各実施の形態及び変形例により経過時間推定装置及び保存状態推定装置について説明したが、上述した各実施の形態及び変形例は一例にすぎず、各種の変更、付加、省略等が可能であることは言うまでもない。
上述の実施の形態で示した取得部110が取得した画像は、虹彩の一部を含む画像であっても、ヒレの一部を含む画像であっても、魚体の他の部分で虹彩及びヒレと同様な状態変化をする黒色素胞を含む部分の画像であっても良い。但し、虹彩又はヒレの一部を含む画像は魚体の死後の経過時間或いは保存状態の推定に適している。
また、上述の実施の形態で示した経過時間推定装置が経過時間推定処理によって実行する経過時間推定方法の一部の手順を、経過時間推定装置と通信可能な外部装置(コンピュータ等)に実行させても良い。また、上述の実施の形態で示した保存状態推定装置が保存状態推定処理によって実行する保存状態推定方法の一部の手順を、保存状態推定装置と通信可能な外部装置(コンピュータ等)に実行させても良い。
また、上述した経過時間推定装置における経過時間推定処理及び保存状態推定装置における保存状態推定処理の手順(図4、図13、図16、図19、図22、図25に示した手順等)の実行順序は、必ずしも、上述した通りの順序に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えたり、並列処理したり、その一部を省略したりすることができる。例えば、図13に示すステップS34〜S35とステップS36〜S38とは並列処理できる。また、例えば、図22のステップS1〜S4とS6とは並列処理することもできる。また、例えば、図25のステップS541とS542とS543とは並列処理することもできる。
また、上述の経過時間推定処理及び保存状態推定処理の手順の全部又は一部は、ハードウェアにより実現されても、ソフトウェアを用いて実現されても良い。なお、ソフトウェアによる処理は、経過時間推定装置、保存状態推定装置等に含まれるCPUがメモリに記憶された制御用のプログラムを実行することにより実現されるものである。また、そのプログラムを記録媒体に記録して頒布や流通させても良い。例えば、頒布された制御プログラムを装置(コンピュータ等)にインストールして、装置のCPUに実行させることで、装置に経過時間推定処理或いは保存状態推定処理の全部又は一部を行わせることが可能となる。
また、上述した実施の形態で示した構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。例えば、実施の形態3及びその変形例において解析部120、経過時間推定部540及び記憶部150のいずれかの代わりに、実施の形態1及びその変形例或いは実施の形態2で示した対応する解析部、推定部、記憶部を用いても良い。実施の形態3及びその変形例における保存状態推定部に伝達されるべき推定した魚体の死後の経過時間は、実施の形態1及びその変形例或いは実施の形態2のいずれで示した方法で推定されたものであっても良い。
また、上述した経過時間推定装置において推定及び出力を担う推定部140を、例えば、一定の対応関係を示す上述した対応情報に基づいて、解析部120が検出した魚体の黒色素胞の状態に応じてその対応関係に従って定まる魚体の死後の経過時間を示す情報を出力する出力部に置き換えても良い。この置換後の経過時間推定装置は、言わば経過時間情報出力装置である。また、上述した保存状態推定装置において推定を担う経過時間推定部540、及び、推定及び出力を担う保存状態推定部570を、例えば一定の対応関係を示す上述した対応情報に基づいて、解析部120が検出した魚体の黒色素胞の状態に応じてその対応関係に従って定まる非冷凍の場合における魚体の死後の経過時間と、入力部560により受け付けられた経過時間との関係(例えば図22のステップS7)に基づいて魚体が冷凍状態か否かを示す情報を出力する出力部に置き換えても良い。この置換後の保存状態推定装置は、言わば保存状態情報出力装置である。なお、各出力部による情報の出力は、例えばディスプレイ等の表示装置への情報の表示、音声での情報の出力、印刷による情報の出力、情報の外部装置への送信等である。
また、上述した保存状態推定装置の具体的な一態様は、上述した対応情報に基づいて魚体の保存状態を表示する保存状態情報出力装置90である。図33に保存状態情報出力装置90の構成を示す。保存状態情報出力装置90は、メモリ91、プロセッサ92、ディスプレイ93及びカメラ94を含んで構成される。メモリ91は、魚体の黒色素胞の状態と非冷凍の場合におけるその魚体の死後の経過時間との対応関係を示す対応情報(例えば図8に示す対応情報、図24或いは図26に示す対応情報A〜C等)を記憶する。プロセッサ92は、入力された魚体の画像に表れた黒色素胞の状態に応じて、非冷凍の場合における当該魚体の死後の経過時間をメモリ91内の対応情報に基づいて特定し、特定した経過時間に応じて当該魚体の保存状態を特定し、特定した保存状態を示す保存状態情報を出力する機能を有する。プロセッサ92は例えばメモリに格納されたプログラムを実行することにより機能を発揮する。ディスプレイ93は、プロセッサ92から出力された保存状態情報を表示する。カメラ94は、魚体の画像を撮影してプロセッサ92に入力する。保存状態情報出力装置90は、カメラ94の代わりに、外部から魚体の画像を受信してプロセッサ92に入力する受信回路等を含んでいることとしても良い。なお、プロセッサ92における魚体の保存状態の特定は、画像に基づいてメモリ91内の対応情報に基づいて特定した魚体の死後の経過時間を、予め定められた経過時間或いは入力された経過時間と比較することにより行われる(例えばステップS8、ステップS101〜S107等の手順により行われる)。